版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目錄</b></p><p><b> 一 概述1</b></p><p> 1.1 數(shù)字鐘簡(jiǎn)介1</p><p> 1.2 數(shù)字鐘的發(fā)展前景2</p><p> 1.3 51 單片機(jī)3</p><p>
2、1.4 匯編語(yǔ)言3</p><p> 二 課題設(shè)計(jì)功能要求及總體方案4</p><p> 2.1 功能要求4</p><p> 2.2 設(shè)計(jì)總體方案介紹4</p><p> 三 數(shù)字電子鐘硬件系統(tǒng)的設(shè)計(jì)6</p><p><b> 3.1芯片介紹6</b>&
3、lt;/p><p> 3.2 硬件系統(tǒng)各模塊功能簡(jiǎn)要介紹10</p><p> 3.3 數(shù)字鐘原理圖11</p><p> 四 數(shù)字電子鐘軟件系統(tǒng)的設(shè)計(jì)12</p><p> 4.1 數(shù)字電子鐘使用單片機(jī)資源情況12</p><p> 4.2 數(shù)字電子鐘軟件系統(tǒng)各模塊功能簡(jiǎn)要介紹12<
4、/p><p> 4.3 數(shù)字鐘軟件系統(tǒng)程序流程框圖13</p><p> 4.3.1 主程序流程框圖13</p><p> 4.3.2 鍵掃描子程序流程框圖14</p><p> 4.3.3 顯示子程序流程框圖15</p><p> 4.3.4 加1子程序流程圖16</p>&l
5、t;p> 4.3.5 中斷服務(wù)子程序流程圖16</p><p> 五 仿真與誤差分析18</p><p> 5.1 數(shù)字電子鐘的設(shè)計(jì)結(jié)論及使用說(shuō)明18</p><p> 5.2 設(shè)計(jì)課題的仿真結(jié)果18</p><p> 5.3 設(shè)計(jì)課題的誤差分析20</p><p><b&g
6、t; 心得21</b></p><p><b> 參考文獻(xiàn)22</b></p><p><b> 致 謝23</b></p><p><b> 附 錄24</b></p><p><b> 1硬件原理圖24</b><
7、;/p><p><b> 2仿真電路圖25</b></p><p> 3數(shù)字電子鐘程序清單26</p><p> 摘要:數(shù)字鐘廣泛應(yīng)用于生活生產(chǎn)中,對(duì)其深入了解很有必要,在此用單片機(jī)設(shè)計(jì)了一個(gè)簡(jiǎn)單的數(shù)字電子鐘。</p><p> 本設(shè)計(jì)為基于AT89S52單片機(jī),輔以必要的外圍電路,用自制單片機(jī)實(shí)驗(yàn)板設(shè)計(jì)了一個(gè)簡(jiǎn)
8、單的數(shù)字電子時(shí)鐘。在硬件方面,除了單片機(jī)外,用數(shù)碼管來(lái)進(jìn)行顯示,LED采用動(dòng)態(tài)掃描顯示。通過(guò)LED能夠比較準(zhǔn)確顯示時(shí)、分、秒,三個(gè)簡(jiǎn)單的按鍵實(shí)現(xiàn)對(duì)時(shí)間的調(diào)整。軟件方面采用A51匯編語(yǔ)言編程。整個(gè)電子鐘系統(tǒng)能完成時(shí)間的顯示,調(diào)時(shí),調(diào)分,調(diào)秒,復(fù)位功能。本次設(shè)計(jì)的電子鐘帶采用獨(dú)立式鍵盤(pán),用共陽(yáng)數(shù)碼管顯示,因?yàn)長(zhǎng)ED亮度較高,顯示醒目所以此電子鐘在部分場(chǎng)所推廣很大。</p><p> 關(guān)鍵詞 數(shù)字電子鐘;AT89S
9、52;匯編語(yǔ)言</p><p> ABSTRACT: Widely used in digital electronic clock production life, its understanding is necessary, in this single chip design with a simple digital electronic clock.</p><p> A
10、T89S52 microcontroller based on the design, combined with the necessary peripheral circuits, a simple digital electronic clock. On the hardware side, in addition to SCM, the use of digital control for display, LED displ
11、ay using dynamic scanning. Can accurately through the LED display hours, minutes, seconds, three simple buttons to adjust the time to achieve. Software exchange with A51。The completion time clock system can display, tran
12、sfer, the transfer points, transfer seconds, reset. The des</p><p> Key words digital electronic clock; AT89S52; assembly language</p><p><b> 一 概述</b></p><p> 1.1
13、 數(shù)字鐘簡(jiǎn)介</p><p> 1350年6月6日意大利人喬萬(wàn)尼·德·黨笛制造了世界上第一臺(tái)結(jié)構(gòu)簡(jiǎn)單的機(jī)械打點(diǎn)多功能數(shù)字鐘,由于數(shù)字鐘報(bào)價(jià)便宜,功能齊全,因此很快受到眾多用戶的喜愛(ài)。1657年,荷蘭人惠更斯率先把重力擺引入機(jī)械鐘,進(jìn)而才創(chuàng)立了擺鐘?! 〉搅?0世紀(jì)以后,隨著電子工業(yè)的快速發(fā)展,電池驅(qū)動(dòng)鐘、交流電鐘、電機(jī)械表、指針式石英電子鐘表以及數(shù)字顯示式石英鐘表相繼問(wèn)世,數(shù)字鐘報(bào)價(jià)非常
14、合理,再加上產(chǎn)品的不斷改良,多功能數(shù)字鐘的日差已經(jīng)小于0.5秒,因此受到廣大用戶的青睞。尤其是原子鐘的出現(xiàn),它是使用原子的振動(dòng)來(lái)控制計(jì)時(shí)的,是目前世界上最精準(zhǔn)的時(shí)鐘,即使經(jīng)過(guò)將近100萬(wàn)年,其偏差也不可能超過(guò)1秒鐘。 多功能數(shù)字鐘最早是在歐洲中世紀(jì)的教堂,屬于完全機(jī)械式結(jié)構(gòu),動(dòng)力使用重錘,打點(diǎn)鐘聲完全使用人工進(jìn)行撞擊鑄鐘,所以當(dāng)時(shí)一個(gè)多功能數(shù)字鐘工程在建筑與機(jī)械結(jié)構(gòu)方面是非常復(fù)雜的,進(jìn)而影響了數(shù)字鐘報(bào)價(jià)。進(jìn)入電子時(shí)代以后,電子多功能
15、數(shù)字鐘也相繼問(wèn)世。我國(guó)電子多功能數(shù)字鐘行業(yè)從80年代開(kāi)始漸漸成長(zhǎng)壯大,目前不僅數(shù)字鐘報(bào)價(jià)合理,在技術(shù)和應(yīng)用水平上也已經(jīng)達(dá)到世界同類(lèi)水平。</p><p> 電子數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的鐘表。與機(jī)械鐘相比具有更高的準(zhǔn)確性和直觀性,具有更長(zhǎng)的使用壽命,已得到廣泛的使用。數(shù)字鐘的設(shè)計(jì)方法有許多種,例如可用中小規(guī)模集成電路組成電子鐘,也可以利用專(zhuān)用的電子鐘芯片配以顯示電路及其所需要的外圍電路組成電
16、子鐘,還可以利用單片機(jī)來(lái)實(shí)現(xiàn)電子鐘等等。這些方法都各有其特點(diǎn),其中利用單片機(jī)實(shí)現(xiàn)的電子鐘具有編程靈活,以便于功能的擴(kuò)展。數(shù)字鐘已成為人們?nèi)粘I钪胁豢苫蛉钡纳畋仨毱?,廣泛地應(yīng)用于人家庭以及車(chē)站、碼頭、劇場(chǎng)、辦公室等家庭和公共場(chǎng)所,給人們的生活,學(xué)習(xí),工作,娛樂(lè)帶來(lái)極大的方便。</p><p> 數(shù)字鐘一般由振蕩器,譯碼器,單片機(jī),顯示器等部分組成,當(dāng)前市場(chǎng)上已有現(xiàn)成數(shù)字鐘集成芯片出售,價(jià)格較便宜。由于數(shù)字集成
17、電路的發(fā)展,采用了先進(jìn)穩(wěn)定的石英震蕩技術(shù),使數(shù)字鐘具有走時(shí)準(zhǔn)確,性能穩(wěn)定,攜帶方便等特點(diǎn),是目前人們生活和工作不可或缺的報(bào)時(shí)用品。</p><p> 1.2 數(shù)字鐘的發(fā)展前景</p><p> 現(xiàn)在是一個(gè)知識(shí)爆炸的新時(shí)代。新產(chǎn)品、新技術(shù)層出不窮,電子技術(shù)的發(fā)展更是日新月異。可以毫不夸張的說(shuō),電子技術(shù)的應(yīng)用無(wú)處不在,電子技術(shù)正在不斷地改變我們的生活,改變著我們的世界。在這快速發(fā)展
18、的年代,時(shí)間對(duì)于人們來(lái)說(shuō)越來(lái)越寶貴,在快節(jié)奏的生活時(shí),人們往往忘記了時(shí)間,一旦遇到重要的事情而忘記了時(shí)間,這將會(huì)帶來(lái)很大的損失。一次我們需要一個(gè)定時(shí)系統(tǒng)來(lái)提醒這些忙碌的人。數(shù)字化的鐘表給人們帶來(lái)了極大的方便。</p><p> 近年來(lái),隨著科技的發(fā)展和社會(huì)的進(jìn)步,人們對(duì)數(shù)字鐘的要求也越來(lái)越高,傳統(tǒng)的時(shí)鐘已不能滿足人們的需求。多功能數(shù)字鐘不管在性能上還是樣式上都發(fā)生改變,有電子鬧鐘,數(shù)字鬧鐘等等。單片機(jī)在多功能數(shù)
19、字鐘中的應(yīng)用已是非常普遍的,人們對(duì)數(shù)字鐘的功能及工作順序都非常熟悉。但是去很少知道它的內(nèi)部結(jié)構(gòu)以及工作原理。由單片機(jī)作為數(shù)字鐘的核心控制器,可以通過(guò)它的時(shí)鐘信號(hào)進(jìn)行計(jì)時(shí)實(shí)現(xiàn)計(jì)時(shí)功能,將其時(shí)間數(shù)據(jù)經(jīng)單片機(jī)輸出,利用顯示器顯示出來(lái)。通過(guò)鍵盤(pán)可以進(jìn)行定時(shí),校時(shí)功能。輸出設(shè)備可以用液晶顯示技術(shù)和數(shù)碼管顯示技術(shù)。</p><p> 單片機(jī)芯片作為控制系統(tǒng)的核心部件,它除了具備微機(jī)CPU的數(shù)值計(jì)算功能外,還具有靈活強(qiáng)大的控
20、制功能,以便實(shí)時(shí)檢測(cè)系統(tǒng)的輸入量、系統(tǒng)的輸出量,實(shí)現(xiàn)自動(dòng)控制。在本次設(shè)計(jì)中采用單片機(jī)技術(shù)來(lái)實(shí)現(xiàn)數(shù)字鐘的功能。方案的設(shè)計(jì)可以從以下幾個(gè)方面來(lái)確定。微處理器的選擇,AT89S51、52是2003年ATMEL推出的新型品種,除了完全兼容8051外,還多了ISP編程和看門(mén)狗功能。但是AT89S52的存儲(chǔ)器容量比AT89S51的大。在本次設(shè)計(jì)中采用AT89S52單片機(jī);顯示電路的設(shè)計(jì),隨著科技的發(fā)展,液晶顯示的使用越來(lái)越方便,已被普遍的使用。由于
21、液晶顯示與驅(qū)動(dòng)都集成在一個(gè)芯片上,因此使用起來(lái)很方便。在這里采用液晶顯示;校時(shí)和定時(shí)電路的設(shè)計(jì);實(shí)時(shí)控制電路是時(shí)鐘電路的一個(gè)重要組成部分,采用的是一個(gè)時(shí)鐘芯片,單片機(jī)從中讀取數(shù)據(jù)送到顯示器上顯示,從而實(shí)現(xiàn)數(shù)字鐘的功能;還有一些其他控制電路如復(fù)位電路、時(shí)鐘電路等。</p><p> 1.3 51 單片機(jī)</p><p> 單片機(jī)又稱(chēng)單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是
22、把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。作為嵌入式系統(tǒng)控制核心的單片機(jī)具有其體積小、功能全、性價(jià)比高等諸多優(yōu)點(diǎn)。51 系列單片機(jī)是國(guó)內(nèi)目前應(yīng)用最廣泛的單片機(jī)之一,隨著嵌入式系統(tǒng)、片上系統(tǒng)等概念的提出和普遍接受及應(yīng)用,51 系列單片機(jī)的發(fā)展又進(jìn)入了一個(gè)新的階段。在今后很長(zhǎng)一段時(shí)間內(nèi)51 系列單片機(jī)仍將占據(jù)嵌入式系統(tǒng)產(chǎn)品的中低端市場(chǎng)。</p><p> 1.4 匯編語(yǔ)言</p><p>
23、匯編語(yǔ)言是一種面向機(jī)器的計(jì)算機(jī)低級(jí)編程語(yǔ)言,通常是為特定的計(jì)算機(jī)或系列計(jì)算機(jī)專(zhuān)門(mén)設(shè)計(jì)的。匯編語(yǔ)言保持了機(jī)器語(yǔ)言的優(yōu)點(diǎn),具有直接和簡(jiǎn)捷的特點(diǎn),其代碼具有效率高實(shí)時(shí)性強(qiáng)等優(yōu)點(diǎn)。但是對(duì)于復(fù)雜的運(yùn)算或大型程序,用匯編語(yǔ)言編寫(xiě)將非常耗時(shí)。匯編語(yǔ)言可以與高級(jí)語(yǔ)言配合使用,應(yīng)用十分廣泛。</p><p> 二 課題設(shè)計(jì)功能要求及總體方案</p><p> 2.1 功能要求</p>
24、<p> 設(shè)計(jì)的數(shù)字電子鐘上電或按鍵復(fù)位后能無(wú)顯示, 進(jìn)入時(shí)鐘準(zhǔn)備狀態(tài);第一次按數(shù)字電子鐘啟動(dòng)/調(diào)整鍵,數(shù)字電子鐘從0時(shí)0分0秒開(kāi)始運(yùn)行,進(jìn)入時(shí)鐘運(yùn)行狀態(tài);再次按數(shù)字電子鐘啟動(dòng)/調(diào)整鍵,則數(shù)字電子鐘進(jìn)入時(shí)鐘調(diào)整狀態(tài),并且時(shí)間停止不動(dòng),此時(shí)可分別利用各調(diào)整鍵調(diào)整時(shí)、分、秒,調(diào)整結(jié)束后可按啟動(dòng)/調(diào)整鍵再次進(jìn)入時(shí)鐘運(yùn)行狀態(tài)。</p><p> 2.2 設(shè)計(jì)總體方案介紹</p><p
25、> 本課程設(shè)計(jì)采用AT89S52單片機(jī)實(shí)驗(yàn)板設(shè)計(jì)一個(gè)數(shù)字電子鐘,通過(guò)8位LED數(shù)碼管顯示時(shí)、分、秒,并設(shè)有5個(gè)按鍵。其中一個(gè)用于單片機(jī)的復(fù)位;一個(gè)為啟動(dòng)/調(diào)整鍵;另外三個(gè)為時(shí)、分、秒調(diào)整鍵。</p><p> 電路分別為復(fù)位電路、鍵盤(pán)電路、晶振電路、驅(qū)動(dòng)電路和控制電路。復(fù)位電路采用按鍵復(fù)位方式。鍵盤(pán)電路采用獨(dú)立式鍵盤(pán)。時(shí)鐘電路用12MHz的晶振產(chǎn)生時(shí)鐘信號(hào)。顯示電路采用74ls245三極管驅(qū)動(dòng)8位LED
26、顯示??刂齐娐?lt;/p><p> 采用8位AT89S52單片機(jī)進(jìn)行控制。其設(shè)計(jì)框圖如圖1.1所示:</p><p><b> 計(jì)時(shí)方案</b></p><p> 設(shè)定定時(shí)器1負(fù)責(zé)計(jì)時(shí)初值TH0=ODCH,TL0=00H.設(shè)定中斷時(shí)間為</p><p> 根據(jù)公式: </p><
27、;p> T=(216-X)*1us……………………………… 2.2</p><p> 代入初值得T為50ms循環(huán)20次。當(dāng)計(jì)滿20次時(shí)說(shuō)明一秒時(shí)間到。此時(shí)秒位加1,判斷秒位是否達(dá)60秒不滿60秒則返回。滿60秒則秒位清0并分為加1,判斷分位是否滿60分,不滿60分則返回。滿60則分位清0,并時(shí)位加1,判斷時(shí)位是否為24小時(shí),不滿則返回。滿24小時(shí)則時(shí)位清0 。</p><p>&
28、lt;b> 鍵盤(pán)/顯示方案</b></p><p> AT89S52的P2口外接由8個(gè)LED數(shù)碼管構(gòu)成的顯示器,用P0口作LED的段碼輸入口,P2口作8個(gè)LED數(shù)碼管的位控輸出線,在內(nèi)部RAM鐘設(shè)置顯示緩沖區(qū)共8個(gè)單元,如表2.1所示。P1口外接4個(gè)按鍵。</p><p> 表2.1 單元格地址及顯示</p><p> 三 數(shù)字電子
29、鐘硬件系統(tǒng)的設(shè)計(jì)</p><p><b> 3.1芯片介紹</b></p><p> 1.AT89S52:</p><p> AT89S52 是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用Atmel 公司高密度非 易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完 全兼容。片上F
30、lash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于 常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng) 可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。 AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門(mén)狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口, 片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52 可降至
31、0Hz 靜態(tài)邏 輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工 作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié), 單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。</p><p><b> 圖3.1</b></p><p> P0 口:P0口是一個(gè)8位漏極開(kāi)路的雙向I/O口。作為輸出口,每位能驅(qū)
32、動(dòng)8個(gè)TTL邏 輯電平。對(duì)P0端口寫(xiě)“1”時(shí),引腳用作高阻抗輸入。 當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下, P0不具有內(nèi)部上拉電阻。 在flash編程時(shí),P0口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn) 時(shí),需要外部上拉電阻。</p><p> P1 口:P1 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動(dòng)4 個(gè) TTL 邏輯電平。
33、對(duì)P1 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入 口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。</p><p> 此外,P1.0和P1.1分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和定時(shí)器/計(jì)數(shù)器2 的觸發(fā)輸入(P1.1/T2EX)。 在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。</p><p><b>
34、 引腳號(hào)第二功能:</b></p><p> P1.0 T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入),時(shí)鐘輸出</p><p> P1.1 T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)和方向控制)</p><p> P1.5 MOSI(在系統(tǒng)編程用)</p><p> P1.6 MISO(在系統(tǒng)編程用)</p>
35、;<p> P1.7 SCK(在系統(tǒng)編程用)</p><p> P2 口:P2 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動(dòng)4 個(gè) TTL 邏輯電平。對(duì)P2 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入 口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 在訪問(wèn)外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX
36、@DPTR) 時(shí),P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用 8位地址(如MOVX @RI)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。 在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。</p><p> P3 口:P3 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p3 輸出緩沖器能驅(qū)動(dòng)4 個(gè) TTL 邏輯電平。對(duì)P3 端口寫(xiě)“1”時(shí),內(nèi)部上拉電
37、阻把端口拉高,此時(shí)可以作為輸入 口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。 在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。</p><p> 端口引腳 第二功能:</p><p> P3.0 RXD(串行輸入口)</p><p> P3.1 TXD(
38、串行輸出口)</p><p> P3.2 INTO(外中斷0)</p><p> P3.3 INT1(外中斷1)</p><p> P3.4 TO(定時(shí)/計(jì)數(shù)器0)</p><p> P3.5 T1(定時(shí)/計(jì)數(shù)器1)</p><p> P3.6 WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)</p><p&
39、gt; P3.7 RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)</p><p> 此外,P3口還接收一些用于FLASH閃存編程和程序校驗(yàn)的控制信號(hào)。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位。</p><p> ALE/PROG:當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8
40、位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。對(duì)FLASH存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE
41、禁止位無(wú)效。</p><p> PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89S52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次PSEN信號(hào)。</p><p> EA/VPP:外部訪問(wèn)允許,欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000H-FFFFH),EA端必須保持低電平(
42、接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器的指令。FLASH存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。</p><p> XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。</p><p> XTAL2:振蕩器反相放大器的輸出端。<
43、;/p><p><b> 2.74LS245</b></p><p> 74LS245是我們常用的芯片,用來(lái)驅(qū)動(dòng)led或者其他的設(shè)備,它是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。</p><p> 74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。</p><p> 當(dāng)8051單片機(jī)的P0口總線負(fù)載達(dá)
44、到或超過(guò)P0最大負(fù)載能力時(shí),必須接入74LS245等總線驅(qū)動(dòng)器。</p><p> 當(dāng)片選端/CE低電平有效時(shí),DIR=“0”,信號(hào)由 B 向 A 傳輸;(接收)</p><p> DIR=“1”,信號(hào)由 A 向 B 傳輸;(發(fā)送)當(dāng)CE為高電平時(shí),A、B均為高阻態(tài)。</p><p> 由于P2口始終輸出地址的高8位,接口時(shí)74LS245的三態(tài)控制端1G和2G
45、接地,P2口與驅(qū)動(dòng)器輸入線對(duì)應(yīng)相連。P0口與74LS245輸入端相連,E端接地,保證數(shù)據(jù)線暢通。8051的/RD和/PSEN相與后接DIR,使得RD且PSEN有效時(shí),74LS245輸入(P0.1←D1),其它時(shí)間處于輸出(P0.1→D1)。</p><p><b> 圖3.2</b></p><p> 3.2 硬件系統(tǒng)各模塊功能簡(jiǎn)要介紹</p>&
46、lt;p><b> 1) 復(fù)位電路</b></p><p> 復(fù)位是單片機(jī)的硬件初始化操作。經(jīng)復(fù)位操作后,單片機(jī)系統(tǒng)才能開(kāi)始正常工作。</p><p> 單片機(jī)上有復(fù)位引腳RST,用于外接復(fù)位電路,這里復(fù)位電路采用按鍵電平復(fù)位。</p><p><b> 2) 時(shí)鐘電路</b></p>&l
47、t;p> 單片機(jī)工作所需的同步時(shí)鐘信號(hào)由以下兩種方法獲得:由單片機(jī)片內(nèi)時(shí)鐘電路結(jié)合外部晶振、電容產(chǎn)生和直接從單片機(jī)外部引入脈沖信號(hào)。這里用第一種方法產(chǎn)生時(shí)鐘信號(hào)。</p><p> 電路用12MHz的石英晶體和二個(gè)微調(diào)電容(為33pF左右)連接起來(lái)接到單片機(jī)的XTAL1和XTAL2引腳上。</p><p><b> 3) 鍵盤(pán)電路</b></p&g
48、t;<p> 由于按鍵較少,所以此處使用獨(dú)立式鍵盤(pán),鍵盤(pán)接到單片機(jī)的P1.0~P1.3上當(dāng)鍵按下時(shí),在其相應(yīng)的口線上產(chǎn)生低電平信號(hào),鍵松開(kāi)時(shí)仍為高電平信號(hào)。 </p><p><b> 4) 顯示電路</b></p><p> 本顯示電路采用74LS245驅(qū)動(dòng)8位數(shù)碼管段和位控端。顯示電路用單片機(jī)的P0口線作段控口,線上串入100Ω的限流電阻,用
49、P2口線作位控口。 </p><p> 3.3 數(shù)字鐘原理圖</p><p> 圖3.1 設(shè)計(jì)原理圖</p><p> 四 數(shù)字電子鐘軟件系統(tǒng)的設(shè)計(jì)</p><p> 4.1 數(shù)字電子鐘使用單片機(jī)資源情況</p><p> 在電子鐘的編程過(guò)程中,單片機(jī)資源使用情況如下:</p><
50、;p> 寄存器:通用寄存器0組的R0~R7;</p><p> IO口線:P0口(作數(shù)碼管的段控口),P2口(作數(shù)碼管的位控口)</p><p> P1口(作鍵盤(pán)接口);</p><p><b> 堆棧地址:60H;</b></p><p> 顯示緩沖單元:30H~37H;</p><
51、p> 鍵掃子程序出口:20H</p><p> 秒,分,時(shí)緩存單元:為41H,43H,45H</p><p> 定時(shí)器1 50ms計(jì)數(shù)值存放單元:40H</p><p> 4.2 數(shù)字電子鐘軟件系統(tǒng)各模塊功能簡(jiǎn)要介紹</p><p><b> 1) 顯示模塊</b></p><p&
52、gt; 顯示子程序主要是對(duì)段(位)控碼的操作。要注意的是寄存器的使用,指針的初始化,延時(shí)控制,以及LED顯示的判斷。顯示程序中顯示的是緩沖區(qū)中的內(nèi)容再調(diào)數(shù)據(jù)表格中顯示代碼,程序中只要將要顯示的內(nèi)容在數(shù)據(jù)表中的位置送往顯示緩沖區(qū)即可,就可以顯示你所需要顯示的內(nèi)容。</p><p> 2) 中斷服務(wù)程序模塊</p><p> 中斷服務(wù)程序主要由4次判斷構(gòu)成,當(dāng)程序開(kāi)始,寄存器裝入初值后
53、,順序開(kāi)始4次判斷,否則返回繼續(xù)判斷,是則相應(yīng)單元請(qǐng)0,且下一位判斷位置加一。最后進(jìn)行出棧操作,并結(jié)束程序。</p><p><b> 3) 鍵盤(pán)模塊</b></p><p> 鍵盤(pán)掃描子程序同樣包括3次判斷,第一次但程序開(kāi)始時(shí),判斷是否有鍵閉合,是則程序繼續(xù),否則直接結(jié)束;第二次在調(diào)用顯示子程序時(shí),判斷是否有鍵閉合,是則程序繼續(xù),否則直接結(jié)束;第三次緊跟第二次
54、判斷之后,當(dāng)有鍵按下,判斷其是否釋放,是則程序繼續(xù),否則返回繼續(xù)判斷是否釋放。</p><p> 4.3 數(shù)字鐘軟件系統(tǒng)程序流程框圖</p><p> 4.3.1 主程序流程框圖</p><p> 主程序流程框圖如圖4.1所示:</p><p> 圖4.1 主程序流程圖</p><p> 4.3.2
55、鍵掃描子程序流程框圖</p><p> 鍵掃描子程序流程圖如圖4.2所示:</p><p> 圖4.2 鍵掃描子程序流程圖</p><p> 4.3.3 顯示子程序流程框圖</p><p> 顯示子程序流程框圖如圖4.3所示:</p><p> 圖4.3 顯示子程序流程圖</p><
56、p> 4.3.4 加1子程序流程圖</p><p> 加1子程序流程框圖如圖4.4所示:</p><p> 圖4.4 加1子程序流程圖</p><p> 4.3.5 中斷服務(wù)子程序流程圖</p><p> 中斷服務(wù)子程序流程框圖如圖4.5所示:</p><p> 圖4.5 中斷服務(wù)子程序流程
57、圖 </p><p> 五 仿真與誤差分析</p><p> 5.1 數(shù)字電子鐘的設(shè)計(jì)結(jié)論及使用說(shuō)明</p><p> 本課程設(shè)計(jì)的目的是設(shè)計(jì)一個(gè)電子鐘,通過(guò)原理圖的繪制和仿真,最終做出的實(shí)物是成功的,能夠達(dá)到預(yù)期的目的,以下本次所作電子鐘的具體的使用說(shuō)明:電子鐘上電后,什么都不顯示,按下啟動(dòng)/調(diào)整鍵,電子鐘從0時(shí)0分0秒開(kāi)始自動(dòng)運(yùn)行,再次按下啟動(dòng)/調(diào)整
58、鍵,電子鐘運(yùn)行停止,處于調(diào)整狀態(tài),調(diào)整位閃爍。按下調(diào)加鍵,加1,以實(shí)現(xiàn)時(shí)、分、秒的調(diào)整,再次按下啟動(dòng)/調(diào)整鍵,電子鐘自動(dòng)運(yùn)行起來(lái),處于運(yùn)行狀態(tài),調(diào)整結(jié)束。</p><p> 5.2 設(shè)計(jì)課題的仿真結(jié)果</p><p> 設(shè)計(jì)課題的仿真結(jié)果如圖5.1所示</p><p> 圖5.1 仿真結(jié)果</p><p> 5.3 設(shè)計(jì)課題的誤
59、差分析</p><p> 本課程設(shè)計(jì)存在一定誤差,引起誤差原因主要是程序中定時(shí)后很多指令引起的時(shí)間積累誤差。但誤差在允許范圍內(nèi),所以,時(shí)間基本準(zhǔn)確。減小誤差的辦法:經(jīng)過(guò)運(yùn)行監(jiān)測(cè)發(fā)現(xiàn)電子鐘行走24小時(shí)快大約五分鐘所以可通過(guò)軟件方法自動(dòng)24小時(shí)校正5分鐘。</p><p><b> 心得</b></p><p> 本次做課程設(shè)計(jì),是我進(jìn)這個(gè)大
60、學(xué)來(lái)的第一次做的課程設(shè)計(jì)。以前在專(zhuān)科的時(shí)候?qū)W了單片機(jī)這門(mén)課程但是從來(lái)都沒(méi)有實(shí)踐過(guò)。</p><p> 這次是我第一次做真正的單片機(jī)課程設(shè)計(jì),從實(shí)物到軟件編程都是自己親自動(dòng)手實(shí)踐的。俗話說(shuō)的好:紙上學(xué)來(lái)終覺(jué)淺,須知此事要躬行。我們的這門(mén)課程本來(lái)就是繁瑣的,只有在真正的實(shí)踐之中才能知道我們到底學(xué)了多少,以及理論與實(shí)踐中的區(qū)別。制版本次采用的是純手工制作,從繪制原理圖開(kāi)始。的確,這次的設(shè)計(jì)是完全從頭開(kāi)始,繪制原理圖、
61、PCB、轉(zhuǎn)印、腐蝕、焊接、調(diào)試,以及最后的實(shí)踐程序編寫(xiě)。當(dāng)然,難度最大的還是程序的編寫(xiě),本次的電子鐘設(shè)計(jì),我個(gè)人認(rèn)為難度最大的就是鍵盤(pán)與顯示,由于本次的電路板是全手工制作,工藝比較粗糙,焊接中也有問(wèn)題,導(dǎo)致最終程序編寫(xiě)也要相應(yīng)改變。</p><p> 在課程設(shè)計(jì)的第一次調(diào)試過(guò)程中,出現(xiàn)了許多我無(wú)法解釋的問(wèn)題,使我有些灰心,但是在認(rèn)真重新讀完自己的程序以后,我發(fā)現(xiàn)原來(lái)出現(xiàn)問(wèn)題的原因都是自己的粗心,在修改完這些問(wèn)題
62、以后,接下來(lái)的調(diào)試就比較順暢了,歸結(jié)原因主要還是我對(duì)流程圖的設(shè)計(jì)下了很多功夫,為調(diào)試打下了良好的基礎(chǔ)。在本次設(shè)計(jì)當(dāng)中,深深感悟到即使是一個(gè)小的板子也有很多的學(xué)問(wèn),我們必須真正的掌握它才能順利解決遇到的各種問(wèn)題。雖然這只是一個(gè)比較小的實(shí)驗(yàn)系統(tǒng),但卻是一切的基礎(chǔ),只有懂了基礎(chǔ)才能學(xué)的更深。</p><p><b> 參考文獻(xiàn)</b></p><p> 張友德.單片微型
63、機(jī)原理、應(yīng)用與實(shí)驗(yàn)[M].上海:復(fù)旦大學(xué)出版社,2006.5. 17~28</p><p> Zhang Youde. Single-chip microcomputer principles, applications and experimental[M]. Shanghai: Fudan University Press, 2006.5. 17~28</p><p> 夏寬理.程
64、序設(shè)計(jì)[M].上海:復(fù)旦大學(xué)出版社,2000.7. 26~44</p><p> Xia Kuangli. Programming[M]. Shanghai: Fudan University Press, 2000.7. 26~44 </p><p> 譚浩強(qiáng).C程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,1999.12. 48~56</p><p> Tan H
65、aoqiang. C Programming[M]. Beijing: Tsinghua University Press,1999.12.48~56</p><p> ?。?]李廣弟.單片機(jī)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2010.5</p><p> Li Guangdi. Microcontroller based[M]. Beijing: Beijing Aerospa
66、ce University Press, 2010.5</p><p> [6] 李景宏,馬學(xué)文。電子技術(shù)實(shí)驗(yàn)教程[M]。沈陽(yáng):東北大學(xué)出版社,2004</p><p> [7] 賈正松。單片機(jī)系統(tǒng)復(fù)位電路設(shè)計(jì)[J]??萍假Y訊,2007,(36)</p><p> [8] 袁新燕。淺談單片機(jī)應(yīng)用系統(tǒng)的調(diào)試[J]。自動(dòng)化與儀器儀表,2000,(03)</p
67、><p> [9] 王暉,薛永存?;贛CS-51單片機(jī)的復(fù)位電路抗干擾分析與設(shè)計(jì)[J]。現(xiàn)代電子技術(shù),2006,(08)</p><p> [10] 丁元杰主編.單片微型計(jì)算機(jī).北京:機(jī)械工業(yè)出版社.2003</p><p> [11] 李廣第主編.單片機(jī)基礎(chǔ).北京:北京航天工業(yè)出版社.2002</p><p> [12] 江志紅編著.
68、51單片機(jī)技術(shù)與應(yīng)用系統(tǒng)研發(fā).清華大學(xué)出版社.2008</p><p><b> 致 謝</b></p><p> 這次課程設(shè)計(jì)終于完成了,完成這次課程設(shè)計(jì)離不開(kāi)老師和同學(xué)的幫助沒(méi)有他們的指導(dǎo)我想我是很難完成這次課程設(shè)計(jì)的。在這次課程設(shè)計(jì)的撰寫(xiě)過(guò)程中,我得到了許多人的幫助。</p><p> 首先我要感謝我的老師在課程設(shè)計(jì)上給予我的指導(dǎo)
69、、提供給我的支持和幫助,這是我能順利完成這次報(bào)告的主要原因,更重要的是老師幫我解決了許多技術(shù)上的難題,讓我能把系統(tǒng)做得更加完善。在此期間,我不僅學(xué)到了許多新的知識(shí),而且也開(kāi)闊了視野,提高了自己的設(shè)計(jì)能力。</p><p> 其次,我要感謝幫助過(guò)我的同學(xué),他們也為我解決了不少我不太明白的設(shè)計(jì)商的難題。同時(shí)也感謝學(xué)院為我提供良好的做畢業(yè)設(shè)計(jì)的環(huán)境。</p><p> 最后再一次感謝所有在設(shè)
70、計(jì)中曾經(jīng)幫助過(guò)我的良師益友和同學(xué)。</p><p><b> 附 錄</b></p><p><b> 1硬件原理圖</b></p><p><b> 2仿真電路圖</b></p><p> 3數(shù)字電子鐘程序清單</p><p><b&g
71、t; ;主程序</b></p><p> ORG 0000H</p><p> AJMP MAIN</p><p> ORG 000BH</p><p> LJMP INTT0</p><p> ORG 0030H</p
72、><p> MAIN: MOV SP, #60H; 確立堆棧區(qū)</p><p> MOV PSW, #00H;</p><p> MOV R0, #20H; RAM區(qū)首地址</p><p> MOV
73、 R7, #5FH; RAM區(qū)單元個(gè)數(shù)</p><p> QL: MOV @R0, #00H; RAM清零</p><p> INC R0</p><p> DJNZ R7, QL</p><p> MO
74、V IP, #02H; IP初始化,優(yōu)先定時(shí)器0</p><p> MOV IE, #82H; E初始化,</p><p> MOV TMOD, #01H; 定時(shí)器0方式1工作 </p><p>
75、 NEXT: LCALL KEY; 按鍵檢測(cè)子程序</p><p> JB ACC.0 , RUNF; A鍵按下運(yùn)行</p><p> SJMP NEXT</p><p> RUNF: LCALL OUTT;
76、 調(diào)傳送子程序</p><p> LCALL TIME; 開(kāi)電子鐘</p><p> JK: LCALL DISP; 調(diào)用顯示子程序</p><p> LCALL KEY; 按鍵檢測(cè)子程序&
77、lt;/p><p> JZ JK</p><p> LCALL ANKEY</p><p> LCALL DISP; 調(diào)用顯示子程序</p><p> SJMP JK</p><p><b> ;鍵掃
78、描子程序</b></p><p> KEY: LCALL KEYS; 調(diào)用鍵值處理子程序</p><p> JZ EXIT; 沒(méi)有鍵按下轉(zhuǎn)到返回</p><p> LCALL DISP</p><p>
79、 LCALL DISP; 調(diào)用顯示去抖動(dòng)</p><p> LCALL KEYS</p><p> JZ EXIT</p><p> MOV B, 20H; 保存鍵值</p><p> KEYSF:
80、 LCALL KEYS; 調(diào)鍵值處理子程序</p><p> JZ KEYY; 鍵釋放,轉(zhuǎn)到恢復(fù)鍵值</p><p> LCALL DISP; 調(diào)顯示子程序延時(shí)</p><p> AJMP KEYSF;
81、 等到鍵釋放</p><p> KEYY: MOV A, B; 鍵值送20H單元保存</p><p> EXIT: RET; 返回</p><p> KEYS: MOV P
82、1, #0FFH; 先向P1口寫(xiě)1</p><p> MOV A, P1; P1口值送累加器A</p><p> CPL A; A值取反</p><p> ANL A, #0FH; 保存
83、P1口低4位</p><p> MOV 20H, A; A值送20H保存</p><p><b> RET</b></p><p><b> ;鍵功能子程序</b></p><p> ANKEY: CLR EA;
84、 關(guān)中斷</p><p> CHECK: JB TR0, YXZ; 判斷是否運(yùn)行</p><p> K0: CJNE A, #01H, K1</p><p> AJMP RUN;
85、 轉(zhuǎn)運(yùn)行</p><p> K1: CJNE A, #02, K2</p><p> AJMP KEY1; 轉(zhuǎn)時(shí)調(diào)整</p><p> K2: CJNE A, #04H, K3</p&g
86、t;<p> AJMP KEY2; 轉(zhuǎn)分調(diào)整</p><p> K3: CJNE A, #08H, OUT</p><p> AJMP KEY3; 轉(zhuǎn)秒調(diào)整</p><p> YXZ:
87、 JB ACC.0, STOP</p><p> AJMP OUT</p><p> KEY1: MOV R0, #45H; 時(shí)調(diào)整</p><p> LCALL ADD1</p><p> CLR
88、 C</p><p> CJNE A, #24H, OUTT</p><p> ACALL CLR0</p><p> AJMP OUTT</p><p> KEY2: MOV R0, #43H;
89、分調(diào)整</p><p> LCALL ADD1</p><p> CLR C</p><p> CJNE A, #60H, OUTT</p><p> ACALL CLR0</p><p> AJMP
90、 OUTT</p><p> KEY3: MOV R0, #41H; 秒調(diào)整</p><p> ACALL ADD1</p><p> CLR C</p><p> CJNE A, #60H,
91、OUTT</p><p> ACALL CLR0</p><p><b> ;傳送顯示數(shù)據(jù)程序</b></p><p> OUTT: MOV 30H, 40H; 秒顯示單元41H-42H</p><p> MOV 31H,
92、41H </p><p> MOV 32H, #11H; “-”</p><p> MOV 33H, 42H; 分顯示單元43H-44H</p><p> MOV 34H, 43H</p><p> MOV 35H,
93、#11; “-”</p><p> MOV 36H, 44H; 時(shí)顯示單元43H-45H</p><p> MOV 37H, 45H</p><p><b> RET</b></p><p> STOP: CLR
94、 TR0; 關(guān)電子鐘跳出</p><p><b> RET</b></p><p> RUN: LCALL TIME; 運(yùn)行電子鐘</p><p> OUT: SETB EA;
95、無(wú)鍵按下或完成功能跳出</p><p><b> RET</b></p><p><b> ;運(yùn)行電子鐘</b></p><p> TIME: SETB EA</p><p> MOV TL0, #0B0H</p>
96、<p> MOV TH0, #3CH; 3CB0H</p><p> MOV R4, #20; 50ms,20次循環(huán)</p><p> SETB TR0; 啟動(dòng)定時(shí)器0</p><p><b> RET
97、</b></p><p><b> ;定時(shí)中斷</b></p><p> INTT0: PUSH ACC</p><p> PUSH PSW</p><p> CLR ET0</p><p> CLR
98、TR0</p><p> MOV TL0, #0B0H; 重新設(shè)置定時(shí)初值</p><p> MOV TH0, #3CH</p><p> SETB TR0; 啟動(dòng)定時(shí)器0</p><p> DJNZ R4,
99、 OUTT0; 1秒到</p><p> ADDSS: MOV R4, #14H; 20次計(jì)數(shù)</p><p> MOV R0, #41H; 秒十位</p><p> ACALL ADD1; 加
100、1程序</p><p> CLR C</p><p> CJNE A, #60H, ADDMM; 1分到</p><p> ADDMM: JC OUTT0</p><p> ACALL CLR0</p><p>
101、 MOV R0, #43H</p><p> ACALL ADD1; 加1程序</p><p> CLR C</p><p> CJNE A, #60H, ADDHH; 1小時(shí)到</p><p> ADDHH: JC O
102、UTT0</p><p> ACALL CLR0</p><p> MOV R0, #45H</p><p> ACALL ADD1; 加1程序</p><p> CLR C</p><p> CJNE A,
103、 #24H, HOUR; 1天到</p><p> HOUR: JC OUTT0</p><p> ACALL CLR0</p><p> OUTT0: MOV 30H, 40H; 秒顯示單元41H-42H</p><p> MOV
104、 31H, 41H</p><p> MOV 32H, #11; ”-”</p><p> MOV 33H, 42H; 分顯示單元43H-44H</p><p> MOV 34H, 43H</p><p> MOV
105、 35H, #11; ”-”</p><p> MOV 36H, 44H; 時(shí)顯示單元44H-45H</p><p> MOV 37H, 45H</p><p> POP PSW</p><p> POP AC
106、C</p><p> SETB ET0</p><p><b> RETI</b></p><p><b> ;時(shí)間清零子程序</b></p><p> CLR0: CLR A</p><p> MOV @R0,
107、 A</p><p> DEC R0</p><p> MOV @R0, A</p><p><b> RET</b></p><p><b> ;加一子程序</b></p><p> ADD1: MOV
108、 A, @R0; 取十位</p><p> DEC R0</p><p> SWAP A</p><p> ORL A, @R0; 組合十位與個(gè)位</p><p> ADD A, #
109、01H; 加1</p><p> DA A; 十進(jìn)制調(diào)整</p><p> MOV R3, A; 暫存</p><p> ANL A, #0FH; 屏蔽十位</p>&l
110、t;p> MOV @R0, A; 放入個(gè)位單元</p><p> MOV A, R3; 取值</p><p> INC R0</p><p> SWAP A</p><p> ANL
111、 A, #0FH; 屏蔽個(gè)位</p><p> MOV @R0, A; 放入十位單元</p><p> MOV A, R3; 數(shù)值放入A中等待判斷</p><p><b> RET</b></p>
112、<p> ;顯示子程序 30H </p><p> DISP: MOV R1, #30H; 顯示緩沖存儲(chǔ)單元首地址</p><p> MOV R2, #80H; 從右至左顯示</p><p> DISP1: MOV P2,
113、R2; 送位控</p><p> MOV A, @R1</p><p> MOV DPTR, #TAB</p><p> MOVC A, @A+DPTR</p><p> MOV P0, A; 送
114、段控</p><p> ACALL DL; 延時(shí)</p><p> MOV A, R2</p><p> JB ACC.0, DISP2</p><p> RR A</p><p&g
115、t; INC R1</p><p> MOV R2, A</p><p> AJMP DISP1</p><p> DISP2: RET</p><p> TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,
116、90H,0FFH,0BFH,0CH</p><p> DL: MOV R6, #14H; 顯示延時(shí)子程序</p><p> DL1: MOV R7, #19H</p><p> DL2: DJNZ R7,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《單片機(jī)技術(shù)》電子鐘課程設(shè)計(jì)---數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)——數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)--數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)--數(shù)字電子鐘
- 單片機(jī)電子鐘課程設(shè)計(jì)---數(shù)字電子鐘
- 單片機(jī)數(shù)字電子鐘課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)--數(shù)字電子鐘設(shè)計(jì)
- 單片機(jī)數(shù)字鐘課程設(shè)計(jì)
- 單片機(jī)數(shù)字鐘課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)數(shù)字電子鐘
- 電子鐘課程設(shè)計(jì)--基于單片機(jī)的電子鐘設(shè)計(jì)
- 電子鐘單片機(jī)課程設(shè)計(jì)
- 電子鐘課程設(shè)計(jì)報(bào)告--數(shù)字鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---數(shù)字電子鐘的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--電子鐘
- 單片機(jī)課程設(shè)計(jì)(電子鐘)
- 單片機(jī)課程設(shè)計(jì)---數(shù)字鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--智能電子數(shù)字鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--多功能數(shù)字電子鐘
評(píng)論
0/150
提交評(píng)論