實(shí)戰(zhàn)真做項(xiàng)目1新穎60秒LED旋轉(zhuǎn)電子鐘_第1頁
實(shí)戰(zhàn)真做項(xiàng)目1新穎60秒LED旋轉(zhuǎn)電子鐘_第2頁
實(shí)戰(zhàn)真做項(xiàng)目1新穎60秒LED旋轉(zhuǎn)電子鐘_第3頁
實(shí)戰(zhàn)真做項(xiàng)目1新穎60秒LED旋轉(zhuǎn)電子鐘_第4頁
實(shí)戰(zhàn)真做項(xiàng)目1新穎60秒LED旋轉(zhuǎn)電子鐘_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例應(yīng)用案例1新穎60秒旋轉(zhuǎn)電子鐘課程設(shè)計(jì)余

寶數(shù)理與信息工程學(xué)院2006年12月第一頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì)任務(wù)書設(shè)計(jì)一款基于AT89C2051單片機(jī)的電子鐘。設(shè)計(jì)基本要求⑴

用4只LED數(shù)碼管輸出顯示時(shí)和分。⑵

可通過按鍵設(shè)置鬧鐘功能,且停鬧無須手工操作。⑶

可通過按鍵設(shè)置分校時(shí)。電子⑷鐘課月計(jì)程時(shí)誤設(shè)差小于45秒。⑸

寫出詳細(xì)的設(shè)計(jì)報(bào)告。⑹

給出全部電路和源程序。第二頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶發(fā)揮部分要求⑴用60只LED發(fā)光管旋轉(zhuǎn)顯示,模擬“秒針”的行走。⑵模擬“秒針”行走的“嘀噠”聲。⑶增加室溫檢測(cè)和顯示功能(可與時(shí)間交替顯示)。⑷增加停(掉)電保護(hù)功能。電⑸子提鐘高計(jì)課時(shí)程精度設(shè),使年計(jì)時(shí)誤差小于30秒。計(jì)⑹可通過按鍵設(shè)置一天兩鬧(比如早晨、中午各一次)。第三頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì)選題背景目前市場(chǎng)上提供的無論是機(jī)械鐘還是石英鐘在晚上無照明的情況下都是不可見的。要知道當(dāng)前的時(shí)間,必須先開燈,故較為不便?,F(xiàn)在市場(chǎng)上也出現(xiàn)了一些電子鐘,它以六只LED數(shù)碼管來顯示時(shí)分秒,違背了人們指針式的傳統(tǒng)習(xí)慣與理念,而且這類電子鐘一般是采用大型顯示器件,適用于銀行、車站等公共場(chǎng)所,且外觀設(shè)計(jì)欠美觀,很少進(jìn)入百姓家庭。此外,無論是機(jī)械鐘、石英鐘還是電子鐘,都存在著共同的問題:時(shí)間誤差。針對(duì)以上存在的問題,我們電設(shè)子計(jì)鐘了一課款采程用設(shè)LED顯示器件顯示的電子時(shí)鐘,解決了時(shí)鐘存在的誤差問題,并能在夜間不必其它照明就能看到時(shí)間,且以60只發(fā)光

管實(shí)現(xiàn)秒顯示,接近于傳統(tǒng)的秒針來顯示秒的形式,用戶容易接受,而且美觀大方。另加七只裝飾用的LED燈,使整個(gè)時(shí)鐘顯的相當(dāng)美

觀新穎,故還可作為室內(nèi)裝飾用。第四頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì)1系統(tǒng)主要功能電子鐘的外觀如圖1所示。周邊60只發(fā)光管順時(shí)旋轉(zhuǎn)來顯示秒,中間四只LED數(shù)碼管用于顯示時(shí)間,中下方的七只LED燈順時(shí)旋轉(zhuǎn),供裝飾用。其主要功能有:①整點(diǎn)報(bào)時(shí);②四只LED數(shù)碼管顯示當(dāng)前時(shí)分;③每隔一秒鐘周邊的60只LED發(fā)光管旋轉(zhuǎn)一格;④當(dāng)發(fā)生停電事件時(shí),由后備電池供電,系統(tǒng)進(jìn)入低功耗狀態(tài),所電子鐘有顯課示部程件停設(shè)止顯示,這樣即延長(zhǎng)了電池的壽命,同時(shí)又保證了CPU繼續(xù)計(jì)數(shù),不至于因停電而時(shí)鐘停止運(yùn)行。⑤當(dāng)恢復(fù)供電后,系統(tǒng)自動(dòng)恢復(fù)工作狀態(tài),不影響計(jì)時(shí)。第五頁,共五十七頁。《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電子鐘課程設(shè)計(jì)第六頁,共五十七頁。《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶2系統(tǒng)的硬件構(gòu)成及功能電子鐘的原理框圖如圖2所示。它由以下幾個(gè)部件組成:?jiǎn)纹瑱C(jī)

