基于5單片機(jī)的電子日歷設(shè)計(jì)設(shè)計(jì)_第1頁
已閱讀1頁,還剩33頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p>  成都電子機(jī)械高等??茖W(xué)校成教院</p><p>  畢 業(yè) 設(shè) 計(jì)(論 文)</p><p>  論文題目: 基于51單片機(jī)的電子日歷設(shè)計(jì)</p><p>  教 學(xué) 點(diǎn): 重慶科創(chuàng)職業(yè)學(xué)院</p><p>  指導(dǎo)老師: 張忠雨 職 稱: 講師</p

2、><p>  學(xué)生姓名: 聶燕 學(xué) 號 : 2011700558</p><p>  專 業(yè): 應(yīng)用電子技術(shù)</p><p>  成都電子機(jī)械高等專科學(xué)校成教院制</p><p>  2012 年 3 月 9 日</p><p>  成

3、都電子機(jī)械高等??茖W(xué)校成教院</p><p>  畢業(yè)設(shè)計(jì)(論文)任務(wù)書</p><p>  題目: 基于51單片機(jī)的電子日歷設(shè)計(jì)</p><p><b>  任務(wù)與要求:</b></p><p>  通過單片機(jī)設(shè)計(jì)電子日歷數(shù)碼管正常顯示陽歷、陰歷日期,顯</p>&l

4、t;p>  示的格式為年-月-日,利用外部按鍵的操作實(shí)現(xiàn)陽歷和陰歷之間的</p><p>  轉(zhuǎn)換,實(shí)現(xiàn)陰歷和陽歷顯示的暫停、運(yùn)行等功能。</p><p>  時(shí)間: 2011 年12 月15 日 至 2012 年 3 月 15 日 共 12 周</p><p>  教 學(xué) 點(diǎn): 重慶科創(chuàng)職業(yè)學(xué)院&l

5、t;/p><p>  學(xué)生姓名: 聶燕 學(xué) 號: 2011700558</p><p>  專業(yè): 應(yīng)用電子技術(shù)</p><p>  指導(dǎo)單位或教研室: </p><p>  指導(dǎo)教師: 張忠雨 職 稱:

6、 講師</p><p>  成都電子機(jī)械高等??茖W(xué)校成教院制</p><p>  畢業(yè)設(shè)計(jì)(論文)進(jìn)度計(jì)劃表</p><p>  本表作評定學(xué)生平時(shí)成績的依據(jù)之一。</p><p><b>  摘 要</b></p><p>  設(shè)計(jì)以單片機(jī)AT89C51為核心部件的電子日歷,利用74L

7、S245作為驅(qū)動(dòng)器,74LS138作為譯碼器使用,六個(gè)七段數(shù)碼管均采用共陰極的方式,P0口作為段選碼輸出口,P2口作為位選碼輸出口。</p><p>  本次設(shè)計(jì)的題目是基于單片機(jī)的電子日歷設(shè)計(jì),可以正常的顯示年、月、日,還可以利用外部按鍵實(shí)現(xiàn)陰歷和陽歷之間的轉(zhuǎn)換以及暫停等功能。電子日歷具有性能穩(wěn)定、精確度高、成本低、易于產(chǎn)品化,以及方便、實(shí)用等特點(diǎn)。適用于家庭、公司、機(jī)關(guān)等眾多場所。為人們的日常生活、出行安排提

8、供了方便,成為人們?nèi)粘I钪胁豢扇鄙俚囊徊糠帧?lt;/p><p>  本次設(shè)計(jì)可分為兩部分:硬件系統(tǒng)、軟件系統(tǒng)。</p><p>  硬件系統(tǒng)包括:AT89S51單片機(jī)、74LS245驅(qū)動(dòng)器、74LS138譯碼器、RC復(fù)位電路、+5V直流電源電路、去抖電路、動(dòng)態(tài)顯示掃描電路。</p><p>  軟件系統(tǒng)主要有單片機(jī)的編程構(gòu)成。</p><p>

9、;  關(guān)鍵詞:單片機(jī),日歷,位碼,段碼,顯示</p><p><b>  Abstract</b></p><p>  Single-chip AT89S51 design as the core components of the electronic calendar, use as a 74LS245 drives, 74LS138 used as a dec

10、oder, six and seventh digits are a total of cathode way, P0 mouth as paragraph code output selection, P2 I, as bit selection code output. </p><p>  The design is based on the topic of single-chip design of t

11、he electronic calendar, you can show a normal year, month, day, can also be used to achieve external keys as well as conversion between陰陽歷lunar and solar calendarsuspend functions. Electronic calendar with stable perform

12、ance, high accuracy, low cost, ease of production, as well as convenient, practical and so on. Apply to families, companies, agencies and many other places. For people's daily life, travel arrangements, providing a c

13、onven</p><p>  The design can be divided into two parts: hardware systems, software systems. </p><p>  Hardware system, including: AT89S51 Single-chip, 74LS245 drive, 74LS138 decoder, RC reset c

14、ircuit, +5 V DC power supply circuit, to stir up the circuit, dynamic display scanning circuit. </p><p>  There are single-chip microcomputer software system constitute the programming. </p><p>

15、;  Key words: single-chip, calendar, code, code above to show</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p><b>  前 言1</b></p><p&

16、gt;  第一章 設(shè)計(jì)方案2</p><p>  第一節(jié) 設(shè)計(jì)思路2</p><p>  第二節(jié) 系統(tǒng)總體框圖2</p><p>  第二章 硬件設(shè)計(jì)4</p><p>  第一節(jié)單片機(jī)AT89S51的簡介4</p><p>  第二節(jié)AT89S51內(nèi)部資源5</p><p&g

17、t;  第三節(jié)AT89S51性能及特點(diǎn)6</p><p>  第三章 動(dòng)態(tài)顯示電路的介紹10</p><p>  第一節(jié) 去抖電路的工作原理11</p><p>  第二節(jié) 復(fù)位電路的方式12</p><p>  第三節(jié)中斷系統(tǒng)的介紹14</p><p>  第四章 系統(tǒng)調(diào)試16</p&g

18、t;<p><b>  結(jié)束語17</b></p><p><b>  謝 辭18</b></p><p><b>  參考文獻(xiàn)19</b></p><p>  附錄1(原理圖)20</p><p>  附錄2(電子萬年歷程序)23</p>

19、<p><b>  前 言</b></p><p>  隨著社會不斷的發(fā)展,科學(xué)技術(shù)不斷的進(jìn)步,單片機(jī)的問世和飛速發(fā)展掀起了計(jì)算機(jī)工程應(yīng)用的一場新革命,使計(jì)算機(jī)技術(shù)沖破了實(shí)驗(yàn)室和機(jī)房的界限,廣泛地應(yīng)用于工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、自動(dòng)測試系統(tǒng)、智能儀表和接口以及各類功能模塊等廣闊的領(lǐng)域。單片機(jī)應(yīng)用系統(tǒng)已經(jīng)成為實(shí)現(xiàn)許多控制系統(tǒng)的常規(guī)性工具。我們說,單片機(jī)開辟了計(jì)算機(jī)應(yīng)用的一個(gè)新

