科信-信息2班15號史進秋_第1頁
科信-信息2班15號史進秋_第2頁
科信-信息2班15號史進秋_第3頁
科信-信息2班15號史進秋_第4頁
科信-信息2班15號史進秋_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、1. 課程設計與實現(xiàn)的要求與目的 1.1課程設計與實現(xiàn)的要求  以單片機52為核心,使用24C02串行EEPROM進行存儲開機次數(shù),用LCD1602顯示存儲的開機次數(shù),并且單片機復位1次,從24C02中讀取數(shù)據(jù),然后加1。1.2課程設計與實現(xiàn)的目的  單片機自20世紀70年代問世以來,以其極高的性能價格比,受到人們的重視和關注,應用很廣,發(fā)展很快。單片機體積小,重量輕,抗干擾能力強,環(huán)境要求不高,價格低廉,可靠性高,靈活性好,開發(fā)較為容易。由于具有上述優(yōu)點,在我國,單片機已廣泛地應用在工業(yè)自動化控制、自動檢測、智能儀器儀表、家用電器、電子電力、機電一體化設備等各個

2、方面。  而此次設計與實現(xiàn)的目的是通過對單片機機與24C02存儲芯片串行通信設計,結(jié)合以前所學的專業(yè)知識,通過這次的設計,把理論聯(lián)系到實際。通過對課題的分析,了解課題的任務,進行實際操作,從而更好的地鍛煉我們的實際動手操作能力。另外,提高學習能力,提高對一個陌生的芯片從查找到學習,到會運用的能力。2.組員分工 2.1 任務分配 成員一:主要搜集存儲器24C02的相關資料及電路設計和程序設計全過程的的討論。 成員二:主要搜集顯示器1602的相關資料及電路設計和程序設計的全過程的討論。 成員三:為該組組長,主要搜集與本設計與實現(xiàn)相關的單片

3、機知識,及電路設計和程序設計的全過程的討論。3.開機次數(shù)記憶器的設計 3.1總體設計思路  該系統(tǒng)的功能概括起來就是能測量開機次數(shù)。要完成此功能,關鍵在次數(shù)的寫入和讀出,因此只要能累計關機或復位次數(shù),并且能在開機后讀出來,即可實現(xiàn)記錄的功能。我們采用89C52和24C02作為基本元件. 以口P2.1和P2.0來控制24C02的時鐘信號線SCL和數(shù)據(jù)線SDA, 在按下開關或復位鍵后, 通過這兩個口來使24C02達到數(shù)據(jù)的接收和寫入的目的,在電路重新工作的時候,又從24C02中讀數(shù)并通過顯示電路顯示顯示出來。  載入程序,自動初始化,在液

4、晶屏上顯示開機次數(shù),將程序燒入到芯片時,顯示的第一次為0。然后進行判斷是否有操作:若是復位,則存儲在24C02中的數(shù)據(jù)加1,然后立即讀出顯示在液晶屏上;若是關機,則24C02里面的數(shù)據(jù)加1,在再次開機時將數(shù)據(jù)讀出顯示在數(shù)碼管上。其整個流程圖如圖1-1 主程序流程圖 3.2 系統(tǒng)整體框圖圖3-1 主程序框圖3.3 STC89C52單片機的工作原理和工作設計   強大功能的單片機是此課程設計的主要芯片之一,它的工作原理影響到整個課程設計,因此,我進行設計前我們有必要了解下單片機的基本知識。在了解了單片機的基本知識后,我們對單片機各引腳進行相應的設計。3.3.

5、1 STC89C52單片機的引腳  主電源引腳(2根)VCC(Pin40):電源輸入,接5V電源GND(Pin20):接地線外接晶振引腳(2根)XTAL1(Pin19):片內(nèi)振蕩電路的輸入端XTAL2(Pin20):片內(nèi)振蕩電路的輸出端控制引腳(4根)RST/VPP(Pin9):復位引腳,引腳上出現(xiàn)2個機器周期的高電平將使單片機復位。ALE/PROG(Pin30):地址鎖存允許信號PSEN(Pin29):外部存儲器讀選通信號EA/VPP(Pin31):程序存儲器的內(nèi)外部選通,接低電平從外部程序存儲器讀指令,如果接高電平則從內(nèi)部程序存儲器讀指令。可編程輸入/輸出引腳(32根)STC89