89C2051、電源、時(shí)分顯示部件、60秒旋轉(zhuǎn)譯碼驅(qū)動(dòng)電路。時(shí)分顯示采用動(dòng)態(tài)掃描,以降低對(duì)單片機(jī)端口數(shù)的要求,同時(shí)也降低系統(tǒng)的功耗。時(shí)分顯示模塊、60秒旋轉(zhuǎn)譯碼驅(qū)動(dòng)電路以及顯示驅(qū)動(dòng)都通過89C2051的I/O口控制。電子鐘電源課:電程源設(shè)部設(shè)分有二部分組成。一部分是由220V的市電通過變計(jì)壓、整流穩(wěn)壓來得到+5V電壓,維持系統(tǒng)的正常工作;另一部分是由3V的電池供電,以保證停電時(shí)正常計(jì)時(shí)。正常情況下電池是不提供電能的,以保證電池的壽命。具體電路參見“新穎的60秒旋轉(zhuǎn)電子鐘參考電路原理圖”。第七頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電子鐘課程設(shè)計(jì)圖2電子鐘系統(tǒng)原理框圖第八頁,共五十七頁。《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì)2.1

AT89C2051單片機(jī)及其引腳說明AT89C2051單片機(jī)是51系列單片機(jī)的一個(gè)成員,是8051單片機(jī)的簡(jiǎn)化版。內(nèi)部自帶2K字節(jié)可編程FLASH存儲(chǔ)器的低電壓、高性能COMS八位微處理器,與Intel

MCS-51系列單片機(jī)的指令和輸出管腳相兼容。由于將多功能八位CPU和閃速存儲(chǔ)器結(jié)合在單個(gè)芯片中,因此,AT89C2051構(gòu)成的單片機(jī)系統(tǒng)是具有結(jié)構(gòu)最簡(jiǎn)單、造價(jià)最低廉、電效子率鐘最高課的微程控制設(shè)系統(tǒng),省去了外部的RAM、ROM和接口器件,減少了硬件開銷,節(jié)省了成本,提高了系統(tǒng)的性價(jià)比。AT89C2051是一個(gè)有20個(gè)引腳的芯片,引腳配置如圖3所示。與8051相比,AT89C2051減少了兩個(gè)對(duì)外端口(即P0、P2口),使它最大可能地減少了對(duì)外引腳下,因而芯片尺寸有所減小。

AT89C2051芯片的20個(gè)引腳功能為:第九頁,共五十七頁。《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電子鐘課程設(shè)計(jì)圖3AT89C2051引腳配置VCC

電源電壓;GND

接地;RST

復(fù)位輸入。當(dāng)RST變?yōu)楦唠娖讲⒈3?個(gè)機(jī)器周期時(shí),所有I/O引腳復(fù)位至“1”;XTAL1

反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入;XTAL2

來自反向振蕩放大器的輸出。第十頁,共五十七頁。《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì)P1口8位雙向I/O口。引腳P1.2~P1.7提供內(nèi)部上拉,當(dāng)作為輸入并被外部下拉為低電平時(shí),它們將輸出電流,這是因內(nèi)部上拉的緣故。P1.0和P1.1需要外部上拉,可用作片內(nèi)精確模擬比較器的正向輸入(AIN0)和反向輸入(AIN1),P1口輸

出緩沖器能接收20mA的灌電流,并能直接驅(qū)動(dòng)LED顯示器;P1口引腳寫入“1”后,可用作輸入。在閃速編程與編程校電子驗(yàn)鐘期間課,P程1口設(shè)也可接收編碼數(shù)據(jù)。P3口引腳P3.0~P3.5與P3.7為7個(gè)帶內(nèi)部上拉的雙向I/0引腳。P3.6在內(nèi)部已與片內(nèi)比較器輸出相連,不能作為通用I/O引腳訪問。P3口的輸出緩沖器能接收20mA的灌電流;P3口寫入“1”后,內(nèi)部上拉,可用作輸入。P3口也可用作特殊功能口,其功能見表1。P3口同時(shí)也可為閃速存儲(chǔ)器編程和編程校驗(yàn)接收控制信號(hào)。第十一頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電子鐘計(jì)P3口引腳特殊功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)課P程3.2設(shè)(外部中斷0)P3.3(外部中斷1)P3.4T0(定時(shí)器0外部輸入)P3.5T1(定時(shí)器1外部輸入)表1

P3口特殊功能第十二頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì)2.2