20、時(shí)代是并不過分的。單片機(jī)的發(fā)展歷史雖然只有短短20年,但由于計(jì)算機(jī)科學(xué)和微電子集成技術(shù)的飛速發(fā)展,單片機(jī)自身也在不斷地向更高層次和更大規(guī)模發(fā)展。世界各大半導(dǎo)體廠商紛至沓來爭先擠入這一市場,激烈的市場競爭也促進(jìn)了單片機(jī)迅速更新?lián)Q代,帶來了它們更為廣泛的應(yīng)用。由于單片機(jī)應(yīng)用系統(tǒng)的高可靠性,硬、軟件的高利用系數(shù),優(yōu)異的性能價(jià)格比,使它的應(yīng)用范圍由開始傳統(tǒng)的過程控制,逐步進(jìn)入數(shù)值處理、數(shù)字信號處理以及圖像處理等高技術(shù)領(lǐng)域。我們在本次的設(shè)計(jì)中廣泛

21、用到了單片機(jī)的應(yīng)用系統(tǒng),下面我們就逐一的敘述。</p><p><b>  第一章 設(shè)計(jì)方案</b></p><p><b>  第一節(jié) 設(shè)計(jì)思路</b></p><p>  設(shè)計(jì)的題目是基于單片機(jī)的電子日歷設(shè)計(jì)。根據(jù)設(shè)計(jì)要求日歷顯示正常的年、月、日,同時(shí)利用外部按鍵實(shí)現(xiàn)陰歷和陽歷之間的轉(zhuǎn)換,以及暫停等功能。要想實(shí)現(xiàn)上述功

22、能,就必須將硬件系統(tǒng)和軟件系統(tǒng)有機(jī)的結(jié)合在一起,方可實(shí)現(xiàn)我們設(shè)計(jì)任務(wù)中的各項(xiàng)要求。</p><p>  硬件系統(tǒng)主要有單片機(jī)AT89S51、74LS245驅(qū)動(dòng)器、74LS138譯碼器、RC復(fù)位電路、獨(dú)立式鍵盤接口去抖電路等。</p><p>  軟件系統(tǒng)主要是單片機(jī)的編程。</p><p>  根據(jù)設(shè)計(jì)要求,電子日歷要顯示年、月、日就需要6個(gè)顯示數(shù)碼管,如(09年0

23、5月01日即顯示為09-05-01),由于數(shù)碼管的數(shù)量較多,必須采用動(dòng)態(tài)顯示掃描的方式。例如09-05-01,首先日分為個(gè)位和十位,個(gè)位顯示到09時(shí),應(yīng)向日的十位自動(dòng)進(jìn)位,即個(gè)位清0,十位置1,顯示為10,繼續(xù)累計(jì);當(dāng)顯示為31時(shí),日的十位就自動(dòng)向月的個(gè)位進(jìn)位,顯示為06,當(dāng)月顯示到09時(shí),月的個(gè)位自動(dòng)向月的十位進(jìn)位,個(gè)位清0,十位置1,即為10,當(dāng)月至12時(shí),月向年的個(gè)位進(jìn)位,即顯示08,同時(shí)月、日開始從01月01日繼續(xù)顯示,即顯示為

24、10-01-01,依次周而復(fù)始的循環(huán)運(yùn)行。</p><p>  此外利用外部按鍵實(shí)現(xiàn)陰歷和陽歷的轉(zhuǎn)換,當(dāng)按下K1按鍵時(shí),當(dāng)前的陽歷顯示暫停,而由軟件系統(tǒng)調(diào)用陰歷的顯示程序,即顯示為陰歷的日期;當(dāng)按下K2鍵時(shí),當(dāng)前的顯示暫停,松開按鍵時(shí),當(dāng)前的顯示繼續(xù)運(yùn)行;當(dāng)按下K3鍵時(shí),顯示的當(dāng)前日期暫停。</p><p>  利用單片機(jī)將RC復(fù)位電路、動(dòng)態(tài)顯示電路、電源電路、去抖電路等正確的連接在一起,

25、并通過單片機(jī)的編程來實(shí)現(xiàn)本次設(shè)計(jì)任務(wù)中的要求。</p><p>  第二節(jié) 系統(tǒng)總體框圖</p><p>  硬件電路采用的是AT89S51芯片來作CPU,顯示部分采用74LS245作為驅(qū)動(dòng)電路,74LS138作為譯碼器使用,七段共陰極數(shù)碼管作為顯示部分,采用RC復(fù)位電路以及獨(dú)立式鍵盤接口電路去抖的方法來完成此次的設(shè)計(jì)。在確定系統(tǒng)的形式后,畫出本系統(tǒng)的總體框圖,如圖1.1所示: <

26、/p><p>  圖1-1 系統(tǒng)框圖</p><p>  系統(tǒng)總體框圖包括:單片機(jī)、電源電路、復(fù)位電路、顯示電路、去抖電路。</p><p>  單片機(jī)AT89S51芯片的主要功能是:存儲程序,對存儲程序進(jìn)行相應(yīng)的處理,并從I/O口輸出;</p><p>  復(fù)位電路:在單片機(jī)上有一個(gè)復(fù)位引腳REST,在單片機(jī)外部用電容和電阻控制REST;&l

27、t;/p><p>  電源電路:采用+5V的直流電源供電;</p><p>  顯示電路:主要用于顯示日歷的結(jié)果;</p><p>  去抖電路:消除外部按鍵按下時(shí)的抖動(dòng)造成的誤操作。</p><p><b>  第二章 硬件設(shè)計(jì)</b></p><p>  硬件電路主要包括:單片機(jī)、去抖電路、顯示

28、電路、復(fù)位電路、電源電路等。</p><p>  單片機(jī)的選擇:選用AT89S51芯片, P0.0---P0.7作為段選碼輸出口,P2.1---P2.3作為位選碼輸出口。</p><p>  去抖電路的選擇:采用獨(dú)立式鍵盤電路;</p><p>  顯示電路的選擇:采用動(dòng)態(tài)掃描顯示,共陰極七段數(shù)碼管;</p><p>  復(fù)位電路的選擇:RC

29、復(fù)位電路;</p><p>  電源電路的選擇:+5V直流電源。</p><p>  單片機(jī)AT89S51的簡介</p><p>  AT89S51是一種低功耗,高性能的片內(nèi)含有4KB的快閃可編程/擦處只讀存儲器(FPEROM-Flash Programmable and Erasable Read only Memory )的8位COMS微控制器,使用高密度、非易