6、C52單片機有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個口有8位(8根引腳),共32根。PO口(Pin39Pin32):8位雙向I/O口線,名稱為P0.0P0.7P1口(Pin1Pin8):8位準雙向I/O口線,名稱為P1.0P1.7 P2口(Pin21Pin28):8位準雙向I/O口線,名稱為P2.0P2.7 P3口(Pin10Pin17):8位準雙向I/O口線,名稱為P3.0P3.73.3.2 STC89C52單片機主要功能如表3-1所示 STC89C52主要功能表主要功能特性兼容MCS51指令系統(tǒng)8K可反復擦寫Flash ROM32個雙向I/O口256x8bit內(nèi)部R

7、AM3個16位可編程定時/計數(shù)器中斷時鐘頻率0-24MHz2個串行中斷可編程UART串行通道2個外部中斷源共6個中斷源2個讀寫中斷口線3級加密位低功耗空閑和掉電模式軟件設置睡眠和喚醒功能 表3-1 3.4 24c02的工作原理 3.4.1 AT24c02的基本介紹  AT24C02是美國Atmel公司的低功耗CMOS型E2PROM,內(nèi)含256×8位存儲空間,具有工作電壓寬(2.55.5 V)、擦寫次數(shù)多(大于10000次)、寫入速度快(小于10 ms)、抗干擾能力強、數(shù)據(jù)不易丟失、體積小等特點。而且他是采用了I2C總線式進行

8、數(shù)據(jù)讀寫的串行器件,占用很少的資源和IO線,并且支持在線編程,進行數(shù)據(jù)實時的存取十分方便。AT24C02中帶有的片內(nèi)地址寄存器。每寫入或讀出一個數(shù)據(jù)字節(jié)后,該地址寄存器自動加1,以實現(xiàn)對下一個存儲單元的讀寫。所有字節(jié)均以單一操作方式讀取。為降低總的寫入時間,一次操作可寫入多達8個字節(jié)的數(shù)據(jù)。I2C總線是一種用于IC器件之間連接的二線制總線。他通過SDA(串行數(shù)據(jù)線)及SCL(串行時鐘線)兩根線在連到總線上的器件之間傳送信息,并根據(jù)地址識別每個器件。 AT24C02正是運用了I2C規(guī)程,使用主從機雙向通信,主機(通常為單片機)和從機(AT24C02)均可工作于接收器和發(fā)送器狀態(tài)。主機產(chǎn)

9、生串行時鐘信號(通過SCL引腳)并發(fā)出控制字,控制總線的傳送方向,并產(chǎn)生開始和停止的條件。無論是主機還是從機,接收到一個字節(jié)后必須發(fā)出一個確認信號ACK。AT24C02的控制字由8位二進制數(shù)構成,在開始信號發(fā)出以后,主機便會發(fā)出控制字,以選擇從機并控制總線傳送的方向。 3.3.2 IIC總線的介紹  IIC 即Inter-Integrated Circuit,這種總線類型是由菲利普半導體公司在八十年代初設計出來的,主要是用來連接整體電路(ICS) ,IIC是一種多向控制總線,也就是說多個芯片可以連接到同一總線結(jié)構下,同時每個芯片都可以

10、作為實施數(shù)據(jù)傳輸?shù)目刂圃?。這種方式簡化了信號傳輸總線。 I2C總線進行數(shù)據(jù)傳送時,時鐘信號為高電平期間,數(shù)據(jù)線上的數(shù)據(jù)必須保持穩(wěn)定,只有在時鐘線上的信號為低電平期間,數(shù)據(jù)線上的高電平或低電平狀態(tài)才允許變化。起始和終止信號 :SCL線為高電平期間,SDA線由高電平向低電平的變化表示起始信號;SCL線為高電平期間,SDA線由低電平向高電平的變化表示終止信號。 數(shù)據(jù)傳送格式:字節(jié)傳送與應答 每一個字節(jié)必須保證是8位長度。數(shù)據(jù)傳送時,先傳送最高位(MSB),每一個被傳送的字節(jié)后面都必須跟隨一位應答位(即一幀共有9位)。如果一段時間內(nèi)沒有收到從機的應答信號,則自動

11、認為從機已正確接收到數(shù)據(jù)。3.4.3 AT24c02的具體介紹 特性 u 與400KHz I2C 總線兼容 u  1.8 到6.0 伏工作電壓范圍 u 低功耗CMOS 技術 u 寫保護功能當WP 為高電平時進入寫保護狀態(tài) u 頁寫緩沖器自定時擦寫周期 1,000,000 編程/擦除周期 u 可保存數(shù)據(jù)100 年 8 腳DIP SOIC&#