60秒旋轉(zhuǎn)譯碼驅(qū)動(dòng)原理按常規(guī)傳統(tǒng)設(shè)計(jì),需60進(jìn)制譯碼驅(qū)動(dòng)電路才能實(shí)現(xiàn)60秒旋轉(zhuǎn)譯碼驅(qū)動(dòng),若用六片十進(jìn)制計(jì)數(shù)譯碼器構(gòu)成六十進(jìn)制計(jì)數(shù)譯碼電路,則電路連線多(需要120根連線),硬件電子電鐘路龐課大,程開設(shè)銷大。為此,我們巧妙地采用了兩片CD4017進(jìn)行六十進(jìn)制計(jì)數(shù)譯碼,實(shí)現(xiàn)60秒旋轉(zhuǎn)譯碼驅(qū)動(dòng)。既減少了電路的復(fù)雜程度又可降低了成本。圖4為CD4017功能引腳圖,圖5為其時(shí)序圖。第十三頁,共五十七頁。《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電子鐘課程設(shè)計(jì)圖5

CD4017時(shí)序圖圖4

CD4017引腳圖第十四頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì)CD4017集成電路是十進(jìn)制計(jì)數(shù)/時(shí)序譯碼器,共有10個(gè)譯碼輸出Q0~Q9;每個(gè)譯碼輸出通常處于低電平,且在時(shí)鐘脈

沖由低到高的上升沿輸出高電平;每個(gè)高電平輸出維持1個(gè)時(shí)

鐘周期;每輸入10個(gè)時(shí)鐘脈沖,輸出一個(gè)進(jìn)位脈沖,因此進(jìn)位輸出信號(hào)可作為下一級(jí)計(jì)數(shù)器的時(shí)鐘信號(hào)。在清零輸入端(R)加高電平或正脈沖時(shí),只有輸出端Q0為高電平,其余各輸出端電子均為鐘低課電平程“0設(shè)”。為實(shí)現(xiàn)對(duì)發(fā)光二極管的驅(qū)動(dòng),將每一個(gè)譯碼輸出端口接一只發(fā)光二極管,并將二極管串聯(lián)限流電阻后接地。當(dāng)譯碼端口

Q0~Q9中任一端口為高電平,則對(duì)應(yīng)的發(fā)光二極管點(diǎn)亮,如圖

6所示。第十五頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電子鐘課程設(shè)計(jì)仔細(xì)考查CD4017的功能,可發(fā)現(xiàn)其10個(gè)輸出的高電平是相互排

斥的,即任一時(shí)刻只有一只發(fā)光二極管點(diǎn)亮,因此可將圖6電路進(jìn)一步簡(jiǎn)化為如圖7所示,從而簡(jiǎn)化電路設(shè)計(jì)。圖6

CD4017控制LED原理圖圖7優(yōu)化后控制LED原理圖第十六頁,共五十七頁。《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì)在本電子鐘設(shè)計(jì)中,每秒點(diǎn)亮一個(gè)發(fā)光二極管,循環(huán)點(diǎn)亮一周共需60個(gè)發(fā)光二極管,若用上述的6片CD4017實(shí)現(xiàn)驅(qū)動(dòng),顯然電路復(fù)雜。為此我們選用兩片CD4017和一片6反相器,電子采鐘用鐘“課縱橫程雙譯設(shè)碼”技術(shù),巧妙地實(shí)現(xiàn)60秒旋轉(zhuǎn)譯碼驅(qū)動(dòng),其中一片接成10進(jìn)制,一片接成6進(jìn)制,實(shí)現(xiàn)6×10=60的功能,具體連接方法如圖8所示。第十七頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電子鐘課程設(shè)計(jì)圖8發(fā)光二極管“縱橫雙譯碼”循環(huán)點(diǎn)亮LED原理圖第十八頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì)將周期為1秒的輸入脈沖作為其中一片CD4017的時(shí)鐘脈沖,而此片的級(jí)聯(lián)進(jìn)位輸出端(QC)作為另一片的時(shí)鐘輸入,并將Q6與復(fù)位端相連。在兩片譯碼輸出端交叉點(diǎn)上接入發(fā)光二極管,構(gòu)成6×10矩陣。根據(jù)CD4017時(shí)序特點(diǎn),在初始狀態(tài),作為高位(縱)的CD4017譯碼器輸出端口Q0處于高平,經(jīng)反相器反相后為低電平。當(dāng)作為低位電子(橫鐘)課的CD程401設(shè)7譯碼器輸出端口Q0~Q9依次輸出高電平后,則對(duì)應(yīng)的二極管LD1~LD10依次點(diǎn)亮;此后由于QC端的進(jìn)位,高位CD4017譯碼輸出端口Q1輸出高電平,反相后輸出低電平,當(dāng)?shù)臀坏腃D4017譯碼輸出端口Q0~Q9依次輸出高電平后,二極管LD11~LD20依次