30、失存儲技術(shù)改造,并且與AT80C51引腳和指令系統(tǒng)完全兼容。芯片上的FPEROM 允許在線編程或者采用通用的非易失存儲編程器對存儲器重復(fù)編程。</p><p>  AT89S51具有多種的8位CPU與FPEROM 結(jié)合在一個(gè)芯片上,為很多嵌入式控制應(yīng)用提供了非常靈活而有方便的方案,其性能價(jià)格比遠(yuǎn)低于AT87C51。由于片內(nèi)帶EPROM 的AT87C51價(jià)格偏高,而片內(nèi)帶EPROM的AT89S51價(jià)格低且與AT80

31、S51兼容,這就顯示了AT89S51的優(yōu)越性。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除100次,該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。</p><p>  由于將多功能8位CPU和閃爍存儲器組合在單一芯片上,ATMEL的AT89S51是一種高效微控制器,AT89C2051是它的一個(gè)精簡版

32、本。AT89S51單片機(jī)可以為很多嵌入式控制系統(tǒng)提供一種靈活性高且價(jià)格低廉的方案。</p><p>  AT89S51內(nèi)部資源</p><p>  1.中央處理器(CPU)</p><p>  CPU是單片機(jī)內(nèi)部的核心部件,是一個(gè)8位二進(jìn)制數(shù)的中央處理單元,主要有運(yùn)算器和控制器構(gòu)成。</p><p>  運(yùn)算器用來完成算術(shù)運(yùn)算、邏輯運(yùn)算、位變

33、量處理和數(shù)據(jù)傳送等功能。它是89S51內(nèi)部處理各種信息的主要部件,運(yùn)算器主要有算術(shù)運(yùn)算和邏輯運(yùn)算組成。算術(shù)邏輯單元,89S51中算術(shù)邏輯單元由加法器和一個(gè)布爾處理器組成。主要是實(shí)現(xiàn)8位數(shù)據(jù)的加、減、乘、除算術(shù)運(yùn)算和與、或、異或、循環(huán)、求反等邏輯運(yùn)算;布爾處理器主要用來處理位操作,它是以進(jìn)位標(biāo)志位C為累加器的,可執(zhí)行置位、復(fù)位、取反、等于1轉(zhuǎn)移、等于0轉(zhuǎn)移、等于1轉(zhuǎn)移且清0以及進(jìn)位標(biāo)志位與其他位尋址的位之間進(jìn)行數(shù)據(jù)傳送等位操作,也能使進(jìn)位

34、標(biāo)志位與其他可以尋址的位之間邏輯與、或操作。</p><p>  控制器:控制器是單片機(jī)內(nèi)部各部件按一定時(shí)序協(xié)調(diào)工作的控制核心。是分析和執(zhí)行指令的部件,控制器主要有程序計(jì)數(shù)器PC、指令寄存器IR、指令譯碼器ID、振蕩器和定時(shí)控制邏輯電路等構(gòu)成。</p><p>  程序計(jì)數(shù)器PC是專門用于存放下一條將要執(zhí)行指令的16位地址的一個(gè)部件,由8位計(jì)數(shù)器PCH(高8位)和PCL(低8位)組成。CP

35、U就是根據(jù)PC中的地址到ROM中去讀取程序指令碼和數(shù)據(jù)。</p><p>  指令寄存器IR是用于存放CPU根據(jù)PC地址從ROM中讀出的指令操作碼并送給ID。</p><p>  指令譯碼器ID是用于分析指令操作的部件,指令操作碼經(jīng)譯碼后送至定時(shí)控制電路,產(chǎn)生一定序列的脈沖信號,來執(zhí)行指令規(guī)定的操作。</p><p>  振蕩器及定時(shí)控制邏輯電路,在它們外接石英晶體

36、和微調(diào)電容(2—30pF),即可以產(chǎn)生1.2-12Mhz的脈沖信號,作為89S51工作的基本節(jié)拍。</p><p><b>  2.存儲器</b></p><p>  89S51單片機(jī)內(nèi)部有128B的RAM數(shù)據(jù)存儲器和4KB的掩膜式ROM,當(dāng)不夠使用時(shí),可以分別擴(kuò)展為64KB外部RAM存儲器和64KB外部程序存儲器。</p><p>  程序存

37、儲器是可讀不可寫的,用于存放編好的程序和表格常數(shù)。</p><p>  數(shù)據(jù)存儲器是既可以讀也可以寫的,用于存放運(yùn)算的中間結(jié)果,進(jìn)行數(shù)據(jù)暫存及數(shù)據(jù)緩沖等。</p><p><b>  3.定時(shí)/計(jì)數(shù)器</b></p><p>  89S51內(nèi)部有2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器,簡稱為定時(shí)器0(T0)和定時(shí)器1(T1),T0和T1分別有兩個(gè)8位寄

38、存器構(gòu)成,其中T0由TH0(高8位)和TL0(低8位)構(gòu)成。T1由TH1(高8位)和TL1(低8位)構(gòu)成。</p><p>  4.中斷控制系統(tǒng) </p><p>  單片機(jī)的中斷是指CPU暫停正在執(zhí)行的原程序轉(zhuǎn)而為中斷源服務(wù),在執(zhí)行完中斷服務(wù)程序后再回到原程序繼續(xù)執(zhí)行。中斷系統(tǒng)是指能夠處理中斷過程部分的電路。89S51單片機(jī)設(shè)有5個(gè)中斷源(外中斷2個(gè),定時(shí)/計(jì)數(shù)中斷2個(gè),串行中斷1個(gè)

39、),2個(gè)優(yōu)先級,可以實(shí)現(xiàn)兩級中斷嵌套。</p><p><b>  5.內(nèi)部總線</b></p><p>  總線是用于傳送信息的公共通道??偩€可以分為數(shù)據(jù)總線、地址總線、控制總線。單片機(jī)內(nèi)的CPU、存儲器、I/O接口等單元部件都是通過總線連接到一起的,采用總線結(jié)構(gòu)可以減少信息傳輸線的根數(shù),提高系統(tǒng)可靠性,增強(qiáng)系統(tǒng)靈活性。</p><p>  

40、AT89S51性能及特點(diǎn)</p><p> ?。?)與MCS-51微控制器產(chǎn)品兼容 </p><p>  (2)片內(nèi)有4KB可以在線重復(fù)編程的快閃擦寫存儲器(Flash Memory)</p><p> ?。?)存儲器可以循環(huán)寫入/擦除100次</p><p> ?。?)存儲器數(shù)據(jù)可以保存時(shí)間為10年</p><p>

41、 ?。?)較寬的工作電壓范圍:VCC可以為2.7--6V</p><p><b> ?。?)全靜態(tài)工作</b></p><p>  (7) 程序存儲器具有3級加密保護(hù)</p><p> ?。?)128*8位內(nèi)部RAM</p><p> ?。?)32條可編程I/O接口</p><p> ?。?0)2

