版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要</b></p><p> 現(xiàn)代生活的人們?cè)絹碓街匾暺鹆藭r(shí)間觀念,可以說是時(shí)間和金錢劃上了等號(hào)。對(duì)于那些對(duì)時(shí)間把握非常嚴(yán)格和準(zhǔn)確的人或事來說,時(shí)間的不準(zhǔn)確會(huì)帶來非常大的麻煩,所以以數(shù)碼管為顯示器的時(shí)鐘比指針式的時(shí)鐘表現(xiàn)出了很大的優(yōu)勢(shì)。本次設(shè)計(jì)主要對(duì)電子時(shí)鐘進(jìn)行設(shè)計(jì),采用AT89C51單片機(jī)來保證電子時(shí)鐘的工作,并用LED數(shù)碼管時(shí)、分、秒,以24小時(shí)計(jì)
2、時(shí)方式,根據(jù)數(shù)碼管動(dòng)態(tài)顯示原理來進(jìn)行顯示,用12MHz的晶振產(chǎn)生振蕩脈沖,定時(shí)器計(jì)數(shù)。在此次設(shè)計(jì)中,電路具有顯示時(shí)間的其本功能,還可以實(shí)現(xiàn)對(duì)時(shí)間的調(diào)整。</p><p><b> Abstract</b></p><p> Modern life of people more and more attention to the concept of time, c
3、an be said to be the time and money is a sign. For those who hold the person or thing is very strict in time and accurately, the time of inaccurate will bring great trouble, so as to control the display of digital clock
4、than the clock pointer showed a big advantage. The design of the main design of the electronic clock, use AT89C51 microcontroller to ensure the electronic clock, and the LED digital tube, FENs and MIAOs, 24 SH</p>
5、<p><b> 目錄</b></p><p><b> 第一章 緒論1</b></p><p> 1.1 設(shè)計(jì)背景1</p><p> 1.2 單片機(jī)的發(fā)展1</p><p> 第二章 設(shè)計(jì)方案4</p><p><b> 2.
6、1任務(wù)要求4</b></p><p><b> 2.2設(shè)計(jì)原理4</b></p><p> 2.3設(shè)計(jì)方案的確定4</p><p> 第三章 硬件設(shè)計(jì)5</p><p> 3.1 單片機(jī)的選型5</p><p> 3.2 時(shí)鐘電路7</p><
7、;p> 3.3 復(fù)位電路7</p><p><b> 3.4顯示電路7</b></p><p><b> 3.5按鍵電路9</b></p><p> 3.6 74LS245驅(qū)動(dòng)器10</p><p> 3.7系統(tǒng)原理圖11</p><p> 第四章
8、 軟件設(shè)計(jì)13</p><p><b> 4.1主程序13</b></p><p> 4.2調(diào)時(shí)子程序14</p><p> 4.3定時(shí)中斷子程序15</p><p> 4.4 軟件消抖17</p><p> 第五章 調(diào)試與運(yùn)行19</p><p>
9、; 5.1 Proteus ISIS 的介紹19</p><p> 5.2 仿真結(jié)果19</p><p><b> 第六章 總結(jié)21</b></p><p><b> 參考文獻(xiàn)22</b></p><p><b> 致謝23</b></p>&
10、lt;p><b> 附錄24</b></p><p><b> 第一章 緒論</b></p><p><b> 1.1 設(shè)計(jì)背景</b></p><p> 數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的鐘表。與機(jī)械鐘相比具有更高的準(zhǔn)確性和直觀性,具有更長(zhǎng)的使用壽命,已得到廣泛的使用。數(shù)
11、字鐘的設(shè)計(jì)方法有許多種,例如可用中小規(guī)模集成電路組成電子鐘,也可以利用專用的電子鐘芯片配以顯示電路及其所需要的外圍電路組成電子鐘,還可以利用單片機(jī)來實(shí)現(xiàn)電子鐘等等。這些方法都各有其特點(diǎn),其中利用單片機(jī)實(shí)現(xiàn)的電子鐘具有編程靈活,以便于功能的擴(kuò)展。</p><p> 近年來隨著計(jì)算機(jī)在社會(huì)領(lǐng)域的滲透和大規(guī)模集成電路的發(fā)展,單片機(jī)的應(yīng)用越來越普及了,并且由于它具有功能強(qiáng),體積小,功耗低,價(jià)格便宜,工作可靠,使用方便等
12、特點(diǎn),使單片機(jī)在電子和一些自動(dòng)化行業(yè)中應(yīng)用也越來越廣泛了。數(shù)字鐘的組成模塊主要由一個(gè)AT89C51單片機(jī)模塊、用于放大信號(hào)來驅(qū)動(dòng)數(shù)碼管顯示的74LS245、用于顯示時(shí)間的數(shù)碼管顯示模塊、還有用于復(fù)位的按鍵部分,還有電源等部分組成。</p><p> 數(shù)字鐘已成為人們?nèi)粘I钪校罕夭豢缮俚谋匦杵罚瑥V泛用于個(gè)人家庭以及車站、碼頭、劇場(chǎng)、辦公室等公共場(chǎng)所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來極大的方便。由于數(shù)字集成電路
13、技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),使數(shù)字鐘具有走時(shí)準(zhǔn)確、性能穩(wěn)定、攜帶方便等優(yōu)點(diǎn),它還用于計(jì)時(shí)、自動(dòng)報(bào)時(shí)及自動(dòng)控制等各個(gè)領(lǐng)域。</p><p><b> 1.2單片機(jī)的發(fā)展</b></p><p> 單片機(jī)經(jīng)過1、2、3、3代的發(fā)展,正朝著多功能、高性能、低電壓、低功耗、低價(jià)格、大存儲(chǔ)容量、強(qiáng)I/O功能及較好的結(jié)構(gòu)兼容性方向發(fā)展。其發(fā)展趨勢(shì)不外乎以下幾個(gè)方面:&l
14、t;/p><p> 1、多功能 </p><p> 單片機(jī)中盡可能地把所需要的存儲(chǔ)器和I/O口都集成在一塊芯片上,使得單片機(jī)可以實(shí)現(xiàn)更多的功能。比如A/D、PWM、PCA(可編程計(jì)數(shù)器陣列)、WDT(監(jiān)視定時(shí)器---看家狗)、高速I/O口及計(jì)數(shù)器的捕獲/比較邏輯等。</p><p> 有的單片機(jī)針對(duì)某一個(gè)應(yīng)用領(lǐng)域,集成了相關(guān)的控制設(shè)備,以減少應(yīng)用系統(tǒng)的芯片
15、數(shù)量。例如,有的芯片以51內(nèi)核為核心,集成了USB控制器、SMART CARD接口、MP2解碼器、CAN或者I*I*C總線控制器等,LED、LCD或VFD顯示驅(qū)動(dòng)器也開始集成在8位單片機(jī)中。</p><p><b> 2、高效率和高性能</b></p><p> 為了提高執(zhí)行速度和執(zhí)行效率,單片機(jī)開始使用RISC、流水線和DSP的設(shè)計(jì)技術(shù),使單片機(jī)的性能有了明顯的
16、提高,表現(xiàn)為:?jiǎn)纹瑱C(jī)的時(shí)鐘頻率得到提高;同樣頻率的單片機(jī)運(yùn)行效率也有了很大的提升;由于集成度的提高,單片機(jī)的尋址能力、片內(nèi)ROM(FLASH)和RAM的容量都突破了以往的數(shù)量和限制。</p><p> 由于系統(tǒng)資源和系統(tǒng)復(fù)雜程度的增加,開始使用高級(jí)語(yǔ)言(如C語(yǔ)言)來開發(fā)單片機(jī)的程序。使用高級(jí)語(yǔ)言可以降低開發(fā) 難度,縮短開發(fā)周期,增強(qiáng)軟件的可讀性和可移植性,便于改進(jìn)和擴(kuò)充功能。</p><p&
17、gt;<b> 3、低電壓和低功耗</b></p><p> 單片機(jī)的嵌入式應(yīng)用決定了低電壓和低功耗的特性十分重要。由于CMOS等工藝的大量采用,很多單片機(jī)可以在更低的電壓下工作(1.2V或0.9V),功耗已經(jīng)降低到uA級(jí)。這些特性使得單片機(jī)系統(tǒng)可以在更小電源的支持下工作更長(zhǎng)的時(shí)間。</p><p><b> 4、低價(jià)格</b></p
18、><p> 單片機(jī)應(yīng)用面廣,使用數(shù)量大,帶來的直接好處就是成本的降低。目前世界各大公司為了提高競(jìng)爭(zhēng)力,在提高單片機(jī)性能的同時(shí),十分注意降低其產(chǎn)品的價(jià)格。</p><p> 下面大致介紹一下單片機(jī)的主要應(yīng)用領(lǐng)域和特點(diǎn)。</p><p><b> ?。?)家用電器領(lǐng)域</b></p><p> 用單片機(jī)控制系統(tǒng)取代傳統(tǒng)的模
19、擬和數(shù)字控制電路,使家用電器(如洗衣機(jī)、空調(diào)、冰箱、微波爐、和電視機(jī)等)功能更完善,更加智能化和易于使用。</p><p> (2)辦公自動(dòng)化領(lǐng)域</p><p> 單片機(jī)作為嵌入式系統(tǒng)廣泛應(yīng)用于現(xiàn)代辦公設(shè)備,如計(jì)算機(jī)的鍵盤、磁盤驅(qū)動(dòng)、打印機(jī)、復(fù)印機(jī)、電話機(jī)和傳真機(jī)等。</p><p><b> ?。?)商業(yè)應(yīng)用領(lǐng)域</b></p&g
20、t;<p> 商業(yè)應(yīng)用系統(tǒng)部分與家用和辦公應(yīng)用系統(tǒng)相似,但更加注重設(shè)備的穩(wěn)定性、可靠性和安全性。與通用計(jì)算機(jī)相比,這些系統(tǒng)由于比較封閉,可以更有效地防止病毒和電磁干擾等,可靠性更高。</p><p><b> (4)工業(yè)自動(dòng)化</b></p><p> 在工業(yè)控制和機(jī)電一體化控制系統(tǒng)中,除了采用工控計(jì)算機(jī)外,很多都是以單片機(jī)為核心的單片機(jī)和多機(jī)系統(tǒng)
21、。</p><p> ?。?)智能儀表與集成智能傳感器</p><p> 目前在各種電氣測(cè)量?jī)x表中普遍采用了單片機(jī)應(yīng)用系統(tǒng)來代替?zhèn)鹘y(tǒng)的測(cè)量系統(tǒng),使得測(cè)量系統(tǒng)具有存儲(chǔ)、數(shù)據(jù)處理、查詢及聯(lián)網(wǎng)等智能功能。將單片機(jī)和傳感器相結(jié)合,可以構(gòu)成新一代的智能傳感器。</p><p> ?。?)現(xiàn)代交通與航空航天領(lǐng)域</p><p> 通常應(yīng)用于電子綜合顯
22、示系統(tǒng)、動(dòng)力監(jiān)控系統(tǒng)、自動(dòng)駕駛系統(tǒng)、通信系統(tǒng)以及運(yùn)行監(jiān)視系統(tǒng)等。這些領(lǐng)域?qū)w積、功耗、穩(wěn)定性和實(shí)時(shí)性的要求往往比商用系統(tǒng)還要高。</p><p><b> 第二章 設(shè)計(jì)方案</b></p><p><b> 2.1任務(wù)要求</b></p><p> 1.通過單片機(jī)內(nèi)定時(shí)器控制走時(shí),準(zhǔn)確持續(xù)走時(shí),調(diào)時(shí)不影響走時(shí)。<
23、;/p><p> 2.在LED數(shù)碼管上顯示時(shí)、分、秒。</p><p> 3.能對(duì)時(shí)間進(jìn)行校準(zhǔn)。</p><p><b> 2.2設(shè)計(jì)原理</b></p><p> 采用AT89C51芯片作為硬件核心,其內(nèi)部采用Flash ROM,具有4KB ROM 存儲(chǔ)空間,能于3V的超低壓工作,本系統(tǒng)的計(jì)時(shí)方案是利用單片機(jī)內(nèi)部的
24、定時(shí)/計(jì)數(shù)器進(jìn)行中斷定時(shí), 配合軟件延時(shí)實(shí)現(xiàn)對(duì)時(shí)、分、秒的計(jì)時(shí)。</p><p><b> 圖 1.1 </b></p><p> 2.3 設(shè)計(jì)方案的確定 </p><p> 電子鐘的電路圖主要由單片
25、機(jī)(AT89C51)、按鍵電路、驅(qū)動(dòng)顯示電路和LED顯示器四部分組成,它主要實(shí)現(xiàn)時(shí)鐘的顯示,以及對(duì)時(shí)、分、秒進(jìn)行調(diào)整,即實(shí)現(xiàn)調(diào)時(shí)的功能。</p><p><b> ?。?)顯示方案</b></p><p> 數(shù)碼管顯示方法可分為靜態(tài)顯示和動(dòng)態(tài)顯示兩種。</p><p> 方案一:動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d
26、,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是哪個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示
27、過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。</p><p> 方案二: 靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)
28、制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用I/O端口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O端口來驅(qū)動(dòng),要知道一個(gè)89S51單片機(jī)可用的I/O端口才32個(gè)呢:),實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。</p><p> 由于本次設(shè)計(jì)是對(duì)時(shí)間進(jìn)行顯示,如采用靜態(tài)顯示,則所占用的I/O口較多,電路較復(fù)雜,所以在此選擇的是方案二,采用動(dòng)態(tài)顯示
29、。</p><p><b> ?。?)按鍵方案</b></p><p> 方案一:獨(dú)立式按鍵。按鍵的各個(gè)按鍵相互獨(dú)立,每個(gè)按鍵獨(dú)立地與一根數(shù)據(jù)輸入線(單片機(jī)并行接口或其他芯片的并行接口)連接。獨(dú)立式鍵盤配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單,但每個(gè)按鍵必須占用一根接口線,在按鍵數(shù)量不多時(shí),接口線占用多。</p><p> 方案二:?jiǎn)蝹€(gè)按鍵。只有一個(gè)按鍵實(shí)現(xiàn)
30、所有控制功能。</p><p> 本次設(shè)計(jì)選擇方案一使用三個(gè)按鍵。</p><p><b> (3)計(jì)時(shí)方案</b></p><p><b> 采用軟件控制:</b></p><p> 利用單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器進(jìn)行定時(shí),配合軟件定時(shí)實(shí)現(xiàn)時(shí)、分、秒的計(jì)時(shí)。該方案能夠使設(shè)計(jì)者,在設(shè)計(jì)的過程中
31、容易實(shí)現(xiàn),且節(jié)省硬件成本,因此本系統(tǒng)將采用軟件方法實(shí)現(xiàn)計(jì)時(shí)。</p><p><b> 第三章 硬件設(shè)計(jì)</b></p><p><b> 3.1單片機(jī)的選型</b></p><p> 由于AT89C51芯片的普及性和便捷性,所以選擇它作為AT89C51 提供以下標(biāo)準(zhǔn)功能:4k字節(jié)Flash閃速存儲(chǔ)器,128字節(jié)內(nèi)
32、部RAM,32 個(gè)I/O 口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。</p><p> 圖3-1 AT89
33、C51</p><p><b> 管腳說明:</b></p><p><b> VCC:供電電壓。</b></p><p><b> GND:接地。</b></p><p> (1) P0端口: P0是一個(gè)8位漏極開路型雙向I/O端口,端口置1(對(duì)端口寫1)時(shí)作高阻抗輸
34、入端。作為輸出口時(shí)能驅(qū)動(dòng)8個(gè)TTL。</p><p> 在訪問外部程序和外部數(shù)據(jù)存儲(chǔ)器時(shí),P0口是分時(shí)轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,訪問期間內(nèi)部的上拉電阻起作用。</p><p> 對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接收指令字節(jié);校驗(yàn)程序時(shí)輸出指令字節(jié),要求外接上拉電阻。</p><p> (2) P1端口: P1是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/0端口。
35、輸出時(shí)可驅(qū)動(dòng)4個(gè)TTL。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。</p><p> 對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接收低8位地址信息。</p><p> (3) P2端口: P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時(shí)可驅(qū)動(dòng)4個(gè)TTL。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接收高8位地址和控制信息。</p&
36、gt;<p> 在訪問外部程序和16位外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口送出高8位地址。而在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí)其引腳上的內(nèi)容在此期間不會(huì)改變。</p><p> (4) P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流這是由于上拉的緣故。</p>
37、;<p> P3口也可作為AT89C51的一些特殊功能口,如下表所示:</p><p><b> 口管腳 備選功能</b></p><p> P3.0 RXD(串行輸入口)</p><p> P3.1 TXD(串行輸出口)</p><p> P3.2 /INT0(外部中斷0)</p>
38、<p> P3.3 /INT1(外部中斷1)</p><p> P3.4 T0(計(jì)時(shí)器0外部輸入)</p><p> P3.5 T1(計(jì)時(shí)器1外部輸入)</p><p> P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)</p><p> P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)</p><p> P3
39、口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p> ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。</p><p> /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序
40、存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。</p><p> /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p
41、><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。</p><p> XTAL2:來自反向振蕩器的輸出。</p><p><b> 3.2時(shí)鐘電路</b></p><p> 晶體振蕩器電路給數(shù)字鐘提供一個(gè)頻率穩(wěn)定準(zhǔn)確的方波信號(hào),可保證數(shù)字鐘的走時(shí)準(zhǔn)確及穩(wěn)定.不管是指針式的電子鐘還是數(shù)字顯示的電子鐘
42、都使用了晶體振蕩器電路。如圖2-1所示。</p><p> 圖3-2 單片機(jī)時(shí)鐘電路圖</p><p><b> 3.3復(fù)位電路</b></p><p> 當(dāng)上電時(shí),電源對(duì)電容充電,對(duì)單片機(jī)復(fù)位,使單片機(jī)從00H開始執(zhí)行程序。</p><p> 如下圖2-3所示: </p><p> 圖
43、3-3上電復(fù)位電路</p><p> 上電復(fù)位要求接通電源后,單片機(jī)自動(dòng)實(shí)現(xiàn)復(fù)位操作。常用的上電復(fù)位如上圖所示。上電瞬間RST引腳獲得高電平,隨著電容C1的充電,RST引腳的高電平將逐漸下降。</p><p><b> 3.4顯示電路</b></p><p> 七段LED顯示器的原理</p><p> 由于系統(tǒng)要
44、顯示的內(nèi)容較簡(jiǎn)單,顯示量不多,所以選用數(shù)碼管既方便又經(jīng)濟(jì)。LED有共陰極和共陽(yáng)極兩種。如圖2-4所示。</p><p> 二極管的陰極連接在一起,通常此公共陰極接地,而共陽(yáng)極則將發(fā)光二極管的陽(yáng)極連接在一起,接入+5V的電壓。一位顯示器由8個(gè)發(fā)光二極管組成,其中7個(gè)發(fā)光二極管構(gòu)成字型“8”的各個(gè)筆劃(段)a~g,另一個(gè)小數(shù)點(diǎn)為dp發(fā)光二極管。當(dāng)在某段發(fā)光二極管施加一定的正向電壓時(shí),該段筆劃即亮;不加電壓則暗。&l
45、t;/p><p> 圖3-4 LED數(shù)碼管結(jié)構(gòu)原理圖及實(shí)物圖</p><p> LED顯示數(shù)碼管通常由硬件7段譯碼集成電路,完成從數(shù)字到顯示碼的譯碼驅(qū)動(dòng)。本系統(tǒng)采用軟件譯碼,以減小體積,降低成本和功耗,軟件譯碼的另一優(yōu)勢(shì)還在于比硬件譯碼有更大的靈活性。所謂軟件譯碼,即由單片機(jī)軟件完成從數(shù)字到顯示碼的轉(zhuǎn)換。從LED數(shù)碼管結(jié)構(gòu)原理可知,為了顯示字符,要為L(zhǎng)ED顯示數(shù)碼管提供顯示段碼,組成一個(gè)“
46、8”字形字符的7段,再加上1個(gè)小數(shù)點(diǎn)位,共計(jì)8段,因此提供給LED數(shù)碼管的顯示段碼為1個(gè)字節(jié)。各段碼位與顯示段的對(duì)應(yīng)關(guān)系如表2-2。</p><p> 表2-2 各段碼位的對(duì)應(yīng)關(guān)系</p><p> 將AT89C2051的P2.0~P2.7分別與共陰數(shù)碼管的a~g及dp相連,高電平的位對(duì)應(yīng)的LED</p><p> 數(shù)碼管的段暗,低電平的位對(duì)應(yīng)的LED數(shù)碼管的
47、段亮,這樣,當(dāng)P0口輸出不同的段碼,就可以控制數(shù)碼管顯示不同的字符。</p><p> 表2-3 LED顯示段碼</p><p> 數(shù)碼管顯示器有二種工作方式,即靜態(tài)顯示方式和動(dòng)態(tài)掃描顯示方式。</p><p> 動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低,所以本次設(shè)計(jì)使用動(dòng)態(tài)顯示。</p><p><
48、;b> 3.5按鍵電路</b></p><p> 按鍵的開關(guān)狀態(tài)通過一定的電路轉(zhuǎn)換為高、低電平狀態(tài)。按鍵閉合過程在相應(yīng)的I/O端口形成一個(gè)負(fù)脈沖。閉合和釋放過程都要經(jīng)過一定的過程才能達(dá)到穩(wěn)定,這一過程是處于高、低電平之間的一種不穩(wěn)定狀態(tài),稱為抖動(dòng)。抖動(dòng)持續(xù)時(shí)間的常長(zhǎng)短與開關(guān)的機(jī)械特性有關(guān),一般在5-10ms之間。為了避免CPU多次處理按鍵的一次閉合,應(yīng)采用措施消除抖動(dòng)。本文采用的是獨(dú)立式按鍵
49、,直接用I/O口線構(gòu)成單個(gè)按鍵電路,按鍵占用一條I/O口線。如圖2-5所示。</p><p><b> 圖3-5 按鍵電路</b></p><p><b> 圖3-6按鍵實(shí)物圖</b></p><p> 為了充分利用單片機(jī)I/O口本設(shè)計(jì)采用動(dòng)態(tài)顯示,單片機(jī)P1口接段碼,P2口接位選,然而P1不能直接驅(qū)動(dòng)數(shù)碼管,所以應(yīng)
50、使用驅(qū)動(dòng)。</p><p> 3.6 74LS245介紹</p><p> 74LS245是常用的芯片,用來驅(qū)動(dòng)led或者其他的設(shè)備,它是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。</p><p> 74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。</p><p> 當(dāng)80C51單片機(jī)的P1口總線負(fù)載達(dá)到或超過P1最大
51、負(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> E是H時(shí),A,B為高阻</p><p> E為L(zhǎng),DIR為L(zhǎng)時(shí),
52、B→A</p><p> E為L(zhǎng),DIR為H時(shí),A→B</p><p> 圖3-7 74LS245引腳圖及實(shí)物圖</p><p><b> 3.7 系統(tǒng)原理圖</b></p><p> AT89C51的P3口接入三個(gè)按鍵,對(duì)時(shí)、分、秒進(jìn)行調(diào)整。P1口輸出字段碼,控制要顯示的字符,外接74LS245芯片,驅(qū)動(dòng)LED
53、顯示。P2口輸出字位碼,去控制要顯示的位,其原理圖如圖2-7所示。</p><p> 圖3-8 電子鐘原理圖</p><p> 當(dāng)接入電源時(shí),數(shù)字電子鐘以秒為單位開始計(jì)時(shí)。運(yùn)行狀態(tài)下,按下控制按鍵S1,對(duì)小時(shí)進(jìn)行調(diào)整;按下S2調(diào)整分鐘;按下S3對(duì)秒清零。這樣通過三個(gè)按鍵,分別對(duì)時(shí)、分、秒進(jìn)行調(diào)整,從而實(shí)現(xiàn)調(diào)時(shí)。</p><p> 第四章 軟件設(shè)計(jì)</
54、p><p><b> 4.1主程序</b></p><p> 初始化將時(shí)、分、秒各單元的內(nèi)容清空,置T0為計(jì)數(shù)器方式1,分別給計(jì)數(shù)器的高8位和低8位賦計(jì)數(shù)初值,啟動(dòng)T0工作。鍵入一個(gè)按鍵,如執(zhí)行此動(dòng)作,秒值加1,否則重新鍵如按鍵。</p><p> 主程序模塊:主程序流程圖,如圖3-1所示 </p><p> 圖4-
55、1 主程序流程圖</p><p><b> 4.2調(diào)時(shí)子程序</b></p><p> 調(diào)時(shí)子程序用于調(diào)整時(shí)間。以秒為例,按下按鍵S2,判斷S2是否真的被按下,若沒有鍵按下,轉(zhuǎn)到MIN_SET程序段,再次鍵入按鍵,重新判斷。若按鍵按下了,則調(diào)用延時(shí)程序,消除抖動(dòng)現(xiàn)象分值加1,當(dāng)分值大于60時(shí),分清零,進(jìn)行下一次計(jì)時(shí),同時(shí)分加一,并轉(zhuǎn)到DISP顯示。此過程循環(huán)執(zhí)行,
56、其程序流程圖如圖4-2所示:</p><p> 圖4-2 鍵輸入程序流程圖</p><p> MIN_SET: CALL DISP;調(diào)用顯示程序</p><p> JNB P3.2,MIN_SET;P3.2按下跳到調(diào)分程序</p><p> INC 76H;分的個(gè)位加1</p><p> M
57、OV R5,76H</p><p> CJNE R5,#10,MIS1;個(gè)位不為10跳到MIS1</p><p> MOV 76H,#0;個(gè)位清零</p><p> INC 77H;十位加1</p><p> MOV R5,77H</p><p> CJNE R5,#6,MIS1;十位不為
58、6跳到MIS1</p><p> MOV 77H,#0;分清零</p><p> MOV 76H,#0 </p><p> RET </p><p> MIS1: RET;調(diào)分返回</p><p> 4.3 定時(shí)器中斷子程序</p><p> 圖4-3 定
59、時(shí)器中斷流程圖</p><p><b> INTT0:</b></p><p> PUSH ACC;入棧,保護(hù)現(xiàn)場(chǎng)</p><p><b> PUSH PSW</b></p><p> CLR ET0;關(guān)閉中觀允許</p><p> CLR TR0
60、;關(guān)閉中斷</p><p> MOV A,#0B7H;中斷響應(yīng)時(shí)間同步修正</p><p> ADD A,TL0;低8位初值修正</p><p><b> MOV TL0,A</b></p><p> MOV A,#3CH ;高8位初值修正</p><p> A
61、DDC A,TH0</p><p> MOV TH0,A </p><p> SETB TR0 ;開啟定時(shí)器T0</p><p> DJNZ R4,OUT ;20次中斷未到中斷退出</p><p> ADDS: </p><p> MOV R4,#14H;20次中斷
62、到重賦初值</p><p> MOV R0,#71H;指向秒計(jì)時(shí)單元</p><p> ACALL ADD1;調(diào)用ADD1</p><p> MOV A,R3;秒數(shù)據(jù)放入A</p><p> CLR C;清零進(jìn)位標(biāo)志</p><p> CJNE A,#60H,ADDMM;秒是否到了
63、60,是則跳轉(zhuǎn)</p><p><b> ADDMM:</b></p><p> JC OUT ;小雨60秒中斷退出</p><p> ACALL CLR0;等于60秒調(diào)用CLR0清零秒</p><p> MOV R0,#77H;指向分計(jì)時(shí)單元</p><p> AC
64、ALL ADD1;調(diào)用ADD1</p><p> MOV A,R3;分?jǐn)?shù)據(jù)放入A</p><p> CLR C;清零進(jìn)位標(biāo)志</p><p> CJNE A,#60H,ADDH;分是否到了60,是則跳轉(zhuǎn)</p><p><b> ADDH:</b></p><p>
65、 JC OUT ;小于60分時(shí)中斷退出</p><p> ACALL CLR0;等于60分調(diào)用CLR0清零秒</p><p> MOV R0,#79H;指向時(shí)計(jì)時(shí)單元</p><p> ACALL ADD1;調(diào)用ADD1</p><p> MOV A,R3;時(shí)數(shù)據(jù)放入A</p><p
66、> CLR C;清零進(jìn)位標(biāo)志</p><p> CJNE A,#24H,HOUR;時(shí)是否到了24,是則跳轉(zhuǎn)</p><p><b> 4.4軟件消抖</b></p><p> 按鍵抖動(dòng)時(shí)間一般為5ms~10ms,因此去抖動(dòng)10MS,軟件消抖有定時(shí)器定時(shí),和利用延時(shí)子程序兩種方式。 </p><p>
67、; DL1MS: MOV R6,#10 </p><p> DL1: MOV R7,#249 </p><p> DL2: NOP</p><p><b> NOP</b></p><p> DJNZ R7,DL2 </p><p> DJNZ R6,DL1 </p>
68、<p><b> RET</b></p><p><b> END</b></p><p><b> 第五章 調(diào)試與運(yùn)行</b></p><p> 5.1 Proteus ISIS 的介紹</p><p> Proteus ISIS是英國(guó)Labcente
69、r公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是:①實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。②支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:6800
70、0系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。③提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。④具有強(qiáng)大的原理圖繪制功能??傊?,該軟件是一款集單片機(jī)和SPICE分析于一身的
71、仿真軟件,功能極其強(qiáng)大。</p><p><b> 5.2 調(diào)試和運(yùn)行</b></p><p> 在KEIL (單片機(jī)匯編) C51軟件中編寫好的程序,將程序放入單片機(jī)仿真軟件中,結(jié)合硬件電路進(jìn)行調(diào)試與運(yùn)行。</p><p> 1.程序通電開始狀態(tài)</p><p> 2.按動(dòng)S1鍵,對(duì)時(shí)調(diào)時(shí)</p>
72、<p> 3.按動(dòng)S2鍵,對(duì)分調(diào)時(shí)</p><p> 3.按動(dòng)S3鍵,對(duì)秒清零</p><p><b> 第六章 總結(jié)</b></p><p> 在數(shù)字電子鐘的設(shè)計(jì)過程中,出現(xiàn)了很多的問題。在調(diào)試運(yùn)行過程中,我的對(duì)程序和圖進(jìn)行了很多次的修改最終終于定下最為合適的結(jié)果。數(shù)字電子鐘在運(yùn)行時(shí)會(huì)產(chǎn)生一定延時(shí)誤差,產(chǎn)生誤差的主要原因是
73、我們用軟件計(jì)時(shí),計(jì)1秒是采用定時(shí)器的中斷服務(wù)程序。當(dāng)數(shù)字鐘運(yùn)行1秒,執(zhí)行中斷程序需要一定時(shí)間,這個(gè)時(shí)間就是所產(chǎn)生的誤差,這個(gè)誤差是不可避免的。同時(shí),單片機(jī)工作也會(huì)受到環(huán)境的影響,比如溫度、濕度,以及其它電子設(shè)備的干擾。因此,應(yīng)該讓數(shù)字鐘工作在適度溫度、干燥和電子干擾較少的環(huán)境下,還有一種方法就是采用實(shí)時(shí)時(shí)鐘芯片,這樣可以使誤差降低到最少。此次設(shè)計(jì)的數(shù)字電子鐘過于簡(jiǎn)單化,現(xiàn)在的很多種數(shù)字電子鐘已經(jīng)擁有很多功能,比如說加實(shí)時(shí)時(shí)鐘芯片,加溫度
74、控制,加鬧鐘等功能來完善這個(gè)電子鐘。 隨著時(shí)間的推移,計(jì)算機(jī)革命的完成,信息高速公路的飛速發(fā)展,我們的工業(yè)已經(jīng)和自動(dòng)化控制密不可分了.單片機(jī)應(yīng)用在我國(guó)才剛剛起步,有著廣闊的前景。培養(yǎng)單片機(jī)應(yīng)用人才,特別是在工程技術(shù)人員中普及單片機(jī)知識(shí)有著重要的現(xiàn)實(shí)意義。而數(shù)字鐘具備單片機(jī)最小系統(tǒng)的基本組成,對(duì)于我們了解單片機(jī)有很大的幫助。</p><p><b> 參考文獻(xiàn)</b></p&g
75、t;<p> 1.李全利主編,單片機(jī)原理及應(yīng)用技術(shù),高等教育出版社,2010</p><p> 2.李東生.張勇,許四毛. Protell99SE電路設(shè)計(jì)技術(shù)入門與應(yīng)用[M].北京:電子工業(yè)出版社,2002;</p><p> 3.揚(yáng)剛主.電子系統(tǒng)設(shè)計(jì)與實(shí)踐.電子工業(yè)出版社[M] 2004</p><p> 4.盧結(jié)成. 電子電路實(shí)驗(yàn)及應(yīng)用課題
76、設(shè)計(jì)[M].中國(guó)科學(xué)技術(shù)大學(xué)出版社,2002年</p><p> 5.李廣弟,朱月秀,王秀山.單片機(jī)基礎(chǔ)[M].北京航空航天出版社,2001.7</p><p> 6.謝維成,楊加國(guó).單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)[M].清華大學(xué)出版社,2007.2</p><p> 7. 關(guān)宗安,仲叢久.基于單片機(jī)實(shí)現(xiàn)的多路定時(shí)控制器的設(shè)計(jì).沈陽(yáng)航空工業(yè)學(xué)院學(xué)報(bào).2004
77、年6月</p><p> 8.何希慶,高偉.MCS-51單片機(jī)原理、實(shí)驗(yàn)、實(shí)例[M].山東:山東大學(xué)出版社.1989</p><p> 9.劉飛等,兩種數(shù)字鐘電路設(shè)計(jì)比較[J] 湖北師范學(xué)院學(xué)報(bào) .2003,2(23):40-43 10.胥筱門,單片機(jī)系統(tǒng)的試驗(yàn)及應(yīng)用[J] 電子制作.1999,(6):20-3011.房小翠,王金鳳.單片微型計(jì)算機(jī)與機(jī)電接口技術(shù)[M].北京國(guó)防工業(yè)
78、出版社.2002</p><p> 12.姜治臻.《單片機(jī)技術(shù)及應(yīng)用》.高等教育出版社.2009年4月</p><p> 13.周潤(rùn)景,張麗娜.基于PROTEUS 的電路及單片機(jī)系統(tǒng)設(shè)計(jì)與仿真[M].北京:航空航天</p><p> 大學(xué)出版社 ,2006.P321~P326</p><p> 14.李廣弟等 單片機(jī)基礎(chǔ) 北京航空航天
79、出版社, 2001.7 </p><p> 15.何立民主編,《單片機(jī)應(yīng)用技術(shù)選編》 北京航空航天大學(xué)出版社 2004.3</p><p><b> 致謝</b></p><p> 首先衷心地感謝我的畢業(yè)設(shè)計(jì)指導(dǎo)老師x老師。本設(shè)計(jì)從選題到完成,從理論上的探討到實(shí)際問題的解決,無處不飽含著曾老師的心血。x老師的悉心指導(dǎo)和建議給了我極大
80、的幫助和支持,使我受益匪淺,在此論文完成之際,謹(jǐn)向x老師致以深深的謝意和崇高的敬意。</p><p> 同時(shí)感謝的還有我的家人,是他們讓我能上大學(xué);在大學(xué)里,先要學(xué)會(huì)學(xué)習(xí)才能學(xué)的更好,是老師教了我怎樣學(xué)習(xí),到現(xiàn)在能完成畢業(yè)設(shè)計(jì),都少不了老師的功勞;在整個(gè)設(shè)計(jì)過程中,從硬件電路圖到軟件編程,應(yīng)用了相當(dāng)多的知識(shí),包含了大學(xué)三年所學(xué)的知識(shí),在此向各位任課老師表示感謝。</p><p><
81、b> 附錄 程序清單</b></p><p> ORG 0000H;程序開始地址</p><p> LJMP MAIN;跳到MAIN</p><p> ORG 000BH;T0中斷程序入口</p><p> LJMP INTT0;跳到T0開始執(zhí)行程序</p><p>
82、;<b> ORG 0100H</b></p><p> MAIN:MOV @R0,#70H;準(zhǔn)備70H-79H 10個(gè)字節(jié)空間</p><p> MOV R7,#09H</p><p> CLRDISP: MOV @R0,#00H;將70H-79H初始化為00H</p><p><b>
83、INC R0</b></p><p> DJNZ R7,CLRDISP</p><p> MOV TMOD,#01H;設(shè)T0為16位定時(shí)器</p><p> MOV TL0,#0B0H;賦初始值</p><p> MOV TH0,#3CH</p><p> SETB EA;CPU開
84、中斷</p><p> SETB ET0;允許T0中斷</p><p> SETB TR0;啟動(dòng)T0</p><p> MOV R4,#14H;1S設(shè)定初始值</p><p> LOOP: LCALL DISP;調(diào)用顯示程序</p><p> JB P3.0,LOOP1;判斷P3.
85、0有無按下</p><p> LCALL HOUR_SET;調(diào)用小時(shí)設(shè)定程序</p><p><b> AJMP LOOP</b></p><p> LOOP1: JB P3.2,LOOP2;判斷P3.2有無按下</p><p> LCALL MIN_SET;調(diào)用分設(shè)定程序</p>&l
86、t;p><b> AJMP LOOP</b></p><p> LOOP2: JB P3.4,LOOP3;判斷P3.4有無按下</p><p> LCALL CLR0;調(diào)用清零程序,這里只清零秒</p><p><b> AJMP LOOP</b></p><p> LOO
87、P3: AJMP LOOP</p><p> HOUR_SET: CALL DISP;調(diào)用顯示程序</p><p> JNB P3.0,HOUR_SET;P3.0按下跳到調(diào)小時(shí)程序</p><p> INC 78H;小時(shí)的個(gè)位加1</p><p> MOV R6,78H</p><p> CJ
88、NE R6,#10,HOUR1;個(gè)位不為10跳到HOUR1</p><p> MOV 78H,#0;個(gè)位清零</p><p> INC 79H;十位加1</p><p> JMP HOUR2;跳到HOUR2</p><p> HOUR1: MOV R6,78H</p><p> CJNE
89、 R6,#4,HOUR2;個(gè)位不為4跳到HOUR2</p><p> MOV R6,79H</p><p> CJNE R6,#2,HOUR2;十位不為2跳到HOUR2</p><p> MOV 78H,#0;小時(shí)清零</p><p> MOV 79H,#0</p><p> HOUR2: RET
90、;調(diào)時(shí)返回</p><p> MIN_SET: CALL DISP;調(diào)用顯示程序</p><p> JNB P3.2,MIN_SET;P3.2按下跳到調(diào)分程序</p><p> INC 76H;分的個(gè)位加1</p><p> MOV R5,76H</p><p> CJNE R5,#1
91、0,MIS1;個(gè)位不為10跳到MIS1</p><p> MOV 76H,#0;個(gè)位清零</p><p> INC 77H;十位加1</p><p> MOV R5,77H</p><p> CJNE R5,#6,MIS1;十位不為6跳到MIS1</p><p> MOV 77H,#0
92、;分清零</p><p> MOV 76H,#0 </p><p> RET </p><p> MIS1: RET;調(diào)分返回</p><p> INTT0: PUSH ACC;入棧,保護(hù)現(xiàn)場(chǎng)</p><p><b> PUSH PSW</b></p&
93、gt;<p> CLR ET0;關(guān)閉中觀允許</p><p> CLR TR0;關(guān)閉中斷</p><p> MOV A,#0B7H;中斷響應(yīng)時(shí)間同步修正</p><p> ADD A,TL0;低8位初值修正</p><p><b> MOV TL0,A</b></
94、p><p> MOV A,#3CH ;高8位初值修正</p><p> ADDC A,TH0</p><p> MOV TH0,A </p><p> SETB TR0 ;開啟定時(shí)器T0</p><p> DJNZ R4,OUT ;20次中斷未到中斷退出</p>
95、<p> ADDS: MOV R4,#14H;20次中斷到重賦初值</p><p> MOV R0,#71H;指向秒計(jì)時(shí)單元</p><p> ACALL ADD1;調(diào)用ADD1</p><p> MOV A,R3;秒數(shù)據(jù)放入A</p><p> CLR C;清零進(jìn)位標(biāo)志</p&
96、gt;<p> CJNE A,#60H,ADDMM;秒是否到了60,是則跳轉(zhuǎn)</p><p> ADDMM: JC OUT ;小雨60秒中斷退出</p><p> ACALL CLR0;等于60秒調(diào)用CLR0清零秒</p><p> MOV R0,#77H;指向分計(jì)時(shí)單元</p><p> ACA
97、LL ADD1;調(diào)用ADD1</p><p> MOV A,R3;分?jǐn)?shù)據(jù)放入A</p><p> CLR C;清零進(jìn)位標(biāo)志</p><p> CJNE A,#60H,ADDH;分是否到了60,是則跳轉(zhuǎn)</p><p><b> ADDH:</b></p><p>
98、JC OUT ;小于60分時(shí)中斷退出</p><p> ACALL CLR0;等于60分調(diào)用CLR0清零秒</p><p> MOV R0,#79H;指向時(shí)計(jì)時(shí)單元</p><p> ACALL ADD1;調(diào)用ADD1</p><p> MOV A,R3;時(shí)數(shù)據(jù)放入A</p><p&
99、gt; CLR C;清零進(jìn)位標(biāo)志</p><p> CJNE A,#24H,HOUR;時(shí)是否到了24,是則跳轉(zhuǎn)</p><p> HOUR: JC OUT ;小于24時(shí)時(shí)中斷退出</p><p> ACALL CLR0;調(diào)用CLR0</p><p> OUT: MOV 72H,76H ;
100、將分的存儲(chǔ)地址轉(zhuǎn)移</p><p> MOV 73H,77H</p><p> MOV 74H,78H ;將時(shí)的存儲(chǔ)地址轉(zhuǎn)移</p><p> MOV 75H,79H</p><p> POP PSW ;恢復(fù)現(xiàn)場(chǎng)</p><p><b> POP ACC</b>&l
101、t;/p><p><b> SETB ET0</b></p><p><b> RETI</b></p><p> CLR0: CLR A ;清零A</p><p> MOV @R0,A ;清零R0存放地址中的數(shù)據(jù)</p><p> DEC R0
102、 ;R0地址減1</p><p><b> MOV @R0,A</b></p><p><b> RET</b></p><p> ADD1: MOV A,@R0;取當(dāng)前計(jì)時(shí)單元數(shù)據(jù)到A</p><p> DEC R0;指向前一地址</p><p&
103、gt; SWAP A ;A中數(shù)據(jù)高四位與低四位交換</p><p> ORL A,@R0;前一地址中數(shù)據(jù)放入A中低四位</p><p> ADD A,#01H;A加1操作</p><p> DA A;十進(jìn)制調(diào)整</p><p> MOV R3,A;移入R3寄存器</p><p&g
104、t; ANL A,#0FH;高四位變0</p><p> MOV @R0,A;放回前一地址單元</p><p> MOV A,R3;取回R3中暫存數(shù)據(jù)</p><p> INC R0;指向當(dāng)前地址單元</p><p> SWAP A;A中數(shù)據(jù)高四位與低四位交換</p><p>
105、; ANL A,#0FH;高四位變0</p><p> MOV @R0,A;數(shù)據(jù)放入當(dāng)削地址單元中</p><p> RET;子程序返回</p><p> DISP:MOV R1,#70H ;指向顯示數(shù)據(jù)首址 </p><p> MOV R5,#01H ;掃描控制字初值 </p><
106、;p> PLAY: MOV A,R5 ;掃描字放入A </p><p> MOV P2,A ;從P2口輸出 </p><p> MOV A,@R1 ;取顯示數(shù)據(jù)到A </p><p> MOV DPTR,#TABLE ;取段碼表地址 </p><p> MOVC A,@A+DPTR ;查顯示數(shù)據(jù)對(duì)應(yīng)段碼
107、 </p><p> MOV P1,A ;段碼放入P1口 </p><p> LCALL DL1MS ;顯示1MS </p><p> INC R1 ;指向下一地址 </p><p> MOV A,R5 ;掃描控制字放入A </p><p> JB ACC.5,ENDOUT ;ACC
108、.5=0時(shí)一次顯示結(jié)束 </p><p> RL A ;A中數(shù)據(jù)循環(huán)左移 </p><p> MOV R5,A ;放回R5內(nèi) </p><p> AJMP PLAY ;跳回PLAY循環(huán) </p><p> ENDOUT: CLR P2.5 ;一次顯示結(jié)束,P2口復(fù)位 </p><p>
109、; RET ;子程序返回 </p><p> TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H</p><p> DL1MS: MOV R6,#10 </p><p> DL1: MOV R7,#249 </p><p> DL2: NOP</p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子時(shí)鐘畢業(yè)設(shè)計(jì)說明書
- 基于at89s51電子時(shí)鐘畢業(yè)設(shè)計(jì)
- 電子時(shí)鐘畢業(yè)設(shè)計(jì)
- 電子時(shí)鐘(lcd顯示)課程設(shè)計(jì)說明書
- 秒表電子時(shí)鐘畢業(yè)設(shè)計(jì)
- 電子時(shí)鐘畢業(yè)設(shè)計(jì)論文
- 電子時(shí)鐘畢業(yè)設(shè)計(jì)論文
- 數(shù)字電子時(shí)鐘畢業(yè)設(shè)計(jì)
- 電子時(shí)鐘——畢業(yè)設(shè)計(jì)論文
- 電子時(shí)鐘——畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)(論文)基于51單片機(jī)的電子時(shí)鐘設(shè)計(jì)
- 電子畢業(yè)設(shè)計(jì)---多功能電子時(shí)鐘
- 數(shù)字顯示電子時(shí)鐘畢業(yè)設(shè)計(jì)
- 多功能電子時(shí)鐘畢業(yè)設(shè)計(jì)
- 電子時(shí)鐘設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)設(shè)計(jì)】
- 數(shù)字電子時(shí)鐘的設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 電子信息工程畢業(yè)設(shè)計(jì)基于51單片機(jī)設(shè)計(jì)的電子時(shí)鐘
- 電子時(shí)鐘系統(tǒng)設(shè)計(jì)-《嵌入式系統(tǒng)》課程設(shè)計(jì)說明書
- 單片機(jī)電子時(shí)鐘畢業(yè)設(shè)計(jì)
- 電子時(shí)鐘畢業(yè)設(shè)計(jì)(含外文翻譯)
評(píng)論
0/150
提交評(píng)論