點(diǎn)亮。如此往復(fù),直至高位Q6向復(fù)位端輸入高電平,CD4017復(fù)位,60秒循環(huán)點(diǎn)亮重新開始。第十九頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì)2.3時(shí)分顯示部件由于系統(tǒng)要顯示的內(nèi)容較簡(jiǎn)單,顯示量不多,所以選用數(shù)碼管既方便又經(jīng)濟(jì)。LED有共陰極和共陽極兩種。如圖8所示。二極管的陰極連接在一起,通常此公共陰極接地,而共陽極則將發(fā)光二極管的陽極連接在一起,接入+5V的電壓。一位顯電子示鐘器鐘由課8個(gè)程發(fā)光設(shè)二極管組成,其中7個(gè)發(fā)光二極管構(gòu)成字型“8”的各個(gè)筆劃(段)a~g,另一個(gè)小數(shù)點(diǎn)為dp發(fā)光二極管。當(dāng)在某段發(fā)光二極管施加一定的正向電壓時(shí),該段筆劃即亮;不加電壓則暗。為了保護(hù)各段LED不被損壞,需外加限流電阻。第二十頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電子鐘課程設(shè)計(jì)圖9

LED數(shù)碼管結(jié)構(gòu)原理圖第二十一頁,共五十七頁。《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電子鐘課程設(shè)計(jì)眾所周知,LED顯示數(shù)碼管通常由硬件7段譯碼集成電路,完成從數(shù)字到顯示碼的譯碼驅(qū)動(dòng)。本系統(tǒng)采用軟件譯碼,以減小體積,降低成本和功耗,軟件譯碼的另一優(yōu)勢(shì)還在于比硬件譯碼有更大的靈活性。所謂軟件譯碼,即由單片機(jī)軟件完成從數(shù)字到顯示碼的轉(zhuǎn)換。從

LED數(shù)碼管結(jié)構(gòu)原理可知,為了顯示字符,要為L(zhǎng)ED顯示數(shù)碼管提供

顯示段碼,組成一個(gè)“8”字形字符的7段,再加上1個(gè)小數(shù)點(diǎn)位,共計(jì)8段,因此提供給LED數(shù)碼管的顯示段碼為1個(gè)字節(jié)。各段碼位與顯示段的對(duì)應(yīng)關(guān)系如表2。段碼位D7D6D5D4D3D2D1D0顯示段dpgfedcba表2各段碼位的對(duì)應(yīng)關(guān)系第二十二頁,共五十七頁。《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電計(jì)表3

LED顯示段碼字型共陽段碼共陰段碼字型共陽段碼共陰段碼0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH子3鐘課BOH程設(shè)4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF84H71H7F8H07H空白FFH00H88本0H表所列各7F字H符的顯示P

段碼均8為C小H