42、個(gè)16位定時(shí)/計(jì)數(shù)器</p><p>  (11)終端結(jié)構(gòu)具有5個(gè)中斷源和2個(gè)優(yōu)先級</p><p> ?。?2)可編程全雙工串行通道</p><p> ?。?3)空閑狀態(tài)維持低功耗和掉電狀態(tài)保存存儲內(nèi)容</p><p>  由于EPROM具有在線改寫,并且在掉電狀態(tài)下保存數(shù)據(jù)的特點(diǎn),可以為用戶的特殊應(yīng)用提供方便。但是擦除和寫入對于要求數(shù)據(jù)高

43、速吞吐的應(yīng)用還顯的時(shí)間過長,這就是EPROM芯片的主要缺陷。</p><p>  AT89S51的內(nèi)部硬件結(jié)構(gòu)中除了程序存儲器由FPEROM取代了87C51的EPROM外,其余部分完全相同。AT89S51的引腳和AT8051的引腳完全兼容。</p><p>  AT89S51的引腳圖如下圖2.1所示:</p><p>  圖2-1 AT89S51芯片引腳圖<

44、/p><p>  Pin40: 電源腳,工作電壓為+5V</p><p><b>  Pin20:接地端</b></p><p>  P0口:P0口為一個(gè)8位漏極開路的雙向I/O口,每腳可以吸收8TTL門電流。當(dāng)P0口的管腳第一次寫“1”時(shí),被定義為高阻輸入,P0口能夠用于外部數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位,在FLASH編程時(shí),P0口

45、作為原碼輸入口,當(dāng)FLASH進(jìn)行校驗(yàn)時(shí),P0口輸出原碼,此時(shí),P0外部必須被拉高。</p><p>  P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流,P1口管腳寫入1時(shí),被內(nèi)部上拉為高,可用作輸出,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。</p><p>  P2口:

46、P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可以接收、輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流,這就是內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時(shí),P2口輸出地址的高八位,。在給出地址“1”時(shí),它利用內(nèi)部上拉的優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLA

47、SH編程和校驗(yàn)時(shí)接收八位地址信號和控制信號。</p><p>  P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可以接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”時(shí),它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平;P3口將輸出電流,這就是上拉的緣故。</p><p>  P3口也可以作為AT89S51的一些特殊功能口,如下所示:</p><p&

48、gt;  P3.0: RXD (串行輸入口)</p><p>  P3.1: TXD (串行輸出口)</p><p>  P3.2: (外部中斷0)</p><p>  P3.3: (外部中斷1)</p><p>  P3.4:T0 (定時(shí)/計(jì)數(shù)器0)</p><p>  P3.5: T1 (定時(shí)

49、/計(jì)數(shù)器1)</p><p>  P3.6: (外部數(shù)據(jù)存儲器寫選通線)</p><p>  P3.7: (外部數(shù)據(jù)存儲器讀選通線)</p><p>  P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號</p><p>  RET 復(fù)位輸出:當(dāng)振蕩器復(fù)位時(shí),要保持RET腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p&

50、gt;  ALE/PROG:當(dāng)訪問外部存儲器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié),在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出脈沖信號,此頻率為振蕩器頻率的1/6,因此它用作對外部輸出的脈沖或用于定時(shí)目的。然而應(yīng)注意的是,每當(dāng)用作外部數(shù)據(jù)存儲器時(shí),將跳過一個(gè)ALE脈沖,如想禁止ALE的輸出可在數(shù)據(jù)地址上置0。此時(shí),ALE只有在執(zhí)行MOVX、MOVC指令時(shí)ALE才其作用。另外,該引腳被略微

51、拉高,如果處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p>  XTAL1:反向振蕩器的輸入及內(nèi)部時(shí)鐘工作電路的輸入</p><p>  XTAL2:來自反向振蕩器的輸出</p><p><b>  振蕩器特性:</b></p><p>  XTAL1和XTAL2分別為反向放大器的輸入和輸出,該反向放大器可以配

52、置為片內(nèi)振蕩器,石英振蕩器和陶瓷振蕩器均可采用,如果采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不連接,有余的輸入至內(nèi)部時(shí)鐘信號要通過一個(gè)二分頻觸發(fā)器,因此對外部時(shí)鐘信號的脈沖沒有任何嚴(yán)格的要求,但必須保證脈沖的高低電平要求的寬度。</p><p><b>  芯片擦除:</b></p><p>  整個(gè)PEROM系列和三個(gè)鎖定位的電擦除可通過正確的控制信號組合,并保證ALE

53、管腳處于低電平,在芯片擦除操作中,代碼陣列全被寫“1”,且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。</p><p>  此外,AT89S51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作,但RAM、定時(shí)器、計(jì)數(shù)器、串口和中斷系統(tǒng)仍工作;在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用芯片的其他功能,直到下一個(gè)硬件復(fù)位為止。</p&g

54、t;<p>  為了滿足一些應(yīng)用系統(tǒng)的特殊要求,如在一些工業(yè)控制中系統(tǒng)中,有時(shí)要進(jìn)行一些系統(tǒng)的擴(kuò)展設(shè)計(jì)以彌補(bǔ)單片機(jī)內(nèi)部資源的不足。單片機(jī)的擴(kuò)展系統(tǒng)通過并行I/O接口作總線,在外部擴(kuò)展程序存儲器、數(shù)據(jù)存儲器或輸入輸出接口以及其他功能的部件以滿足一些控制系統(tǒng)的特殊要求。</p><p>  第三章 動(dòng)態(tài)顯示電路的介紹</p><p>  LED動(dòng)態(tài)顯示就是利用單片機(jī)依次輸出每一位

55、數(shù)碼管的段選碼和對應(yīng)于該位數(shù)碼管的位選控制信號,一位一位輪流點(diǎn)亮各七段數(shù)碼管。對于數(shù)碼管來說,每隔一段時(shí)間點(diǎn)亮一次,如此循環(huán),利用人眼的“視覺暫留”效應(yīng),只要每位顯示間隔足夠短就可以給人以同時(shí)顯示的感覺。在動(dòng)態(tài)顯示方式中,同一時(shí)刻,只有一位LED數(shù)碼管在顯示,其他各位是關(guān)閉的。在段選碼和位選碼每送出一次后,應(yīng)保持1ms左右,這個(gè)時(shí)間應(yīng)根據(jù)實(shí)際情況而定,不能太小,因?yàn)榘l(fā)光二極管從導(dǎo)通到發(fā)光有一定的延時(shí),導(dǎo)通時(shí)間太小,發(fā)光太弱,人眼無法看清

