版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘要</b></p><p> 本設(shè)計是基于單片機(jī)的定時鬧鐘設(shè)計。單片機(jī)是在一塊半導(dǎo)體芯片上集成了CPU、存儲器以及輸入和輸出接口電路的微型計算機(jī);其集成度高、功能強(qiáng)、通用性好,特別是它具有體積小、重量輕、能耗低、價格便宜、抗擾、能力強(qiáng)和使用方便等特點(diǎn)。它不僅僅是一項技術(shù)性上的突破,同時也是對能源方面的有效節(jié)約與有效利用,因此深受國家有關(guān)技術(shù)部門和能源部門的重
2、視和支持。其組合而成的配件產(chǎn)品在日常生活的使用過程中非常方便、簡單且實用,深受著廣大消費(fèi)者的喜愛,從而使單片機(jī)技術(shù)在社會中得到了廣泛的發(fā)展和應(yīng)用。目前,已成為測量控制應(yīng)用系統(tǒng)中的優(yōu)選機(jī)種和新電子產(chǎn)品的關(guān)鍵部件。特別是20世紀(jì)70年代問世以來,以其極高的性能價格比,受到人們的重視和關(guān)注,應(yīng)用很廣、發(fā)展很快,推廣率高,市場利潤率高。而51單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。 </p><p> 本次設(shè)計的
3、定時鬧鐘在硬件方面就采用了AT89C51芯片,用6位LED數(shù)碼管來進(jìn)行顯示。LED用P0口進(jìn)行驅(qū)動,采用的是動態(tài)掃描顯示,能夠比較準(zhǔn)確顯示時時—分分—秒秒。通過S1、S2、S3、和S4四個功能按鍵可以實現(xiàn)對時間的修改和定時,定時時間到喇叭可以發(fā)出報警聲。在軟件方面采用匯編語言編程。整個定時鬧鐘系統(tǒng)能完成時間的顯示,調(diào)時和定時鬧鐘、復(fù)位等功能,并經(jīng)過系統(tǒng)仿真后得到了正確的結(jié)果。</p><p><b>
4、 目錄</b></p><p><b> 1 概述1</b></p><p><b> 1.1設(shè)計意義1</b></p><p><b> 1.2設(shè)計任務(wù)1</b></p><p> 1.3設(shè)計系統(tǒng)的主要功能1</p><p>
5、; 2 系統(tǒng)總體方案及硬件設(shè)計2</p><p> 2.1 系統(tǒng)總體方案2</p><p> 2.2系統(tǒng)設(shè)計方框圖2</p><p><b> 2.3硬件設(shè)計2</b></p><p> 2.3.1芯片:AT89C512</p><p> 2.3.2喇叭:SPEAKER5&
6、lt;/p><p> 2.3.3時鐘電路5</p><p> 2.3.4顯示器模塊的設(shè)計5</p><p><b> 3 軟件設(shè)計7</b></p><p><b> 3.1劃分模塊7</b></p><p> 3.2程序流程圖7</p><
7、;p><b> 3.3模塊程序8</b></p><p> 3.3.1時間的設(shè)置程序8</p><p> 3.3.2鬧鐘時間的設(shè)置程序10</p><p> 3.3.3喇叭響應(yīng)程序12</p><p> 3.4數(shù)碼顯示13</p><p> 4 proteus軟件仿真
8、14</p><p> 5 課程設(shè)計體會16</p><p><b> 參考文獻(xiàn)16</b></p><p> 附1:源程序代碼17</p><p> 附2:系統(tǒng)原理圖26</p><p><b> 1 概述</b></p><p>
9、;<b> 1.1設(shè)計目的</b></p><p> 本設(shè)計是一個定時鬧鐘,它僅使用單片的20引腳單片機(jī)完成鬧鐘的全部功能。設(shè)計目的是為了學(xué)習(xí)和鞏固單片機(jī)知識,使對已學(xué)過的基礎(chǔ)知識能有更深入的理解,學(xué)會獨(dú)立思考、獨(dú)立思考、獨(dú)立工作,以及提高對所學(xué)應(yīng)用基本理論分析和解決實際問題的能力。</p><p><b> 1.2設(shè)計任務(wù)</b><
10、/p><p> 本文設(shè)計的定時鬧鐘采用AT89C51芯片,用匯編語言進(jìn)行編程,時、分、秒用6位LED數(shù)碼管顯示。在電路中通過四個按鍵S1、S2、S3和S4來進(jìn)行定時和調(diào)時,定時時間到通過喇叭發(fā)出報警聲。</p><p> 1.3設(shè)計系統(tǒng)的主要功能</p><p> · 能顯示 時時-分分-秒秒。</p><p> ·
11、; 能夠設(shè)置定時時間、 修改定時時間。</p><p> · 到定時時間能發(fā)出報警聲。</p><p> 2 系統(tǒng)總體方案及硬件設(shè)計</p><p> 2.1 系統(tǒng)總體方案</p><p> 1)由于要顯示數(shù)字時間,所以需要6位數(shù)碼管。</p><p> 2)時間的定時用時鐘電路,修改時間和定時用手
12、動按鍵控制,報警聲通過喇叭發(fā)出。</p><p> 3)AT89C51單片機(jī)加上外圍器件(數(shù)字顯示器7SEG-MPX6-CC-BLUE,RESPACK-8排阻和SPEAKER喇叭)和應(yīng)用程序(ISIS 6 Professional軟件和WAVE6000編譯軟件),構(gòu)成相應(yīng)的應(yīng)用系統(tǒng)。</p><p> 2.2系統(tǒng)設(shè)計方框圖</p><p><b>
13、如圖1所示</b></p><p><b> 圖1</b></p><p><b> 2.3硬件設(shè)計</b></p><p> 2.3.1芯片:AT89C51</p><p> AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programma
14、ble and Erasable Read Only Memory)的低電壓,可穩(wěn)定地工作于5V的電源下.該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器.</p><p> AT89C51管腳說明: VCC:供電電壓。 &
15、#160; GND:接地。 P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗時,P0輸出原碼,此時P0外部必須被拉高。 P
16、1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上
17、拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。</p><p><b> 如圖2所示</b>
18、;</p><p> 2.3.2喇叭:SPEAKER</p><p> 由P3.7口控制喇叭,使其定時時間到能發(fā)出報警聲。</p><p><b> 2.3.3時鐘電路</b></p><p> 單片機(jī)的時鐘產(chǎn)生方法有兩種:內(nèi)部時鐘方式和外部時鐘方式。本系統(tǒng)中AT89C51單片機(jī)采用內(nèi)部時鐘方式。最常用的內(nèi)部時鐘
19、方式是采用外接晶體和電容組成的并聯(lián)諧振回路。振蕩晶體可在1.2MHz~12MHz之間。電容值無嚴(yán)格要求,但電容取值對振蕩頻率輸出的穩(wěn)定性、大小和振蕩電路起振速度有少許影響,一般可在20pF~100pF之間取值。AT98C51單片機(jī)的時鐘電路。如圖3所示 </p><p><b> 圖3</b></p><p> 上拉電阻:RESPACK-8</p>
20、<p> 控制按鍵:BUTTON ACTIVE SPST PushButton</p><p> 本系統(tǒng)要進(jìn)行時間的調(diào)整和定時,因此用4個手動按鍵對其進(jìn)行控制。</p><p> 2.3.4顯示器模塊的設(shè)計</p><p> 利用7SEG-MPX6-CC-BLUE數(shù)字顯示器的1-6引腳連接AT89C51單片機(jī) P2.0 –P2.5接口,其他8個引腳
21、分別與AT89C51單片機(jī)的P0.0 - P0.7和共陽極管RESPACK-8排阻的 2 - 9 引腳分別連接。</p><p> 數(shù)碼管:7SEG-MPX6-CC-BLUE</p><p> 單片機(jī)中通常使用7段LED,LED是發(fā)光二極管顯示器的縮寫。LED顯示器由于結(jié)構(gòu)簡單,價格便宜,體積小,亮度高,電壓低,可靠性高,壽命長,響應(yīng)速度快,顏色鮮艷,配置靈活,與單片機(jī)接口方便而得到廣
22、泛應(yīng)用。LED顯示器是由若干個發(fā)光二極管組成顯示字段的顯示部件,當(dāng)發(fā)光二極管導(dǎo)通時,相應(yīng)的一個點(diǎn)或一個筆劃發(fā)光,控制不同組合的二極管導(dǎo)通,就能顯示出各種字符。LED顯示器有多種形式,如:“米”字型顯示器,點(diǎn)陣顯示器和七段數(shù)碼顯示器等,在單片機(jī)系統(tǒng)中使用最多的是七段數(shù)碼顯示器。</p><p> 因為共陰極的LED數(shù)碼管它的驅(qū)動電流是分開的,在單片機(jī)進(jìn)行動態(tài)掃描的時候不會影響彼此的電流,故該系統(tǒng)中的6位LED數(shù)碼
23、管均用共陰極的數(shù)碼管。</p><p><b> 如圖4所示</b></p><p><b> 3 軟件設(shè)計</b></p><p><b> 3.1劃分模塊</b></p><p> 根據(jù)設(shè)計要求,定時鬧鐘程序可分為以下幾個模塊:</p><p&g
24、t; 1)顯示時間的設(shè)置;</p><p> 2)鬧鐘時間的設(shè)置:</p><p> 4)定時時間的響應(yīng)。</p><p><b> 3.2程序流程圖</b></p><p><b> 圖5</b></p><p><b> 3.3模塊程序</b&
25、gt;</p><p> 3.3.1時間的設(shè)置程序</p><p><b> 如下:</b></p><p><b> SETTIME:</b></p><p> L0:LCALL DISPLAY1</p><p> MM1: JB P1.2,L1
26、 ;P1.2=1時轉(zhuǎn)移 </p><p> MOV C,P1.2</p><p><b> JC MM1</b></p><p> LCALL DELAY1 ;延時</p><p><b> JC MM1</b></p><
27、;p> MSTOP1: MOV C,P1.2</p><p> JNC MSTOP1 ;P1.2為0時轉(zhuǎn)移</p><p> LCALL DELAY1 ;延時</p><p> MOV C,P1.2</p><p> JNC
28、 MSTOP1</p><p> INC 22H ;小時自加一</p><p><b> MOV A,22H</b></p><p> CJNE A,#18H,GO12 ;小時計數(shù)循環(huán) </p><p> MOV 22H,#00H
29、 ;復(fù)位</p><p> MOV 34H,#00H</p><p> MOV 35H,#00H</p><p><b> LJMP L0</b></p><p> L1:JB P1.1,L2 ;P1.1=1時轉(zhuǎn)移</p><p
30、> MOV C,P1.1</p><p><b> JC L1</b></p><p> LCALL DELAY1 ;延時</p><p><b> JC L1</b></p><p> MSTOP2: MOV C,P1.1</p>
31、<p> JNC MSTOP2 ;P1.1=0時轉(zhuǎn)移</p><p> LCALL DELAY1 ;延時</p><p> MOV C,P1.1</p><p> JNC MSTOP2</p><p> INC 21H
32、 ;分鐘加一</p><p><b> MOV A,21H</b></p><p> CJNE A,#3CH,GO11 ;分鐘計數(shù)循環(huán)</p><p> MOV 21H,#00H ; 復(fù)位</p><p> MOV 32H,#
33、00H</p><p> MOV 33H,#00H</p><p><b> LJMP L0</b></p><p> GO11:MOV B,#0AH</p><p> DIV AB</p><p> MOV 32H,B ;
34、 將A的低4位存入32單元</p><p> MOV 33H,A ; 將A的高4位存入33單元</p><p> LJMP L0</p><p> GO12:MOV B,#0AH</p><p> DIV AB</p><p> MOV
35、 34H,B ;將A的低4位存入34單元</p><p> MOV 35H,A ;A的高4位存入35單元</p><p> LJMP L0</p><p> L2:JB P1.0,L0 ; P1.0=1時轉(zhuǎn)移</p&
36、gt;<p> MOV C,P1.0</p><p><b> JC L2</b></p><p> LCALL DELAY1 ;延時</p><p> MOV C,P1.0</p><p><b> JC L2</b></
37、p><p> STOP1: MOV C,P1.0</p><p> JNC STOP1 ; P1.0=0時轉(zhuǎn)移</p><p> LCALL DELAY1 ;延時</p><p> MOV C,P1.0</p><p>&
38、lt;b> JNC STOP1</b></p><p> LJMP LOOP</p><p> 3.3.2鬧鐘時間的設(shè)置程序</p><p> SETATIME:LCALL DISPLAY2 ; 調(diào)用DISPLAY2</p><p> N0:LCALL DISPLAY2<
39、/p><p> MM2: JB P1.1,N1 ;P1.1=1時轉(zhuǎn)移</p><p> MOV C,P1.1</p><p><b> JC MM2</b></p><p> LCALL DELAY1 ; 延時</p>&
40、lt;p><b> JC MM2</b></p><p> MSTOP3: MOV C,P1.1</p><p> JNC MSTOP3 ; P1.1=0時轉(zhuǎn)移</p><p> LCALL DELAY1 ; 延時</p><p
41、> MOV C,P1.1</p><p> JNC MSTOP3</p><p> INC 24H ;小時加一 </p><p><b> MOV A,24H</b></p><p> CJNE A,#24,GO22
42、 ;小時計數(shù)循環(huán)</p><p> MOV 24H,#00H ;復(fù)位</p><p> MOV 38H,#00H</p><p> MOV 39H,#00H</p><p><b> LJMP N0</b></p><p> N1
43、:JB P1.3,N2 ;P1.3=1時轉(zhuǎn)移</p><p> MOV C,P1.3</p><p><b> JC N1</b></p><p> LCALL DELAY1 ;延時</p><p><b>
44、 JC N1</b></p><p> MSTOP4: MOV C,P1.3</p><p> JNC MSTOP4 ;P1.3=0時轉(zhuǎn)移</p><p> LCALL DELAY1 ;延時</p><p> MOV C,P1
45、.3</p><p> JNC MSTOP4</p><p> INC 23H ;分鐘加一</p><p><b> MOV A,23H</b></p><p> CJNE A,#60,GO21 ;分鐘計數(shù)循環(huán)</
46、p><p> MOV 23H,#00H ;復(fù)位</p><p> MOV 36H,#00H</p><p> MOV 37H,#00H</p><p><b> LJMP N0</b></p><p> GO21:MOV B,#0AH&l
47、t;/p><p> DIV AB</p><p> MOV 36H,B ;將A的低4位存入36單元</p><p> MOV 37H,A ;將A的高4位存入37單元</p><p> LJMP N0</p>&
48、lt;p> GO22:MOV B,#0AH</p><p> DIV AB</p><p> MOV 38H,B ;將A的低4位存入38單元</p><p> MOV 39H,A ;將A的高4位存入39單元</p>&l
49、t;p> LJMP N0</p><p> N2:JB P1.0 ,N0 ;P1.0=1時轉(zhuǎn)移</p><p> MOV C,P1.0</p><p><b> JC N2</b></p><p> LCALL DELAY1
50、 ;延時</p><p> MOV C,P1.0</p><p><b> JC N2</b></p><p> STOP2: MOV C,P1.0</p><p><b> JNC STOP2</b></p><p> LCALL D
51、ELAY1</p><p> MOV C,P1.0</p><p><b> JNC STOP2</b></p><p><b> LJMP LOOP</b></p><p> 3.3.3喇叭響應(yīng)程序</p><p> TIMEPRO:MOV A,21H</
52、p><p><b> MOV B,23H</b></p><p> CJNE A,B,BK ;判斷定時鬧鐘的分鐘</p><p><b> MOV A,22H</b></p><p><b> MOV B,24H</b></p
53、><p> CJNE A,B,BK ;判斷定時鬧鐘的小時</p><p> SETB 25H.0</p><p> MOV C,25H.0</p><p><b> JC XX</b></p><p> XX: LCALL TIMEOUT
54、 ;調(diào)用TIMEOUT</p><p><b> BK:RET</b></p><p><b> TIMEOUT:</b></p><p> X1:LCALL BZ ;用喇叭響應(yīng)程序</p><p> LCALL DISPLA
55、Y2 ;延時</p><p> CLR 25H.0 ;調(diào)用喇叭響應(yīng)程序結(jié)束</p><p> JB P1.0, X1 ;P1.3=1時轉(zhuǎn)移</p><p> LCALL DELAY</p><p><b&g
56、t; CLR 25H.0</b></p><p> LJMP DISPLAY1 ;延時</p><p><b> BZ:</b></p><p><b> CLR P3.7</b></p><p> MOV R7,#250
57、 ;喇叭響應(yīng)時間</p><p> T2: MOV R6,#124</p><p> T3: DJNZ R6,T3</p><p> DJNZ R7,T2</p><p><b> SETB P3.7</b></p><p><b> RE
58、T</b></p><p><b> 3.4數(shù)碼顯示</b></p><p> 將所編程序在WAVE里進(jìn)行編譯,編譯正確后生成HEX文件。在AT89C51芯片中加載此文件后,進(jìn)行仿真。系統(tǒng)運(yùn)行后,能準(zhǔn)確的顯示時間。通過S1、S2、S3和S4四個按鍵,能夠?qū)r間進(jìn)行修改和鬧鐘的設(shè)置。定時時間到能發(fā)出報警聲。如圖6所示</p><p&g
59、t;<b> 圖6</b></p><p><b> 5 課程設(shè)計體會</b></p><p> 課程設(shè)計是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識,發(fā)現(xiàn)、提出、分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程。隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計算機(jī)應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說得是無處不在,作為二十
60、一世紀(jì)的大學(xué)生來說掌握單片機(jī)的開發(fā)技術(shù)是十分重要的。</p><p> 通過本次單片機(jī)原理及應(yīng)用課程設(shè)計使我充分認(rèn)認(rèn)到了課程設(shè)計的理要性和必要性,本次設(shè)計使我對已學(xué)過的基礎(chǔ)知識有了更深入的理解,學(xué)會了獨(dú)立思考、獨(dú)立工作以及對應(yīng)用所學(xué)基本理論分析和解決實際問題的能力有了很大的提高。另外,本次設(shè)計使我的實際操作技能得到了訓(xùn)練, 同時也進(jìn)一步培養(yǎng)了我嚴(yán)謹(jǐn)?shù)目茖W(xué)作風(fēng)。</p><p> 回顧起
61、此次單片機(jī)課程設(shè)計,從選題到定稿,從理論到實踐,在整整一星期的日子里,可以說得是苦多于甜,但是從中卻學(xué)到很多很多的東西,不但鞏固了以前所學(xué)過的知識,而且對單片機(jī)原理課外知識也的到了拓展。做的過程中,開始的確遇到了不少困難的問題,比如說芯片管腳不熟悉怎么放置,對單片機(jī)匯編語言掌握得不好等等,同時在這過程中也發(fā)現(xiàn)了自己的許多不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固。 </p><p> 通過單片機(jī)
62、課程設(shè)計之后,我不僅加深了對單片機(jī)理論的理解,將理論很好地應(yīng)用到實際當(dāng)中去,而且我們還學(xué)會了如何去培養(yǎng)創(chuàng)新精神和嚴(yán)謹(jǐn)?shù)目茖W(xué)作風(fēng),從而不斷地戰(zhàn)勝自己,超越自己。更重要的是,我在這一設(shè)計過程中,學(xué)會了堅持不懈,不輕易言棄。</p><p><b> 參考文獻(xiàn)</b></p><p> [1].李朝青.單片機(jī)原理及接口技術(shù)(修訂版).北京:北京航空航天大學(xué)出版社,199
63、8[2]. 李廣弟.單片機(jī)基礎(chǔ).北京:北京航空航天大學(xué)出版社,1992[3]. 何立民.單片機(jī)應(yīng)用技術(shù)大全.北京:北京航空航天大學(xué)出版社, 1994[4].張毅剛. 單片機(jī)原理及接口技術(shù).哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1990[5].譚浩強(qiáng).單片機(jī)課程設(shè)計. 北京:清華大學(xué)出版社,1989</p><p> [6].余發(fā)山主編,單片機(jī)原理及應(yīng)用技術(shù),中國礦業(yè)大學(xué)出版社2003.12[7].
64、Mak.S, Radford. D, ‘Design considerations for implementation of large scale automatic meter reading systems’, Power Delivery, IEEE Tran
65、sactions on,Volume 10, Issue 1, Jan. 1995 </p><p><b> 附1:源程序代碼</b></p><p><b> ORG 0000H</b></p><p><b>
66、 LJMP MAIN</b></p><p><b> ORG 000BH</b></p><p><b> LJMP TIME</b></p><p> ;;;************ MAIN PROGRAM ***************</p><p><b&g
67、t; ORG 0100H</b></p><p> MAIN:MOV SP,#50H</p><p> MOV 20H,#00H ;BIN SECOND</p><p> MOV 21H,#00H ;BIN MINUTE</p>&
68、lt;p> MOV 22H,#00H ;BIN HOUR</p><p> MOV 23H,#01H</p><p> MOV 24H,#01H</p><p> MOV 25H,#00H</p><p> MOV 30H,#00H ;BCD
69、 SECOND</p><p> MOV 31H,#00H</p><p> MOV 32H,#00H ;BCD MINUTE</p><p> MOV 33H,#00H</p><p> MOV 34H,#00H ;BCD HOUR</p>
70、;<p> MOV 35H,#00H</p><p> MOV 36H,#01H</p><p> MOV 37H,#00H</p><p> MOV 38H,#01H</p><p> MOV 39H,#00H</p><p> MOV TMOD,#01H
71、;16位計數(shù)器</p><p> MOV TH0,#03CH ;賦初值</p><p> MOV TL0,#0B0H</p><p> MOV IE,#10000111 ;中斷允許</p><p> SETB TR0
72、 ;啟動T0</p><p> MOV R2,#14H</p><p> MOV P2,#0FFH</p><p> LOOP:LCALL TIMEPRO</p><p> LCALL DISPLAY1</p><p> JB P1.3,M1 ;P1.3=1時
73、轉(zhuǎn)移</p><p> LCALL SETTIME ;調(diào)用SETTIME子程序</p><p><b> LJMP LOOP</b></p><p> M1:JB P1.2,M2 ;P1.2=1時轉(zhuǎn)移 </p><p>
74、LCALL SETATIME ;調(diào)用SETTIME子程序 </p><p><b> LJMP LOOP</b></p><p> M2:JB P1.0,M4 ;P1.0=1時轉(zhuǎn)移</p><p> LCALL LOOKATIME
75、 ;調(diào)用LOOKATIME子程序</p><p> M4:LJMP LOOP</p><p> DELAY:MOV R4,#030H ;延時</p><p> DL00:MOV R5,#0FFH</p><p> DL11:MOV R6,#9H</p><p
76、> DL12:DJNZ R6,DL12</p><p> DJNZ R5,DL11</p><p> DJNZ R4,DL00</p><p><b> RET</b></p><p><b> SETTIME:</b></p><p> L0:LCALL
77、DISPLAY1</p><p> MM1: JB P1.2,L1 ;P1.2=1時轉(zhuǎn)移 </p><p> MOV C,P1.2</p><p><b> JC MM1</b></p><p> LCALL DELAY1 ;延時</p&
78、gt;<p><b> JC MM1</b></p><p> MSTOP1: MOV C,P1.2</p><p> JNC MSTOP1 ;P1.2為0時轉(zhuǎn)移</p><p> LCALL DELAY1 ;延時</
79、p><p> MOV C,P1.2</p><p> JNC MSTOP1</p><p> INC 22H ;小時自加一</p><p><b> MOV A,22H</b></p><p> CJNE A,#18H,GO12
80、 ;小時計數(shù)循環(huán) </p><p> MOV 22H,#00H ;復(fù)位</p><p> MOV 34H,#00H</p><p> MOV 35H,#00H</p><p><b> LJMP L0</b></p><p> L1
81、:JB P1.1,L2 ;P1.1=1時轉(zhuǎn)移</p><p> MOV C,P1.1</p><p><b> JC L1</b></p><p> LCALL DELAY1 ;延時</p><p><b> JC L1&
82、lt;/b></p><p> MSTOP2: MOV C,P1.1</p><p> JNC MSTOP2 ;P1.1=0時轉(zhuǎn)移</p><p> LCALL DELAY1 ;延時</p><p> MOV C,P1.1</p>
83、<p> JNC MSTOP2</p><p> INC 21H ;分鐘加一</p><p><b> MOV A,21H</b></p><p> CJNE A,#3CH,GO11 ;分鐘計數(shù)循環(huán)</p><p>
84、 MOV 21H,#00H ; 復(fù)位</p><p> MOV 32H,#00H</p><p> MOV 33H,#00H</p><p><b> LJMP L0</b></p><p> GO11:MOV B,#0AH</p><p>
85、; DIV AB</p><p> MOV 32H,B ; 將A的低4位存入32單元</p><p> MOV 33H,A ; 將A的高4位存入33單元</p><p> LJMP L0</p><p> GO12:MOV
86、 B,#0AH</p><p> DIV AB</p><p> MOV 34H,B ;將A的低4位存入34單元</p><p> MOV 35H,A ; 將A的高4位存入35單元</p><p> LJMP
87、L0</p><p> L2:JB P1.0,L0 ; P1.0=1時轉(zhuǎn)移</p><p> MOV C,P1.0</p><p><b> JC L2</b></p><p> LCALL DELAY1 ;延
88、時</p><p> MOV C,P1.0</p><p><b> JC L2</b></p><p> STOP1: MOV C,P1.0</p><p> JNC STOP1 ; P1.0=0時轉(zhuǎn)移</p><p>
89、LCALL DELAY1 ;延時</p><p> MOV C,P1.0</p><p><b> JNC STOP1</b></p><p> LJMP LOOP</p><p> SETATIME:LCALL DISPLAY2
90、 ; 調(diào)用DISPLAY2</p><p> N0:LCALL DISPLAY2</p><p> MM2: JB P1.1,N1 ;P1.1=1時轉(zhuǎn)移</p><p> MOV C,P1.1</p><p><b> JC MM2</b></p>
91、<p> LCALL DELAY1 ; 延時</p><p><b> JC MM2</b></p><p> MSTOP3: MOV C,P1.1</p><p> JNC MSTOP3 ; P1.1=0時轉(zhuǎn)移</p
92、><p> LCALL DELAY1 ; 延時</p><p> MOV C,P1.1</p><p> JNC MSTOP3</p><p> INC 24H ;小時加一 </p><p><b&g
93、t; MOV A,24H</b></p><p> CJNE A,#24,GO22 ;小時計數(shù)循環(huán)</p><p> MOV 24H,#00H ;復(fù)位</p><p> MOV 38H,#00H</p><p> MOV 39H,#0
94、0H</p><p><b> LJMP N0</b></p><p> N1:JB P1.3,N2 ;P1.3=1時轉(zhuǎn)移</p><p> MOV C,P1.3</p><p><b> JC N1</b></p>&
95、lt;p> LCALL DELAY1 ;延時</p><p><b> JC N1</b></p><p> MSTOP4: MOV C,P1.3</p><p> JNC MSTOP4 ;P1.3=0時轉(zhuǎn)移</p>
96、<p> LCALL DELAY1 ;延時</p><p> MOV C,P1.3</p><p> JNC MSTOP4</p><p> INC 23H ;分鐘加一</p><p><b> MOV A
97、,23H</b></p><p> CJNE A,#60,GO21 ;分鐘計數(shù)循環(huán)</p><p> MOV 23H,#00H ;復(fù)位</p><p> MOV 36H,#00H</p><p> MOV 37H,#00H</p&
98、gt;<p><b> LJMP N0</b></p><p> GO21:MOV B,#0AH</p><p> DIV AB</p><p> MOV 36H,B ;將A的低4位存入36單元</p><p> MOV
99、 37H,A ;將A的高4位存入37單元</p><p> LJMP N0</p><p> GO22:MOV B,#0AH</p><p> DIV AB</p><p> MOV 38H,B
100、 ;將A的低4位存入38單元</p><p> MOV 39H,A ;將A的高4位存入39單元</p><p> LJMP N0</p><p> N2:JB P1.0 ,N0 ;P1.0=1時轉(zhuǎn)移</p><
101、p> MOV C,P1.0</p><p><b> JC N2</b></p><p> LCALL DELAY1 ;延時</p><p> MOV C,P1.0</p><p><b> JC N2</b></p&g
102、t;<p> STOP2: MOV C,P1.0</p><p><b> JNC STOP2</b></p><p> LCALL DELAY1</p><p> MOV C,P1.0</p><p><b> JNC STOP2</b></p>&
103、lt;p><b> LJMP LOOP</b></p><p> TIMEPRO:MOV A,21H</p><p><b> MOV B,23H</b></p><p> CJNE A,B,BK ;判斷定時鬧鐘的分鐘</p><p&g
104、t;<b> MOV A,22H</b></p><p><b> MOV B,24H</b></p><p> CJNE A,B,BK ;判斷定時鬧鐘的小時</p><p> SETB 25H.0</p><p> MOV C,25H
105、.0</p><p><b> JC XX</b></p><p> XX: LCALL TIMEOUT ;調(diào)用TIMEOUT</p><p><b> BK:RET</b></p><p><b> TIMEOUT:</b&g
106、t;</p><p> X1:LCALL BZ ;調(diào)用喇叭響應(yīng)程序</p><p> LCALL DISPLAY2 ;延時</p><p> CLR 25H.0 ;調(diào)用喇叭響應(yīng)程序結(jié)束&
107、lt;/p><p> JB P1.0, X1 ;P1.3=1時轉(zhuǎn)移</p><p> LCALL DELAY</p><p><b> CLR 25H.0</b></p><p> LJMP DISPLAY1
108、 ;延時</p><p><b> BZ:</b></p><p><b> CLR P3.7</b></p><p> MOV R7,#250 ;喇叭響應(yīng)時間</p><p> T2: MOV R6,#124&l
109、t;/p><p> T3: DJNZ R6,T3</p><p> DJNZ R7,T2</p><p><b> SETB P3.7</b></p><p><b> RET</b></p><p> LOOKATIME:LCALL DISPLAY2</p&g
110、t;<p> MM: JB P1.0,LOOKATIME</p><p> MOV C,P1.0</p><p><b> JC MM</b></p><p> LCALL DELAY1</p><p> MOV C,P1.0</p><p><b>
111、; JC MM</b></p><p> STOP3: MOV C,P1.0</p><p><b> JNC STOP3</b></p><p> LCALL DELAY1</p><p> MOV C,P1.0</p><p><b> JNC S
112、TOP3</b></p><p> LJMP LOOP</p><p> DELAY1: MOV R4,#14H ;時間延時</p><p> DL001: MOV R5,#0FFH</p><p> DL111: DJNZ R5,DL111</
113、p><p> DJNZ R4,DL001</p><p><b> RET</b></p><p> ;*********** TIME PROCESS **************</p><p> TIME: PUSH ACC ;保護(hù)
114、現(xiàn)場</p><p><b> PUSH PSW</b></p><p> MOVTH0,#03CH ;初值</p><p> MOVTL0,#0B0H</p><p> DJNZR2,RET0</p><p> MOVR2,
115、#14H</p><p><b> MOVA,20H</b></p><p><b> CLR C</b></p><p> INC A ;秒自加一</p><p> CJNE A,#3CH,GO1
116、 ;秒計數(shù)循環(huán)</p><p> MOV20H,#0 ;復(fù)位</p><p> MOV 30H,#0</p><p> MOV 31H,#0</p><p><b> MOVA,21H</b>
117、</p><p> INCA ;分鐘自加一</p><p> CJNEA,#3CH,GO2 ;分鐘計數(shù)循環(huán)</p><p> MOV 21H,#0H
118、 ;復(fù)位</p><p> MOV 32H,#0</p><p> MOV 33H,#0</p><p><b> MOVA,22H</b></p><p> INCA ;小時自加一</p>&
119、lt;p> CJNEA,#18H,GO3 ;小時計數(shù)循環(huán)</p><p> MOV 22H,#00H ;復(fù)位</p><p> MOV 34H,#0</p><p> MOV 35H,#0</p><p&g
120、t;<b> AJMPRET0</b></p><p> GO1:MOV 20H,A</p><p> MOV B,#0AH</p><p> DIV AB</p><p> MOV 31H,A ;將A的低4位存入31
121、單元</p><p> MOV 30H,B ;將A的高4位存入30單元</p><p><b> AJMPRET0</b></p><p> GO2: MOV 21H,A</p><p> MOV B,#0AH
122、</p><p> DIV AB</p><p> MOV 33H,A ;將A的低4位存入33單元</p><p> MOV 32H,B ;將A的高4位存入32單元</p><p>&l
123、t;b> AJMPRET0</b></p><p> GO3:MOV 22H,A</p><p> MOV B,#0AH</p><p> DIV AB</p><p> MOV 35H,A ;將A的低4位存入35單元&l
124、t;/p><p> MOV 34H,B ;將A的高4位存入34單元</p><p><b> AJMPRET0</b></p><p> RET0: POP PSW ;恢復(fù)現(xiàn)場
125、</p><p><b> POP ACC</b></p><p><b> RETI</b></p><p> ;;;*******DISPLAY PART**********</p><p> DISPLAY1:MOVR0,#30H</p><p> MO
126、V R3,#0FEH</p><p><b> MOV A,R3</b></p><p> PLAY1: MOV P2,A</p><p> MOV A,@R0 ;取要顯示的數(shù)據(jù)</p><p> MOV DPTR,#DSEG1
127、 ;指向字形段碼首地址</p><p> MOVC A,@A+DPTR ;查表取字形段碼</p><p> MOV P0,A ;指向P0口</p><p><b> LCAL
128、L DL1</b></p><p> MOV P2,#0FFH</p><p> MOV A,R3 ;判斷是否顯示到最低位</p><p> RL A ;左移一位</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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計—定時鬧鐘設(shè)計
- 單片機(jī)課程設(shè)計—定時鬧鐘設(shè)計
- 單片機(jī)定時鬧鐘課程設(shè)計
- 定時鬧鐘—單片機(jī)課程設(shè)計
- 單片機(jī)課程設(shè)計---定時鬧鐘設(shè)計
- 單片機(jī)課程設(shè)計--定時鬧鐘設(shè)計
- 單片機(jī)課程設(shè)計---定時鬧鐘的設(shè)計
- 單片機(jī)課程設(shè)計——定時鬧鐘的設(shè)計
- 課程設(shè)計--單片機(jī)定時鬧鐘設(shè)計報告
- 單片機(jī)課程設(shè)計--基于51單片機(jī)的定時鬧鐘設(shè)計
- 基于單片機(jī)的定時鬧鐘課程設(shè)計
- 單片機(jī)課程設(shè)計--簡單定時鬧鐘系統(tǒng)
- 單片機(jī)課程設(shè)計---- lcd電子定時鬧鐘設(shè)計
- 單片機(jī)課程設(shè)計—帶有l(wèi)cd的定時鬧鐘
- c51單片機(jī)課程設(shè)計定時鬧鐘
- 單片機(jī)課程設(shè)計--帶有l(wèi)cd顯示的定時鬧鐘
- 單片機(jī)課程設(shè)計--定時鬧鐘報告書
- 單片機(jī)課程設(shè)計(電子鬧鐘)
- 單片機(jī)課程設(shè)計--定時插座
- 單片機(jī)定時鬧鐘畢業(yè)設(shè)計
評論
0/150
提交評論