版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課 程 設(shè) 計</b></p><p> 設(shè)計題目:多功能時鐘程序設(shè)計</p><p><b> 沈陽工程學(xué)院</b></p><p><b> 課程設(shè)計任務(wù)書</b></p><p> 課程設(shè)計題目: 多功能時鐘程序設(shè)計</p>
2、;<p><b> 中文摘要</b></p><p> 時鐘,自從它發(fā)明的那天起,就成為人類的朋友,但隨著時間的推移,科學(xué)技術(shù)的不斷發(fā)展,人們對時間計量的精度要求越來越高,應(yīng)用越來越廣。怎樣讓時鐘更好的為人民服務(wù),怎樣讓我們的老朋友煥發(fā)青春呢?這就要求人們不斷設(shè)計出新型時鐘。 </p><p> 電子時鐘主要是采用先進(jìn)的當(dāng)代電子技術(shù),使用微型時鐘芯
3、片的時鐘,與傳統(tǒng)的機(jī)械鐘相比,它的時鐘精度,顯示直觀,無機(jī)械傳動裝置,廣泛應(yīng)用于人們的生活環(huán)境之中。此外,人們在生活和工業(yè)、農(nóng)業(yè)生產(chǎn)中對時鐘的功能的也提出了許多更高的要求如:鬧鐘,日歷,所以需要具有多種功能的新型電子時鐘。 根據(jù)人們的不同需求,我們就需要設(shè)計一種具有可以正常顯示時鐘/日歷并具有定時報時功能的多功能電子鐘。通過采集各種電子鐘發(fā)展的相關(guān)資料,對比分析后決定利用單片機(jī)技術(shù),實現(xiàn)多功能電子鐘的各項設(shè)計。</p>&
4、lt;p> 該數(shù)字鐘采用液晶顯示屏顯示其時間與定時時間,即采用P6口輸入,P7口輸出,由R0輸入需顯示的時間,再通過延時程序?qū)r間穩(wěn)定的顯示在液晶屏上。校準(zhǔn)時間由外部中斷4及開關(guān)按鍵控制;定時時間由外部中斷3及開關(guān)按鍵控制 ,KEY3、KEY4鍵每按一次其時分秒的數(shù)字增加一。</p><p> 關(guān)鍵字: 單片機(jī), 數(shù)字鐘, 校時, 定時器, 日歷</p><p>&
5、lt;b> 目錄</b></p><p> 多功能時鐘程序設(shè)計成績評定表2</p><p><b> 中文摘要3</b></p><p> 1課程設(shè)計要求5</p><p> 1.1設(shè)計主要內(nèi)容及要求5</p><p> 1.2對設(shè)計論文撰寫內(nèi)容、格式及
6、字?jǐn)?shù)的要求5</p><p> 1.3時間進(jìn)度安排5</p><p> 2課程設(shè)計思路6</p><p><b> 2.1計時6</b></p><p><b> 2.2校時6</b></p><p><b> 2.3鬧鈴6</
7、b></p><p><b> 3設(shè)計流程圖7</b></p><p><b> 4各模塊設(shè)計8</b></p><p> 4.1時鐘部分8</p><p> 4.2定時部分10</p><p> 4.3校時部分12</p>
8、<p> 4.4顯示部分14</p><p> 5工作過程分析20</p><p> 5.1時鐘程序分析20</p><p> 5.2定時程序分析20</p><p> 5.3校時程序分析21</p><p> 5.4顯示程序分析21</p><p>
9、; 6主要元器件介紹22</p><p><b> 總結(jié)24</b></p><p><b> 致謝25</b></p><p><b> 參考文獻(xiàn)26</b></p><p><b> 附錄27</b></p><
10、;p><b> 課程設(shè)計要求</b></p><p><b> 設(shè)計主要內(nèi)容及要求</b></p><p><b> 編寫多功能時鐘程序</b></p><p> 能夠顯示時、分、秒的時鐘程序。</p><p><b> 具有鬧鐘功能。</b&g
11、t;</p><p><b> 能夠進(jìn)行時間調(diào)整。</b></p><p> 對設(shè)計論文撰寫內(nèi)容、格式及字?jǐn)?shù)的要求</p><p> 課程設(shè)計論文是體現(xiàn)和總結(jié)課程設(shè)計成果的載體,一般不應(yīng)少于 3000字。</p><p> 學(xué)生應(yīng)撰寫時應(yīng)做到文理通順,內(nèi)容正確完整,書寫工整,裝訂整
12、齊。</p><p> 論文要求打印,打印時按《沈陽工程學(xué)院畢業(yè)設(shè)計(論文)撰寫規(guī)范》的要求</p><p> 課程設(shè)計論文裝訂順序為:封面、任務(wù)書、成績評審意見表、中文摘要和關(guān)鍵詞、目錄、正文、參考文獻(xiàn)。</p><p><b> 時間進(jìn)度安排</b></p><p><b> 課程設(shè)計思路</
13、b></p><p> 本文主要介紹用單片機(jī)編程來實現(xiàn)多功能時鐘的方法,本設(shè)計由單片機(jī)C8051F芯片、開關(guān)K1~K8、LED燈及液晶顯示屏為核心,編輯一個程序使他們構(gòu)成了一個單片機(jī)數(shù)字時鐘。與傳統(tǒng)時鐘相比,它具有走時精確,顯示直觀等特點。它的計時周期為24小時,顯滿刻度為“23時59分59秒”,另外具有校時、日期、星期、鬧鐘等功能等特點。</p><p><b> 計
14、時</b></p><p> 當(dāng)T0進(jìn)入中斷后,先給T0計時1s,再計時60s;當(dāng)秒計數(shù)滿60s后開始分的計數(shù),同時將秒清零,否則返回程序繼續(xù)執(zhí)行;同理當(dāng)分計數(shù)到60min,開始時的計時并共計數(shù)24次,與此同時分、秒清零。當(dāng)完成24小時的計時后,開始日期計數(shù)與時分計數(shù)原理相同結(jié)束計時后返回主程序。</p><p><b> 校時</b></p&g
15、t;<p> 校時就是對時間進(jìn)行調(diào)整,當(dāng)時鐘時刻不準(zhǔn)時可以進(jìn)行校時。通過開關(guān)K1~K4來選擇調(diào)整時分秒,并用KEY3進(jìn)行加一調(diào)整。</p><p><b> 鬧鈴</b></p><p> 定時程序?qū)崉t就是讓系統(tǒng)設(shè)定一個鬧鈴時間,并使LED燈在到達(dá)時間時亮燈。先判斷星期是否相等,不等跳出鬧鈴程序,相等則繼續(xù)判斷時是否相等,不等跳出,相等繼續(xù)向下判斷
16、分和秒。當(dāng)系統(tǒng)設(shè)定的秒、分、時、星期與顯示的時間都相等時跳到程序TSR使LED亮。定時的時刻由K1、K2、K3、K4來選擇時分秒和星期的調(diào)整并用KEY4來進(jìn)行加一調(diào)整。</p><p><b> 設(shè)計流程圖</b></p><p><b> 各模塊設(shè)計</b></p><p><b> 時鐘部分</b
17、></p><p> 主程序主要是使各端口使能,保證各端口正常使用(主程序請參考附錄)。T0工作于定時方式1,進(jìn)行16位計數(shù)。其中秒的地址為30H,分的地址為31H,小時的地址為32H,星期地址為33H,日的地址為34H,月的地址為35H,年的地址為36H。</p><p> 當(dāng)T0進(jìn)入中斷后,先給T0賦初值3CB0,定時50ms,循環(huán)7次計時1s,再跳入加一子程序JIA1中實現(xiàn)
18、秒加一,循環(huán)60次計時60s;當(dāng)秒計數(shù)滿60s后開始分的計數(shù),同時將秒清零重新計時,否則返回程序繼續(xù)執(zhí)行;同理當(dāng)分計數(shù)到60min,程序開始時的計時并共計數(shù)24次,同理計時日期。即時結(jié)束后返回主程序等待。</p><p> 在時鐘程序里還加了一個判定K8口的開關(guān)來控制計時暫停和繼續(xù)。</p><p> $INCLUDE(C8051F020.INC)</p><p&g
19、t; ORG 0000H </p><p> AJMP MAIN </p><p> ORG 000BH </p><p> AJMP TINT0 </p>
20、;<p> ORG 0093H</p><p> LJMP KEY3</p><p> ORG 009BH</p><p> LJMP KEY4</p><p> ORG 0100H</p><p> MAIN: MOV WDTCN,#0DEH ;關(guān)看門狗</p
21、><p> MOV WDTCN,#0ADH</p><p> MOV OSCICN,#05H ;內(nèi)部振蕩4MHz</p><p> MOV P1MDOUT,#0FFH ;設(shè)置P1的輸出方式</p><p> MOV P74OUT, #0F0H ;端口6、端口7輸出方式為推挽輸出</p><p>
22、 MOV CKCON,#00H ;T0定時器12分頻</p><p> MOV TMOD,#01H ;T0處于工作方式一,16位</p><p> MOV TCON,#10H ;TR0=1,允許T0計數(shù)</p><p> MOV XBR2,#40H ;交叉開關(guān)總使能 </p><p>
23、 MOV EIE2,#30H ;中斷6、中斷7使能</p><p> MOV P3IF,#0CH ;中斷7上升沿觸發(fā)</p><p> MOV TH0,#00H ;賦初值</p><p> MOV TL0,#00H</p><p> MOV 30H,#00H ;秒存儲地址<
24、/p><p> MOV 31H,#00H ;分存儲地址</p><p> MOV 32H,#00H ;時存儲地址</p><p> MOV 33H,#01H ;星期存儲地址</p><p> MOV 34H,#01H ;日存儲地址</p><p> MOV
25、 35H,#01H ;月存儲地址</p><p> MOV 36H,#00H ;年存儲地址</p><p> MOV 40H,#00H ;定時秒存儲地址</p><p> MOV 41H,#00H ;定時分存儲地址</p><p> MOV 42H,#00H ;定時時
26、存儲地址</p><p> MOV 43H,#01H ;定時星期存儲地址</p><p> MOV R1,#07H ;1s循環(huán)次數(shù)</p><p> MOV IE,#82H ;中斷使能</p><p><b> AJMP $</b></p><p
27、> TINT0:MOV TL0,#00H ;定時50ms</p><p> MOV TH0,#00H</p><p> DJNZ R1,X ;計時1s</p><p> MOV R1,#07H</p><p> MOV 20H,P5 ;開關(guān)</p>
28、<p> JNB 07H,LOP_1 ;計時開關(guān)</p><p> LCALL JIA1 ;跳轉(zhuǎn)到計時程序 </p><p> LOP_1: JNB 06H,LOP_2 ;定時開關(guān)</p><p> LCALL DING ;跳轉(zhuǎn)到定時程序</p>&l
29、t;p> LOP_2: LCALL TIME ;跳轉(zhuǎn)到顯示程序</p><p><b> X: RETI</b></p><p> JIA1: MOV A,30H ;計時程序</p><p> ADD A,#01H ;秒加1</p><p
30、> DA A ;做十進(jìn)制調(diào)整</p><p> MOV 30H,A </p><p> CJNE A,#60H,Y ;是否等于60s?若不是,則跳至Y</p><p> MOV 30H,#00H ;若是,則30H清零</p><p> M
31、OV A,31H </p><p> ADD A, #01H ;分加1</p><p> DA A ;做十進(jìn)制調(diào)整</p><p> MOV 31H,A </p><p> CJNE A,#60H,Y ;是否等于6
32、0s?若不是,則跳至Y</p><p> MOV 31H,#00H ;若是,則31H清零</p><p> MOV A,32H </p><p> ADD A,#01H ;時加1</p><p> DA A ;做十進(jìn)制調(diào)整</p
33、><p> MOV 32H,A </p><p> CJNE A,#24H,Y ;是否等于60s?若不是,則跳至Y</p><p> MOV 32H,#00H ;若是,則32H清零</p><p> MOV A,34H</p><p> ADD A
34、,#1</p><p><b> DA A</b></p><p> MOV 34H,A</p><p> CJNE A,#32H,YB</p><p> MOV 34H,#01H</p><p> MOV A,#35H</p><p> A
35、DD A,#1</p><p><b> DA A </b></p><p> MOV 35H,A</p><p> CJNE A,#13H,YB</p><p> MOV 35H,#01H</p><p> MOV A,36H</p><p>
36、;<b> INC A</b></p><p><b> DA A </b></p><p> MOV 36H,A</p><p> YB:MOV A,33H</p><p> ADD A,#1</p><p><b> DA
37、 A </b></p><p> MOV 33H,A</p><p> CJNE A,#08H,Y</p><p> MOV 33H,#01H</p><p><b> Y: RET</b></p><p><b> 定時部分</b></p
38、><p> 定時程序?qū)崉t就是人為設(shè)定一個鬧鈴時間,并使LED燈在到達(dá)時間時亮。</p><p> 將時鐘的星期、時、分、秒先后賦值給A,判斷是否與設(shè)定的鬧鈴時間一致,不等則跳出子程序返回主程序繼續(xù)執(zhí)行下一步,相等則跳轉(zhuǎn)到TSR子程序。</p><p> 定時時間由外部中斷4控制,每按一下,其值增加一,時、分、秒、星期由開關(guān)按鍵K1,K2,K3,K4控制。將P5給2
39、0H判斷位00H、01H、02H、03H是否為0,不為0跳轉(zhuǎn)到時分秒程序中。在43H、42H、41H、40H中存放星期、時、分、秒。當(dāng)系統(tǒng)設(shè)定的秒、分、時、星期與顯示的時間都相等時LED燈亮,表示鬧鈴時間到。期間時間會繼續(xù)顯示,但LED燈依舊亮,閉合K1、K2、K3、K4按下KEY4鍵可熄滅LED燈。</p><p> 定時功能還可以通過K7來控制關(guān)閉K7則顯示器顯示DINGSHI OFF 提示定時功能關(guān)閉。&
40、lt;/p><p> DING: MOV A,33H ;判斷鬧鐘是否啟動</p><p> CJNE A,43H,N</p><p> MOV A,32H </p><p> CJNE A,42H,N</p><p> MOV A,31H</p>&l
41、t;p> CJNE A,41H,N</p><p> MOV A,30H</p><p> CJNE A,40H,N</p><p> LJMP TSR </p><p><b> N: RET</b></p><p> TSR: MOV P1,#00H
42、 ;LED燈循環(huán)閃爍 </p><p><b> RET</b></p><p> KEY4: LCALL T2 </p><p> LCALL TIME ;顯示</p><p> MOV P3IF,#00H</p><p><b> RE
43、TI</b></p><p> T2: MOV 20H,P5 ;定時程序</p><p> JNB 00H,SHI1</p><p> JNB 01H,FEN1</p><p> JNB 02H,MIAO1</p><p> JNB 03
44、H,XQ1 </p><p> MOV P1,#0FFH ;關(guān)閉鬧鐘</p><p><b> RET </b></p><p> SHI1: MOV A,42H </p><p> ADD A,#1 </p><p
45、> DA A </p><p> MOV 42H,A </p><p> CJNE A,#24H,MB </p><p> MOV 42H,#00H </p><p><b>
46、; RET</b></p><p> FEN1: MOV A,41H </p><p> ADD A,#1 </p><p> DA A </p><p> MOV 41H,A <
47、/p><p> CJNE A,#60H,MB </p><p> MOV 41H,#00H</p><p><b> RET</b></p><p> MIAO1:MOV A,40H </p><p> ADD A,#1
48、 </p><p> DA A </p><p> MOV 40H,A </p><p> CJNE A,#60H,MB </p><p> MOV 40H,#00H</p><p>&l
49、t;b> RET</b></p><p> XQ1: MOV A,43H</p><p><b> ADD A,#1</b></p><p><b> DA A</b></p><p> MOV 43H,A</p><p> CJN
50、EA,#08H,MB </p><p> MOV 43H,#01H</p><p> MB: RET</p><p><b> 校時部分</b></p><p> 校時部分就是在系統(tǒng)時間不準(zhǔn)確的情況下,給系統(tǒng)賦定值,使系統(tǒng)時間可以從該值開始變化,使用外部中斷KEY3,先給30H、31H、32H賦所需時
51、間,然后調(diào)用程序?qū)⑵滹@示。其中進(jìn)入中斷后調(diào)用子程序T1可以由KEY3鍵設(shè)置所定時間每按一次KEY3鍵值增加一,是調(diào)整時還是分或秒,可由開關(guān)量輸入鍵K1、K2、K3分別控制。其主程序中加入了外不中斷的有關(guān)指令.但需注意的是,在調(diào)解時除打開時、分、秒控制鍵外還需打開K11鍵。</p><p> KEY3: ;KEY3中斷程序</p><p><b> LCA
52、LL T1 </b></p><p> LCALL TIME ;顯示</p><p> MOV P3IF,#00H</p><p><b> RETI</b></p><p> T1: MOV 20H,P5 ;時間校準(zhǔn)程序</p><p>
53、 JNB 04H,RQ ;選擇修改時間/日期</p><p> JNB 00H,SHI</p><p> JNB 01H,FEN</p><p> JNB 02H,MIAO</p><p> JNB 03H,XQ </p><p><b> RET</b&
54、gt;</p><p> RQ: JNB 00H,NIAN</p><p> JNB 01H,YUE</p><p> JNB 02H,RI1</p><p> JNB 03H,XINGQI</p><p><b> RET </b></p><p&
55、gt; SHI:MOV A,32H </p><p> ADD A,#1 </p><p> DA A </p><p> MOV 32H,A </p><p> CJNE A,#24H
56、,M </p><p> MOV 32H,#0 </p><p><b> RET</b></p><p> FEN: MOV A,31H </p><p> ADD A,#1 </p&g
57、t;<p> DA A </p><p> MOV 31H,A </p><p> CJNE A,#60H,M </p><p> MOV 31H,#0 </p><p><b> RET
58、</b></p><p> MIAO:MOV A,30H </p><p> ADD A,#1 </p><p> DA A </p><p> MOV 30H,A </p&
59、gt;<p> CJNE A,#60H,M </p><p> MOV 30H,#0</p><p> XQ: MOV A,33H</p><p> ADD A,#1</p><p><b> DA A</b></p><p>
60、; MOV 33H,A</p><p> CJNE A,#08H,M</p><p> MOV 33H,#01H </p><p><b> M: RET</b></p><p> NIAN:MOV A,36H ;日期校準(zhǔn) </p><p> INC
61、 A </p><p> DA A </p><p> MOV 36H,A </p><p><b> RET</b></p><p> YUE: MOV A,35H
62、</p><p> ADD A,#1 </p><p> DA A </p><p> MOV 35H,A </p><p> CJNE A,#13H,ASD </p>&l
63、t;p> MOV 35H,#01H </p><p><b> RET</b></p><p> RI1:MOV A,34H </p><p> ADD A,#1 </p><p> DA A
64、 </p><p> MOV 34H,A </p><p> CJNE A,#32H,ASD </p><p> MOV 34H,#01H</p><p><b> RET</b></p><p> XINGQI:
65、MOV A,33H</p><p> ADD A,#1</p><p><b> DA A</b></p><p> MOV 33H,A</p><p> CJNE A,#08H,ASD</p><p> MOV 33H,#01H </p>&
66、lt;p> ASD: RET </p><p><b> 顯示部分</b></p><p> 顯示程序就是將程序中的時分秒顯示在液晶顯示屏上使其看起來更直觀、方便。其中第一行顯示系統(tǒng)運(yùn)行時間,第二行顯示定時時間。通過K6來控制第一行顯示時間和日期。</p><p> 該程序主要根據(jù)老師所給程序改編,利用子程序LINE設(shè)定顯示屏
67、的主要參數(shù).讓時間顯示在上一行且只顯示一個時分秒,如“23:28:20”,不造成顯示多個的后果。NCD為常函數(shù)表,將0-9數(shù)字依次存放到以左邊標(biāo)號為起始地址的存儲單元中。TIME中就是將時分秒的十位、各位分別賦予R0,然背后調(diào)用查表程序?qū)⑵滹@示在液晶屏上。值得注意的是:時與分、分與秒之間需將冒號也顯示出來。同理,定時時間的顯示在第二行,由TIME1控制。</p><p> TIME: CLR A
68、 ;液晶顯示程序</p><p> MOV XBR0, A</p><p> LCALL LCD</p><p> MOV DPTR,#NCD</p><p> MOV 20H,P5</p><p> JNB 05H,LP1 ;選擇顯示時間/日期</
69、p><p> MOV A,32H</p><p><b> SWAP A</b></p><p> MOV R0,A</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV
70、R0,32H</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV R0,#10</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV A,
71、31H</p><p><b> SWAP A</b></p><p> MOV R0,A</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV R0,31H</p><p>
72、 LCALL LINE1</p><p> LCALL DELAY</p><p> MOV R0,#10</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV A,30H</p><p><
73、b> SWAP A</b></p><p> MOV R0,A</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV R0,30H</p><p> LCALL LINE1</p>&l
74、t;p> LCALL DELAY</p><p> LJMP LP2 </p><p> LP1: MOV R0,#2</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV R0,#0</p>&l
75、t;p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV A,36H</p><p><b> SWAP A</b></p><p> MOV R0,A</p><p> LCALL LINE1<
76、;/p><p> LCALL DELAY</p><p> MOV R0,36H</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV R0,#11</p><p> LCALL LINE1</
77、p><p> LCALL DELAY</p><p> MOV A,35H</p><p><b> SWAP A</b></p><p> MOV R0,A</p><p> LCALL LINE1</p><p> LCALL
78、DELAY</p><p> MOV R0,35H</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV R0,#11</p><p> LCALL LINE1</p><p> LCALL DE
79、LAY</p><p> MOV A,34H</p><p><b> SWAP A</b></p><p> MOV R0,A</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p>
80、MOV R0,34H</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> LP2: MOV R0,#11 ;NAOZHONG</p><p> LCALL LINE1</p><p> LCALL DELAY</p
81、><p> MOV R0,#12 ;NAOZHONG</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV R0,#13 ;NAOZHONG</p><p> LCALL LINE1</p><p&
82、gt; LCALL DELAY</p><p> MOV R0,33H ;NAOZHONG</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV R0,#11 ;NAOZHONG</p><p> LCALL
83、 LINE1</p><p> LCALL DELAY</p><p> JB P1.0,LOP1</p><p> MOV R0,#15 ;NAOZHONG</p><p> LCALL LINE1</p><p> LCALL DELAY</p><
84、p> MOV R0,#0 ;NAOZHONG</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV R0,#14 ;NAOZHONG</p><p> LCALL LINE1</p><p> LCALL
85、 DELAY</p><p> LOP1:MOV 20H,P5</p><p> JNB 06H,LP3 ;關(guān)閉定時顯示</p><p> MOV DPTR,#NED</p><p> MOV P7,#0C0H</p><p> MOV P6,#1H</p>
86、<p> MOV P6,#0H</p><p> MOV R0,#11</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV A,42H</p><p><b> SWAP A</b><
87、;/p><p> MOV R0,A</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV R0,42H</p><p> LCALL LINE1</p><p> LCALL DELAY</p>&
88、lt;p> MOV R0,#10</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV A,41H</p><p><b> SWAP A</b></p><p> MOV R0,A</p&g
89、t;<p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV R0,41H</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV R0,#10</p><
90、p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV A,40H</p><p><b> SWAP A</b></p><p> MOV R0,A</p><p> LCALL LINE1</p>
91、<p> LCALL DELAY</p><p> MOV R0,40H</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV R0,#11 ;NAOZHONG</p><p> LCALL LINE1</
92、p><p> LCALL DELAY</p><p> MOV R0,#12 ;NAOZHONG</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV R0,#13 ;NAOZHONG</p><p&
93、gt; LCALL LINE1</p><p> LCALL DELAY</p><p> MOV R0,43H ;NAOZHONG</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p><b> RET</b>
94、;</p><p> LP3: MOV DPTR,#NFD</p><p> MOV P7,#0C0H</p><p> MOV P6,#1H</p><p> MOV P6,#0H</p><p> MOV R0,#11</p><p> LC
95、ALL LINE1</p><p> LCALL DELAY</p><p> MOV R0,#0</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV R0,#1</p><p> LCALL LINE1
96、</p><p> LCALL DELAY</p><p> MOV R0,#2</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV R0,#3</p><p> LCALL LINE1</p>
97、<p> LCALL DELAY</p><p> MOV R0,#4</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV R0,#5</p><p> LCALL LINE1</p><p>
98、; LCALL DELAY</p><p> MOV R0,#6</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV R0,#10</p><p> LCALL LINE1</p><p> LCALL
99、 DELAY</p><p> MOV R0,#7</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p> MOV R0,#8</p><p> LCALL LINE1</p><p> LCALL DELAY<
100、/p><p> MOV R0,#9</p><p> LCALL LINE1</p><p> LCALL DELAY</p><p><b> RET</b></p><p> LINE1: MOV A,R0</p><p> ANL
101、 A,#0FH</p><p> MOVC A,@A+DPTR</p><p> MOV P7,A</p><p> MOV P6,#05H</p><p> MOV P6,#04H</p><p><b> RET</b></p><p&
102、gt; LCD: LCALL DELAY</p><p> MOV P7,#38H</p><p> MOV P6,#01H</p><p> MOV P6,#00H</p><p> LCALL DELAY</p><p> MOV P7,#0EH</p
103、><p> MOV P6,#01H</p><p> MOV P6,#00H</p><p> LCALL DELAY</p><p> MOV P7,#06H</p><p> MOV P6,#01H</p><p> MOV P6,#00H
104、</p><p> LCALL DELAY</p><p> MOV P7,#01H</p><p> MOV P6,#01H</p><p> MOV P6,#00H</p><p> LCALL DELAY</p><p><b> RE
105、T</b></p><p> DELAY: MOV R6,#50</p><p> DELAY0: MOV R5,#50</p><p> DJNZ R5,$</p><p> DJNZ R6,DELAY0</p><p><b> RET </b&g
106、t;</p><p> DELAY1: MOV R4,#35</p><p> DELAY2: MOV R3,#150</p><p> DELAY3: MOV R2,#250</p><p> DJNZ R2,$</p><p> DJNZ R3,DELAY3</p
107、><p> DJNZ R4,DELAY2</p><p> RET </p><p> NCD : DB '0','1','2','3','4','5','6','7','8','9
108、9;,':',' ','X','Q',')','(',' '</p><p> NED : DB '0','1','2','3','4','5','6','7',
109、9;8','9',':',' ','X','Q',' ' ;常數(shù)表</p><p> NFD : DB 'D','I','N','G','S','H','I','O',
110、39;F','F',' ',' '</p><p><b> END</b></p><p><b> 工作過程分析</b></p><p><b> 時鐘程序分析</b></p><p> 在設(shè)計時分秒的程序時,
111、首先定時1s,然后循環(huán)60次,則計時60秒,再判斷是否循環(huán)60次,沒有則繼續(xù)執(zhí)行以完成秒的計時,若完成60次循環(huán)則分加一,同理當(dāng)分計數(shù)滿60時,時加一,在判斷是否計數(shù)滿24次,滿24次則日加一,同時清零時計數(shù),日計數(shù)滿32則月計數(shù)加一同時日計數(shù)置1,月計數(shù)滿13,則年計數(shù)加一同時月計數(shù)置1。以此完成時分秒和日期的計算并據(jù)此編寫程序。</p><p><b> 定時程序分析</b></
112、p><p> 將時鐘的星期、時、分、秒先后賦值給A,判斷是否與設(shè)定的鬧鈴時間一致,不等則跳出子程序返回主程序繼續(xù)執(zhí)行下一步,相等則跳轉(zhuǎn)到TSR子程序。</p><p> 定時時間由外部中斷4控制,每按一下,其值增加一,時、分、秒、星期由開關(guān)按鍵K1,K2,K3,K4控制。將P5給20H判斷位00H、01H、02H、03H是否為0,不為0跳轉(zhuǎn)到時分秒程序中。在43H、42H、41H、40H中
113、存放星期、時、分、秒。當(dāng)系統(tǒng)設(shè)定的秒、分、時、星期與顯示的時間都相等時LED燈亮,表示鬧鈴時間到。期間時間會繼續(xù)顯示,但LED燈依舊亮,閉合K1、K2、K3、K4按下KEY4鍵可熄滅LED燈。</p><p> 定時功能還可以通過K7來控制關(guān)閉K7則顯示器顯示DINGSHI OFF 提示定時功能關(guān)閉。</p><p> DING: MOV A,33H ;判斷鬧鐘是否啟動
114、</p><p> CJNE A,43H,N ;判斷 星期是否相同</p><p> MOV A,32H </p><p> CJNE A,42H,N ;判斷時是否相同</p><p> MOV A,31H </p><p> CJN
115、E A,41H,N ;判斷分是否相同</p><p> MOV A,30H</p><p> CJNE A,40H,N ;判斷秒是否相同</p><p> LJMP TSR ;都相同時跳到TSR</p><p> N: RET ;有一個不相同則返回
116、主程序</p><p><b> TSR: </b></p><p> MOV P1,#00H ;LED燈循環(huán)閃爍 </p><p><b> RET</b></p><p> 由于定時時間到的時候燈亮不能自主熄滅所以 設(shè)定當(dāng)K1、K2、K3、K4都關(guān)閉時用KEY4來關(guān)
117、閉指示燈。</p><p> KEY4: LCALL T2 </p><p> LCALL TIME ;顯示</p><p> MOV P3IF,#00H</p><p><b> RETI</b></p><p> T2: MOV 20H,P5
118、 ;定時程序</p><p> JNB 00H,SHI1</p><p> JNB 01H,FEN1</p><p> JNB 02H,MIAO1</p><p> JNB 03H,XQ1 </p><p> MOV P1,#0FFH ;關(guān)
119、閉鬧鐘</p><p><b> RET</b></p><p><b> 校時程序分析</b></p><p> 校時程序包括時分秒和日期的校時,由于控制開關(guān)不是很多所以我用了K5來先選擇對時分秒校時和對日期校時。</p><p> 當(dāng)K5關(guān)閉時通過開關(guān)K1、K2、K3、K4來選擇對時分秒
120、的時位分位秒位和星期位的校準(zhǔn)并通過按KEY3來進(jìn)行加一調(diào)整。</p><p> 當(dāng)K5打開時同理調(diào)整日期實現(xiàn)對日期的校準(zhǔn)。</p><p><b> 顯示程序分析</b></p><p> 該部分主要是將隨時變化的時間及定時時間顯示到液晶顯示屏上,因此我設(shè)計以下的程序。先定義各端口的用途,關(guān)看門狗,確定端口輸出方式等先將秒分時轉(zhuǎn)換成ASC
121、II碼,存儲在40H,41H中,再將其賦予R4進(jìn)行顯示,。</p><p> 將秒的各位和十位分別賦給R0,在調(diào)用子程序LINE1利用查表將其顯示。程序雖然正確但還是無法顯示動態(tài)值。將時賦予A,使其高四位與低四位交換,再跳轉(zhuǎn)到子程序屏蔽高四位,顯示低四位值;再將時賦予R0,跳入子程序屏蔽高四位顯示低四位,。同理顯示分、秒需注意的是:再將時分秒賦予R0時,需將其轉(zhuǎn)換為十進(jìn)制,以便其顯示的是十進(jìn)制數(shù)。</p&
122、gt;<p> TIME: CLR A ;液晶顯示程序</p><p> MOV XBR0, A</p><p> LCALL LCD</p><p> MOV DPTR,#NCD</p><p> MOV 20H,P5</p><p>
123、JNB 05H,LP1 ;選擇顯示時間/日期。通過判斷K5來跳入不同的 程序來顯示日期和時間</p><p> LOP1:MOV 20H,P5</p><p> JNB 06H,LP3 ;關(guān)閉定時顯示。通過K6來控制定時鬧鐘功能的開關(guān)在這里判斷K5的狀態(tài)跳入不同的程序顯示不同的內(nèi)容。</p><p> LP3: MOV
124、DPTR,#NFD </p><p> MOV P7,#0C0H ;以下部分程序為了顯示“DINGSHI OFF”</p><p><b> 主要元器件介紹</b></p><p> C8051F系列單片機(jī)是cygnal出的一種混合信號系統(tǒng)級單片機(jī)。片內(nèi)含CIP-51的CPU內(nèi)核,其指令系統(tǒng)與MCS-51完全兼容
125、。</p><p> 而C8051F020單片機(jī)是該系列中一個比較有代表性的型號,它是完全集成的混合信號系統(tǒng)級SCM芯片,含有64kB片內(nèi)Flash程序存儲器,4352B的RAM、8個I/O端口共64根I/O口線、一個12位A/D轉(zhuǎn)換器和一個8位A/D轉(zhuǎn)換器以及一個雙12位D/A轉(zhuǎn)換器、2個比較器、5個16位通用定時器、5個捕捉/比較模塊的可編程計數(shù)/定時器陣列、看門狗定時器、VDD監(jiān)視器和溫度傳感器等部分。C
126、8051F020單片機(jī)支持雙時鐘。</p><p> 其工作電壓范圍為2.7~3.6V(端口I/O,RST和JTAG引腳的耐壓為5V)。與以前的51系列單片機(jī)相比,C8051F020增添了許多功能,同時其可靠性和速度也有了很大提高。</p><p> 其原理圖如下圖所示:</p><p><b> 圖6.1</b></p>
127、<p> 液晶顯示屏(LCD)用于數(shù)字型鐘表和許多便攜式計算機(jī)的一種顯示器類型。LCD顯示使用了兩片極化材料,在它們之間是液體水晶溶液。電流通過該液體時會使水晶重新排列,以使光線無法透過它們。因此,每個水晶就像百葉窗,既能允許光線穿過又能擋住光線。</p><p> 液晶顯示器(LCD)目前科技信息產(chǎn)品都朝著輕、薄、短、小的目標(biāo)發(fā)展,在計算機(jī)周邊中擁有悠久歷史的顯示器產(chǎn)品當(dāng)然也不例外。在便于攜帶與搬
128、運(yùn)為前題之下,傳統(tǒng)的顯示方式如CRT映像管顯示器及LED顯示板等等,皆受制于體積過大或耗電量甚巨等因素,無法達(dá)成使用者的實際需求。而液晶顯示技術(shù)的發(fā)展正好切合目前信息產(chǎn)品的潮流,無論是直角顯示、低耗電量、體積小、還是零輻射等優(yōu)點,都能讓使用者享受最佳的視覺環(huán)境。</p><p> 液晶顯示器,依驅(qū)動方式來分類可分為靜態(tài)驅(qū)動(Static)、單純矩陣驅(qū)動(Simple Matrix)以及主動矩陣驅(qū)動(Active
129、 Matrix)三種。其中,被動矩陣型又可分為扭轉(zhuǎn)式向列型(Twisted Nematic;TN)、超扭轉(zhuǎn)式向列型(Super Twisted Nematic;STN)及其它被動矩陣驅(qū)動液晶顯示器;而主動矩陣型大致可區(qū)分為薄膜式晶體管型(Thin Film Transistor;TFT)及二端子二極管型(Metal/Insulator/Metal;MIM)二種方式。</p><p><b> 其樣式如
130、下圖所示:</b></p><p><b> 圖6.2</b></p><p><b> 總結(jié)</b></p><p> 兩周的課程設(shè)計終于結(jié)束了。在這兩周的時間里,我學(xué)到了很多。通過這兩周的課設(shè),我學(xué)到了更多單片機(jī)技術(shù)方面的知識,所學(xué)的課本知識也更加扎實。</p><p> 除
131、此之外,通過這次課程設(shè)計,加強(qiáng)了我們動手、思考和解決問題的能力。在整個設(shè)計過程中,經(jīng)常會遇到這樣那樣的情況,就是心里想老著這樣的方法可以行得通,但實際編寫的程序總是實現(xiàn)不了,因此耗費(fèi)在這上面的時間用去很多。</p><p> 我覺得做課程設(shè)計同時也是對課本知識的鞏固和加強(qiáng),由于課本上的知識太多,平時課間的學(xué)習(xí)并不能很好的理解和運(yùn)用各個元件的功能,而且考試內(nèi)容有限,所以在這次課程設(shè)計過程中,我們了解了很多功能的應(yīng)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- eda課程設(shè)計---多功能數(shù)字時鐘報告
- 多功能數(shù)字時鐘課程設(shè)計
- 多功能數(shù)字時鐘課程設(shè)計
- eda課程設(shè)計報告(多功能數(shù)字時鐘的設(shè)計)
- 單片機(jī)課程設(shè)計-多功能時鐘
- 單片機(jī)課程設(shè)計---多功能時鐘
- 單片機(jī)課程設(shè)計---多功能時鐘設(shè)計
- 單片機(jī)課程設(shè)計---多功能時鐘設(shè)計
- 數(shù)字電路課程設(shè)計----多功能數(shù)字時鐘
- 多功能數(shù)字時鐘 單片機(jī)課程設(shè)計
- eda課程設(shè)計---關(guān)于多功能數(shù)字時鐘的設(shè)計
- 數(shù)字電路課程設(shè)計-多功能數(shù)字時鐘設(shè)計
- 數(shù)字電子技術(shù)課程設(shè)計--多功能時鐘設(shè)計
- 單片機(jī)課程設(shè)計---多功能電子時鐘設(shè)計
- 單片機(jī)課程設(shè)計--多功能電子時鐘
- 電子綜合課程設(shè)計——多功能數(shù)字電子時鐘
- 時鐘課程設(shè)計報告
- 電子技術(shù)課程設(shè)計----多功能電子時鐘的設(shè)計
- vb時鐘課程設(shè)計報告---模擬時鐘
- 多功能數(shù)字鐘課程設(shè)計報告
評論
0/150
提交評論