56、,但是也不能太大,因?yàn)楫吘挂芟抻谂R界閃爍頻率,而且此時(shí)間越長,占用CPU時(shí)間也就越多。</p><p>  1. 采用動(dòng)態(tài)顯示方式比較節(jié)省I/O接口,硬件電路也比靜態(tài)顯示方式簡單,在此次的設(shè)計(jì)中我們利用89S51作為I/O接口,六個(gè)七段數(shù)碼管均采用共陰極的方式顯示,P0口作為段選碼輸出口使用,P2口作為位選碼輸出口使用,它們的顯示緩沖區(qū)分別為:</p><p>  MOV 30H,#01

57、H MOV 40H,#05H</p><p>  MOV 31H,#00H MOV 41H,#01H</p><p>  MOV 32H,#05H MOV 42H,#03H</p><p>  MOV

58、 33H,#00H MOV 43H,#00H</p><p>  MOV 34H,#07H MOV 44H,#07H</p><p>  MOV 35H,#00H MOV 45H,#00H</p><p&

59、gt;  2.顯示部分我們利用動(dòng)態(tài)顯示電路,而其顯示電路中的驅(qū)動(dòng)部分我們則采用一片74LS245芯片作為驅(qū)動(dòng)部分,來完成電路的動(dòng)態(tài)顯示。</p><p>  3.74LS245是一種三態(tài)輸出的8總線收發(fā)驅(qū)動(dòng)器,無鎖存功能。它的端和DIP端是控制端,當(dāng)它的端為低電平時(shí),如果DIP為高電平,則74LS245將A端數(shù)據(jù)傳送至B端;如果DIP為低電平,則74LS245將B端數(shù)據(jù)傳送至A端。在其他情況下不傳送數(shù)據(jù),并輸出高

60、阻態(tài),它的引腳圖如下圖2.2所示,其功能表如表2.1所示。</p><p>  4.74LS138是一種3-8譯碼器,其中G1、G2A、G2B腳為使能端,只有G1為高電平時(shí),G2A、G2B為低電平時(shí),譯碼器才可以使用。A、B、C為譯碼器的信號輸入端,Y0---Y7為譯碼器的輸出端,低電平有效。</p><p>  圖3-1 74LS138譯碼器</p><p> 

61、 第一節(jié) 去抖電路的工作原理</p><p>  1. 目前,MCS-51單片機(jī)應(yīng)用系統(tǒng)上常采用鍵盤作為輸入設(shè)備,通過鍵盤的操作將數(shù)據(jù)、內(nèi)存地址、命令及指令等輸入系統(tǒng)中,來實(shí)現(xiàn)簡單的人機(jī)通信。MCS-51單片機(jī)在應(yīng)用系統(tǒng)上的按鍵常用機(jī)械觸點(diǎn)式按鍵,它在閉合及斷開的瞬間均有抖動(dòng)的過程,時(shí)間長短與開關(guān)的機(jī)械特性有關(guān)。一般為5—10ms,由于抖動(dòng)會造成被查詢的開關(guān)狀態(tài)無法正確讀出,造成誤操作。為了保證CPU對按鍵的

62、一次閉合僅在按鍵穩(wěn)定時(shí)作一次鍵輸入處理,必須消除產(chǎn)生的(前沿)后沿的抖動(dòng)影響,在本次設(shè)計(jì)中我們采用獨(dú)立式鍵盤接口電路的方式來消除按鍵抖動(dòng)的現(xiàn)象。</p><p>  2. 獨(dú)立式鍵盤的接口電路</p><p>  獨(dú)立式鍵盤的接口電路:在單片機(jī)應(yīng)用系統(tǒng)中,有時(shí)只需要幾個(gè)簡單的按鍵向系統(tǒng)輸入信息。這時(shí),可將每個(gè)按鍵直接接在一根I/O接口線上,這種連接方式的鍵盤稱為獨(dú)立式鍵盤。每個(gè)獨(dú)立按鍵單獨(dú)

63、占有一根I/O接口線,每根I/O接口線的工作狀態(tài)不會影響到其他I/O接口線。這種按鍵接口電路配置靈活,硬件結(jié)構(gòu)簡單,但每個(gè)按鍵必須占用一根I/O線,I/O接口線浪費(fèi)較大。在此電路中,按鍵輸入都采用低電平有效。上拉電阻保證了按鍵斷開時(shí),I/O接口線有確定的高電平。當(dāng)I/O接口內(nèi)部有上拉電阻時(shí),外電路可以不配置上拉電阻。如圖2.4所示: </p><p>  圖3-2 獨(dú)立式鍵盤接口電路</p>

64、<p>  第二節(jié) 復(fù)位電路的方式</p><p>  1.單片機(jī)在開機(jī)時(shí)或者在工作中因干擾而使程序失控,或工作中程序處于某死循環(huán)狀態(tài),在這些情況下都需要復(fù)位,復(fù)位的作用是使中央處理器CPU以及其他功能部件都需要恢復(fù)到一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)重新開始工作。</p><p>  2.89S51單片機(jī)的復(fù)位靠外部的電路實(shí)現(xiàn),信號由REST引腳輸入,高電平有效,在振蕩器工作

65、時(shí),主要保持REST引腳高電平兩個(gè)機(jī)器周期,單片機(jī)即復(fù)位,復(fù)位后,PC程序計(jì)數(shù)器的內(nèi)容為0000H。</p><p>  3.智能系統(tǒng)一般應(yīng)有手動(dòng)或上電復(fù)位電路。復(fù)位電路可以采用簡單的電阻,電容及按鍵開關(guān)構(gòu)成上電自動(dòng)復(fù)位電路入圖2.5所示,而手動(dòng)復(fù)位電路如圖2.6所示,也可以選擇專用的復(fù)位芯片。復(fù)位電路的實(shí)現(xiàn)通常有兩種方式:即專用µP監(jiān)控電路和RC 復(fù)位電路。前者成本較高,但復(fù)位可靠性高,尤其是高可靠重

66、復(fù)復(fù)位;后者電路實(shí)現(xiàn)簡單,成本低,但復(fù)位可靠性相對較低。對于復(fù)位要求高、并對電源電壓進(jìn)行監(jiān)視的場合,大多采用前者復(fù)位電路。</p><p>  圖3-3 上電自動(dòng)復(fù)位電路</p><p>  圖3-4 手動(dòng)復(fù)位電路</p><p>  (1)專用監(jiān)控µP電路</p><p>  專用µP監(jiān)控電路又稱為電源監(jiān)視電路,具有

67、上電時(shí)可以產(chǎn)生復(fù)位信號和電源電壓跌落到“門檻值”時(shí)可以產(chǎn)生復(fù)位信號等功能。按有效電平分,有高電平輸出、低電平輸出兩種;按功能分,有簡單的電源監(jiān)視復(fù)位電路、帶“看門狗”定時(shí)器(WATCH DOG TIMER,WDT)的監(jiān)控電路和WDT + E2PROM的監(jiān)控電路等多種類型。比較常見的生產(chǎn)廠家有MAXIM、Philips、IMP 及DALLS 等,51系列微處理器中常用的型號有MAX8l3L、MAX8O9、X25043/5等。</p&