數(shù)點(diǎn)不7亮3H的情況。第二十三頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì)根據(jù)AT89C2051單片機(jī)灌電流能力強(qiáng),拉電流能力弱的特點(diǎn),我們選用共陽數(shù)碼管。將AT89C2051的P1.0~P1.7分別與共陽數(shù)碼管的a~g及dp相連,高電平的位對(duì)應(yīng)的LED數(shù)碼管的段暗,低電平的位對(duì)應(yīng)的LED數(shù)碼管的段亮,這樣,當(dāng)P0口輸出不同的段碼,就可以控制數(shù)碼管顯示不同的字符。例如:當(dāng)P0口輸出的段碼為11000000,數(shù)碼管顯示的字符為0。電子鐘課數(shù)碼程管顯設(shè)示器有二種工作方式,即靜態(tài)顯示方式和動(dòng)態(tài)掃描顯示方式。為節(jié)省端口及降低功耗,本系統(tǒng)采用動(dòng)態(tài)掃描顯示方式。動(dòng)態(tài)掃描顯示方式需解決多位LED數(shù)碼管的“段控”和“位控”問題,本電路的“段控”(即要顯示的段碼的控制)通過P0口實(shí)現(xiàn);而每一位的公共端,即LED數(shù)碼管的“位控”,則由P3口控制。第二十四頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì)這種連接方式由于多位字段線連在一起,因此,要想顯示不同的內(nèi)容,必然要采取輪流顯示的方式,即在某一瞬間,只讓其中的某一位的字位線處于選通狀態(tài),其它各位的字位線處于斷開狀態(tài),同時(shí)字段線上輸出這一位相應(yīng)要顯示字符的字段碼。在這一瞬時(shí),只有這一位在顯示,其他幾位則暗。在本系統(tǒng)中,字位線的選通與否是通過PNP三極管的導(dǎo)通與截止來控制,即三極管處于“開關(guān)”狀態(tài)。系統(tǒng)的時(shí)分顯示部件由4只7段共陽LED數(shù)碼管構(gòu)成,前兩只用于電子時(shí)的鐘顯示課,后程兩設(shè)只用于分的顯示。值得一提的是,在設(shè)計(jì)中需要實(shí)現(xiàn)時(shí)與分之間的兩個(gè)閃爍點(diǎn),為此,將第三只LED數(shù)碼管倒置擺放,這樣就很巧妙地形成了兩個(gè)很自然的閃爍點(diǎn)。與此同時(shí),為了能使兩點(diǎn)顯示能夠形象的表示時(shí)鐘“秒”的變化,設(shè)計(jì)時(shí),將兩個(gè)點(diǎn)由P1.7單獨(dú)控制,每隔一秒使P1.7發(fā)送一個(gè)正脈沖,從而實(shí)現(xiàn)了兩個(gè)點(diǎn)的閃爍顯示,閃爍周期為一秒。第二十五頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電子鐘課程程設(shè)計(jì)系統(tǒng)的軟件構(gòu)成及功能本系統(tǒng)的軟件系統(tǒng)主要可分為主程序和定時(shí)器中斷程序兩大模塊。在程序過程中,加入了抗干擾措施。下面對(duì)部分模塊作介紹。系統(tǒng)主程序設(shè)計(jì)主程序的功能是完成系統(tǒng)的初始化,在顯示時(shí)間之前,對(duì)系統(tǒng)是否停電狀態(tài)進(jìn)行檢測(cè);若停電,將系統(tǒng)進(jìn)入低功耗狀態(tài),用電池電壓維持單片機(jī)計(jì)時(shí)工作,但此時(shí)不顯示時(shí)間,用節(jié)省用電;若不停電,則將時(shí)分發(fā)送顯示。程序流程如圖9所示。3.2 中斷程程序設(shè)計(jì)中斷程序(如圖10所示)完成時(shí)間計(jì)數(shù),時(shí)間調(diào)整,誤差消除等功能。中斷采用AT89C2051內(nèi)部T0中斷實(shí)現(xiàn),定時(shí)時(shí)間為125ms,當(dāng)時(shí)間到達(dá)125ms×8,即1分鐘時(shí),分計(jì)數(shù)緩沖器MINBUFFER增加1,到達(dá)1小時(shí),則時(shí)計(jì)數(shù)緩沖器HOURBUFFER增加1,并將分、時(shí)的個(gè)位、十位放入顯示緩沖器。當(dāng)分計(jì)數(shù)緩沖器和時(shí)計(jì)數(shù)緩沖器分別到達(dá)60min、24h時(shí),則對(duì)它們清零,以便從新計(jì)數(shù)。在中斷設(shè)計(jì)中,還通過軟件實(shí)現(xiàn)了累計(jì)誤差消除功能,使整個(gè)系統(tǒng)時(shí)間的精確度得到保證。第二十六頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電子鐘課程設(shè)計(jì)圖10系統(tǒng)主程序流程圖第二十七頁,共五十七頁。《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電子鐘課程設(shè)計(jì)圖11

定時(shí)中斷程序第二十八頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì)4結(jié)束語上述電子鐘,無論在外觀上還是功能上都實(shí)現(xiàn)了較為完善的設(shè)計(jì)。特別值得一提的是本系統(tǒng)在精度上的設(shè)計(jì),突破傳統(tǒng)的方法,對(duì)可能產(chǎn)生的積累誤差采用“抵消法”,從而有效地降低了時(shí)間誤差。由于計(jì)數(shù)時(shí)產(chǎn)生的積累誤差所導(dǎo)致的時(shí)間誤差,是所有的電子計(jì)時(shí)系統(tǒng)共同存在的問題。但在目前市場(chǎng)上的電子時(shí)鐘產(chǎn)品,如計(jì)算機(jī)中的電時(shí)子鐘,鐘手課機(jī)中程的時(shí)設(shè)鐘等并沒有有效的采取消除誤差的措施。本系統(tǒng)設(shè)計(jì)的消除積累誤差來減少時(shí)間誤差的軟件方法,并不需要任何的硬件,因此在不增加成本的情況下,可以普遍用于所有的電子時(shí)鐘產(chǎn)品。第二十九頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電計(jì)名稱型號(hào)數(shù)量單片機(jī)AT89C20511數(shù)字集成芯片CD40172數(shù)字集成芯片CD40691超高亮數(shù)碼管共陽尺寸0.5inch4子超鐘高亮課發(fā)光程二極設(shè)管直徑3紅、透明13超高亮發(fā)光二極管直徑3綠、透明50普通二極管IN40014普通二極管IN41482穩(wěn)壓二極管C4V3(

4.3V)1三極管90125三極管90131新穎60秒旋轉(zhuǎn)電子鐘器件清單第三十頁,共五十七頁。《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電計(jì)新穎60秒旋轉(zhuǎn)電子鐘器件清單名稱型號(hào)數(shù)量輕觸按鍵?。ǔ叽?×6mm×5.5)3蜂鳴器5

V1晶振6M(小體積)1子鐘底座課程設(shè)

14腳1底座16腳2底座20腳1底座40腳1電阻220歐姆,1/8瓦8電阻4.7K,1/8瓦5第三十一頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電計(jì)名稱型號(hào)數(shù)量電阻100歐姆,1/8瓦1電阻270歐姆,1/8瓦2電容100微法/25伏2電容220微法/25伏1子鐘電容課程設(shè)30P瓷片3電容104(0.1微法)3變壓器5