12、160;或TSSOP 封裝 u 溫度范圍商業(yè)級工業(yè)級和汽車級 SDA 串行數(shù)據(jù)/地址 CAT24WC01/02/04/08/16 雙向串行數(shù)據(jù)/地址管腳用于器件所有數(shù)據(jù)的發(fā)送或接收SDA 是一個開漏 輸出管腳可與其它開漏輸出或集電極開路輸出進行線或wire-OR A0 A1 A2 器件地址輸入端 這些輸入腳用于多個器件級聯(lián)時設置器件地址當這些腳懸空時默認值為0 24WC01 除外 當使用24WC01 或24WC02&

13、#160;時最大可級聯(lián)8 個器件如果只有一個24WC02 被總線尋址這三個地 址輸入腳A0 A1 A2 可懸空或連接到Vss 如果只有一個24WC01 被總線尋址這三個地址輸入 腳A0 A1 A2 必須連接到Vss 當使用24WC04 時最多可連接4 個器件該器件僅使用A1 A2 地址管腳A0 管腳未用可以連 接到Vss 或懸空如果只有一個24WC04 被總線尋址A1 和A2&

14、#160;地址管腳可懸空或連接到Vss 當使用24WC08 時最多可連接2 個器件且僅使用地址管腳A2 A0 A1 管腳未用可以連接到 Vss 或懸空如果只有一個24WC08 被總線尋址A2 管腳可懸空或連接到Vss 當使用24WC16 時最多只可連接1 個器件所有地址管腳A0 A1 A2 都未用管腳可以連接到 Vss 或懸空 WP 寫保護 如果WP 管腳連接到Vcc 

15、;所有的內(nèi)容都被寫保護只能讀當WP 管腳連接到Vss 或懸空允許 器件進行正常的讀/寫操作 極限參數(shù) 工作溫度工業(yè)級-55 +125 商業(yè)級0 +75 貯存溫度-65 +150 各管腳承受電壓-2.0 Vcc+2.0V Vcc 管腳承受電壓-2.0 +7.0V 封裝功率損耗Ta=25 1.0W焊接溫度(10 秒) 300 輸出短路電流100mA 分布電容 TA=25 

16、, f =1.0MHz, Vcc =5V 3.4.4 AT24c02的存、取編程 AT24C02的芯片地址,1010為固定,A0,A1,A2正好與芯片的1,2,3引角對應,為當前電路中的地址選擇線,三根線可選擇8個芯片同時連接在電路中,當要與哪個芯片通信時傳送相應的地址即可與該芯片建立連接,TX-1B實驗板上三根地址線都為0。最后一位R/W為告訴從機下一字節(jié)數(shù)據(jù)是要讀還是寫,0為寫入,1為讀出。3.5 1602液晶簡介 3.5.1. 1602的特點 液晶顯示屏是以若干個5´8

