




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、摘要本設(shè)計(jì)主要是對(duì)51單片機(jī)的一個(gè)方面的擴(kuò)展,是能實(shí)現(xiàn)一般定時(shí)鬧鐘功能的設(shè)計(jì)。需要實(shí)現(xiàn)某一功能時(shí),按對(duì)應(yīng)的按鍵即可,經(jīng)多次驗(yàn)證此設(shè)計(jì)靈活簡(jiǎn)便,可以實(shí)現(xiàn)顯示,定時(shí),修改定時(shí),定時(shí)時(shí)間到能發(fā)出報(bào)警聲的功能。系統(tǒng)采用單片機(jī)AT89C51作為本設(shè)計(jì)的核心元件,在其基礎(chǔ)上外圍擴(kuò)展芯片和外圍電路,附加時(shí)鐘電路,復(fù)位電路,鍵盤接口及LED顯示器。鍵盤采用獨(dú)立連接式。還有定時(shí)報(bào)警系統(tǒng),即定時(shí)時(shí)間到,通過(guò)揚(yáng)聲器發(fā)出報(bào)警聲,提示預(yù)先設(shè)定時(shí)間時(shí)間到,從而起到定時(shí)作用。外圍器件有LED顯示驅(qū)動(dòng)器及相應(yīng)的顯示數(shù)字電子鐘設(shè)計(jì)與制作可采用數(shù)字電路實(shí)現(xiàn),也可以采用單片機(jī)來(lái)完成。若用數(shù)字電路完成,所設(shè)計(jì)的電路相當(dāng)復(fù)雜,大概需要
2、十幾片數(shù)字集成塊,其功能也主要依賴于數(shù)字電路的各功能模塊的組合來(lái)實(shí)現(xiàn),焊接的過(guò)程比較復(fù)雜,成本也非常高。若用單片機(jī)來(lái)設(shè)計(jì)制作完成,由于其功能的實(shí)現(xiàn)主要通過(guò)軟件編程來(lái)完成,那么就降低了硬件電路的復(fù)雜性,而且其成本也有所降低,所以在該設(shè)計(jì)與制作中采用單片機(jī)AT89C51,它是低功耗、高性能的CMOS型8位單片機(jī)。片內(nèi)帶有4KB的Flash存儲(chǔ)器,且允許在系統(tǒng)內(nèi)改寫或用編程器編程。另外, AT89C51的指令系統(tǒng)和引腳與8051完全兼容,片內(nèi)有128B 的RAM、32條I/O口線、2個(gè)16位定時(shí)計(jì)數(shù)器、5個(gè)中斷源、一個(gè)全雙工串行口等。在LED顯示器中,分成靜態(tài)顯示和動(dòng)態(tài)顯示兩類,在這個(gè)設(shè)計(jì)的最小系統(tǒng)
3、中主要用了它的動(dòng)態(tài)顯示功能,動(dòng)態(tài)顯示器利用了人視覺(jué)的短暫停留,在數(shù)據(jù)的傳輸中是一個(gè)一個(gè)傳輸?shù)模蚁葌鬏數(shù)臀?。它能同時(shí)顯示時(shí),分和秒。按鍵電路設(shè)有四個(gè)按鍵:從上往下為k1,k2,k3和k4鍵。按下k1鍵顯示時(shí)、分、秒,k3鍵起到定時(shí)作用,k2鍵每按一下小時(shí)加一,k4鍵每按一下分鐘加一,定時(shí)時(shí)間到能發(fā)出報(bào)警聲。當(dāng)需要校正時(shí)間時(shí),先按下k4鍵,再按k2鍵或k3鍵,k3鍵每按一下小時(shí)加一,k2鍵每按一下分鐘加一,按k1鍵即回到時(shí)間狀態(tài)。能夠設(shè)定定時(shí)時(shí)間,也可以修改定時(shí)時(shí)間。 目錄1 概述311 課程設(shè)計(jì)的概況312 課程設(shè)計(jì)實(shí)現(xiàn)的功能32 系統(tǒng)總體方案及硬件設(shè)計(jì)421總體方案422硬件設(shè)計(jì)42.2.1
4、單片機(jī)AT89C514時(shí)鐘電路6數(shù)碼管顯示電路63 軟件設(shè)計(jì)831 系統(tǒng)軟件設(shè)計(jì)832 鍵盤服務(wù)程序833 LED的編程思想83.3.1 方案選擇83.3.2 LED顯示834音響報(bào)警電路835系統(tǒng)流程圖93. 6程序模塊104 proteus的系統(tǒng)仿真1541操作過(guò)程1542運(yùn)行結(jié)果圖155 課程設(shè)計(jì)體會(huì)17參考文獻(xiàn)17附1 定時(shí)鬧鐘源程序代碼18附2 系統(tǒng)總體電路圖271概述本文主要是通過(guò)單片機(jī)系統(tǒng),綜合運(yùn)用定時(shí)器、中斷、數(shù)碼顯示等知識(shí)設(shè)計(jì)一個(gè)可定時(shí)的電子鐘。它包括系統(tǒng)總體方案及硬件設(shè)計(jì),軟件設(shè)計(jì),Proteus軟件仿真等部分。 系統(tǒng)總體方案及硬件設(shè)計(jì)是本設(shè)計(jì)的重要組成部分,在這部分詳細(xì)介
5、紹了時(shí)鐘原理,硬件設(shè)計(jì),數(shù)碼管LED,以及在設(shè)計(jì)過(guò)程中考慮到技術(shù)指標(biāo),機(jī)型的選擇,器件的選擇等一系列問(wèn)題。 硬件設(shè)計(jì)的主要任務(wù)是根據(jù)總體設(shè)計(jì)要求,以及在所選機(jī)型的基礎(chǔ)上,確定系統(tǒng)擴(kuò)展所要用的存儲(chǔ)器,I/O電路及有關(guān)外圍電路等然后設(shè)計(jì)出系統(tǒng)的電路原理圖。 合理的軟件結(jié)構(gòu)是設(shè)計(jì)出一個(gè)性能優(yōu)良的單片機(jī)應(yīng)用性系統(tǒng)軟件的基礎(chǔ),因此必須充分重視。在本設(shè)計(jì)中采用應(yīng)用廣泛的C語(yǔ)言編程,便于調(diào)試。用Proteus軟件仿真檢查設(shè)計(jì)是否合理。11 課程設(shè)計(jì)的概況 通過(guò)對(duì)51單片機(jī)的擴(kuò)展,接鍵盤,顯示器等相應(yīng)的外圍器件。在LED顯示器中分成靜態(tài)顯示和動(dòng)態(tài)顯示兩類,在本設(shè)計(jì)中主要用了它的動(dòng)態(tài)顯示功能,動(dòng)態(tài)顯示利用了人視
6、覺(jué)的短暫停留,在數(shù)據(jù)的傳輸中是一個(gè)一個(gè)傳輸?shù)?,且先傳輸?shù)臀?。鍵盤是由若干個(gè)按鍵組成的開關(guān)矩陣,是一種廉價(jià)的輸入設(shè)備。鍵盤通常包括有數(shù)字鍵,字母鍵以及一些功能鍵。操作人員可以通過(guò)對(duì)鍵盤向計(jì)算機(jī)輸入數(shù)據(jù),地址,指令或其他的控制命令,實(shí)現(xiàn)簡(jiǎn)單的人機(jī)對(duì)話。這里采用非編碼式鍵盤。通過(guò)51單片機(jī)的P1口擴(kuò)展出獨(dú)立連接式鍵盤。外圍擴(kuò)展復(fù)位,時(shí)鐘電路,利用軟件源程序代碼實(shí)現(xiàn)相應(yīng)的功能。12 課程設(shè)計(jì)實(shí)現(xiàn)的功能:u 能顯示 時(shí)時(shí)-分分-秒秒。u 能夠設(shè)定定時(shí)時(shí)間,修改定時(shí)時(shí)間。u 定時(shí)時(shí)間到能發(fā)出警報(bào)聲或者啟動(dòng)繼電器,從而控制電器的起停。2 系統(tǒng)總體方案及硬件設(shè)計(jì)21總體方案 使用是單片機(jī)作為核心的控制元件,使
7、得電路的可靠性比較高,功能也比較強(qiáng)大, 而且可以隨時(shí)的更新系統(tǒng),進(jìn)行不同狀態(tài)的組合。 本系統(tǒng)采用單片機(jī)AT89C51作為本設(shè)計(jì)的核心元件,利用7段共陰LED作為顯示器件。接入共陰LED顯示器,可顯示時(shí),分鐘,秒,單片機(jī)外圍接有定時(shí)報(bào)警系統(tǒng),定時(shí)時(shí)間到,揚(yáng)聲器發(fā)出報(bào)警聲,提示預(yù)先設(shè)定時(shí)間電器的起停時(shí)間到,從而控制電器的起停。電路由下列部分組成:時(shí)鐘電路、復(fù)位電路、控制電路、LED顯示,報(bào)警電路,芯片選用AT89C51 單片機(jī)。 系統(tǒng)基本框圖:報(bào)警器數(shù)碼顯示時(shí)鐘電路AT89C51鍵盤電路圖 1系統(tǒng)基本框圖22硬件設(shè)計(jì)2.2.1 單片機(jī)AT89C51AT89C51是一個(gè)低電壓,高性能CMOS型 8位
8、單片機(jī),片內(nèi)含4KB的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器(ROM)和128 B的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,內(nèi)置功能強(qiáng)大的微型計(jì)算機(jī)的AT89C51提供了高性價(jià)比的解決方案。 AT89C51是一個(gè)低功耗高性能單片機(jī),40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,AT89C51可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)
9、擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)成本。主要功能特性:兼容MCS-51指令系統(tǒng)可編程UARL通道兩個(gè)16位可編程定時(shí)/計(jì)數(shù)器1個(gè)串行中斷兩個(gè)外部中斷源共6個(gè)中斷源可直接驅(qū)動(dòng)LED引腳使用說(shuō)明:I/O端口的編程實(shí)際上就是根據(jù)應(yīng)用電路的具體功能和要求對(duì)I/O寄存器進(jìn)行編程。具體步驟如下:l)根據(jù)實(shí)際電路的要求,選擇要使用哪些I/O端口。2)初始化端口的數(shù)據(jù)輸出寄存器,應(yīng)避免端口作為輸出時(shí)的開始階段出現(xiàn)不確定狀態(tài),影響外圍電路正常工作。3)根據(jù)外圍電路功能,確定FO端口的方向,初始化端口的數(shù)據(jù)方向寄存器。對(duì)于用作輸入的端口可以不考慮方向初始化,因?yàn)镕O的復(fù)位缺省值為輸入。4)用作輸入的FO管腳,
10、如需上拉,再通過(guò)輸入上拉使能寄存器為其內(nèi)部配置上拉電阻。5)最后對(duì)I/O端口進(jìn)行輸出(寫數(shù)據(jù)輸出寄存器)和輸入(讀端口)編程,完成對(duì)外圍電路的相應(yīng)功能。幾個(gè)特殊管腳:XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 XTAL2:來(lái)自反向振蕩器的輸出。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平。圖2 AT89C51管腳圖2.2.2時(shí)鐘電路單片機(jī)的時(shí)鐘產(chǎn)生方法有兩種:內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。本系統(tǒng)中AT89C51單片機(jī)采用內(nèi)部時(shí)鐘方式。最常用的內(nèi)部時(shí)鐘方式是采用外接晶體和電容組成的并聯(lián)諧振回路。振蕩晶體可在1.2MHz12MHz之
11、間。電容值無(wú)嚴(yán)格要求,但電容取值對(duì)振蕩頻率輸出的穩(wěn)定性、大小和振蕩電路起振速度有少許影響,一般可在20pF100pF之間取值。AT98C51單片機(jī)的時(shí)鐘電路如圖3所示。 圖3 時(shí)鐘電路數(shù)碼管顯示電路單片機(jī)中通常使用7段LED,LED是發(fā)光二極管顯示器的縮寫。LED顯示器由于結(jié)構(gòu)簡(jiǎn)單,價(jià)格便宜,體積小,亮度高,電壓低,可靠性高,壽命長(zhǎng),響應(yīng)速度快,顏色鮮艷,配置靈活,與單片機(jī)接口方便而得到廣泛應(yīng)用。LED顯示器是由若干個(gè)發(fā)光二極管組成顯示字段的顯示部件,當(dāng)發(fā)光二極管導(dǎo)通時(shí),相應(yīng)的一個(gè)點(diǎn)或一個(gè)筆劃發(fā)光,控制不同組合的二極管導(dǎo)通,就能顯示出各種字符。LED顯示器有多種形式,如:“米”字型顯示器,點(diǎn)陣
12、顯示器和七段數(shù)碼顯示器等,在單片機(jī)系統(tǒng)中使用最多的是七段數(shù)碼顯示器。LED七段數(shù)碼顯示器由8個(gè)發(fā)光二極管組成顯示字符,根據(jù)內(nèi)部發(fā)光二極管圖4 引腳配置圖5 數(shù)碼管內(nèi)部結(jié)構(gòu) 的連接形式不同,LED有共陰極和共陽(yáng)極兩種,如上圖所示:采用高亮共陰型數(shù)位數(shù)碼管,為示區(qū)別,顯示秒的兩個(gè)數(shù)碼管個(gè)頭較小,另外4個(gè)較大。共陰數(shù)碼管連接線路如下:一般用7個(gè)發(fā)光二極管構(gòu)成顯示數(shù)字和符號(hào),另外還用一段發(fā)光二極管顯示小數(shù)點(diǎn)。這種顯示器一般分為兩種,共陽(yáng)極顯示器和共陰極顯示器,共陽(yáng)極顯示器是把每個(gè)二極管的正端連在一起,共陰極顯示器是把每個(gè)二極管的陰極連在一起。一只顯示器是有8個(gè)發(fā)光二極管構(gòu)成,當(dāng)把某段加正向電壓時(shí),則該
13、段所對(duì)應(yīng)的筆劃亮,不加正向電壓則暗,為了保護(hù)各段不受損壞需要加限流電阻,無(wú)論是共陽(yáng)極顯示器還是共陰極顯示器,它的8段排列順序都是一樣的:A段、B段、C段、D段、E段、F段、G段和DP段。在單片機(jī)中通常使用7段LED。3 軟件設(shè)計(jì)31 系統(tǒng)軟件設(shè)計(jì)該系統(tǒng)軟件主要有主程序模塊,定時(shí)中斷服務(wù)程序,中斷等待服務(wù)程序,鍵盤服務(wù)程序,顯示子程序服務(wù)程序等六大模塊組成,因?yàn)閰R編語(yǔ)言使用助記符,符號(hào)和數(shù)字等來(lái)表示指令程序的語(yǔ)言,容易理解和記憶,它與機(jī)器語(yǔ)言指令是一一對(duì)應(yīng)的,所以我們用匯編語(yǔ)言來(lái)寫此程序。32 鍵盤服務(wù)程序 鍵盤采用查詢的方式,放在主程序中,當(dāng)沒(méi)有按鍵按下的時(shí)候,單片機(jī)循環(huán)主程序,一旦有鍵按下,
14、便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束后再返回。33 LED的編程思想3.3.1 方案選擇方案一:使用數(shù)碼管顯示該方案控制最簡(jiǎn)單,但是只能顯示有限的符號(hào)和數(shù)字,對(duì)于設(shè)計(jì)中復(fù)雜的顯示功能顯然不能勝任。方案二:使用點(diǎn)陣液晶顯示點(diǎn)陣液晶可以顯示多種字符和圖形,擁有友好的人機(jī)界面及強(qiáng)大的顯示功能。特別適用于智能控制的可編程人性化顯示。權(quán)衡之后,考慮到實(shí)際的狀況,價(jià)格以及本設(shè)計(jì)要達(dá)到的效果,選用方案一比較經(jīng)濟(jì)實(shí)惠,足夠?qū)崿F(xiàn)需要的功能。3.3.2 LED顯示 七段LED由七個(gè)發(fā)光二極管按日字排開,所有發(fā)光二極管的陽(yáng)極連在一起成共陽(yáng)極,陰極連在一塊稱共陰極接法。當(dāng)采用芯片驅(qū)動(dòng)時(shí)不需要加限流電阻,其他情況下一般應(yīng)外
15、接限流電阻。動(dòng)態(tài)顯示電路有顯示塊,字形碼封鎖驅(qū)動(dòng)器,字位鎖存驅(qū)動(dòng)器三部分組成。34音響報(bào)警電路 在AT89C51外圍的一個(gè)管口上加揚(yáng)聲器,通過(guò)軟件與硬件的結(jié)合可實(shí)現(xiàn)定時(shí)報(bào)警功能。35系統(tǒng)流程圖判斷鬧鐘時(shí)間到否程序初始化調(diào)用顯示程序開始P1.1是否按下?調(diào)用時(shí)間設(shè)定程序P1.2是否按下?Y調(diào)用鬧鐘時(shí)間設(shè)定程序NNY圖6 程序流程圖3. 6程序模塊(1)×××××設(shè)定時(shí)間程序:××××× SETTIME: L0:LCALL DISPLAY1 ;調(diào)用時(shí)間允許程序 MM1: JB P1.2,L1 MOV
16、 C,P1.2 JC MM1 LCALL DELAY1 ;調(diào)用延時(shí) JC MM1 MSTOP1: MOV C,P1.2 JNC MSTOP1 ;判斷P1.2是否釋放?釋放則繼續(xù) LCALL DELAY1 ;調(diào)用延時(shí) MOV C,P1.2 JNC MSTOP1 INC 22H ;小時(shí)增加1 MOV A,22H CJNE A,#18H,GO12 ;判斷小時(shí)是否到24時(shí)?未到繼續(xù)循環(huán) MOV 22H,#00H ;小時(shí)復(fù)位 MOV 34H,#00H MOV 35H,#00H LJMP L0 L1:JB P1.3,L2 MOV C,P1.3 JC L1 LCALL DELAY1 ;延時(shí) JC L1MST
17、OP2: MOV C,P1.3 JNC MSTOP2 ;判斷P1.3是否釋放?釋放則繼續(xù) LCALL DELAY1 ;調(diào)用延時(shí) MOV C,P1.3 JNC MSTOP2 INC 21H ;分鐘增加一 MOV A,21H CJNE A,#3CH,GO11 MOV 21H,#00H ;分鐘復(fù)位 MOV 32H,#00H MOV 33H,#00H LJMP L0 GO11:MOV B,#0AH ;將A中的內(nèi)容分成高低兩部分 DIV AB MOV 32H,B MOV 33H,A LJMP L0 GO12: MOV B,#0AH DIV AB MOV 34H,B MOV 35H,A LJMP L0 L
18、2:JB P1.4,L0 MOV C,P1.4 JC L2 LCALL DELAY1 ;調(diào)用延時(shí) MOV C,P1.4 JC L2STOP1: MOV C,P1.4 ;判斷按鍵P1.4是否釋放? JNC STOP1 LCALL DELAY1 ;調(diào)用延時(shí)(2)×××××設(shè)置鬧鐘時(shí)間××××× SETATIME:LCALL DISPLAY2 ;調(diào)用時(shí)間運(yùn)行 N0:LCALL DISPLAY2 MM2: JB P1.3,N1 ;判斷P1.3是否按下? MOV C,P1.3 JC MM2 LCALL D
19、ELAY1 JC MM2MSTOP3: MOV C,P1.3 ;判斷P1.3是否釋放? JNC MSTOP3 LCALL DELAY1 MOV C,P1.3 JNC MSTOP3 INC 24H ;設(shè)定小時(shí)增加1 MOV A,24H CJNE A,#24,GO22 MOV 24H,#00H ;時(shí)鐘復(fù)位 MOV 38H,#00H MOV 39H,#00H LJMP N0 N1:JB P1.1,N2 ;判斷P1.1是否按下? MOV C,P1.1 JC N1 LCALL DELAY1 JC N1MSTOP4: MOV C,P1.1 ;判斷P1.1是否釋放? JNC MSTOP4 LCALL DEL
20、AY1 MOV C,P1.1 JNC MSTOP4 INC 23H ;設(shè)定鬧鐘分鐘增加1 MOV A,23H CJNE A,#60,GO21 ;判斷A是否到60分? MOV 23H,#00H ;分鐘復(fù)位 MOV 36H,#00H MOV 37H,#00H LJMP N0 GO21:MOV B,#0AH ;將A中的內(nèi)容分成高低兩部分 DIV AB MOV 36H,B MOV 37H,A LJMP N0 GO22: MOV B,#0AH DIV AB MOV 38H,B MOV 39H,A LJMP N0 N2:JB P1.4 ,N0 ;判斷P1.4是否按下? MOV C,P1.4 JC N2 L
21、CALL DELAY1 MOV C,P1.4 JC N2STOP2: MOV C,P1.4 ;判斷P1.4是否釋放? JNC STOP2 LCALL DELAY1 MOV C,P1.4 JNC STOP2 LJMP LOOP TIMEPRO:MOV A,21H MOV B,23H CJNE A,B,BK ;判斷分鐘是否運(yùn)行到設(shè)定的鬧鐘的分鐘? MOV A,22H MOV B,24H CJNE A,B,BK ;判斷時(shí)鐘是否運(yùn)行到設(shè)定的鬧鐘的時(shí)鐘? SETB 25H.0 MOV C,25H.0 JC XX XX: LCALL TIMEOUT ;調(diào)用時(shí)間鬧鐘響應(yīng)程序 BK:RET TIMEOUT:
22、X1:LCALL BZ ;調(diào)用喇叭響應(yīng)程序 LCALL DISPLAY2 CLR 25H.0 JB P1.4, X1 ;判斷P1.4是否按下? LCALL DELAY CLR 25H.0 LJMP DISPLAY1 BZ: CLR P3.7 ;喇叭響應(yīng)程序 MOV R7,#250 ;響應(yīng)延時(shí)時(shí)間 T2: MOV R6,#124 T3: DJNZ R6,T3 DJNZ R7,T2 SETB P3.7 RET LOOKATIME:LCALL DISPLAY2 ;調(diào)用時(shí)間運(yùn)行程序 MM: JB P1.4,LOOKATIME ;判斷按鍵P1.4是否按下 MOV C,P1.4 JC MM LCALL D
23、ELAY1 MOV C,P1.4 JC MMSTOP3: MOV C,P1.4 JNC STOP3 LCALL DELAY1 MOV C,P1.4 JNC STOP3 LJMP LOOP DELAY1: MOV R4,#14H ;時(shí)間延時(shí)DL001: MOV R5,#0FFHDL111: DJNZ R5,DL111 DJNZ R4,DL001 RET4 proteus的系統(tǒng)仿真41 操作過(guò)程我們不防設(shè)幾個(gè)按鍵從上往下為k1,k2,k3,k4 。k1與p1.4相連,k2與p1.3相連,k3與p1.3相連,k4與p1.1相連。當(dāng)需要設(shè)定當(dāng)前時(shí)間時(shí),按一下k4鍵,進(jìn)入時(shí)間設(shè)定狀態(tài),按一下k2,分加1
24、;按一下k3,小時(shí)加1。如此反復(fù)來(lái)設(shè)定當(dāng)前時(shí)間。調(diào)好時(shí)間后按k1退出當(dāng)前時(shí)間設(shè)定狀態(tài)。如下圖(a)。當(dāng)要設(shè)定定時(shí)時(shí)間時(shí),按下k3,進(jìn)入定時(shí)時(shí)間設(shè)定狀態(tài),按一下k2,小時(shí)加1;按一下k4,分鐘加1。如此反復(fù)來(lái)設(shè)定要設(shè)定的定時(shí)時(shí)間。設(shè)好后,按下k1退出定時(shí)時(shí)間設(shè)定狀態(tài)。如下圖(b)。42運(yùn)行結(jié)果圖(a)調(diào)時(shí)仿真圖(b)定時(shí)仿真圖5 課程設(shè)計(jì)體會(huì)在做課程設(shè)計(jì)的過(guò)程中,我進(jìn)一步認(rèn)識(shí)到全面專業(yè)的科學(xué)知識(shí)以及邏輯思考方式對(duì)研究問(wèn)題的重要性,同時(shí)我也更加具體的掌握了課程設(shè)計(jì)的基本方法。經(jīng)過(guò)不斷的的努力,我終于完成了這次課程設(shè)計(jì),總的來(lái)說(shuō),我學(xué)到了不少的東西,知道了理論聯(lián)系實(shí)際的重要性。在設(shè)計(jì)過(guò)程中我遇到了很
25、多的困難,但沒(méi)放棄,查閱了許多相關(guān)的書籍,自己獨(dú)立思考和借鑒了前人的許多優(yōu)秀成果,并與所學(xué)的知識(shí)緊密的結(jié)合了起來(lái)。我相信這過(guò)程對(duì)我今后的學(xué)習(xí)和工作給與積極的影響,搭好了平臺(tái)。通過(guò)這次設(shè)計(jì),我對(duì)這門課有了更好的理解,尤其結(jié)合了這兩年學(xué)的相關(guān)的專業(yè)知識(shí),對(duì)各門課都有了一個(gè)較全面的理解。這必將對(duì)我以后的學(xué)習(xí)和工作有很大的幫助。本次課程設(shè)計(jì)的定時(shí)鬧鐘電路,可以滿足人們的基本要求,但因?yàn)樗接邢?,此電路中存在一定的?wèn)題,雖可以通過(guò)增加電路解決,但過(guò)于復(fù)雜和現(xiàn)有水平有限,本次設(shè)計(jì)就未深入涉及,想要更好的改進(jìn)電路,需要進(jìn)一步的努力,如果有好的意見,希望老師給以支持。在整個(gè)設(shè)計(jì)中得到了老師的悉心指導(dǎo),在課程設(shè)
26、計(jì)完成之際,獻(xiàn)上我真摯的謝意!在此對(duì)老師們的幫助和耐心指導(dǎo)表示忠心的感謝。同時(shí)也對(duì)那些在課設(shè)中,給予我?guī)椭耐瑢W(xué)表示感謝。參考文獻(xiàn):1 何立民.單片機(jī)應(yīng)用技術(shù)選編10.北京:北京航空航天大學(xué)出版社,2004,20-352 何立民.單片機(jī)應(yīng)用技術(shù)選編8.北京:北京航空航天大學(xué)出版社,2000,103 沙占友等.單片機(jī)外圍電路設(shè)計(jì).西安:電子工業(yè)出版社,2003,84 江力.蔡駿.王艷春.董澤芳.單片機(jī)原理與應(yīng)用技術(shù).北京,清華大學(xué)出版社,2006(2007重?。?5-205 李朝青.單片機(jī)原理與接口技術(shù).北京,北京航空航天大學(xué)出版社,1998,11-156 潘永紅.柳殊.單片機(jī)原理與應(yīng)用.西安,
27、西安電子科技大學(xué)出版社,2000,6 7 2003年單片機(jī)及嵌入式系統(tǒng)學(xué)術(shù)年會(huì)論文集.北京:北京航空航天大學(xué)出版社,2003,10附1 定時(shí)鬧鐘源程序代碼 ORG 0000H LJMP MAIN ORG 000BH LJMP TIME ;×××××主程序部分:××××× ORG 0100H MAIN:MOV SP,#50H MOV 20H,#00H ;秒鐘BIN MOV 21H,#00H ;分鐘BIN MOV 22H,#00H ;小時(shí)BIN MOV 23H,#01H MOV 24H,#01H M
28、OV 25H,#00H MOV 30H,#00H MOV 31H,#00H MOV 32H,#00H MOV 33H,#00H MOV 34H,#00H MOV 35H,#00H MOV 36H,#01H MOV 37H,#00H MOV 38H,#01H MOV 39H,#00H MOV TMOD,#01H ;16位計(jì)數(shù)器 MOV TH0,#03CH ;賦計(jì)數(shù)初值 MOV TL0,#0B0H MOV IE,#10000111B SETB TR0 ;T0啟動(dòng)計(jì)數(shù) MOV R2,#14H MOV P2,#0FFH LOOP: LCALL TIMEPRO LCALL DISPLAY1 JB P1.
29、1,M1 LCALL SETTIME ;調(diào)用設(shè)定時(shí)間程序 LJMP LOOP M1:JB P1.2,M2 LCALL SETATIME ;調(diào)用設(shè)定時(shí)間程序 LJMP LOOP M2:JB P1.4,M4 LCALL LOOKATIME ;調(diào)用設(shè)定鬧鐘時(shí)間程序 M4:LJMP LOOP DELAY:MOV R4,#030H ;延時(shí)時(shí)間 DL00:MOV R5,#0FFH DL11:MOV R6,#9H DL12:DJNZ R6,DL12 DJNZ R5,DL11 DJNZ R4,DL00 RET ;×××××設(shè)定時(shí)間程序:××
30、××× SETTIME: L0:LCALL DISPLAY1 ;調(diào)用時(shí)間允許程序 MM1: JB P1.2,L1 MOV C,P1.2 JC MM1 LCALL DELAY1 ;調(diào)用延時(shí) JC MM1 MSTOP1: MOV C,P1.2 JNC MSTOP1 ;判斷P1.2是否釋放?釋放則繼續(xù) LCALL DELAY1 ;調(diào)用延時(shí) MOV C,P1.2 JNC MSTOP1 INC 22H ;小時(shí)增加1 MOV A,22H CJNE A,#18H,GO12 ;判斷小時(shí)是否到24時(shí)?未到繼續(xù)循環(huán) MOV 22H,#00H ;小時(shí)復(fù)位 MOV 34H,#00H MO
31、V 35H,#00H LJMP L0 L1:JB P1.3,L2 MOV C,P1.3 JC L1 LCALL DELAY1 ;延時(shí) JC L1MSTOP2: MOV C,P1.3 JNC MSTOP2 ;判斷P1.3是否釋放?釋放則繼續(xù) LCALL DELAY1 ;調(diào)用延時(shí) MOV C,P1.3 JNC MSTOP2 INC 21H ;分鐘增加一 MOV A,21H CJNE A,#3CH,GO11 MOV 21H,#00H ;分鐘復(fù)位 MOV 32H,#00H MOV 33H,#00H LJMP L0 GO11:MOV B,#0AH ;將A中的內(nèi)容分成高低兩部分 DIV AB MOV 32
32、H,B MOV 33H,A LJMP L0 GO12: MOV B,#0AH DIV AB MOV 34H,B MOV 35H,A LJMP L0 L2:JB P1.4,L0 MOV C,P1.4 JC L2 LCALL DELAY1 ;調(diào)用延時(shí) MOV C,P1.4 JC L2STOP1: MOV C,P1.4 ;判斷按鍵P1.4是否釋放? JNC STOP1 LCALL DELAY1 ;調(diào)用延時(shí) MOV C,P1.4 JNC STOP1 LJMP LOOP;×××××設(shè)置鬧鐘時(shí)間×××××
33、SETATIME:LCALL DISPLAY2 ;調(diào)用時(shí)間運(yùn)行 N0:LCALL DISPLAY2 MM2: JB P1.3,N1 ;判斷P1.3是否按下? MOV C,P1.3 JC MM2 LCALL DELAY1 JC MM2MSTOP3: MOV C,P1.3 ;判斷P1.3是否釋放? JNC MSTOP3 LCALL DELAY1 MOV C,P1.3 JNC MSTOP3 INC 24H ;設(shè)定小時(shí)增加1 MOV A,24H CJNE A,#24,GO22 MOV 24H,#00H ;時(shí)鐘復(fù)位 MOV 38H,#00H MOV 39H,#00H LJMP N0 N1:JB P1.1
34、,N2 ;判斷P1.1是否按下? MOV C,P1.1 JC N1 LCALL DELAY1 JC N1MSTOP4: MOV C,P1.1 ;判斷P1.1是否釋放? JNC MSTOP4 LCALL DELAY1 MOV C,P1.1 JNC MSTOP4 INC 23H ;設(shè)定鬧鐘分鐘增加1 MOV A,23H CJNE A,#60,GO21 ;判斷A是否到60分? MOV 23H,#00H ;分鐘復(fù)位 MOV 36H,#00H MOV 37H,#00H LJMP N0 GO21:MOV B,#0AH ;將A中的內(nèi)容分成高低兩部分 DIV AB MOV 36H,B MOV 37H,A LJ
35、MP N0 GO22: MOV B,#0AH DIV AB MOV 38H,B MOV 39H,A LJMP N0 N2:JB P1.4 ,N0 ;判斷P1.4是否按下? MOV C,P1.4 JC N2 LCALL DELAY1 MOV C,P1.4 JC N2STOP2: MOV C,P1.4 ;判斷P1.4是否釋放? JNC STOP2 LCALL DELAY1 MOV C,P1.4 JNC STOP2 LJMP LOOP TIMEPRO:MOV A,21H MOV B,23H CJNE A,B,BK ;判斷分鐘是否運(yùn)行到設(shè)定的鬧鐘的分鐘? MOV A,22H MOV B,24H CJN
36、E A,B,BK ;判斷時(shí)鐘是否運(yùn)行到設(shè)定的鬧鐘的時(shí)鐘? SETB 25H.0 MOV C,25H.0 JC XX XX: LCALL TIMEOUT ;調(diào)用時(shí)間鬧鐘響應(yīng)程序 BK:RET TIMEOUT: X1:LCALL BZ ;調(diào)用喇叭響應(yīng)程序 LCALL DISPLAY2 CLR 25H.0 JB P1.4, X1 ;判斷P1.4是否按下? LCALL DELAY CLR 25H.0 LJMP DISPLAY1 BZ: CLR P3.7 ;喇叭響應(yīng)程序 MOV R7,#250 ;響應(yīng)延時(shí)時(shí)間 T2: MOV R6,#124 T3: DJNZ R6,T3 DJNZ R7,T2 SETB
37、P3.7 RET LOOKATIME:LCALL DISPLAY2 ;調(diào)用時(shí)間運(yùn)行程序 MM: JB P1.4,LOOKATIME ;判斷按鍵P1.4是否按下 MOV C,P1.4 JC MM LCALL DELAY1 MOV C,P1.4 JC MMSTOP3: MOV C,P1.4 JNC STOP3 LCALL DELAY1 MOV C,P1.4 JNC STOP3 LJMP LOOP DELAY1: MOV R4,#14H ;時(shí)間延時(shí)DL001: MOV R5,#0FFHDL111: DJNZ R5,DL111 DJNZ R4,DL001 RET;×××××時(shí)間運(yùn)行程序×××××TIME: PUSH ACC ;現(xiàn)場(chǎng)保護(hù) PUSH PSW MOVTH0,#03CH ;賦初值 MOVTL0,#0B0HDJNZR2,RET0MOVR2,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 老人健康管理培訓(xùn)課件
- 村文書考試題及答案
- 村干部競(jìng)選考試題及答案
- 藥品銷售知識(shí)培訓(xùn)課件
- 安全技術(shù)操作規(guī)程清單
- 安全周例會(huì)工作匯報(bào)范文
- 安全生產(chǎn)風(fēng)險(xiǎn)評(píng)估規(guī)范
- 企業(yè)消防安全知識(shí)
- 文化墻培訓(xùn)課件圖片
- 美業(yè)推廣課件文案
- 三亞市大茅水清淤疏浚工程(亞龍灣第二通道橋-出??诙危┉h(huán)評(píng)報(bào)告
- 美國(guó)紅橡木木材檢測(cè)報(bào)告
- 老年患者風(fēng)險(xiǎn)評(píng)估及安全管理
- 安全事故案例警示教育培訓(xùn)
- 交通占道安全施工方案
- 散打說(shuō)課課件
- 能源托管服務(wù)投標(biāo)方案(技術(shù)方案)
- 辦公用品、易耗品供貨服務(wù)方案
- 幼師應(yīng)聘?jìng)€(gè)人簡(jiǎn)歷表格
- 海運(yùn)出口培訓(xùn)課程教學(xué)課件
- 2023年副主任醫(yī)師(副高)-內(nèi)科學(xué)(副高)考試歷年高頻考點(diǎn)參考題庫(kù)附帶專家答案
評(píng)論
0/150
提交評(píng)論