V/100

M

A1電源線150cm1固定腳銅3套PCB線路板直徑11.51熱縮管直徑20.2米新穎60秒旋轉(zhuǎn)電子鐘器件清單第三十二頁,共五十七頁。《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電子鐘課程設(shè)計(jì)第三十三頁,共五十七頁。《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電子鐘課程設(shè)計(jì)電子鐘電源第三十四頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電子鐘課程設(shè)計(jì)新穎60秒旋轉(zhuǎn)電子鐘實(shí)物1第三十五頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電子鐘課程設(shè)計(jì)新穎60秒旋轉(zhuǎn)電子鐘實(shí)物2第三十六頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì)60秒旋轉(zhuǎn)電子鐘部分參考程序清單ALARMHBUFF2ALARMHBUFF1ALARMMBUFF2ALARMMBUFF1EQU

77HEQU

76HEQU

75HEQU

74H;鬧鈴時(shí)間的時(shí)十位計(jì)時(shí)綬沖;鬧鈴時(shí)間的時(shí)個(gè)位計(jì)時(shí)綬沖;鬧鈴時(shí)間的分十位計(jì)時(shí)綬沖;鬧鈴時(shí)間的分個(gè)位計(jì)時(shí)綬沖HBUFF2EQU

73H電子HBUF鐘F鐘1MBUFF2MBUFF1DPNUM課程EQ設(shè)U

72HEQU

71HEQU

70HEQU

6FHEQU

78H;時(shí)十位計(jì)時(shí)綬沖;時(shí)個(gè)位計(jì)時(shí)綬沖;分十位計(jì)時(shí)綬沖;分個(gè)位計(jì)時(shí)綬沖;控制數(shù)碼管點(diǎn)的亮暗;前四秒還是后四秒計(jì)數(shù)SBUFFEQU

79H;秒十進(jìn)制計(jì)時(shí)綬沖(低四位對(duì)應(yīng)個(gè)位,高四位對(duì)應(yīng)十位)第三十七頁,共五十七頁。《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電子鐘課程設(shè)計(jì)MBUFFHBUFFALARMMBUFFALARMHBUFFNUMT1EQU

7AHEQU

7BHEQU

7CHEQU

7DHEQU

67H;分十進(jìn)制計(jì)時(shí)綬沖;時(shí)十進(jìn)制計(jì)時(shí)綬沖;鬧鈴時(shí)間的分十進(jìn)制計(jì)時(shí)綬沖;鬧鈴時(shí)間的時(shí)十進(jìn)制計(jì)時(shí)綬沖;用于控制時(shí)間調(diào)整時(shí)按鍵p3.2一次按下時(shí),計(jì)數(shù)器T1中斷的次數(shù)NUMT2 EQU

68H器T1中斷的次數(shù)EQU

69H;用于控制時(shí)間調(diào)整時(shí)按鍵p3.3

一次按下時(shí),計(jì)數(shù);用于存儲(chǔ)NUMT1已經(jīng)計(jì)數(shù)到第幾個(gè)半秒KEYNUMT1KEYNUMT2

EQU

6AH;用于存儲(chǔ)NUMT1已經(jīng)計(jì)數(shù)到第幾個(gè)半秒STOREKEYNUMT2

EQU

6BH;用于存儲(chǔ)當(dāng)前KEYNUMT1的值,以和下次做比較,看是否有變化6CH

;用于存儲(chǔ)當(dāng)前KEYNUMT2的值,以和下次做比較STOREKEYNUMT1

EQU,看是否有變化第三十八頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電子鐘課程設(shè)計(jì)ORG

0000HAJMP

STARTORG

000BH;設(shè)置計(jì)數(shù)初值,R4用來存儲(chǔ)低位的初值MOV

TH0

,

#0BHMOV

TL0

,

R4AJMP

INTERT0ORG

001BHAJMP

INTERT1ORG

0040HSTART:

MOV

NUMT1

,

#00HMOV

NUMT2

,

#00HMOV

KEYNUMT1

,

#00HMOV

KEYNUMT2

,

#00HMOV

STOREKEYNUMT2,

#00HMOV

STOREKEYNUMT1

,

#00HMOV

NUM

,

#8MOV

DPTR

,

#TAB第三十九頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì);置鬧鈴時(shí)間初始值為18:55;置鬧鐘時(shí)間為18:53MOV

ALARMHBUFF

,

#18HMOV

ALARMMBUFF

,

#55HMOV

ALARMHBUFF2,

#01HMOV

ALARMHBUFF1,

#08HMOV

ALARMMBUFF2

,

#05HMOV

ALARMMBUFF1

,

#05HMOV

HBUFF2,

#01HMOV

HBUFF1,

