




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
鄭重申明本人呈交的畢業(yè)實(shí)習(xí)匯報(bào)(設(shè)計(jì)),是在導(dǎo)師的指導(dǎo)下,獨(dú)立進(jìn)行實(shí)習(xí)和研究工作所獲得的成果,所有數(shù)據(jù)、圖片資料真實(shí)可靠。盡我所知,除文中已經(jīng)注明引用的內(nèi)容外,本畢業(yè)實(shí)習(xí)匯報(bào)(設(shè)計(jì))的成果不包括他人享有著作權(quán)的內(nèi)容。對(duì)本畢業(yè)實(shí)習(xí)匯報(bào)(設(shè)計(jì))所波及的實(shí)習(xí)和研究工作做出奉獻(xiàn)的其他個(gè)人和集體,均已在文中以明確的方式標(biāo)明。本畢業(yè)實(shí)習(xí)匯報(bào)(設(shè)計(jì))的知識(shí)產(chǎn)權(quán)歸屬于作者與培養(yǎng)單位。學(xué)生簽名日期0000.00
摘要該電子時(shí)鐘是采用STC89C52單片機(jī)進(jìn)行的電子時(shí)鐘設(shè)計(jì),其設(shè)計(jì)包括:顯示模塊,按鍵模塊,鬧鈴模塊,無(wú)線接受模塊。時(shí)鐘采用STC89C52單片機(jī)自身定期器進(jìn)行計(jì)時(shí),按鍵模塊采用獨(dú)立式鍵盤(pán)(4個(gè)按鍵),鬧鈴部分由8550三極管和蜂鳴器構(gòu)成,無(wú)線接受模塊采用1838接受窗,顯示時(shí)、分、秒用8位數(shù)碼管顯示,具有可調(diào)整時(shí)間功能,在設(shè)計(jì)過(guò)程中硬件和軟件應(yīng)同步進(jìn)行。關(guān)鍵詞:電子時(shí)鐘單片機(jī)鬧鐘蜂鳴器
目錄1緒論1.1課題背景及意義……………51.2課題內(nèi)容……………………52方案論證2.1功能規(guī)定……………………72.2數(shù)字時(shí)鐘方案論證與比較…………………72.3數(shù)碼管顯示方案論證與比較………………83.電子時(shí)鐘的硬件設(shè)計(jì)3.1電子時(shí)鐘的構(gòu)成……………93.2單片機(jī)最小系統(tǒng)圖…………93.3STC89C52引腳功能…………103.4數(shù)碼顯示模塊………………113.5鬧鈴部分……………………113.6按鍵模塊……………………124電子時(shí)鐘的軟件設(shè)計(jì)4.1電子時(shí)鐘程序流程框圖……………………144.2按鍵調(diào)整流程圖……………164.3子程序的設(shè)計(jì)………………174.4.1數(shù)碼管顯示模塊……………………174.4.2按鍵子模塊…………184.4.3主程序………………345硬件的制作與測(cè)試分析5.1電子時(shí)鐘的硬件制作 ………375.2硬件測(cè)試……………………374.3軟件調(diào)試……………………375.4測(cè)試成果分析與結(jié)論………385.4.1數(shù)碼管測(cè)試成果分析………………385.4.2按鍵測(cè)試結(jié)論………385.4.3測(cè)試結(jié)論……………39結(jié)論…………………40參照文獻(xiàn)……………42
1論述1.1課題背景及意義二十一世紀(jì)的今天,電子時(shí)鐘已經(jīng)融入到千千萬(wàn)萬(wàn)戶家庭中,它已經(jīng)成為了人們生活中不可或缺的一部分。電子時(shí)鐘通過(guò)數(shù)碼管顯示,使其直觀明了,更能實(shí)現(xiàn)整點(diǎn)報(bào)時(shí),遙控控制等功能,使其更符合當(dāng)今人們的生活需求,電子時(shí)鐘的出現(xiàn)使人們的生活愈加的有條不紊。目前市場(chǎng)上的電子時(shí)鐘諸多,為了迎合市場(chǎng)的需要,滿足廣大的消費(fèi)人群,人們通過(guò)自己的DIY設(shè)計(jì)讓電子時(shí)鐘富有創(chuàng)意。電子時(shí)鐘通過(guò)不停地改善,使其更具有市場(chǎng)。本次設(shè)計(jì)的電子時(shí)鐘運(yùn)用單片機(jī)STC89C52進(jìn)行控制的,運(yùn)用單片機(jī)自身的定期器功能,外加遙控器進(jìn)行控制,采用數(shù)碼管顯示,可對(duì)電子時(shí)鐘進(jìn)行調(diào)整校準(zhǔn)。電子時(shí)鐘既可廣泛應(yīng)用于家庭,也可應(yīng)用于銀行、郵電、賓館、醫(yī)院、學(xué)校、企業(yè)、商店等有關(guān)行業(yè)的大廳,以及單位會(huì)議室、門(mén)衛(wèi)等場(chǎng)所。因而,此設(shè)計(jì)具有相稱重要的現(xiàn)實(shí)意義和實(shí)用價(jià)值。1.2課題內(nèi)容本次設(shè)計(jì)的題目是:基于51單片機(jī)的電子時(shí)鐘設(shè)計(jì)與制作。運(yùn)用單片機(jī)的計(jì)時(shí)、校時(shí)等功能,設(shè)計(jì)并制作出一種以單片機(jī)STC89C52為關(guān)鍵組件,采用數(shù)碼管顯示“時(shí)“分“秒”的電子時(shí)鐘,規(guī)定能正常顯示,并可用按鍵進(jìn)行調(diào)整校準(zhǔn)以及用遙控器進(jìn)行相似操作。本次設(shè)計(jì)與老式的機(jī)械表相比,它具有走的更精確,顯示更直觀等特點(diǎn),同步具有不一樣的操作方式,讓本次設(shè)計(jì)更符合現(xiàn)代生活的需求,并且單片機(jī)的數(shù)字時(shí)鐘具有編程靈活,便于功能擴(kuò)充等特點(diǎn)。本次設(shè)計(jì)可分為兩部分:軟件部分、硬件部分。硬件部分包括:STC89C52單片機(jī)模塊,數(shù)碼管模塊,蜂鳴器模塊,按鍵模塊,鬧鈴模塊。通過(guò)對(duì)的連接電路以及單片機(jī)的編程來(lái)實(shí)現(xiàn)上述規(guī)定。軟件部分的主程序包括:數(shù)碼管顯示程序,按鍵控制程序,遙控器操作程序。使其實(shí)現(xiàn)時(shí)分秒正常顯示,并可通過(guò)按鍵以及遙控器進(jìn)行調(diào)試功能。2方案論證2.1功能規(guī)定1、能顯示時(shí)、分、秒2、通過(guò)按鍵可以對(duì)電子時(shí)鐘進(jìn)行調(diào)整校準(zhǔn)3、通過(guò)遙控器可對(duì)電子時(shí)鐘進(jìn)行調(diào)整校準(zhǔn)4、可實(shí)現(xiàn)設(shè)定鬧鐘并報(bào)警功能5、上電后,電子鐘顯示“14-00-00”,蜂鳴器同步發(fā)出聲音2.2數(shù)字時(shí)鐘方案論證與比較在本次設(shè)計(jì)中,數(shù)字時(shí)鐘是最重要的部分,根據(jù)本次設(shè)計(jì)的需要,可運(yùn)用兩種方案實(shí)現(xiàn)。方案一:采用時(shí)鐘芯片DS12887A進(jìn)行控制時(shí),由于該芯片具有完備的時(shí)鐘鬧鐘功能,因此可以直接用它來(lái)進(jìn)行顯示或設(shè)置,這樣可以讓軟件的編程相對(duì)簡(jiǎn)樸。并且為了保證時(shí)鐘在電網(wǎng)電壓局限性或忽然斷電的狀況下仍能正常工作,芯片內(nèi)部自身就包括鋰電池,當(dāng)電網(wǎng)電壓局限性或者忽然掉電的時(shí)候,系統(tǒng)會(huì)自動(dòng)轉(zhuǎn)換到內(nèi)部鋰電池供電系統(tǒng),并且雖然系統(tǒng)不上電,程序不執(zhí)行時(shí),鋰電池也能保證芯片的正常運(yùn)行,以備隨時(shí)提供對(duì)的的時(shí)間。方案二:采用單片機(jī)自身的定期器進(jìn)行計(jì)時(shí),來(lái)實(shí)現(xiàn)數(shù)字時(shí)鐘功能。原理為:在單片機(jī)內(nèi)部存儲(chǔ)器設(shè)三個(gè)字節(jié)分別寄存時(shí)鐘的時(shí)、分、秒信息。運(yùn)用定期器與軟件結(jié)合實(shí)現(xiàn)1秒定期中斷,每產(chǎn)生一次中斷,存儲(chǔ)器內(nèi)對(duì)應(yīng)的秒值加1;若秒值到達(dá)60,則將其清零,并將對(duì)應(yīng)的分字節(jié)值加1;若分值到達(dá)60,則清零分字節(jié),并將時(shí)字節(jié)值加1;若時(shí)值到達(dá)24,則將十字節(jié)清零。該方案具有硬件電路簡(jiǎn)樸的特點(diǎn)。但由于每次執(zhí)行程序時(shí),定期器都要重新賦初值,因此該時(shí)鐘精度不高。并且,由于是軟件實(shí)現(xiàn),當(dāng)單片機(jī)不上電,程序不執(zhí)行時(shí),時(shí)鐘將不工作?;谟布娐返目紤],本設(shè)計(jì)采用方案二完畢數(shù)字時(shí)鐘的功能。2.3數(shù)碼管顯示方案論證與比較方案一:采用靜態(tài)顯示。所謂靜態(tài)顯示,就是當(dāng)顯示屏顯示某一字符時(shí),對(duì)應(yīng)的發(fā)光二極管恒定的導(dǎo)通或截止。該方式每一位都需要一種8位輸出口控制。靜態(tài)顯示時(shí)較小的電流能獲得較高的亮度,且字符不閃爍。但當(dāng)所顯示的位數(shù)較多時(shí),靜態(tài)顯示所需的I/O口太多,導(dǎo)致了資源的揮霍。方案二:采用動(dòng)態(tài)顯示。所謂動(dòng)態(tài)顯示就是一位一位的輪番點(diǎn)亮各個(gè)位,對(duì)于顯示屏的每一位來(lái)說(shuō),每隔一段時(shí)間點(diǎn)亮一次。運(yùn)用人的視覺(jué)暫留功能可以看到整個(gè)顯示,但必須保證掃描速度足夠快,字符才不閃爍。顯示屏的亮度既與導(dǎo)通電流有關(guān),也于點(diǎn)亮?xí)r間與間隔時(shí)間的比例有關(guān)。調(diào)整參數(shù)可以實(shí)現(xiàn)較高穩(wěn)定度的顯示。動(dòng)態(tài)顯示節(jié)省了I/O口,減少了能耗。從節(jié)省I/O口和減少能耗出發(fā),本設(shè)計(jì)采用方案二。綜上所訴:我們采用單片機(jī)完畢數(shù)字時(shí)鐘的功能,采用數(shù)碼管的動(dòng)態(tài)顯示來(lái)完畢顯示部分。3.電子時(shí)鐘的硬件設(shè)計(jì)3.1電子時(shí)鐘的構(gòu)成本次設(shè)計(jì)制作的電子時(shí)鐘構(gòu)成部分為:STC89C52主控制模塊,按鍵模塊,復(fù)位電路,數(shù)碼管顯示模塊,鬧鈴模塊。構(gòu)成圖如圖3-1所示鬧鈴模塊鬧鈴模塊按鍵模塊1838紅外接受窗STC89C52主控制模塊數(shù)碼管顯示模塊復(fù)位電路圖3-1電子時(shí)鐘系統(tǒng)構(gòu)成3.2單片機(jī)最小系統(tǒng)圖單片機(jī)最小系統(tǒng)又稱為最小應(yīng)用系統(tǒng),即用至少的元器件構(gòu)成單片機(jī)可以工作的系統(tǒng)。一般應(yīng)包括:電源、單片機(jī)、晶振電路、復(fù)位電路等。如圖3-2所示為單片機(jī)最小系統(tǒng)圖。圖3-2單片機(jī)最小系統(tǒng)圖3.3STC89C52引腳功能圖3-3STC89C52引腳如圖3-3所示,STC89C52重要管腳有:XTAL1(19腳)和XTAL2(18腳)為振蕩器輸入輸出端口,外接12MHz晶振。RST/Vpd(9腳)為復(fù)位輸入端口,外接電阻電容構(gòu)成的復(fù)位電路。VCC(40腳)和VSS(20腳)為供電端口,分別接+5V電源的正負(fù)端。P0~P3為可編程通用I/O腳,其功能用途由軟件定義,在本設(shè)計(jì)中,P0端口(32~39腳)被定義為功能控制端口,分別與其對(duì)應(yīng)功能管腳相連接,13腳定義為IR輸入端。3.4數(shù)碼管顯示模塊圖3-4數(shù)碼管顯示模塊如圖3-4所示,在這次的設(shè)計(jì)中,數(shù)碼管接在單片機(jī)的P0和P2口,P0控制段選信號(hào),P2控制位選信號(hào)。通過(guò)位選信號(hào)依次點(diǎn)亮各個(gè)數(shù)碼管,由于人眼有視覺(jué)暫留的特性,因此假如第一種數(shù)碼管滅和第二個(gè)數(shù)碼管亮之間的時(shí)間足夠短,人眼是感覺(jué)不出數(shù)碼管的變化的。3.5鬧鈴部分鬧鈴如下圖3-5所示,重要由8550三極管和蜂鳴器構(gòu)成,可通過(guò)手動(dòng)設(shè)置來(lái)實(shí)現(xiàn)鬧鈴功能。圖3-5鬧鈴圖3.6按鍵模塊如圖3-6所示,本次設(shè)計(jì)是采用四個(gè)獨(dú)立式按鍵,分別為“時(shí)間設(shè)置”鍵,“鬧鐘設(shè)置”鍵,“+”鍵,“-”鍵,,通過(guò)這四個(gè)按鍵來(lái)調(diào)整電子時(shí)鐘的時(shí)間顯示和鬧鐘響應(yīng)?!皶r(shí)間設(shè)置” “鬧鐘設(shè)置“+” “—”圖3-6按鍵圖4電子時(shí)鐘的軟件設(shè)計(jì)本次設(shè)計(jì)重要是對(duì)單片機(jī),數(shù)碼管,紅外遙控器,按鍵和鬧鈴部分進(jìn)行編寫(xiě)的。4.1電子時(shí)鐘程序流程框圖開(kāi)始初始化單片機(jī)、數(shù)碼管、按鍵等開(kāi)始初始化單片機(jī)、數(shù)碼管、按鍵等數(shù)碼管固定顯示掃描按鍵、遙控器掃描,數(shù)碼管正常顯示調(diào)用時(shí)間,設(shè)置子程序刷新正常時(shí)間顯示圖4-1系統(tǒng)程序流程框圖本次的設(shè)計(jì)主程序是根據(jù)每個(gè)模塊的特性來(lái)進(jìn)行編寫(xiě),先對(duì)各個(gè)模塊進(jìn)行初始化,然后再按照各自不一樣來(lái)分模塊編寫(xiě),最終得出總的流程圖。進(jìn)入程序后,先將單片機(jī),數(shù)碼管,按鍵等進(jìn)行初始化,數(shù)碼管顯示固定數(shù)值“14-00-00”,程序開(kāi)始等待按鍵按下,當(dāng)有按鍵按下,單片機(jī)檢測(cè)一次,確定按下,單片機(jī)調(diào)用程序,同步數(shù)碼管刷新一次,顯示目前操作成果。完后,程序返回按鍵等待,如此循環(huán)執(zhí)行4.2按鍵調(diào)整流程圖開(kāi)始開(kāi)始設(shè)置鍵1按下1次,進(jìn)入時(shí)調(diào)整等待按鍵程序加鍵有效減鍵有效時(shí)加1時(shí)減1設(shè)置1鍵按下2次,進(jìn)入分調(diào)整等待按鍵程序加鍵有效減鍵有效分加1分減1設(shè)置1鍵按下3次,進(jìn)入秒調(diào)整等待按鍵程序加鍵有效減鍵有效秒加1秒減1設(shè)置2鍵按下1次,進(jìn)入鬧鐘時(shí)設(shè)置等待按鍵程序加鍵有效減鍵有效時(shí)設(shè)定加1時(shí)設(shè)定減1設(shè)置2鍵按下2次,進(jìn)入鬧鐘分調(diào)整等待按鍵程序加鍵有效減鍵有效分設(shè)定加1分設(shè)定減1圖4-2按鍵調(diào)整流程圖 4.4子程序的設(shè)計(jì)4.4.1數(shù)碼管顯示模塊4位獨(dú)立數(shù)碼管顯示,電路相對(duì)簡(jiǎn)樸,重要特點(diǎn),簡(jiǎn)樸易用,顯示清晰,性價(jià)比高。數(shù)碼管顯示程序:voiddisplay(void){ P0=led[hour/10];//p0口送數(shù)據(jù)拆數(shù)顯示 P2=0xFE; //片選 delay(); //延時(shí) P2=0xFF; //片選關(guān) P0=led[hour%10]; P2=0xFD; delay(); P2=0xFF; P0=0x40; P2=0xFB; delay(); P2=0xFF; P0=led[minit/10]; P2=0xF7; delay(); P2=0xFF; P0=led[minit%10]; P2=0xEF; delay(); P2=0xFF; P0=0x40; P2=0xDF; delay(); P2=0xFF; P0=led[second/10]; P2=0xBF; delay(); P2=0xFF; P0=led[second%10]; P2=0x7F; delay(); P2=0xFF; }4.4.2按鍵子模塊本次設(shè)計(jì)是采用四個(gè)獨(dú)立式按鍵,分別為“設(shè)置”鍵,“+”鍵,“-”鍵,“復(fù)位”鍵,通過(guò)這四個(gè)按鍵來(lái)調(diào)整電子時(shí)鐘的時(shí)間顯示和鬧鐘響應(yīng)。按鍵操作子程序:voidKeykonzhi(){ if(time==0) //鍵盤(pán)時(shí)間設(shè)定鍵按下 { delay(); delay(); if(time==0) { while(!time); timenum1++; //標(biāo)識(shí)++ TR1=0; f2=0; } } if(timenum1==1) //假如timenum1==1調(diào)時(shí) { dsflg=0; st=0; if(add==0) //加鍵按下 { delay(); delay(); if(add==0) { while(!add);//松手檢測(cè) hour++; //小時(shí)++ } } if(dec==0) //減鍵按下 { delay(); delay(); if(dec==0) { while(!dec);//松手檢測(cè) hour--; //小時(shí)-- } } if(hour>23) //限位 {hour=0;} P0=led[hour/10];//顯示小時(shí)函數(shù) P2=0xFE; delay(); P2=0xFF; P0=led[hour%10];//顯示小時(shí)函數(shù) P2=0xFD; delay(); P2=0xFF; } if(timenum1==2) ////假如timenum1==2調(diào)分//如下也是和調(diào)時(shí)同樣的措施 { dsflg=0; st=0; if(add==0) { delay(); delay(); if(add==0) { while(!add); minit++; } } if(dec==0) { delay(); delay(); if(dec==0) { while(!dec); minit--; } } if(minit>60) {minit=0;} P0=led[minit/10]; P2=0xF7; delay(); P2=0xFF; P0=led[minit%10]; P2=0xEF; delay(); P2=0xFF; } if(timenum1==3) ////假如timenum1==3調(diào)秒 { dsflg=0; st=0; if(add==0) { delay(); delay(); if(add==0) { while(!add); second++; } } if(dec==0) { delay(); delay(); if(dec==0) { while(!dec); second--; } } if(second>60) {second=0;} P0=led[second/10]; P2=0xBF; delay(); P2=0xFF; P0=led[second%10]; P2=0x7F; delay(); P2=0xFF; } if(timenum1==4) ////假如timenum1==4退出 { TR1=1; timenum1=0; dsflg=1; f2=1; st=1; } }voidalmset(){ timenum1=0; if(timer==0)//鍵盤(pán)上的鬧鐘鍵按下 { delay(); delay(); if(timer==0) { while(!timer);//松手 timenum2++; //標(biāo)識(shí)++ f1=0; } } if(timenum2==1) //假如timenum2=1設(shè)定腦鐘的小時(shí) { dsflg=0; st=0; if(add==0) //加鍵按下 { delay(); delay(); if(add==0) { while(!add);//松手 hour1++; //小時(shí)++ } } if(dec==0) //減鍵按下 { delay(); delay(); if(dec==0) { while(!dec);//松手 hour1--;//小時(shí)-- } } if(hour1>23)//限位 {hour1=0;} P0=led[hour1/10];//小時(shí)顯示 P2=0xFE; delay(); P2=0xFF; P0=led[hour1%10]; P2=0xFD; delay(); P2=0xFF; P0=0x77; //顯示一 P2=0xBF; delay(); P2=0xFF;//顯示一 P0=0x38; P2=0x7F; delay(); P2=0xFF; } if(timenum2==2) //假如timenum2=1設(shè)定腦鐘的分鐘和上面小時(shí)同樣 { dsflg=0; st=0; if(add==0) { delay(); delay(); if(add==0) { while(!add); minit1++; } } if(dec==0) { delay(); delay(); if(dec==0) { while(!dec); minit1--; } } if(minit1>60) {minit1=0;} P0=led[minit1/10]; P2=0xF7; delay(); P2=0xFF; P0=led[minit1%10]; P2=0xEF; delay(); P2=0xFF; P0=0x77; P2=0xBF; delay(); P2=0xFF; P0=0x38; P2=0x7F; delay(); P2=0xFF; } if(timenum2==3) //假如timenum2=3退出 { timenum2=0; dsflg=1; f1=1; st=1; } }當(dāng)用手按下一種鍵時(shí),如圖3-4所示,往往按鍵在閉合位置和斷開(kāi)位置之間跳幾下才穩(wěn)定到閉合狀態(tài)的狀況;在釋放一種鍵時(shí),也回會(huì)出現(xiàn)類似的狀況。這就是抖動(dòng)。抖動(dòng)的持續(xù)時(shí)間隨鍵盤(pán)材料和操作員而異,不過(guò)一般總是不不小于10ms。很輕易想到,抖動(dòng)問(wèn)題不處理就會(huì)引起對(duì)閉合鍵的識(shí)別。用軟件措施可以很輕易地處理抖動(dòng)問(wèn)題,這就是通過(guò)延遲10ms來(lái)等待抖動(dòng)消失,這之后,在讀入鍵盤(pán)碼。圖3-4按鍵抖動(dòng)新號(hào)波形本次設(shè)計(jì)過(guò)程中電路的工作原理:數(shù)字電子鐘是一種將“時(shí)”,“分”,“秒”顯示于人的視覺(jué)器官的計(jì)時(shí)裝置。它的計(jì)時(shí)周期為24小時(shí),顯示滿刻度為23時(shí)59分59秒,此外尚有校時(shí)功能。因此,一種基本的數(shù)字鐘電路重要由顯示屏“時(shí)”,“分”,“秒”和單片機(jī),尚有校時(shí)電路構(gòu)成。8個(gè)數(shù)碼管的段選接到單片機(jī)的P0口,位選接到單片機(jī)的P2口。數(shù)碼管按照數(shù)碼管動(dòng)態(tài)顯示的工作原理工作,將原則秒信號(hào)送入“秒單元”,“秒單元”采用60進(jìn)制計(jì)數(shù)器,每合計(jì)60秒發(fā)出一種“分脈沖”信號(hào),該信號(hào)將作為“分單元”的時(shí)鐘脈沖?!胺謫卧币膊捎?0進(jìn)制計(jì)數(shù)器,每合計(jì)60分鐘,發(fā)出一種“時(shí)脈沖”信號(hào),該信號(hào)將被送到“時(shí)單元”?!皶r(shí)單元”采用24進(jìn)制計(jì)時(shí)器,可實(shí)現(xiàn)對(duì)一天24小時(shí)的合計(jì)。顯示電路將“時(shí)”、“分”、“秒”通過(guò)七段顯示屏顯示出來(lái)。校時(shí)電路時(shí)用來(lái)對(duì)“時(shí)”、“分”、“秒”顯示數(shù)字進(jìn)行校對(duì)調(diào)整,按一下設(shè)置鍵進(jìn)入時(shí)設(shè)置,按下“+”時(shí)加一次,按下“-”鍵,時(shí)減一次,同理,按設(shè)置鍵兩次即進(jìn)行分調(diào)整,按下三次進(jìn)行秒調(diào)整。4.4.3主程序voidmain(void){ second=59; //時(shí)間初始化為00:00:00 minit=59; hour=13; second1=0; //鬧鐘默認(rèn)為12:00:00 minit1=05; hour1=14; count0=0x00; count1=0x00; timenum1=0; f1=1; f2=1; dsflg=1; m=0;f=0; st=1; P1=0xFF; TMOD=0x11; TL1=tl; TH1=th; EA=1; TR1=1; ET1=1; IT1=1; TH0=0; TL0=0;TR0=1; EX1=1; while(1) { if(zhengdian==1) { speaker=0; delay1(1); speaker=1; delay1(1); } if(f1==1) { Keykonzhi(); } if(f2==1) { almset(); } almkozi(); if(dsflg==1) { display(); }if(st==1){ if(add==0) { delay(); delay(); if(add==0) { while(!add); second=00; //時(shí)間初始化為00:00:00 minit=00; hour=00; } }} }}5硬件的制作與測(cè)試分析5.1電子時(shí)鐘的硬件制作次的電子時(shí)鐘是根據(jù)所設(shè)計(jì)的原理圖,把每個(gè)部分都焊接好,連接起來(lái),然后接入電源,上電,最終將所編寫(xiě)的程序燒入單片機(jī)中。5.2硬件測(cè)試電子時(shí)鐘的硬件相對(duì)簡(jiǎn)樸,只用幾種模塊構(gòu)成,但在檢查電路的時(shí)候輕易因掉以輕心而出錯(cuò),重要檢查電路連接與否有短路或者短路現(xiàn)象(通過(guò)萬(wàn)用表檢測(cè)),元器件的型號(hào)和規(guī)格與否使用合理。另一方面,檢測(cè)電源。檢測(cè)措施:一種是斷開(kāi)穩(wěn)壓電源的輸出端,檢查空載時(shí)電源工作狀況;另一種是拔下電源上的重要集成芯片,檢查電源的負(fù)載能力(用假負(fù)載),保證電源無(wú)端障并性能符合設(shè)計(jì)規(guī)定。檢測(cè)完電路,保證其不發(fā)生電路故障的前提下才可上電。5.3軟件調(diào)試電子時(shí)鐘雖然看著硬件比較少,不過(guò)寫(xiě)起程序來(lái)并非那么簡(jiǎn)樸,在設(shè)計(jì)階段,由于我們是剛?cè)胧謫纹瑱C(jī)沒(méi)多久的,因此對(duì)挺多的程序并不是很理解,我們看了郭天祥的“十天學(xué)會(huì)單片機(jī)”,他里面講了諸多有關(guān)按鍵,數(shù)碼管,遙控器等方面的內(nèi)容,我們就仿照他的例子,根據(jù)自己的刪改添加終于完畢了自己的程序。在電子時(shí)鐘的程序設(shè)計(jì)階段,讓數(shù)碼管顯示“14-00-00”,由于對(duì)十六進(jìn)制不夠純熟,因此在實(shí)現(xiàn)顯示的時(shí)候總是出現(xiàn)亂碼,背面靜下心慢慢算,終于可以正常顯示,不過(guò)只是實(shí)現(xiàn)數(shù)碼管的靜態(tài)顯示,動(dòng)態(tài)顯示才是關(guān)鍵,通過(guò)我們?cè)谡n上講的數(shù)碼管累加計(jì)時(shí),仿照其原理,通過(guò)改善,也實(shí)現(xiàn)了動(dòng)態(tài)顯示。在按鍵方面,按鍵由于是獨(dú)立的,因此我一種個(gè)按鍵的功能慢慢實(shí)現(xiàn),先做加減后做調(diào)整和復(fù)位,剛開(kāi)始做按鍵的時(shí)候由于考慮的不夠全面,雖然按鍵可以實(shí)現(xiàn)加減,不過(guò)出現(xiàn)按一次跳諸多次的現(xiàn)象,通過(guò)查找資料并觀看視頻,本來(lái)按下去的時(shí)候會(huì)出現(xiàn)所謂的“抖動(dòng)”,這時(shí)候就需要多添加幾句程序來(lái)進(jìn)行消抖,最終數(shù)碼管才正常加減,同樣道理實(shí)現(xiàn)選擇位跟復(fù)位功能,在一步步添加程序的同步也一步步地掌握了按鍵的使用措施。紅外遙控器是我最頭疼的,紅外遙控器是頭一次接觸,平時(shí)在看他人操作的時(shí)候感覺(jué)很神奇,也很好奇,不過(guò)做起來(lái)沒(méi)想到卻沒(méi)那么簡(jiǎn)樸,由于在設(shè)計(jì)的時(shí)候總是出現(xiàn)亂碼,或者說(shuō)實(shí)現(xiàn)一種功能的時(shí)候另一種功能輕易出錯(cuò),背面通過(guò)問(wèn)詢學(xué)長(zhǎng)學(xué)姐,也終于可以實(shí)現(xiàn)加減調(diào)整功能,雖然遙控器上面的所有按鍵我們沒(méi)有所有用上,不過(guò)對(duì)我來(lái)說(shuō)已經(jīng)是一種很大的進(jìn)步。5.4測(cè)試成果分析與結(jié)論5.4.1數(shù)碼管測(cè)試成果分析數(shù)碼管重要是分清晰共陰還是共陽(yáng),在寫(xiě)程序的時(shí)候一定要注意,通過(guò)肉眼看數(shù)碼管與否出現(xiàn)亮度不夠判斷其電路與否供電異?;蛘叱绦蛘加锰郈PU,進(jìn)行電路調(diào)整及程序修改,讓數(shù)碼管正常顯示。5.4.2按鍵測(cè)試結(jié)論在對(duì)按鍵進(jìn)行測(cè)試的時(shí)候重要出現(xiàn)按鍵按下去有時(shí)候會(huì)出現(xiàn)持續(xù)加跟持續(xù)減的現(xiàn)象,通過(guò)查找有關(guān)資料,本來(lái)按鍵按下去的時(shí)候會(huì)出現(xiàn)“抖動(dòng)”,因此我們就要在程序中進(jìn)行刪改,做“消抖”處理。5.4.3測(cè)試結(jié)論通過(guò)多次的反復(fù)測(cè)試,分析跟修改,程序越來(lái)越完善,我也對(duì)電路的原理跟功能愈加熟悉,同步在編程方
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 光纜生產(chǎn)自動(dòng)化與智能化技術(shù)考核試卷
- 樓房商用租賃合同范本
- 首付購(gòu)車合同范本
- 軸承成品采購(gòu)合同范本
- 水電承包勞務(wù)合同范本
- 酒店客房服務(wù)標(biāo)準(zhǔn)及流程制度
- 靜脈輸液的操作流程及操作規(guī)范
- 電商網(wǎng)站運(yùn)營(yíng)維護(hù)服務(wù)協(xié)議
- 共享經(jīng)濟(jì)平臺(tái)技術(shù)開(kāi)發(fā)合作協(xié)議
- 煤炭運(yùn)輸居間合同
- 第七講+漢字字音
- 新零件的成熟保障MLA
- 【基于杜邦分析法的企業(yè)盈利能力研究國(guó)內(nèi)外文獻(xiàn)綜述4000字】
- 初中語(yǔ)文七下-上下句默寫(xiě)
- 《董存瑞舍身炸碉堡》PPT課件新
- 新川教版信息技術(shù)六年級(jí)下冊(cè)全冊(cè)教案
- 第20章補(bǔ)充芯片粘接技術(shù)
- 旅行社運(yùn)營(yíng)實(shí)務(wù)電子課件 5.1 旅行社電子商務(wù)概念
- 《計(jì)算機(jī)與網(wǎng)絡(luò)技術(shù)基礎(chǔ)》
- 手機(jī)號(hào)碼段歸屬地?cái)?shù)據(jù)庫(kù)(2016年3月)
- 《登快閣》課件完整版
評(píng)論
0/150
提交評(píng)論