17、或5´11點陣塊組成的顯示字符群。每個點陣塊為一個字符位,字符間距和行距都為一個點的寬度。 主控制驅(qū)動電路為HD44780或其他全兼容電路,如SED1278(SEIKO EPSON)、KS0066(SAMSUNG)、NJU6408(NER  JAPAN RADIO)。 具有字符發(fā)生器ROM可顯示192種字符(160個5´7點陣字符和32個5´10點陣字符。 具有64個字節(jié)的自定義字符RAM,可自定義8個5´8點陣字符或四個5´11點陣字符。 具有80個字節(jié)的RAM。

18、 單+5V電源供電。3.5.2引腳功能  共16個引腳,各引腳詳情見表3-2  表3-23.5.3 1602 指令簡述如下: 清屏(0x01) 把空碼20H寫入DDRAM的全部單元。 地址計數(shù)器AC清零,光標歸位。 設置I/D=1,使AC處于自動加1模式。 歸位(0x02) 使AC清零,還可以使發(fā)生位移的畫面返回00H處顯示,光標或是閃爍將回到原點00H處。 輸入方式(0000,01,I/D,S) 該指令設置單片機讀、寫DDRAM或CGRAM后,AC的變化

19、方向,該指令有兩個參數(shù): I/D:I/D=1 AC自動加1,光標右移;I/D=0 AC自動減1,光標左移。 S:設置在寫入DDRAM數(shù)據(jù)后,顯示屏上的畫面全部向左或向右平移一個字符位。 S=0:無效,S=1有效。 S=1、I/D=1,畫面左移。 S=1、I/D=0,畫面右移。 顯示開關控制(0000,1,D,C,B) 該指令控制顯示效果,帶有三個參數(shù): D:顯示開關,D=1時,允許顯示屏顯示;D=0,不允許顯示屏顯示。 C:光標開關,C=1時,允許顯示屏顯示光標;C=0時,不允許顯示光

20、標。光標位置由AC控制。 B:閃爍開關,使一個字符位交替全亮或是全暗,閃爍頻率為2.4Hz。閃爍位置由AC控制。 B=1,閃爍;B=0,不閃爍。 光標或畫面位移(0001,S/C,R/L,0,0) 執(zhí)行該指令時,光標或顯示屏上的畫面將左移或右移一個字符位置。 S/C:位移對象選擇,S/C=1時,畫面位移,S/C=0時光標位移。 R/L:位移方向選擇,R/L=1時為右移,R/L=0時為左移。 功能設置(001,DL,N,F(xiàn),00) 該指令HD44780的初始化設置指令,單片機必須使用這條指令初始化HD44780,該指

21、令有三個參數(shù):DL:總線數(shù)據(jù)位數(shù),DL=0,總線為4位,DL=1,總線為8位。  N:顯示屏顯示行數(shù),N=0為1行,N=1為2行。  F:字符格式,F(xiàn)=0為5×7點陣,F(xiàn)=1為5×10。 CGRAM地址設置(指令碼:01 A5,A4,A3,A2,A1,A0) 該指令將CGRAM的6位地址碼00H3FH寫入地址計數(shù)器AC內(nèi),隨后單片機將對CGRAM操作。 DDRAM地址設置(指令碼:0 A6,A5,A4,A3,A2,A1,A0) 該指令將DDRAM的7位地址碼送入地址計數(shù)器AC

22、內(nèi),隨后單片機對DDRAM操作,DDRAM的地址范圍是: N=0(1行字符)00H4FH N=1(2行字符)第1行:00H27H, 第2行:40H67H DF與AC DF與AC 當單片機讀操作時(RS=0,R/W=1),讀出1位忙標志(BF)和7位地址計數(shù)器AC的組合,格式為:其中AC的值可以是DDRAM的地址,也可以是CGRAM的地址。 寫入DDRAM或是CGRAM 單片機把要寫入DDRAM或CGRAM的數(shù)據(jù)寫入HD44780中,需要首先寫入地址設置指令,選擇DDRAM或是CGRAM,然后是設置地址計數(shù)器AC的自

23、動修改方式。 讀取DDRAM或是CGRAM4. 開機次數(shù)記憶器的實現(xiàn) 4.1 硬件實現(xiàn) 4.1.1復位電路的實現(xiàn) 復位電路是使單片機初始化,即使單片機重新開始執(zhí)行程序。當復位開關按下,RST由高電平變?yōu)榈碗娖?,則程序從頭開始執(zhí)行。通常選擇C=1030F,R=1K,本設計采用的電容值為10F的電容和電阻為10k電阻。在接通電源瞬間,電容充電因此相當于短路,復位腳相當于接高電平,等電源平穩(wěn)后電容起到隔離直流電平的作用,復位腳通過電阻接地處于低電平,這樣就相當于在復位腳輸入了一個高電平脈沖起到復位作用。在此次課程設計電路中復位實現(xiàn)次數(shù)加一。

24、電路參考如下圖4-1 復位電路。 圖4-14.1.2 晶振電路晶振,在電氣上它可以等效成一個電容和一個電阻并聯(lián)再串聯(lián)一個電容的二端網(wǎng)絡,電工學上這個網(wǎng)絡有兩個諧振點,以頻率的高低分其中較低 的頻率是串聯(lián)諧振,較高的頻率是并聯(lián)諧振。由于晶體自身的特性致使這兩個頻率的距離相當?shù)慕咏谶@個極窄的頻率范圍內(nèi),晶振等效為一個電感,所以只要晶 振的兩端并聯(lián)上合適的電容它就會組成并聯(lián)諧振電路。這個并聯(lián)諧振電路加到一個負反饋電路中就可以構成正弦波振蕩電路,由于晶振等效為電感的頻率范圍很窄, 所以即使其他元件的參數(shù)變化很大,這個振蕩器的頻率也不會有很大的變化。 

25、; 圖4-25.  電路仿真及測試5.1 電路仿真圖  圖5-15.2 實物圖 圖5-2 實物演示圖6. 程序代碼#include <reg52.h>#include <intrins.h> typedef unsigned char uint8; /無符號8位整型變量 typedef signed char int8; /有符號8位整型變量typedef unsigned char byte;typedef bit BOOL ; sbit sda=P20; /EEPROM AT24C02 串行數(shù)據(jù)輸入/輸出端 sbit scl=P21; /EEPR

