【正文】
DPTR MOV P0, A MOV A, R5 MOV P2, A 。按一次時減一 JZ LLL INC A CLR TR0 CJNE A, 02H, LOP3 INC 79H MOV A, 79H CJNE A, 3CH, LLL MOV 79H, 00 LJMP LOOP5 LOP3: INC 7AH MOV A, 7AH CJNE A, 18H, LLL MOV 7AH, 00 LJMP LOOP5 。 CLR ET0 CLR TR0 CJNE A, 03H, LLL MOV 7CH, 00 LLL: LJMP LOOP5 。 鍵1的功能:按一下啟動計時,再按調(diào)時,再按調(diào)分,再按恢復(fù)計時KEY0: CJNE A, 01H, KEY1 LCALL DIR L: JNB , L 。 給72h送代碼 MOV 75H, 0AH 。 MOV DPTR, TABLE MOVC A, A+DPTR MOV P0, A MOV P2, 0FEH MOV R0, 70H MOV R7, 0EH MM: MOV R0, 00H 。 修改堆棧地址 MOV A, 11H 。讓我及我們整個電子0901班的同學(xué)對單片機(jī)技術(shù)這門課程的產(chǎn)生了如此濃厚的興趣!這為我以后的學(xué)習(xí)和工作打下了良好的基礎(chǔ),更好的去面對社會,適應(yīng)社會,在此,再次向王韌老師獻(xiàn)上我們最真誠的謝意,“老師您辛苦了”!在此還要感謝在課程設(shè)計上一直耐心幫助我的同學(xué)們,有你們與我在專業(yè)知識上的的共同學(xué)習(xí)與交流,讓我覺得學(xué)習(xí)并不孤單,有你們的鼓勵與影響,讓我在失落絕望時還可以一直以一種堅持不懈的態(tài)度奮斗到最后。致謝本次課程設(shè)計,能夠順利的完成,多虧老師和同學(xué)的指導(dǎo)和幫助。經(jīng)過這次課程設(shè)計,使我得到了一次用專業(yè)知識、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。用匯編語言編程的時候,尤其要注意的就是棧底的設(shè)置,還有寄存器組之間的轉(zhuǎn)換,通過堆棧保護(hù)。編寫匯編程序的時候,程序的循環(huán),多層循環(huán),還有就是轉(zhuǎn)移語句的跳轉(zhuǎn)范圍,這次編程的時候就遇到幾次這樣的情況,于是我就在跳轉(zhuǎn)語句附近寫一段跳轉(zhuǎn)區(qū)程序,先讓其跳到跳轉(zhuǎn)區(qū),然后通過無條件長轉(zhuǎn)移指令跳到要去的程序段。通過本次課程設(shè)計,我更深一步地掌握了單片機(jī)的接口技術(shù)以及其匯編語言程序設(shè)計。結(jié)束語數(shù)字電子鐘的設(shè)計及制作在所有課題里是相對簡單的,但實際做起來并沒有我想的那么容易。按鍵處理設(shè)置為:當(dāng)按下K0按鍵時,進(jìn)入調(diào)分狀態(tài),時鐘停止走動即暫停;按K1或K2按鍵可進(jìn)行加1或減1操作;繼續(xù)按K0鍵可分別進(jìn)行分和小時的調(diào)整;最后按K0鍵將退出調(diào)整狀態(tài),時鐘開始計時運(yùn)行;按K3鍵停止一切功能,顯示器呈現(xiàn)ELEC 0901(電子0901)字符。在對各單元計數(shù)的同時,把它們的值放到存儲單元的指定位置。定時器/計數(shù)器T0用于時間計時。本系統(tǒng)共用8個數(shù)碼管,從右到左依次顯示秒個位、秒十位、橫線、分個位、分十位、橫線、時個位和時十位。編寫1ms和17ms的延時子程序,便于調(diào)用。主程序先對顯示單元和定時器/計數(shù)器初始化,然后重復(fù)調(diào)用數(shù)碼管顯示模塊和按鍵處理模塊,當(dāng)有鍵按下,則轉(zhuǎn)入相應(yīng)的功能程序。在使用時可以把它們組合起來。對于LED數(shù)碼管顯示器,通常的譯碼方式有兩種:硬件譯碼方式和軟件譯碼方式。在單片機(jī)應(yīng)用系統(tǒng)中通常使用的是8段式LED數(shù)碼管顯示器,它有共陰極和共陽極兩種。 LED數(shù)碼管顯示器 在單片機(jī)應(yīng)用系統(tǒng)中,經(jīng)常用到LED數(shù)碼管作為顯示輸出設(shè)備,LED數(shù)碼管顯示器雖然顯示信息簡單,但它具有顯示清晰、亮度高、使用電壓低、壽命長、與單片機(jī)接口方便等特點(diǎn),基本上能夠滿足單片機(jī)應(yīng)用系統(tǒng)的需要,所以在單片機(jī)應(yīng)用系統(tǒng)中經(jīng)常用到。通過設(shè)置中斷優(yōu)先級寄存器IP能夠改變系統(tǒng)默認(rèn)的優(yōu)先級順序。如果某位被置“1”,則對應(yīng)的中斷源被設(shè)為高優(yōu)先級;如果某位被清零,則對應(yīng)的中斷源被設(shè)為低優(yōu)先級。(3)MCS51單片機(jī)有5個中斷源,為了處理方便,每個中斷源有兩級控制,高優(yōu)先級和低優(yōu)先級。中斷允許寄存器IE的字節(jié)地址為A8H,可以進(jìn)行位尋址。(1)MCS51單片機(jī)提供5個硬件中斷源,2個外部中斷源,2個定時計數(shù)器T0和T1的溢出中斷TF0和TF1,1個串行口發(fā)送TI和接收RI中斷。四種工作方式為:13位定時\計數(shù)器、16位定時\計數(shù)器、8位自動重置定時\計數(shù)器、兩個8位定時\計數(shù)器(只有T0有)。 (3)每個定時計數(shù)器都有多種工作方式,其中T0有四種工作方式,T1有三種工作方式,T2有三種工作方式。方式寄存器用于設(shè)定定時計數(shù)器T0和T1的工作方式,控制寄存器用于對定時計數(shù)器啟動、停止進(jìn)行控制。 電路原理圖、PCB圖、元器件布局圖電路原理圖如下:圖2 PROTUES仿真圖電路原理圖:(見附錄B)PCB頂層圖如下:圖3 PCB頂層圖PCB底層圖如下:圖4 PCB底層圖PCB元器件分布圖如下:圖5 PCB元器件分布圖(見附錄C)3 設(shè)計課題軟件系統(tǒng)的設(shè)計\計數(shù)器 (1)MCS51系列中51子系列有兩個16位的可編程定時\計數(shù)器可:定時\計數(shù)器T0和定時\計數(shù)器T1。 數(shù)碼管電路數(shù)碼管的段控口接在單片機(jī)的P0上,而位控口通過三極管接在單片機(jī)的P2口上。單片機(jī)簡要系統(tǒng)框圖如右圖: 圖 1 系統(tǒng)設(shè)計框圖 按鍵電路按鍵電路的設(shè)計就是在一段公共接地,另一端通過上拉電阻接到P1口,當(dāng)有按鍵按下,相應(yīng)的口就會變成低電平,產(chǎn)生一個下降沿。只有當(dāng)單片機(jī)有了這些電路才會工作。在處理過程中加上了按鍵判斷程序,能對按鍵處理。然后把秒、分、時計數(shù)器分成十位和個位放到8個數(shù)碼管的顯示緩沖區(qū),通過數(shù)碼管顯示出來。 功能要求說明用定時/計數(shù)器T0,工作于定時,采用方式1,對12MHZ的系統(tǒng)時鐘進(jìn)行定時計數(shù),形成定時時間為50ms。 and dotmatrix LCD can display characters, numbers, can also display a variety of graphics, curve as well as Chinese characters, animation, and can scroll the screen, reverse, blinking and other functions, a wide range of uses. This article describes the design of singlechip microputer AT89C52 bination clock timing of t