

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 單片機(jī)技術(shù)課程設(shè)計(jì)說明書</p><p><b> 數(shù) 字 電 子 鐘</b></p><p> 院 、 部: 電氣與信息工程學(xué)院 </p><p> 學(xué)生姓名: </p><p> 指導(dǎo)教師: 職稱 副教授 </p><p>
2、 專 業(yè): 自動(dòng)化 </p><p> 班 級(jí): </p><p> 完成時(shí)間: </p><p><b> 摘 要</b></p><p> 電子鐘在生活中應(yīng)用非常廣泛,而一種簡(jiǎn)單方便的數(shù)字電子鐘則更能受到人們的
3、歡迎。所以設(shè)計(jì)一個(gè)簡(jiǎn)易數(shù)字電子鐘很有必要。本電子鐘采用ATMEL公司的AT89S52單片機(jī)為核心,使用12MHz 晶振與單片機(jī)AT89S52 相連接,通過軟件編程的方法實(shí)現(xiàn)以24小時(shí)為一個(gè)周期,同時(shí)8位7段LED數(shù)碼管(兩個(gè)四位一體數(shù)碼管)顯示小時(shí)、分鐘和秒的要求,并在計(jì)時(shí)過程中具有定時(shí)功能,當(dāng)時(shí)間到達(dá)提前定好的時(shí)間進(jìn)行蜂鳴報(bào)時(shí)。該電子鐘設(shè)有四個(gè)按鍵K1、K2、K3和K4鍵,進(jìn)行相應(yīng)的操作就可實(shí)現(xiàn)校時(shí)、定時(shí)、復(fù)位功能。具有時(shí)間顯示、整點(diǎn)
4、報(bào)時(shí)、校正等功能。走時(shí)準(zhǔn)確、顯示直觀、運(yùn)行穩(wěn)定等優(yōu)點(diǎn)。具有極高的推廣應(yīng)用價(jià)值。</p><p> 關(guān)鍵詞 電子鐘;AT89S52;硬件設(shè)計(jì);軟件設(shè)計(jì)</p><p><b> ABSTRACT</b></p><p> Clock is widely used in life, and a simple digital clock is
5、 more welcomed by people. So to design a simple digital electronic clock is necessary.The system use a single chip AT89S52 of ATMEL’s as its core to control The crystal oscillator clock,using of E-12MHZ is connected with
6、 the microcontroller AT89S52, through the software programming method to achieve a 24-hour cycle, and eight 7-segment LED digital tube (two four in one digital tube) displays hours, minutes and seconds requirements, and
7、i</p><p> 顯示對(duì)應(yīng)的拉丁字符的拼音</p><p> 字典 - 查看字典詳細(xì)內(nèi)容</p><p> Key words Electronic clock;;AT89S52;Hardware Design;Software Design</p><p><b> 目 錄</b></p>
8、<p> 設(shè)計(jì)課題任務(wù)、功能要求說明及方案介紹……………………………………1</p><p> 設(shè)計(jì)課題任務(wù)………………………………………………………………1</p><p> 功能要求說明………………………………………………………………1</p><p> 設(shè)計(jì)總體方案介紹及原理說明……………………………………………1</p>&
9、lt;p> 設(shè)計(jì)課題硬件系統(tǒng)的設(shè)計(jì)………………………………………………………2</p><p> 設(shè)計(jì)課題硬件系統(tǒng)各模塊功能簡(jiǎn)要介紹…………………………………2</p><p> 設(shè)計(jì)課題電路原理圖、PCB圖、元器件布局圖 …………………………2</p><p> 設(shè)計(jì)課題元器件清單………………………………………………………3</p>&
10、lt;p> 設(shè)計(jì)課題軟件系統(tǒng)的設(shè)計(jì)………………………………………………………5</p><p> 設(shè)計(jì)課題使用單片機(jī)資源的情況…………………………………………5</p><p> 設(shè)計(jì)課題軟件系統(tǒng)各模塊功能簡(jiǎn)要介紹…………………………………5</p><p> 設(shè)計(jì)課題軟件系統(tǒng)程序流程框圖…………………………………………5</p><
11、;p> 設(shè)計(jì)課題軟件系統(tǒng)程序清單………………………………………………9</p><p> 設(shè)計(jì)結(jié)論、仿真結(jié)果、誤差分析、教學(xué)建議…………………………………20</p><p> 設(shè)計(jì)課題的設(shè)計(jì)結(jié)論及使用說明…………………………………………20</p><p> 設(shè)計(jì)課題的仿真結(jié)果………………………………………………………20</p>&l
12、t;p> 設(shè)計(jì)課題的誤差分析………………………………………………………21</p><p> 設(shè)計(jì)體會(huì)……………………………………………………………………21</p><p> 教學(xué)建議……………………………………………………………………21</p><p> 參考文獻(xiàn) ……………………………………………………………………………23</p>
13、<p> 致 謝 ……………………………………………………………………………24</p><p> 附 錄 ……………………………………………………………………………25</p><p> 1 設(shè)計(jì)課題任務(wù)、功能要求說明及方案介紹</p><p> 1.1 設(shè)計(jì)課題任務(wù)</p><p> 設(shè)計(jì)一個(gè)具有特
14、定功能的電子鐘。具有時(shí)間顯示、報(bào)時(shí)等功能。并有時(shí)間設(shè)定,時(shí)間調(diào)整功能。</p><p> 1.2 功能要求說明</p><p> 設(shè)計(jì)一個(gè)具有特定功能的電子鐘。該電子鐘上電或按鍵復(fù)位后能自動(dòng)顯示系統(tǒng)提示符“P.”, 進(jìn)入時(shí)鐘準(zhǔn)備狀態(tài);第一次按電子鐘啟動(dòng)/調(diào)整鍵,電子鐘從0時(shí)0分0秒開始運(yùn)行,進(jìn)入時(shí)鐘運(yùn)行狀態(tài);再次按電子鐘啟動(dòng)/調(diào)整鍵,則電子鐘進(jìn)入時(shí)鐘調(diào)整狀態(tài),此時(shí)可利用各調(diào)整鍵調(diào)整時(shí)
15、間,調(diào)整結(jié)束后可按啟動(dòng)/調(diào)整鍵再次進(jìn)入時(shí)鐘運(yùn)行狀態(tài)。</p><p> 1.3 設(shè)計(jì)課題總體方案介紹及工作原理說明</p><p> 本電子鐘主要由單片機(jī)、4*1獨(dú)立鍵盤、顯示接口電路和復(fù)位電路構(gòu)成,設(shè)計(jì)課題的總體方案如圖1.1所示: </p><p> 圖1.1 總體設(shè)計(jì)方案圖</p><p> 本電子鐘的所有的軟件、參數(shù)均存放
16、在AT89S52的內(nèi)部ROM和內(nèi)部RAM中,減少了芯片的使用數(shù)量簡(jiǎn)化了整體電路也降低了整機(jī)的工作電流。鍵盤采用動(dòng)態(tài)掃描方式。利用單片機(jī)定時(shí)器及計(jì)數(shù)器產(chǎn)生定時(shí)效果通過編程形成數(shù)字鐘效果,再利用數(shù)碼管動(dòng)態(tài)掃描顯示單片機(jī)內(nèi)部處理的數(shù)據(jù),同時(shí)通過端口讀入當(dāng)前外部控制狀態(tài)來改變程序的不同狀態(tài),實(shí)現(xiàn)不同功能。</p><p> 2 設(shè)計(jì)課題硬件系統(tǒng)的設(shè)計(jì)</p><p> 設(shè)計(jì)課題硬件系統(tǒng)各模塊
17、功能簡(jiǎn)要介紹</p><p> 本設(shè)計(jì)的硬件系統(tǒng)主要采用以下基本模塊來實(shí)現(xiàn),單片機(jī)最小系統(tǒng)模塊,輸入模塊、輸出模塊、電源模塊。</p><p> ?。?)單片機(jī)最小系統(tǒng)模塊:包括低功耗、高性能CMOS8位微控制器AT89S52;復(fù)位電路;晶振電路。本模塊AT89S52系統(tǒng)控制核心,單片機(jī)系統(tǒng)復(fù)位由復(fù)位電路完成,單片機(jī)內(nèi)部有一個(gè)高增益、反相放大器,其輸入端為芯片引腳XTAL1,其輸出端位位
18、引腳XTAL2。通過這兩個(gè)引腳在芯片外并接石英晶體振蕩器和兩只電容。這樣就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。 </p><p> ?。?)輸入模塊:本模塊共用到了5個(gè)按鍵,1個(gè)復(fù)位鍵,單片機(jī)接通電源后,利用按鍵復(fù)位完成復(fù)位操作。,K1鍵控制電子鐘的啟動(dòng)\調(diào)整狀態(tài),做正常走時(shí)狀態(tài)時(shí)K2為電子鐘時(shí)調(diào)整鍵,K3為電子鐘分調(diào)整鍵,K4鍵為電子鐘秒調(diào)整鍵,當(dāng)作為鬧鐘調(diào)整狀態(tài)時(shí)K4鍵為鬧鐘啟動(dòng)/關(guān)閉,K2為鬧鐘時(shí)調(diào)整鍵,K3為鬧鐘分
19、調(diào)整鍵。K1、K2、K3,K4任一鍵都獨(dú)自連一個(gè)I/O(P1.0、P1.1、P1.2)口線,說明它們可以獨(dú)立實(shí)現(xiàn)相應(yīng)的電子鐘功能。</p><p> (3)輸出模塊:本次設(shè)計(jì)顯示為8位字符,采用兩個(gè)四位一體數(shù)碼管(共陽極)作為顯示窗口,既可以節(jié)約成本又能簡(jiǎn)化電路。數(shù)碼管用8個(gè)PNP三極管驅(qū)動(dòng)。</p><p> ?。?)電源模塊:現(xiàn)在市面上銷售的編程器有很多都是由PC機(jī)的USB口直接供電
20、為了降低本設(shè)計(jì)的成本及節(jié)省設(shè)計(jì)時(shí)間,沒有另外設(shè)計(jì)編程器,而直接購(gòu)買了市場(chǎng)上的USB供電及下載器。</p><p> 設(shè)計(jì)課題電路原理圖、PCB圖、元器件布局圖</p><p> 圖2.1 電路原理圖</p><p><b> 圖2.2 PCB圖</b></p><p> 圖2.3 元器件布局圖</p>
21、<p><b> 設(shè)計(jì)課題元器件清單</b></p><p> 表2.1 設(shè)計(jì)所用元器件清單</p><p> 3 設(shè)計(jì)課題軟件系統(tǒng)的設(shè)計(jì)</p><p> 3.1 設(shè)計(jì)課題使用單片機(jī)資源的情況</p><p> 設(shè)計(jì)課題使用單片機(jī)資源的情況如下:</p><p>
22、 P0口輸出數(shù)碼管段控信號(hào),P2口輸出數(shù)碼管位控信號(hào);晶振12MHz;時(shí)間調(diào)整開關(guān)鍵K1:P1.0;通過K1切換電子鐘走時(shí)/暫停;時(shí)調(diào)整鍵K2:P1.1;按一次使電子鐘時(shí)加1;分調(diào)整鍵K3:P1.2;按一次使電子鐘分加1;秒調(diào)整鍵K4:P1.3按一次使電子鐘秒加1/鬧鐘開啟或關(guān)閉;蜂鳴器接:P3.1;整點(diǎn)和鬧鐘時(shí)間到時(shí)蜂鳴器報(bào)時(shí);28H-36H;9個(gè)寄存器單元作為顯示單元; </p><p> 28H 鬧鈴小時(shí)
23、緩沖區(qū);29H鬧鈴分鐘緩沖區(qū);</p><p> 30H 位選通控制位; 31H 顯示位數(shù)計(jì)數(shù)器;</p><p> 32H 走時(shí)小時(shí)緩沖區(qū);33H 走時(shí)分鐘緩沖區(qū);</p><p> 34H走時(shí)秒緩沖區(qū); 35H 定時(shí)器中斷次數(shù)計(jì)數(shù)器;</p><p> 36H顯示緩沖區(qū)首地址;</p><p> 設(shè)
24、計(jì)課題軟件系統(tǒng)個(gè)模塊功能簡(jiǎn)要介紹</p><p> 本設(shè)計(jì)的軟件系統(tǒng)主要采用以下基本模塊來實(shí)現(xiàn),主程序、中斷服務(wù)程序、鍵盤輸入程序模塊、數(shù)碼管及其驅(qū)動(dòng)模塊和延時(shí)模塊。</p><p> 主程序:主要是用于對(duì)輸入信號(hào)的處理、輸出信號(hào)的控制和對(duì)各個(gè)功能程序模塊的運(yùn)用及其控制。</p><p> 中斷服務(wù)程序:主要是用于電子鐘的準(zhǔn)確運(yùn)行、數(shù)據(jù)輸入過程中的閃爍。<
25、;/p><p> 鍵盤輸入程序模塊:主要是用于確定按鍵并得到特定的鍵碼值。</p><p> 數(shù)碼管及其驅(qū)動(dòng)模塊:主要是用于驅(qū)動(dòng)數(shù)碼管及利用數(shù)碼管顯示時(shí)間。</p><p> 延時(shí)模塊:程序中有兩種延時(shí)子程序,一種是短延時(shí)用于判鍵按下等,一種是長(zhǎng)延時(shí)。</p><p> 3.3 設(shè)計(jì)課題軟件系統(tǒng)程序流程框圖</p><
26、;p> 系統(tǒng)軟件采用匯編語言按模塊化方式進(jìn)行設(shè)計(jì),然后通過Keil軟件開發(fā)平臺(tái)將程</p><p> 序轉(zhuǎn)變成十六進(jìn)制程序語言,接著使用Proteous 進(jìn)行仿真,讀出顯示數(shù)據(jù)。</p><p> 圖3.1 主程序流程框圖</p><p> 圖3.2 定時(shí)器初始化子程序流程框圖</p><p> 圖3.3 轉(zhuǎn)換子程序&l
27、t;/p><p> 圖3.4動(dòng)態(tài)顯示子程序 圖3.5定時(shí)器1中斷服務(wù)程序</p><p> 圖3.6 按鍵處理子程序流程框圖</p><p> 3.4設(shè)計(jì)課題軟件系統(tǒng)程序清單</p><p> ;===========================================================
28、============</p><p> ;課程設(shè)計(jì)名稱:數(shù)字電子鐘</p><p> ; 要求:<一>.顯示系統(tǒng)提示符“P.”</p><p> ; <二>.定義5個(gè)功能鍵:分別是復(fù)位鍵,啟動(dòng)/暫停鍵,時(shí)調(diào)整鍵,分調(diào)整鍵,秒調(diào)整鍵</p><p> ;
29、 <三>.在系統(tǒng)提示符狀態(tài)下,只有按啟動(dòng)鍵/暫停鍵才能開啟電子鐘</p><p> ; <四>.在電子鐘運(yùn)行狀態(tài)下,只有按啟動(dòng)鍵/暫停鍵才能調(diào)整電子鐘</p><p> ; 附加功能:<一>.能自動(dòng)正點(diǎn)報(bào)時(shí)</p><p> ; <二>.能設(shè)定鬧鐘</p>
30、;<p> ; 作者:自本1004班王文亮</p><p> ; 完成時(shí)間:2012年12月24日</p><p> ; 電路描述:P0口為數(shù)碼管段控口,P2口為數(shù)碼管位控口,蜂鳴器接P3.1口,LED燈接P3.7口</p><p> ;===========================================
31、===========================</p><p> ;===============================================</p><p> ; 程序定義段</p><p> ;===============================================</p>&
32、lt;p> ALARM BIT 20H.0</p><p> K1 BIT P1.0</p><p> K2 BIT P1.1</p><p> K3 BIT P1.2</p><p> K4 BI
33、T P1.3</p><p> HOUR_A EQU 28H</p><p> MIN_A EQU 29H</p><p> DISP_DIGIT EQU 30H</p><p> DISP_SEL EQU 31H</p><
34、;p> HOUR EQU 32H</p><p> MIN EQU 33H</p><p> SEC EQU 34H</p><p> T1_COUNT EQU 35H</p><p> DISP_BUF EQU
35、 36H</p><p> ;================================================</p><p> ; 主程序開始</p><p> ;================================================</p><p> ORG
36、 0000H</p><p> LOOP: MOV P0, #0CH</p><p> MOV P2, #7FH</p><p> JB P1.0, LOOP</p><p> LCALL DELAY_10ms </p><
37、p> JB P1.0, LOOP</p><p> JNB P1.0, $</p><p> LJMP MAIN</p><p> ORG 000BH</p><p> LJMP TIME0</p><p>
38、 ORG 001BH</p><p> LJMP TIME1</p><p> ORG 0100H</p><p> MAIN: MOV SP, #70H</p><p> MOV P0, #0FFH</p><
39、p> MOV P2, #0FFH</p><p> CLR ALARM</p><p> MOV HOUR_A, #12</p><p> MOV MIN_A, #00</p><p> MOV HOUR, #0<
40、/p><p> MOV MIN, #0</p><p> MOV SEC, #0</p><p> MOV T1_COUNT, #0</p><p> MOV DISP_DIGIT,#7FH</p><p> MOV
41、DISP_SEL, #0</p><p> MOV DISP_BUF+2,#10</p><p> MOV DISP_BUF+5,#10</p><p> ACALL T0T1_INIT</p><p> START: ACALL CONV</p><p>
42、 ACALL ALA_CHECK</p><p> JB K1, K1_NEXT</p><p> ACALL LIGHT</p><p> ACALL KEY_PROC</p><p> AJMP START</p><p> K1_
43、NEXT: JB K2, K2_NEXT</p><p> AJMP START</p><p> K2_NEXT: JB K3, K3_NEXT</p><p> AJMP START</p><p> K3_NEXT: JB
44、K4, K4_NEXT</p><p> ACALL LIGHT</p><p> ACALL ALARM_SET</p><p> CPL ALARM</p><p> JNB ALARM, STOP_BEEP</p><p> ACAL
45、L LIGHT</p><p> ACALL LIGHT</p><p> ACALL LIGHT</p><p> AJMP START</p><p> STOP_BEEP:ACALL LIGHT </p><p> K4_NEXT: A
46、JMP START</p><p> ;=================================================</p><p> ; 定時(shí)器T0.T1初始化子程序</p><p> ;=================================================</p>
47、<p> T0T1_INIT:MOV TMOD, #11H</p><p> MOV TH0, #0F8H</p><p> MOV TL0, #0CCH</p><p> MOV TH1, #0DCH</p><p>
48、MOV TL1, #00H</p><p> SETB EA</p><p> SETB ET0</p><p> SETB ET1</p><p> SETB TR0</p><p> SETB TR1</
49、p><p><b> RET</b></p><p> ;=================================================</p><p> ; 走時(shí)轉(zhuǎn)換子程序</p><p> ;===========================================
50、======</p><p> CONV: MOV A, HOUR</p><p> MOV B, #10</p><p> DIV AB</p><p> MOV DISP_BUF, A</p><p> MO
51、V A, B</p><p> MOV DISP_BUF+1,A</p><p> MOV A, MIN</p><p> MOV B, #10</p><p> DIV AB</p><p>
52、 MOV DISP_BUF+3,A</p><p> MOV A, B</p><p> MOV DISP_BUF+4,A</p><p> MOV A, SEC</p><p> MOV B, #10</p&
53、gt;<p> DIV AB</p><p> MOV DISP_BUF+6,A</p><p> MOV A, B</p><p> MOV DISP_BUF+7,A</p><p><b> RET</b></p&g
54、t;<p> ;==================================================</p><p> ; 定時(shí)器T0中斷服務(wù)程序,用于數(shù)碼管掃描</p><p> ;==================================================</p><p> TIME0
55、: PUSH ACC</p><p> PUSH PSW</p><p> MOV TH0, #0F8H</p><p> MOV TL0, #0CCH</p><p> ACALL DISP</p><p> POP
56、 PSW</p><p> POP ACC</p><p><b> RETI</b></p><p> ;===================================================</p><p> ; 顯示子程序</p>&
57、lt;p> ;=================================================== </p><p> DISP: MOV P2, #0FFH</p><p> MOV A, #DISP_BUF</p><p> ADD A,
58、 DISP_SEL</p><p> MOV R0, A</p><p> MOV A, @R0</p><p> MOV DPTR, #TAB</p><p> MOVC A, @A+DPTR</p&g
59、t;<p> MOV P0, A</p><p> MOV P2, DISP_DIGIT</p><p> MOV A, DISP_DIGIT</p><p> RR A</p><p> MOV DIS
60、P_DIGIT,A</p><p> INC DISP_SEL</p><p> MOV A, DISP_SEL</p><p> CLR C</p><p> SUBB A, #8</p><p> JZ
61、RST_0</p><p> AJMP DISP_RET</p><p> RST_0: MOV DISP_SEL, #0</p><p> DISP_RET: RET</p><p> ;==================================================</p
62、><p> ; 定時(shí)器T1中斷服務(wù)程序,用于電子鐘走時(shí)</p><p> ;==================================================</p><p> TIME1: PUSH PSW</p><p> PUSH ACC</p><
63、p> MOV TH1, #0DCH</p><p> MOV TL1, #00H</p><p> INC T1_COUNT</p><p> MOV A, T1_COUNT</p><p> CLR C<
64、/p><p> SUBB A, #100</p><p> JC END_T1</p><p> MOV T1_COUNT, #00H</p><p> INC SEC</p><p> MOV A, S
65、EC</p><p> CJNE A, #60, END_T1</p><p> INC MIN</p><p> MOV SEC, #0</p><p> MOV A, MIN</p><p>
66、CJNE A, #60, END_T1</p><p> INC HOUR</p><p> LCALL BEEP</p><p> LCALL BEEP</p><p> LCALL BEEP</p><p> LCALL
67、 BEEP</p><p> LCALL BEEP</p><p> MOV MIN, #0</p><p> MOV A, HOUR </p><p> CJNE A, #24, END_T1</p&
68、gt;<p> MOV SEC, #0</p><p> MOV MIN, #0</p><p> MOV HOUR, #0</p><p> END_T1: POP ACC</p><p> POP PS
69、W</p><p><b> RETI</b></p><p> ;==================================================</p><p> ; 數(shù)碼管段控碼表</p><p> ;===================================
70、===============</p><p> TAB: DB 0C0H,0F9H,0A4H,0B0H,099H</p><p> DB 092H,082H,0F8H,080H,090H</p><p><b> DB 0BFH</b></p><p><b> DB 0FFH</b&
71、gt;</p><p> ;==================================================</p><p> ; 按鍵處理子程序</p><p> ;==================================================</p><p> KEY_PR
72、OC: CLR TR1</p><p> KEY2: JB K2, KEY3</p><p> ACALL DELAY_10ms</p><p> JB K2, KEY3</p><p> JNB K2, $&
73、lt;/p><p> INC HOUR</p><p> MOV A, HOUR</p><p> CJNE A, #24, KEY2_NEXT</p><p> MOV HOUR, #0</p><p>
74、 KEY2_NEXT:ACALL CONV</p><p> AJMP KEY2</p><p> KEY3: JB K3, KEY4</p><p> ACALL DELAY_10ms</p><p> JB K3, KEY4&
75、lt;/p><p> JNB K3, $</p><p> INC MIN</p><p> MOV A, MIN</p><p> CJNE A, #60, KEY3_NEXT</p><p> M
76、OV MIN, #0 </p><p> KEY3_NEXT:ACALL CONV</p><p> AJMP KEY2</p><p> KEY4: JB K4, KEY1</p><p> ACALL DELAY_10ms</
77、p><p> JB K4, KEY1</p><p> JNB K4, $</p><p> INC SEC</p><p> MOV A, SEC</p><p> CJNE A,
78、 #60, KEY4_NEXT</p><p> MOV SEC, #0</p><p> KEY4_NEXT:ACALL CONV</p><p> AJMP KEY1</p><p> KEY1: JB K1, KEY2</
79、p><p> ACALL DELAY_10ms</p><p> JB K1, KEY2</p><p> JNB K1, $</p><p> ACALL LIGHT</p><p> SETB TR1</p&g
80、t;<p> KEY_RET: RET</p><p> ;=================================================</p><p> ; LED燈亮子程序</p><p> ;=================================================</
81、p><p> LIGHT: CLR P3.7</p><p> ACALL DELAY_100ms</p><p> SETB P3.7</p><p> ACALL DELAY_100ms</p><p><b> RET</b><
82、/p><p> ;=================================================</p><p> ; 蜂鳴器響子程序</p><p> ;=================================================</p><p> BEEP: CLR
83、 P3.1</p><p> ACALL DELAY_100ms</p><p> SETB P3.1</p><p> ACALL DELAY_100ms</p><p><b> RET</b></p><p> ;=============
84、========================================</p><p> ; 鬧鐘檢查及處理子程序</p><p> ;=====================================================</p><p> ALA_CHECK:JNB ALARM, CHEC
85、K_RET</p><p> MOV A, HOUR</p><p> MOV B, HOUR_A</p><p> CJNE A, B, CHECK_RET</p><p> MOV A, M
86、IN</p><p> MOV B, MIN_A</p><p> CJNE A, B, CHECK_RET</p><p> TIME_OUT:ACALL BEEP</p><p> ACALL CONV</p><p&
87、gt; JB K4, TIME_OUT</p><p> JNB K4, $</p><p> CLR ALARM</p><p> CHECK_RET:RET</p><p> ;======================================
88、================</p><p> ; 鬧鐘時(shí)間設(shè)置子程序</p><p> ;======================================================</p><p> ALARM_SET:ACALL CONV_A</p><p> AKEY2: J
89、B K2, AKEY3</p><p> ACALL DELAY_10ms</p><p> JB K2, AKEY3</p><p> JNB K2, $</p><p> INC HOUR_A</p&g
90、t;<p> MOV A, HOUR_A</p><p> CJNE A, #24, AKEY2_NEXT</p><p> MOV HOUR_A, #0</p><p> AKEY2_NEXT:ACALL CONV_A</p&
91、gt;<p> AJMP AKEY2</p><p> AKEY3: JB K3, AKEY4</p><p> ACALL DELAY_10ms</p><p> JB K3, AKEY4</p><p> JNB
92、 K3, $</p><p> INC MIN_A</p><p> MOV A, MIN_A</p><p> CJNE A, #60, AKEY3_NEXT</p><p> MOV MIN_A,
93、 #0</p><p> AKEY3_NEXT:ACALL CONV_A</p><p> AJMP AKEY2</p><p> AKEY4: JB K4, AKEY2</p><p> JNB K4, $</p>&l
94、t;p> ACALL LIGHT</p><p> ACALL CONV</p><p> AKEY_RET: RET</p><p> ;========================================================</p><p> ; 鬧鐘時(shí)間轉(zhuǎn)換子程
95、序</p><p> ;========================================================</p><p> CONV_A: MOV A, HOUR_A</p><p> MOV B, #10</p><p> DIV
96、 AB</p><p> MOV DISP_BUF, A</p><p> MOV A, B</p><p> MOV DISP_BUF+1, A</p><p> MOV A, MIN_A</p><
97、;p> MOV B, #10</p><p> DIV AB</p><p> MOV DISP_BUF+3, A</p><p> MOV A, B</p><p> MOV DISP_BUF+4, A</
98、p><p> MOV DISP_BUF+6, #0</p><p> MOV DISP_BUF+6, #0</p><p><b> RET </b></p><p> DELAY_100ms:</p><p> MOV R7,
99、 #13H</p><p><b> DL1:</b></p><p> MOV R6, #14H</p><p><b> DL0:</b></p><p> MOV R5, #82H</p><p>
100、; DJNZ R5, $</p><p> DJNZ R6, DL0</p><p> DJNZ R7, DL1</p><p><b> RET</b></p><p> DELAY_10ms:</p><
101、p> MOV R7, #01H</p><p><b> DL3:</b></p><p> MOV R6, #26H</p><p><b> DL2:</b></p><p> MOV R5,
102、 #82H</p><p> DJNZ R5, $</p><p> DJNZ R6, DL2</p><p> DJNZ R7, DL3</p><p><b> RET</b></p><p><
103、;b> END</b></p><p> 4 設(shè)計(jì)結(jié)論、仿真結(jié)果、誤差分析、教學(xué)建議</p><p> 4.1 設(shè)計(jì)課題的設(shè)計(jì)結(jié)論及使用說明</p><p> 本設(shè)計(jì)為基于單片機(jī)的電子鐘的設(shè)計(jì)。剛開始,我們很多地方理不清頭緒,無從下手,但通過認(rèn)真研究設(shè)計(jì)課題,找書上網(wǎng)查資料買元件,確定基本設(shè)計(jì)方案,對(duì)所用芯片功能進(jìn)行查找、調(diào)試,然后畫電
104、路圖制PCB板、打孔、溶銅、焊接等,真的經(jīng)歷了許多困難,卻積累了很多寶貴的經(jīng)驗(yàn),本設(shè)計(jì)用2個(gè)四位一體的共陽數(shù)碼管做為顯示器,它顯示時(shí)間值;設(shè)計(jì)中有三個(gè)按鍵,其中S1為啟動(dòng)/選擇調(diào)整位置,S2為加控制鍵 S3為減控制鍵,當(dāng)整點(diǎn)時(shí)間到時(shí),蜂鳴器報(bào)警。這樣的結(jié)果與設(shè)計(jì)要求完全相符,本設(shè)計(jì)成功。完成了設(shè)計(jì)任務(wù)。</p><p> 4.2 設(shè)計(jì)課題的仿真結(jié)果</p><p> 在Proteus
105、 ISIS的Debug菜單中選擇Execute,運(yùn)行程序,系統(tǒng)仿真結(jié)果如圖4.1與4.2所示。</p><p><b> 實(shí)現(xiàn)功能:</b></p><p> 可調(diào)整運(yùn)行的電子鐘具有三種工作狀態(tài):“P.”狀態(tài),運(yùn)行狀態(tài),走時(shí)調(diào)整狀態(tài),鬧鐘調(diào)整狀態(tài)</p><p> (1)、“P.”狀態(tài):依靠上電或按復(fù)位鍵進(jìn)入,在此狀態(tài)下,按K2,K3,K
106、4鍵均無效,</p><p> 按K1鍵有效,進(jìn)入運(yùn)行狀態(tài);</p><p> ?。?)、運(yùn)行狀態(tài):在此狀態(tài)下,按K2,K3鍵均無效,只有按K1,K4鍵有效,按下K1鍵后,退出運(yùn)行狀態(tài),進(jìn)入調(diào)整狀態(tài)。</p><p> ?。?)、調(diào)整狀態(tài):按K1鍵進(jìn)入在此狀態(tài)下,按K2(時(shí)+1鍵)、K3(分+1鍵),K4(秒+1鍵)鍵均有效;調(diào)整結(jié)束后必須按K1鍵,即可退出調(diào)整狀
107、態(tài),進(jìn)入運(yùn)行狀態(tài)。</p><p> (4)、鬧鐘調(diào)整狀態(tài):鬧鐘走時(shí)狀態(tài)下按K4鍵進(jìn)入,在此狀態(tài)下,按K2(時(shí)+1鍵)、K3(分+1鍵),鍵均有效;調(diào)整結(jié)束后必須按K4鍵,即可退出鬧鐘調(diào)整狀態(tài),進(jìn)入運(yùn)行狀態(tài)。</p><p> 時(shí)間顯示格式為:時(shí)-分-秒; </p><p> 圖4.1 “P.”運(yùn)行狀態(tài)仿真</p><p> 圖4.
108、2 時(shí)鐘運(yùn)行狀態(tài)仿真</p><p> 4.3 設(shè)計(jì)課題的誤差分析</p><p> 該電子鐘在運(yùn)行中存在一定的誤差,誤差產(chǎn)生有三種可能,首先是采用的計(jì)時(shí)方案是軟件計(jì)時(shí)的,計(jì)時(shí)優(yōu)勢(shì)利用中斷來實(shí)現(xiàn)。而當(dāng)電子鐘運(yùn)行時(shí)間1秒時(shí),又得去執(zhí)行中斷程序,這個(gè)過程是需要時(shí)間的,所以就產(chǎn)生了一定的誤差,當(dāng)然這個(gè)誤差是避免不了的,其次還有硬件系統(tǒng)也有一定的影響。第三,設(shè)計(jì)用到12MHz的晶振,計(jì)算是
109、滿20次為一秒鐘,但實(shí)際會(huì)慢很多。</p><p><b> 4.4 設(shè)計(jì)體會(huì)</b></p><p> 本次課程設(shè)計(jì),讓我受益匪淺,認(rèn)識(shí)到了自己的許多缺點(diǎn)和不足,使我深深的感受到了理論聯(lián)系實(shí)際的必要性及其重要性。在我們以往的學(xué)習(xí)過程中,我們刻意地去加強(qiáng)理論的基礎(chǔ),對(duì)于一個(gè)程序我們只求它在運(yùn)行時(shí)沒有出錯(cuò),我們便以為我們的計(jì)劃成功了豈不知它能否在硬件結(jié)構(gòu)中得以實(shí)現(xiàn)
110、則是另外一回事,這就要求我們的動(dòng)手能力,如果無法使軟件與硬件實(shí)現(xiàn)有機(jī)的結(jié)合,那么再好的程序也只是一堆廢字符。</p><p><b> 4.5 教學(xué)建議</b></p><p> 經(jīng)過一個(gè)學(xué)期王韌老師教導(dǎo)的的單片機(jī)學(xué)習(xí),我掌握了很多單片機(jī)學(xué)習(xí)的寶貴經(jīng)驗(yàn),尤其在編程的思路和PCB實(shí)物的制作上面。編程思路是整個(gè)程序的靈魂,沒有編程思路,程序就不會(huì)編出來,就失去了編程
111、的意義。在開始編程之前,想好編程的思路,編程能力才會(huì)提高,編程的過程才會(huì)順暢,程序的質(zhì)量才會(huì)提高。</p><p> 在王韌老師的教學(xué)過程中,幽默輕松的教學(xué)方式常常讓課堂氣氛很活躍,幽默詼諧,授課內(nèi)容條理清晰,經(jīng)常運(yùn)用各種實(shí)例,娓娓道來,給人印象深刻。王老師在課堂上也十分注重和同學(xué)們的互動(dòng),經(jīng)常會(huì)用一些親身實(shí)踐的經(jīng)驗(yàn)為例,讓同學(xué)們?cè)诨谑聦?shí)的基礎(chǔ)上更好的理解相關(guān)理論,充分做到了理論與實(shí)際的結(jié)合,既形象生動(dòng),又豐
112、富有趣。</p><p> 結(jié)合自己課堂的學(xué)習(xí)和單片機(jī)學(xué)習(xí)效果總結(jié)幾點(diǎn)教學(xué)建議希望老師接納: </p><p> 1:有時(shí)候會(huì)覺得王老師很嚴(yán)厲,甚至不近人情,我們也理解老師是為了讓我多學(xué)一些有用的知識(shí),但是老師過于嚴(yán)厲也會(huì)讓我們覺得壓力很大,所以希望老師在以后的教學(xué)過程中因材施教,對(duì)于不同性格的學(xué)生采用不同的教育方法。讓我們不再是因?yàn)槔蠋煹囊蟛?/p>
113、去學(xué)習(xí),而是主動(dòng)去學(xué)習(xí)。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 鄧紅.張?jiān)?單片機(jī)實(shí)驗(yàn)與應(yīng)用設(shè)計(jì)教程[M].北京:冶金工業(yè)出版社,2004.5 188-195</p><p> [1]. ZhangYue DengGong. SCM experiment and application design tut
114、orial [M]. Beijing: metallurgical industry press, 2004.5 188-195</p><p> [2] 李廣第.單片機(jī)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2006.7. 1-260</p><p> [2] LiGuang first. Single chip microcomputer based [M]. Beijing:
115、Beijing university of aeronautics &astronautics press, 2006.7. 1-260</p><p> [3] 劉建清.輕松玩轉(zhuǎn)51單片機(jī)[M].北京:北京航空航天大學(xué)出版社,2011.3. 186-208</p><p> [3] LiuJianQing. Easy play 51 SCM [M]. Beijing: Bei
116、jing university of aeronautics &astronautics press, 2011.3 186-208</p><p><b> 致 謝</b></p><p> 通過不斷努力,終于完成了此次單片機(jī)的課程設(shè)計(jì)。在此,首先感謝**老師,正是他在萬忙之中還抽出寶貴的時(shí)間對(duì)我們進(jìn)行精心的指導(dǎo),才使我順利完成了此次單片機(jī)課程設(shè)計(jì)。同
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)——數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)--數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)--數(shù)字電子鐘
- 單片機(jī)數(shù)字電子鐘課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)--數(shù)字鐘電子鐘
- 單片機(jī)課程設(shè)計(jì)--數(shù)字電子鐘設(shè)計(jì)
- 單片機(jī)電子鐘課程設(shè)計(jì)---數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)---數(shù)字電子鐘的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的數(shù)字電子鐘
- 電子鐘單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--多功能數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)— 多功能數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)--電子鐘
- 單片機(jī)課程設(shè)計(jì)(電子鐘)
- 電子時(shí)鐘數(shù)字電子鐘單片機(jī)課程設(shè)計(jì)
- 電子鐘課程設(shè)計(jì)--基于單片機(jī)的電子鐘設(shè)計(jì)
- 課程設(shè)計(jì)----基于單片機(jī)的數(shù)字電子鐘設(shè)計(jì)
- 單片機(jī)數(shù)字時(shí)鐘課程設(shè)計(jì)--單片機(jī)多功能電子鐘設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論