26、OM AT24C02 串行時鐘輸入端sbit rs= P33;sbit rw = P34;sbit en = P35;int time=0;int time2=0;byte code dis1 = "TIME"byte dis210="0123456789" byte dis310="0123456789"void delay(byte ms)/ 延時子程序byte i;while(ms-)for(i = 0; i< 255; i+)_nop_();_nop_();_nop_();_nop_(); /1602程序BOOL lcd

27、_bz()/ 測試LCD忙碌狀態(tài)BOOL result;rs = 0;rw = 1;en = 1;_nop_();_nop_();_nop_();_nop_();result = (BOOL)(P0 & 0x80);en = 0;return result;void lcd_wcmd(byte cmd)/ 寫入指令數(shù)據(jù)到LCDwhile(lcd_bz();rs = 0;rw = 0;en = 0;_nop_();_nop_();P0 = cmd;_nop_();_nop_();_nop_();_nop_();en = 1;_nop_();_nop_();_nop_();_nop_();

28、en = 0;void lcd_pos(byte pos)/設定顯示位置lcd_wcmd(pos | 0x80);void lcd_wdat(byte dat)/寫入字符顯示數(shù)據(jù)到LCDwhile(lcd_bz();rs = 1;rw = 0;en = 0;P0 = dat;_nop_();_nop_();_nop_();_nop_();en = 1;_nop_();_nop_();_nop_();_nop_();en = 0;void lcd_init()/LCD初始化設置lcd_wcmd(0x38);/設置16×2顯示,5×7點陣,8位數(shù)據(jù)接口delay(1);lcd_

29、wcmd(0x0c);/設置開顯示,不顯示光標delay(1);lcd_wcmd(0x06);/寫一個字符后地址指針加一且光標加一delay(1);lcd_wcmd(0x01);/清除LCD的顯示內(nèi)容delay(1);/2402程序void AT2402_Delay() /延時;void busy() byte temp; temp=0x00; rs=0; rw=1; en=1; while(temp&0x80)=0x80) en=0;_nop_();en=1;_nop_(); void AT2402_Start() /啟動信號/vc=1;/vc=0;sda=1;AT2402_Dela

30、y();scl=1;AT2402_Delay();sda=0;AT2402_Delay();void AT2402_Stop() /停止信號sda=0;AT2402_Delay();scl=1;AT2402_Delay();sda=1;AT2402_Delay();void AT2402_Respons() /應答信號uint8 i;scl=1;AT2402_Delay();while(sda=1)&&(i<250)i+;scl=0;AT2402_Delay();void AT2402_Init() /24C02初始化函數(shù)sda=1;AT2402_Delay();scl=

31、1;AT2402_Delay();void AT2402_WByte(uint8 date) /寫一個字節(jié)到24C02uint8 i,temp;temp=date;for(i=0;i<8;i+)temp=temp<<1;scl=0;AT2402_Delay();sda=CY;AT2402_Delay();scl=1;AT2402_Delay(); scl=0;AT2402_Delay();sda=1;AT2402_Delay();uint8 AT2402_RByte() /讀一個字節(jié)到24C02uint8 i,k;scl=0;AT2402_Delay();sda=1;AT24

32、02_Delay();for(i=0;i<8;i+)scl=1;AT2402_Delay();k=(k<<1)|sda;scl=0;AT2402_Delay();return k;void AT2402_WAddr(uint8 address,uint8 date)/指定地址寫一個數(shù)據(jù) AT2402_Start();AT2402_WByte(0xa0);AT2402_Respons();AT2402_WByte(address);AT2402_Respons();AT2402_WByte(date);AT2402_Respons();AT2402_Stop();uint8 A

33、T2402_RAddr(uint8 address)/指定地址讀取一個字節(jié)uint8 date;AT2402_Start();AT2402_WByte(0xa0);AT2402_Respons();AT2402_WByte(address);AT2402_Respons();AT2402_Start();AT2402_WByte(0xa1);AT2402_Respons();date=AT2402_RByte();AT2402_Stop();return date;void wr_com(byte com) en=0; rs=0; rw=0; P0=com; _nop_(); en=1; _nop_(); en=0;void wr_data(byte date) busy(); en=0; rs=1; rw=0; P0=date; _nop_(); en=1; _nop_(); en=0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論