#08H電子鐘MO課V課MB程UFF2,設(shè)#05HMOV

MBUFF1

,

#03HMOV

HBUFF

,

#18HMOV

MBUFF

,

#53HMOV

SBUFF

,

#3CHMOV

TCON

,

#05HMOV

TMOD

,

#11HMOV

TH0

,

#0BH;置初始秒為60,計(jì)時(shí)時(shí)減;下降沿觸發(fā);初始化定時(shí)器,T0

,T1

16位計(jì)時(shí);設(shè)置計(jì)數(shù)初值,125ms計(jì)時(shí)第四十頁,共五十七頁。《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì);T1置初值,進(jìn)行100ms計(jì)時(shí),用于調(diào)整時(shí)間;開T0中斷;T0中斷優(yōu)先級(jí)最高;允許T0計(jì)數(shù)SETBMOV

TL0

,

#0DBHMOV

TH1

,

#3CHMOV

TL1

,

#0B0HMOV

IE

,

#82HSETB

PT0SETB

TR0P3.2SETBP3.3START1:

MOV A

,

HBUFF;顯示時(shí),7點(diǎn)以前及21點(diǎn)以后亮度調(diào)暗電子鐘SUBB課A,程#7H設(shè)JC

START2MOV A

,

HBUFFSUBB

A

,

#21HJNC

START2ACALL

DISPLAYACALL

ZDBSAJMP

START3第四十一頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì);檢測(cè)是否是定鬧時(shí)間START2:

ACALL

NIGHTDISPLAYSTART3:

MOV

A

,ALARMHBUFFCJNE

A

,

HBUFF

,

START4MOV A

,

ALARMMBUFFCJNEA

,

MBUFF

,START4MOV

C,DP

;若是定鬧時(shí)間,則利用dp的值來決定蜂鳴MOV

P3.2,

CMOV A

,

SBUFF電子鐘課JNZ

程STA設(shè)R設(shè)T1;若還沒到1分鐘,則繼續(xù)蜂鳴SETB

P3.2START4:

JNB

P3.2,ADJUSTTIME1;循環(huán)等待中斷,并檢測(cè)是否鍵按下,若是,則進(jìn)入相應(yīng)程序JNB

P3.3,ADJUSTTIME2AJMP

START1第四十二頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電子鐘課程設(shè)計(jì)KEYNUMT1

,#00HINT0中斷子程序ADJUSTTIME1:

NOPMOVMOVTH1

,

#3CH;T1置初值,進(jìn)行100ms計(jì)時(shí),用于調(diào)整時(shí)間;開T1中斷MOV

TL1

,

#0B0HSETB

ET1SETBSETBPT1

;設(shè)T1中斷優(yōu)先級(jí)最高TR1

;允許T1計(jì)時(shí)MOV

STOREKEYNUMT1

,

KEYNUMT1;存儲(chǔ)當(dāng)前次KEYNUMT1的值TIME1_1:ACALL

DISPLAYMOV A

,

KEYNUMT1CJNE

A

,

STOREKEYNUMT1,TIME1_2;若當(dāng)前KEYNUMT1的值與上一次的值不等,則時(shí)間加1分,否則繼續(xù)循環(huán),等等至半分鐘AJMP

TIME1_3第四十三頁,共五十七頁。《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì)TIME1_2:

MOVSTOREKEYNUMT1,KEYNUMT1;加1后存儲(chǔ)當(dāng)前的KEYNUMT1的值;分加1;若p3.2已關(guān),則退出增時(shí),否則繼續(xù)循環(huán)ACALL

ADDBUFF0TIME1_3:

JNB

P3.2,TIME1_1CLR

ET1CLR

PT1電子鐘課CL程RAJMPT設(shè)R1START1第四十四頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì)時(shí)間增1分ADDBUFF0:

MOVA,MBUFF

;若按鍵小于1s,則分增1電子鐘課程A設(shè)NLADD A

,

#1DA

AMOV

MBUFF

,

AANL A

,

#0FHMOV

MBUFF1

,

AMOV A

,

MBUFFSWAP

AA

,

#0FHMOV

MBUFF2

,

AMOV A

,

MBUFFCJNE A

,

#60H

,

ADDBUFF1MOV

MBUFF

,

#00HMOV

MBUFF2

,

#00HMOV

MBUFF1

,

#00HMOV

A

,

HBUFF;時(shí)增1第四十五頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì)ADD A

,

#1DA

AMOV

HBUFF

,

AANL A

,

#0FHMOV

HBUFF1

,

AMOV A

,

HBUFFSWAP

AANL A

,

#0FH電子鐘課VOM程A,設(shè)CJNEMOV

HBUFF2

,

AHBUFFA

,

#24H

,

ADDBUFF1;若沒到24小時(shí),

則不必初值置0MOV

HBUFF

,

#00HMOV

HBUFF2

,

#00HMOV

HBUFF1