68、gt;<p><b> ?。?)RC復(fù)位電路</b></p><p>  本次設(shè)計(jì)采用的是RC復(fù)位方式。RC復(fù)位電路的實(shí)質(zhì)是一階充放電電路,結(jié)合圖2.7說明這種復(fù)位電路的特點(diǎn)。系統(tǒng)上電時(shí)該電路提供有效的復(fù)位信號RST(高電平)直至系統(tǒng)電源穩(wěn)定后撤銷復(fù)位信號(低電平)。從理論上說,51系列單片機(jī)復(fù)位引腳只要外加兩個(gè)機(jī)器周期的有效信號即可復(fù)位,即只要保證t=RC >2M(機(jī)器

69、周期)便可。但在實(shí)際設(shè)計(jì)中,通常C1取值為10µF以上, Rl 通常取值10kΩ左右。實(shí)踐發(fā)現(xiàn),Rl如果取值太小,例如lkΩ,則會導(dǎo)致RST信號驅(qū)動(dòng)能力變差而無法使系統(tǒng)可靠復(fù)位。</p><p>  圖3-5 RC復(fù)位電路</p><p><b>  中斷系統(tǒng)的介紹</b></p><p>  中斷技術(shù)是計(jì)算機(jī)中在實(shí)時(shí)處理和實(shí)時(shí)控制

70、中不可缺少的一個(gè)很重要的技術(shù)。它既和硬件有關(guān),也和軟件有關(guān)。而且中斷是現(xiàn)代計(jì)算機(jī)必須具備的重要功能,也是計(jì)算機(jī)發(fā)展史上的一個(gè)里程碑。</p><p><b>  1.中斷的概念</b></p><p>  當(dāng)計(jì)算機(jī)執(zhí)行正常程序時(shí),系統(tǒng)中出現(xiàn)了某種急需處理的異常情況和特殊請求,這時(shí)CPU暫時(shí)終止當(dāng)時(shí)正在執(zhí)行的程序,轉(zhuǎn)而去對隨機(jī)發(fā)生的緊迫事件進(jìn)行處理(執(zhí)行中斷服務(wù)程序),

71、待該事件處理完畢,CPU自動(dòng)的返回到原來被中斷的程序繼續(xù)執(zhí)行,這個(gè)過程稱為“中斷”。</p><p><b>  2.中斷的作用</b></p><p>  (1)實(shí)現(xiàn)同步工作:計(jì)算機(jī)有了中斷功能后,就解決了快速CPU與低速外設(shè)之間的矛盾,可以使CPU和外設(shè)同時(shí)工作。CPU啟動(dòng)外設(shè)后,繼續(xù)執(zhí)行主程序,同時(shí)外設(shè)也在工作。當(dāng)外設(shè)把數(shù)據(jù)準(zhǔn)備好后,就發(fā)出中斷請求,請求CPU中

72、斷正在執(zhí)行的程序,轉(zhuǎn)而執(zhí)行中斷服務(wù)程序(I/O處理),中斷服務(wù)程序執(zhí)行完后,CPU恢復(fù)執(zhí)行主程序,外設(shè)也繼續(xù)工作。這樣,CPU可以指揮多個(gè)外設(shè)同時(shí)工作,從而大大提高了CPU的效率。</p><p> ?。?)實(shí)現(xiàn)實(shí)時(shí)處理:在實(shí)時(shí)控制系統(tǒng)中,為使控制系統(tǒng)能保持在最佳的工作狀態(tài),被控系統(tǒng)的各種控制參量可隨時(shí)向計(jì)算機(jī)發(fā)出中斷請求,要求CPU處理。對此,CPU必須作出快速響應(yīng)和及時(shí)處理,這種實(shí)時(shí)控制功能只有靠中斷技術(shù)才能

73、實(shí)現(xiàn)。</p><p> ?。?)實(shí)現(xiàn)故障處理:若計(jì)算機(jī)在運(yùn)行過程中出現(xiàn)了事先預(yù)料不到的情況或故障時(shí),如電源掉電、存儲出錯(cuò)、傳輸錯(cuò)誤等,可以利用中斷系統(tǒng)自行處理,而不必停機(jī)。</p><p><b>  3.中斷系統(tǒng)的功能</b></p><p> ?。?)進(jìn)行中斷優(yōu)先權(quán)的排隊(duì)(2)實(shí)現(xiàn)中斷嵌套(3)自動(dòng)響應(yīng)中斷并返回</p>&

74、lt;p>  4.89S51的中斷請求源</p><p>  89S51有5個(gè)中斷源,它們是2個(gè)外部中斷、2個(gè)定時(shí)器中斷和一個(gè)串行接口中斷。它們分別是外部中斷0、定時(shí)/計(jì)數(shù)器0、外部中斷1、定時(shí)/計(jì)數(shù)器1和串行接口中斷。它們的中斷向量表如下表2.2所示:</p><p><b>  中斷向量表2-2</b></p><p><b&g

75、t;  第四章 系統(tǒng)調(diào)試</b></p><p>  完成了硬件的設(shè)計(jì)、制作和軟件編程之后,要使系統(tǒng)能夠按設(shè)計(jì)思路正常運(yùn)行,必須進(jìn)行系統(tǒng)調(diào)試。系統(tǒng)調(diào)試包括硬件調(diào)試和軟件調(diào)試兩個(gè)部分。不過,作為一個(gè)單片機(jī)系統(tǒng),正常運(yùn)行是硬件系統(tǒng)和軟件系統(tǒng)相結(jié)合的,因此,硬件、軟件系統(tǒng)的調(diào)試是緊密相關(guān),二者是相輔相成的。</p><p>  程序的調(diào)試應(yīng)一個(gè)模塊一個(gè)模塊地進(jìn)行,單獨(dú)調(diào)試各功能子程序

76、,檢驗(yàn)程序是否能夠?qū)崿F(xiàn)預(yù)期的功能,接口電路的連接是否正常等;最后逐步將各個(gè)子程序連接起來進(jìn)行統(tǒng)一的調(diào)試。統(tǒng)一的調(diào)試需要注意的是,各程序模塊間能否正確傳送數(shù)據(jù),特別要注意各子程序的現(xiàn)場保護(hù)與恢復(fù)。</p><p>  在調(diào)試過程中出現(xiàn)的問題:</p><p>  (1)七段數(shù)碼管全部顯示的是888888,經(jīng)分析原因在試驗(yàn)箱的P0、P2口接線有誤,顯示數(shù)據(jù)無法正常的送到段碼口和位碼口,經(jīng)調(diào)整以

77、后,該顯示正常。</p><p> ?。?)數(shù)碼管從09-05-01開始運(yùn)行,當(dāng)顯示到09-05-09時(shí)又重新從09-05-01開始顯示,依次周而循環(huán)顯示,而不進(jìn)位顯示10,經(jīng)過對整個(gè)程序的分析也沒能夠找到錯(cuò)誤之處,后經(jīng)指導(dǎo)老師的講解分析最后發(fā)現(xiàn)是程序設(shè)計(jì)的錯(cuò)誤,在程序的顯示日期的日期運(yùn)行到09到時(shí),必須先判斷個(gè)位是否為10,如果個(gè)位是10,則應(yīng)使其日期的個(gè)位清0,十位加1,即顯示為10;如果個(gè)位沒有運(yùn)行到10時(shí)

78、,就應(yīng)繼續(xù)顯示數(shù)值,直到顯示到10時(shí),進(jìn)而進(jìn)行進(jìn)位,顯示日期為10,依次類推,當(dāng)顯示到31時(shí),就向月進(jìn)位,即顯示為06月,當(dāng)月份顯示到12時(shí),從而向年進(jìn)位,即顯示09年,同時(shí)月、日共同顯示為01-01,即為09-01-01,經(jīng)過修改更正,顯示正常。</p><p>  (3)數(shù)碼管顯示為09-05-08以后,顯示的日期為亂碼,不是09,進(jìn)而進(jìn)行程序分析,經(jīng)過指導(dǎo)老師的耐心講解、分析和在同學(xué)們的幫助下,最后確定為程

79、序中的查表程序有誤,進(jìn)而進(jìn)行修改,顯示正常。</p><p><b>  結(jié)束語</b></p><p>  至此,關(guān)于畢業(yè)設(shè)計(jì)的所有內(nèi)容就介紹完了,進(jìn)行這次畢業(yè)設(shè)計(jì)一切都是從零開始,從最簡單查資料、了解各個(gè)元件的功能起步,再確定設(shè)計(jì)方案、畫流程圖、編寫程序到最后進(jìn)行仿真,這次課題設(shè)計(jì)可以說成功完成。系統(tǒng)的硬件、軟件設(shè)計(jì)合理,功能完備,運(yùn)行穩(wěn)定、可靠。</p&g

80、t;<p>  在整個(gè)設(shè)計(jì)過程中,學(xué)到了許多扎實(shí)的知識。通過設(shè)計(jì)提高了對單片機(jī)的認(rèn)識,進(jìn)一步熟悉和掌握單片機(jī)的結(jié)構(gòu)及工作原理。通過實(shí)際程序設(shè)計(jì)和調(diào)試,逐步掌握模塊化程序設(shè)計(jì)方法和調(diào)試技術(shù),提高軟件設(shè)計(jì)、調(diào)試能力;通過這次設(shè)計(jì)熟悉以單片機(jī)核心的應(yīng)用系統(tǒng)開發(fā)的全過程,掌握硬件電路設(shè)計(jì)的基本方法和技術(shù),掌握相關(guān)電路參數(shù)的計(jì)算方法。最終較好的完成了設(shè)計(jì),達(dá)到了預(yù)期的目的,完成最初的設(shè)想。</p><p> 

81、 通過此項(xiàng)設(shè)計(jì)設(shè)計(jì),本系統(tǒng)能完成以下功能</p><p>  (1)顯示公歷日期功能(年、月、日、時(shí)、分、秒以及星期)</p><p> ?。?)可通過按鍵切換年、月、日及時(shí)、分、秒的顯示狀態(tài)</p><p> ?。?)可隨時(shí)調(diào)校年、月、日或時(shí)、分、星期</p><p> ?。?)可每次增減一進(jìn)行時(shí)間調(diào)節(jié)</p><p&g

82、t; ?。?)可動(dòng)態(tài)完整顯示年份 </p><p>  本次設(shè)計(jì)的電子萬年歷也存在的不足的地方,有待于以后的改進(jìn)。</p><p><b>  謝 辭</b></p><p>  2012年3月,我開始了我的畢業(yè)論文工作,時(shí)至今日,論文基本完成。從最初的茫然,到慢慢的進(jìn)入狀態(tài),再到對思路逐漸的清晰,整個(gè)寫作過程難以用語言來表達(dá)。歷經(jīng)了一個(gè)多

83、月的奮戰(zhàn),緊張而又充實(shí)的畢業(yè)設(shè)計(jì)終于落下了帷幕?;叵脒@段日子的經(jīng)歷和感受,我感慨萬千,在這次畢業(yè)設(shè)計(jì)的過程中,我擁有了無數(shù)難忘的回憶和收獲。在與畢業(yè)設(shè)計(jì)指導(dǎo)老師的交流討論中我的題目定了下來,是:基于51單片機(jī)的電子日歷設(shè)計(jì)。當(dāng)選題報(bào)告,開題報(bào)告定下來的時(shí)候,我當(dāng)時(shí)便立刻著手資料的收集工作中,當(dāng)時(shí)面對浩瀚的書海真是有些茫然,不知如何下手。在導(dǎo)師細(xì)心的指導(dǎo)下,終于使我對自己的工作方向和方法有了掌握。</p><p>

84、  此次課程設(shè)計(jì)中我學(xué)到了很多很多重要的東西,它使我的能力得到了全方位的提高,對于專業(yè)技能有了更深刻的了解。</p><p>  感謝我的導(dǎo)師給了我莫大的幫助,在他悉心的指導(dǎo)和嚴(yán)格的要求下,我的畢業(yè)論文順利完成了。</p><p>  論文從選題到最終的完成,凝結(jié)著導(dǎo)師辛勤的汗水,他不辭勞苦的教導(dǎo)、嚴(yán)謹(jǐn)?shù)淖黠L(fēng)使我終生受益。在此畢業(yè)設(shè)計(jì)完成之際,謹(jǐn)向?qū)熀退袔椭^我的老師致以崇高的敬意和衷

85、心的感謝。</p><p>  還有感謝家人、朋友還有宿舍里所有的室友,是他們給我創(chuàng)造了良好的學(xué)習(xí)氛圍,在學(xué)習(xí)和生活中給了我支持和幫助。在以后的學(xué)習(xí)生活中我會時(shí)時(shí)敦促自己更加努力,不辜負(fù)師長、親人、朋友對我的期望。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 李朝青.《單片機(jī)原理及其接口技術(shù)》.北京.北京航空大學(xué)出

86、版社,1998</p><p>  [2] 張毅剛.彭喜元.孟升衛(wèi).劉兆慶編著.《MCS-51單片機(jī)使用子程序設(shè)計(jì)》.哈爾濱.哈爾濱工業(yè)大學(xué)出版社,2003</p><p>  [3] 肖玲妮.袁增貴.《Protel99SE印刷電路板設(shè)計(jì)教程》.北京.清華大學(xué)出版社,2003</p><p>  [4] 公茂法.《單片機(jī)人機(jī)接口實(shí)力集》.北京.北京航空大學(xué)出版社,1