,

#00HADDBUFF1:

RET第四十六頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì)INT1中斷子程序ADJUSTTIME2:

NOPACALL

DL100MS;如果(P3.3按鍵<100ms以上)

則不做處理KEYNUMT2,#00H

;否則進(jìn)入定鬧設(shè)置MOV

C

,

P3.3JC

TIME2_6

MOVMOVSTOREKEYNUMT2

,

KEYNUMT2;記錄當(dāng)前NUMT2的數(shù)據(jù),以看下次有沒改變TIME2_1:

NOP電子鐘課MOV程TH設(shè)1,#3CH;T1置初值,進(jìn)行100ms計(jì)時(shí),用于調(diào)整時(shí)間MOV

TL1

,

#0B0HSETB

ET1SETB

PT1SETB

TR1;開T1中斷;設(shè)T1中斷優(yōu)先級(jí)最高;允許T1計(jì)時(shí)TIME2_2:

ACALL

ALARMDISPLAYMOV A

,

KEYNUMT2CJNE A

,

STOREKEYNUMT2

,TIME2_3AJMP

TIME2_4第四十七頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì)TIME2_3:

MOVSTOREKEYNUMT2

,

KEYNUMT2;若按鍵小于1s,則分增1MOV A

,

ALARMMBUFFADD A

,

#1DA

AMOV

ALARMMBUFF

,

AANL A

,

#0FHMOV

ALARMMBUFF1

,

AMOV A

,

ALARMMBUFFSWAP

AANL A

,

#0FH電子鐘課M程O程V設(shè)A設(shè)LARMMBUFF2

,

AMOV A

,

ALARMMBUFFCJNE A

,

#60H

,

TIME2_4MOV

ALARMMBUFF

,

#00HMOV

ALARMMBUFF2

,

#00HMOV

ALARMMBUFF1

,

#00H;時(shí)增1MOV A

,

ALARMHBUFFADD A

,

#1DA

A第四十八頁,共五十七頁。《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì)MOV

ALARMHBUFF

,

AANL A

,

#0FHMOV

ALARMHBUFF1

,

AMOV A

,

ALARMHBUFFSWAP

AANL A

,

#0FHMOV

ALARMHBUFF2

,

AMOV A

,

ALARMHBUFFCJNE A

,

#24H

,

TIME2_4;若沒到24小時(shí),則初值不必置0電子鐘課MOV程AL設(shè)ARMHBUFF,#00HMOV

ALARMHBUFF2

,

#00HMOV

ALARMHBUFF1

,

#00HTIME2_4:

NOP;若按鍵已經(jīng)未按,則退出循環(huán)JNB

P3.3,TIME2_2CLR

ET1CLR

TR1MOV

KEYNUMT2

,

#00HMOV

NUMT2

,

#00H第四十九頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電子鐘課程設(shè)計(jì);直到p3.3

20s鐘內(nèi)都是未按,此時(shí)復(fù)原數(shù)據(jù),即退出設(shè)置MOV

R2

,

#10TIME2_7:

MOV

R1

,

#200TIME2_5:

ACALL

ALARMDISPLAYACALL

DL1MSJNB

P3.3

,

TIME2_1DJNZ

R1

,

TIME2_5R2

,

TIME2_7DJNZTIME2_6:

CLR

ET1CLRCLRLJMPPT1TR1START1第五十頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶電子鐘課程設(shè)計(jì)T1中斷子程序INTERT1:

NOPMOV

TH1

,

#3CH;T1置初值,進(jìn)行100ms計(jì)時(shí),用于調(diào)整時(shí)間MOV

TL1

,

#0B0HPUSH

ACCPUSH

PSWCLR

ET0CLR

ET1;關(guān)T1中斷MOV A

,

NUMT1INC

AMOV

NUMT1,A

;中斷一次則相應(yīng)的增加NUMT1CJNE

A

,

#5

,

INTERT1NEXT;每中斷五次,即半秒,都增加KEYNUMT1MOV A

,KEYNUMT1INC

AMOV

KEYNUMT1

,

AMOV

NUMT1

,

#00H;NUMT1已經(jīng)是5了,則處理過KEYNUMT1后,重置NUMT1第五十一頁,共五十七頁?!秵纹瑱C(jī)原理及應(yīng)用》課程設(shè)計(jì)實(shí)例----余水寶計(jì);中斷一次則相應(yīng)的增加NUMT1A

,

NUMT2ANUMT2

,

AINTERT1NEXT:

NOPMOVINCMOVCJNEA,

#5,ENDINTERT1;每中斷五次,即半秒,都增加KEYNUMT1MOV A

,

KEYNUMT2INC

A電子鐘課程MOV設(shè)KEYNUMT2,AMOV

NUMT2,#00H

;NUMT1已經(jīng)是5了,則處理過KEYNUMT1后,重置NU

溫馨提示

  • 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論