87、998</p><p>  [5] 先鋒工作室.《單片機(jī)程序設(shè)計(jì)實(shí)例》.北京.清華大學(xué)出版社,2002</p><p>  [6] 陳明熒.《8051單片機(jī)課程設(shè)計(jì)實(shí)訓(xùn)教材》.北京.清華大學(xué)出版社,2003</p><p>  [7] 胡漢才.《單片機(jī)原理及其接口技術(shù)》.北京.清華大學(xué)出版社,1996</p><p><b>  附

88、錄1(原理圖)</b></p><p>  圖1 主程序流程圖 圖2 顯示程序流程圖 </p><p>  圖3 中斷2程序流程圖</p><p>  圖4 中斷1程序流程圖 圖5 外部按鍵程序流程圖</p><p>  附錄2(

89、電子萬年歷程序)</p><p><b>  ORG 0000H</b></p><p><b>  LJMP MAIN</b></p><p>  ORG 000BH ;定時(shí)器T1入口地址</p><p>  LJMP CTCO1</

90、p><p>  ORG 001BH ;定時(shí)器T2入口地址</p><p>  LJMP CTCO2</p><p><b>  ORG 0030H</b></p><p>  MAIN:MOV 30H,#01H</p><p>  MOV 31

91、H,#00H</p><p>  MOV 32H,#05H</p><p>  MOV 33H,#00H</p><p>  MOV 34H,#07H</p><p>  MOV 35H,#00H ;顯示初始化</p><p>  MOV 40H,#05H</p

92、><p>  MOV 41H,#01H</p><p>  MOV 42H,#03H</p><p>  MOV 43H,#00H</p><p>  MOV 44H,#07H</p><p>  MOV 45H,#00H ;顯示初始化</p><p&

93、gt;  MOV R3,#10</p><p>  MOV R4,#10</p><p>  MOV TMOD,#11H</p><p>  MOV TH0,#3CH</p><p>  MOV TL0,#0B0H</p><p>  MOV TH1,#3CH</p><p>  MOV TL1

94、,#0B0H</p><p><b>  SETB EA</b></p><p><b>  SETB ET0</b></p><p><b>  SETB TR0</b></p><p><b>  SETB ET1</b></p><

95、;p><b>  SETB TR1</b></p><p>  NEXT:JB P1.0,MMM ;判P1.0是否等于1?</p><p>  LCALL DISPLAY1 ;調(diào)陽歷顯示程序</p><p>  MMM:LACLL DEAL

96、Y ;調(diào)用延時(shí)程序</p><p>  LCALL DISPLAY2 ;調(diào)陰歷顯示程序</p><p>  JB P1.1,WWW ;判位P1.1是否等于1?</p><p>  SJMP NEXT

97、 ;中斷返回</p><p>  WWW:CLR EA ;暫停</p><p>  JB P1.2,QQQ ;判P1.2是否等于1?</p><p>  CLR EA

98、 ;暫停</p><p>  QQQ:SETB EA ;開啟定時(shí)</p><p><b>  SJMP NEXT</b></p><p>  CTCO1:PUSH ACC ;開啟中斷1</p&g

99、t;<p><b>  PUSH PSW</b></p><p>  DJNZ R3,BACK1 ;減1不為0轉(zhuǎn)移</p><p>  MOV R3,#10H</p><p><b>  INC 30H</b></p><p>&l

100、t;b>  MOV A,31H</b></p><p>  CJNE A,#03H,LOOP9 ;判斷十位是否等于3?</p><p><b>  MOV A,30H</b></p><p>  CJNE A,#02H,BACK1 ;判

101、斷個(gè)位是否等于01?</p><p>  MOV 30H,#01H</p><p>  MOV 31H,#00H</p><p>  SJMP BACK1</p><p>  LOOP9:MOV A,30H</p><p>  CJNE A,#0AH,BACK1 ;

102、判斷個(gè)位是否等于10?</p><p>  INC 31H ;十位加1</p><p><b>  MOV A,31H</b></p><p>  MOV 30H,#00H ;個(gè)位清0</p>

103、<p>  SJMP BACK1</p><p>  BACK1:MOV TH0,#3CH</p><p>  MOV TL0,#0B0H ;重裝初值,恢復(fù)現(xiàn)場</p><p><b>  POP PSW</b></p><p><b> 

104、 POP ACC</b></p><p>  RETI ;中斷返回</p><p>  CTCO2:PUSH ACC ;開啟中斷2</p><p><b>  PUSH PSW</b></

105、p><p>  DJNZ R4,BACK2</p><p>  MOV R4,#10</p><p><b>  INC 40H</b></p><p><b>  MOV A,42H</b></p><p>  CJNE A,#04H,LOOP1

106、 ;判斷百位是否等于4?</p><p><b>  MOV A,41H</b></p><p>  CJNE A,#02H,LOOP3 ;判斷十位是否等于1?</p><p><b>  MOV A,40H</b></p><

107、p>  CJNE A,#07H,BACK2 ;判斷個(gè)位是否等于6?</p><p>  MOV 40H,#05H</p><p>  MOV 41H,#01H</p><p>  MOV 42H,#03H</p><p>  SJMP BACK2</p><p&g

108、t;  LOOP1:MOV A,41H</p><p>  CJNE A,#03H,LOOP3 ;判斷十位是否等于3?</p><p><b>  MOV A,40H</b></p><p>  CJNE A,#02H,BACK2 ;判

109、斷個(gè)位是否等于1?</p><p>  INC 42H ;百位置1</p><p>  MOV 41H,#00H ;十位清0</p><p>  MOV 40H,#01H

110、 ;個(gè)位置1</p><p>  SJMP BACK2</p><p>  LOOP2:MOV A,40H</p><p>  CJNE A,#0AH,BACK2 ;判斷個(gè)位是否等于10?</p><p>  INC 41H

111、 ;十位加1</p><p>  MOV 40H,#00H ;個(gè)位清0</p><p>  SJMP LOOP1</p><p>  LOOP3:MOV A,40H</p><p>  CJNE A,#0AH,BACK2

112、 ;判斷個(gè)位是否等于10?</p><p>  INC 41H ;十位加1</p><p>  MOV 40H,#00H ;個(gè)位清0</p><p>  SJMP BACK2</p>&

113、lt;p>  BACK2:MOV TH1,#3CH</p><p>  MOV TL1,#0B0H ;重裝初值</p><p><b>  POP PSW</b></p><p><b>  POP ACC</b></p><p&g

114、t;  RETI ;子程序返回</p><p>  DISPLAY1:MOV R0,#30H ;陽歷顯示程序</p><p>  MOV R2,#01H</p><p>  MOV DPTR ,#TAB</p><

溫馨提示

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

最新文檔

評論

0/150

提交評論