版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
畢業(yè)設(shè)計(jì)任務(wù)書一題目電子鐘二基本規(guī)定運(yùn)用單片機(jī)內(nèi)部定期器設(shè)計(jì)一種電子時(shí)鐘,在LED上顯示時(shí)、分、秒畢業(yè)設(shè)計(jì)報(bào)告寫作規(guī)定一、封面二、內(nèi)容提綱三、目錄四、正文1、概述所作題目意義、本人所做工作及系統(tǒng)重要功能2、硬件電路設(shè)計(jì)及描述;3、軟件設(shè)計(jì)流程及描述;4、源程序代碼。五設(shè)計(jì)體會(huì)六、參照文獻(xiàn)《單片微型計(jì)算機(jī)應(yīng)用技術(shù)》徐仁貴機(jī)械工業(yè)出版社《單片機(jī)控制技術(shù)及應(yīng)用》韓全立電子工業(yè)出版社自動(dòng)打鈴器械摘要文章簡介了一種以8051單片機(jī)為核心片帶有數(shù)碼LED顯示時(shí).分.秒和以批示燈做標(biāo)志按鍵校時(shí)自動(dòng)打鈴器。核心詞單片機(jī)存儲(chǔ)器數(shù)碼管按鍵電鈴一、緒論用單片機(jī)控制自動(dòng)打鈴器,充分發(fā)揮單片機(jī)體積小,價(jià)格便宜,功耗低可靠性好等特點(diǎn)。可用于學(xué)校作息,以便了廣大師生。同步也可作為電子手表設(shè)計(jì)方案,兩者在原理及實(shí)現(xiàn)功能上是同樣效果,也可作為各種時(shí)鐘控制電路報(bào)警裝置使用,具備用途范疇廣,原理簡樸便于操作和維護(hù)長處總體上單片機(jī)設(shè)計(jì)方案在現(xiàn)實(shí)中應(yīng)用非常廣泛并且在現(xiàn)實(shí)生活中也比較容易實(shí)現(xiàn)設(shè)計(jì)實(shí)行二、總體設(shè)計(jì)方案1.設(shè)計(jì)思路運(yùn)用單片機(jī)及定期器設(shè)計(jì)一種時(shí)鐘,在每次秒加1計(jì)時(shí)過程中,都與規(guī)定期間作比較,如果相等就進(jìn)行開關(guān)電鈴,不等則返回。同步時(shí)時(shí)時(shí)間顯示功能為咱們提供了以便2總體電路方框圖三、設(shè)計(jì)原理分析1.校時(shí)模式按下K1(模式選取鍵),將模式選取為校時(shí)模式(模式批示燈黃燈亮),K2,K3,K4分別為時(shí)鐘加1鍵,分鐘加1鍵,秒鐘加1鍵,K5無用。2.定期模式按下K1(模式選取鍵),將模式選取為定期模式(模式批示燈綠燈亮),K2為定期器組選?。ū狙b置有24組定期器)鍵,K3,K4分別為定期器時(shí)鐘加1鍵和定期器分鐘加1鍵,K5為定期器狀態(tài)選取鍵,每按K5一次,此組定期器狀態(tài)變化一次,并將此組數(shù)據(jù)存入片內(nèi)數(shù)據(jù)存儲(chǔ)器中按下K1(模式選取鍵),將模式選取為工作模式(模式批示燈紅燈亮),K2,K3,K4,K5無用。此模式為正常工作模式3自動(dòng)打零器電路圖四、程序某些1.程序分為五某些1.初始化程序,2.鍵值解決程序,3.中斷程序,4.顯示程序,5顯示驅(qū)動(dòng)程序2.某些寄存器及按鍵闡明28H:掃描指針寄存器20H--25H:顯示緩存寄存器R6:時(shí)鐘寄存器R5:分鐘寄存器R4:秒鐘寄存器K1:模式選取鍵K2:時(shí)加1(定期器組加1)鍵K3:分加1(定期器時(shí)加1)鍵K4:秒加1(定期器分加1)鍵K5:定期器狀態(tài)變化既存儲(chǔ)鍵3.程序流程圖4總體軟件流程圖解釋總體流程圖定期器一方面設(shè)定一種時(shí)間,執(zhí)行程序時(shí)及進(jìn)入計(jì)時(shí)程序。通過加一比較程序與設(shè)定計(jì)時(shí)程序進(jìn)行比較,如果不到計(jì)時(shí)時(shí)間執(zhí)行中斷返回指令。在此時(shí)如果校時(shí)鍵啟動(dòng)時(shí)可進(jìn)行校時(shí)作用。而LED顯示屏也通過8051控制程序?qū)崟r(shí)傳來數(shù)據(jù)進(jìn)行顯示工作。LED也是動(dòng)態(tài)顯示方式。5校時(shí)程序流程圖一方面進(jìn)入校時(shí)顯示模式,此時(shí)K1如果有按下,校時(shí)程序即可執(zhí)行。此時(shí)如果K2手工操作下被按下則計(jì)時(shí)加一,達(dá)到與想要成果一致即可停止K2操作,如果計(jì)時(shí)成果在當(dāng)前時(shí)間之前則可始終按下直到到達(dá)24小時(shí)一種循環(huán)時(shí)候,然后再次按下達(dá)到想要計(jì)時(shí)成果。而24時(shí)也是校時(shí)循環(huán)終點(diǎn)。此時(shí)批示燈也有所變化。可以作為執(zhí)行程序效果參照。而校分流程圖也對(duì)整體軟件流程產(chǎn)生影響,最后達(dá)屆時(shí)間精準(zhǔn)。小時(shí)和分鐘實(shí)時(shí)顯示是定期基本。6校分及顯示流程圖解釋一方面進(jìn)入校分模式時(shí)看K1與否按下,如果按鍵則K3與否有按鍵,如果有則分鐘加一,如此便起到修改分鐘作用,如果分鐘修改到達(dá)60分鐘則分鐘所有清零,分鐘計(jì)時(shí)重新開始。如果K1鍵沒有按下,則小時(shí)和分鐘數(shù)據(jù)進(jìn)入顯示緩存器,然后進(jìn)入顯示屏顯示,此時(shí)看K1鍵與否還在斷開狀態(tài),如果沒有按下則時(shí)間還是顯示而不做變化如果K1鍵按下則此時(shí)進(jìn)入定期器進(jìn)入工作狀態(tài),因而K1鍵是程序運(yùn)營核心所在,在K1鍵進(jìn)入工作狀態(tài)同步修改小時(shí)和分鐘及定期器工作程序才干進(jìn)行7程序清單1.初始化程序:READEQU0;讀RAMWRITEEQU2;寫入RAMEWENEQU4;RAM寫入使能EWDSEQU6;RAM寫入禁止ADR46EQU21H;RAM地址顯示顯示啟動(dòng)定期器進(jìn)入工作狀態(tài)時(shí)分值送顯示緩存區(qū)K1有按鍵嗎?清分單元顯示分值加1置校分標(biāo)志K3有按鍵嗎?K1有按鍵嗎?是60分嗎?THIGHEQU0F8HTLOWEQU5FHTIMENEQU30;打鈴持續(xù)時(shí)間(30秒)CSBITP3.7;RAMCSCLKBITP3.6;RAMCLKDIBITP3.5;RAMDIDOBITP3.4;RAMDOORG0000H;主程序起始地址AJMPSTART;跳至主程序ORG000BH;TIMER0中斷起始地址AJMPTIM0;跳至TIMER0中斷子程序START:MOVSP,#60H;設(shè)立堆棧在60HMOV28H,#00;顯示寄存器初值為00MOVR6,#12H;?時(shí)?寄存器值為12HMOVR5,#00H;“分”寄存器值為00HMOVR4,#00H;“秒”寄存器值為00H2.鍵值解決程序:LOOP:SETBP0.5;工作模式CLRP0.6CLRP0.7JBP0.0,N1;K1(模式選取鍵)按了?不是則跳至N1ACALLDELAY;消除抖動(dòng)JNBP0.0,$;K1(模式選取鍵)放開了?ACALLDELAY;消除抖動(dòng)AJMPSET;轉(zhuǎn)到定期模式SETN1:MOV2FH,R6;將時(shí)鐘數(shù)據(jù)載入2FH中MOV2EH,R5;將分鐘數(shù)據(jù)載入2EH中MOVRAM,#00;把93C46地址置0SETBRS0;將工作寄存器組選取1區(qū)LOOP1:MOVA,#READ;讀RAMACALLRAMMOVA,R3;取出定期器狀態(tài)ANLA,#01HCJNEA,#01H,N2;定期器為關(guān)閉,則跳轉(zhuǎn)至N2MOVA,R4;取出定期器分鐘數(shù)據(jù)CJNEA,2FH,N2;定期器分鐘數(shù)據(jù)與時(shí)鐘分鐘不同則轉(zhuǎn)至N2MOVA,R5;取出定期器時(shí)鐘數(shù)據(jù)CJNEA,2EH,N2;定期器時(shí)鐘數(shù)據(jù)與時(shí)鐘時(shí)鐘不同則轉(zhuǎn)至N2MOVTMOD,#01H;MOVTH0,#THIGH;MOVTL0,#TLOWH;SETBTR0SETBP2.1;定期器時(shí)間到,打鈴MOVR7,#9678H;中斷查詢7500次讓時(shí)間達(dá)到30秒SJMP$TISE:DJNER7CPLP2.1終結(jié)打鈴MOVA,RAM;將RAM地址載入A中N2:CJNEA,#1EH,N3;到定期器數(shù)據(jù)表表尾?沒到轉(zhuǎn)至N3MOVADR46,#00;到表尾,置RAM地址為表頭AJMPLOOP1;轉(zhuǎn)至LOOP1N3:INCRAM;RAM地址加2INCRAMAJMPLOOP1;轉(zhuǎn)至LOOP1SET:CLRP0.5;校時(shí)模式SETBp0.6高電平CLRP0.7低電平LOOPS:JBP0.0,N11;K1(模式選取鍵)按了?不是則跳至N11ACALLDELAY;消除抖動(dòng)JNBP0.0,$;K1(模式選取鍵)放開了?ACALLDELAY;消除抖動(dòng)AJMPSETTIME;轉(zhuǎn)至SETTIMEN11:JBP0.1,N13;K2(時(shí)鐘加1鍵)按了?不是則跳至N13ACALLDELAY;消除抖動(dòng)MOVA,R6;將時(shí)寄存器值載入AADDA,#01H;A內(nèi)容加1DAA;做十進(jìn)制調(diào)節(jié)MOVR6,A;將A值存入時(shí)寄存器CJNEA,#24H,N12;與否超過24時(shí)?不是則跳至N12MOVR6,#00H;是則清除時(shí)寄存器值為00N12:JNBP0.1,$;K2(時(shí)鐘加1鍵)放開了?ACALLDELAY;消除抖動(dòng)N13:JBP0.2,N15;K3(分鐘加1鍵)按了?不是則跳至N15ACALLDELAY;消除抖動(dòng)MOVA,R5;將分寄存器值載入AADDA,#01;A內(nèi)容加1DAA;做十進(jìn)制調(diào)節(jié)MOVR5,A;將A值存入分寄存器CJNEA,#60H,N14;與否超過60分?不是則跳至N14MOVR5,#00H;是則清除分寄存器值為00N14:JNBP0.2,$;K3(分鐘加1鍵)放開了?ACALLDELAY;消除抖動(dòng)N15:JBP0.3,N17;K4(秒鐘加1鍵)按了?不是則跳至N17ACALLDELAY;消除抖動(dòng)MOVA,R4;將秒寄存器值載入AADDA,#01;A內(nèi)容加1DAA;做十進(jìn)制調(diào)節(jié)MOVR4,A;將A值存入秒寄存器CJNEA,#60H,N16;與否超過60秒?不是則跳至N16MOVR4,#00;是則清除分寄存器值為00N16:JNBP0.3,$;K4(秒鐘加1鍵)放開了?ACALLDELAY;消除抖動(dòng)N17:AJMPLOOPS;轉(zhuǎn)至LOOPSSETTIME:CLRP0.5;定期模式CLRP0.6SETBP0.7MOVRAM,#00HMOVA,#READ;將數(shù)據(jù)存儲(chǔ)器地址為RAM中數(shù)據(jù)ACALLTORAMLOOPB:ACALLDISP;調(diào)用DISPJBP0.0,N21;K1(模式選取鍵)按了?不是則跳至N21ACALLDELAY;消除抖動(dòng)JNBP0.0,$;K1(模式選取鍵)放開了?ACALLDELAY;消除抖動(dòng)AJMPLOOP;轉(zhuǎn)至LOOPN21:JBP0.1,N22;K2(定期器組加1鍵)按了?不是則跳至N22ACALLDELAY;消除抖動(dòng)MOVA,RAM;將地址載入ACLRC;清除進(jìn)位位RRCA;A右移1位ADDA,#01H;地址加1MOVR6,A;將A存入R6CLRC;清除進(jìn)位位RLCA;A左移1位MOVRAM,A;將A中地址存入RAMMOVA,#READ;讀RAM地址為ADR46中數(shù)據(jù)ACALLTORAMJNBP0.1,$;K2(定期器組加1鍵)放開了?ACALLDELAY;消除抖動(dòng)N22:JBP0.2,N24;K3(定期器分鐘加1鍵)按了?不是則跳至N24ACALLDELAY;消除抖動(dòng)MOVA,R4;將定期器分寄存器值載入AADDA,#01;A內(nèi)容加1DAA;做十進(jìn)制調(diào)節(jié)MOVR4,A;將A值存入定期器分寄存器CJNEA,#60H,N23;與否超過60分?不是則跳至N16MOVR4,#00H;是則清除分寄存器值為00N23:JNBP0.2,$;K3(定期器分鐘加1鍵)放開了?ACALLDELAY;消除抖動(dòng)N24:JBP0.3,N26;K4(定期器時(shí)鐘加1鍵)按了?不是則跳至N26ACALLDELAY;消除抖動(dòng)MOVA,R5;將定期器時(shí)寄存器值載入AADDA,#01H;A內(nèi)容加1DAA;做十進(jìn)制調(diào)節(jié)MOVR5,A;將A值存入定期器時(shí)寄存器CJNEA,#24H,N25;與否超過24時(shí)?不是則跳至N25MOVR5,#00;是則清除分寄存器值為00N25:JNBP0.3,$;K4(定期器時(shí)鐘加1鍵)放開了?ACALLDELAY;消除抖動(dòng)N26:JBP0.4,N27;K5(變化定期器狀態(tài)存儲(chǔ)鍵)按了?不是則跳至N27ACALLDELAY;消除抖動(dòng)INCR3;變化R3最低位值(表達(dá)定期器狀態(tài),1表達(dá)開,0表達(dá)關(guān))MOVA,#WRITE;將A值寫入RAM地址為ADR46中ACALLTORAMJNBP0.4,$;K5(變化定期器狀態(tài)存儲(chǔ)鍵)放開了?ACALLDELAY;消除抖動(dòng)N27:AJMPLOOPB;轉(zhuǎn)至LOOPB3.中斷程序:TIM0:MOVTH0,#THIGH;重設(shè)計(jì)時(shí)4000微秒MOVTL0,#TLOWPUSHACC;將A值存入堆棧PUSHPSW;將PSW值存入堆棧CLRRS0;設(shè)立工作寄存器為0區(qū)DJNZR2,X2;計(jì)時(shí)1秒MOVR2,#250ACALLCLOCK;調(diào)用計(jì)時(shí)子程序CLOCKACALLDISP;調(diào)用顯示子程序X2:ACALLSCAN;調(diào)用掃描子程序POPPSWPOPACCRETI4.顯示屏驅(qū)動(dòng)程序:SCAN:MOVR0,#28H;(28H)為掃描指針I(yè)NC@R0;掃描指針加1CJNE@R0,#6,X3;掃描完6個(gè)顯示屏?不是跳至X3MOV@R0,#00;是則掃描指針為0X3:MOVA,@R0;掃描指針載入AADDA,#20;A加常數(shù)20H(顯示寄存器地址)=各時(shí)間顯示區(qū)地址;存入R1=各時(shí)間顯示地址MOVR1,A;掃描指針存入AMOVA,@R0;將A高低4位互換(P1高4位為掃描值,SWAPA;低4位為顯示數(shù)據(jù)值)ORLA,@R1;掃描值+顯示值MOVR1,A;輸出至P1RET計(jì)時(shí)程序:CLOCK:MOVA,R4;R4為秒寄存器ADDA,#01;加1DAA;做十進(jìn)制調(diào)節(jié)MOVR4,A;存入秒寄存器CJNEA,#TIMEN,X4;與否超過打零持續(xù)時(shí)間?不是則跳至X4CLRP2.0;關(guān)鈴X4:CJNEA,#60H,X5;與否超過60秒?不是則跳至X5MOVR4,#00;是則清除為0MOVA,R5;R5為分寄存器ADDA,#01;加1DAA;做十進(jìn)制調(diào)節(jié)MOVR5,A;存入分寄存器CJNEA,#60H,X5;與否超過60分?不是則跳至X5MOVR5,#00;是則清除為0MOVA,R6;R6為時(shí)寄存器ADDA,#01;加1DAA;做十進(jìn)制調(diào)節(jié)MOVR6,A;存入時(shí)寄存器CJNEA,#60H,X5;與否超過24時(shí)?不是則跳至X5MOVR6,#00;是則清除為0X5:RET5.顯示程序:DISP:MOVR1,#20;(20H)為顯示寄存器,R1=20HMOVA,R6;將時(shí)寄存器內(nèi)容存入AMOVB,#01H;設(shè)B累加器值為10HDIVAB;A/B,商(十位數(shù))存入A,余數(shù)(個(gè)位數(shù))存入BMOV@R1,B;將B內(nèi)容存入(20H)INCR1;R1=21HMOV@R1,A;將A內(nèi)容存入(21H)INCR1;R1=22HMOVA,R5;將分寄存器內(nèi)容存入AMOVB,#01H;設(shè)B累加器值為10HDIVAB;A/B,商(十位數(shù))存入A,余數(shù)(個(gè)位數(shù))存入BMOV@R1,B;將B內(nèi)容存入(22H)INCR1;R1=23HMOV@R1,A;將A內(nèi)容存入(23H)INCR1;R1=24HMOVA,R4;將秒寄存器內(nèi)容存入AMOVB,#01H;設(shè)B累加器值為10HDIVAB;A/B,商(十位數(shù))存入A,余數(shù)(個(gè)位數(shù))存入BMOV@R1,B;將B內(nèi)容存入(24H)INCR1;R1=25HMOV@R1,A;將A內(nèi)容存入(25H)RETEND五、總結(jié)闡明與體會(huì)通過近一種月努力,在教師和同窗協(xié)助下,我基本上完畢了設(shè)計(jì)任務(wù).通過這次畢業(yè)設(shè)計(jì),我充分結(jié)識(shí)到了自學(xué)重要性,以及學(xué)以致用道理.我在圖書館查閱了大量資料,同步也結(jié)識(shí)到了圖書館重要作用.通過兩個(gè)星期設(shè)計(jì)我又一次回顧了我在大學(xué)所有知識(shí)同步也讓我結(jié)識(shí)到自身局限性,同步通過單片機(jī)畢業(yè)設(shè)計(jì)我結(jié)識(shí)到現(xiàn)實(shí)中產(chǎn)品開發(fā)中思路同步也加強(qiáng)了自己自學(xué)能力,無論是單片機(jī)程序還是電路圖還是排版編輯都對(duì)自己綜合能力提高有所協(xié)助。同步也深刻結(jié)識(shí)到單片機(jī)在現(xiàn)實(shí)生活中巨大作用,同步也提示自己要在現(xiàn)實(shí)生活中具備創(chuàng)新意識(shí),能從落后事物中運(yùn)用自己所學(xué)專業(yè)知識(shí)以創(chuàng)新精神和團(tuán)隊(duì)合伙意識(shí)開發(fā)新產(chǎn)品,這個(gè)我覺得才是畢業(yè)設(shè)計(jì)給咱們最大收獲。同步在這次設(shè)計(jì)中由于本人水平有限,開發(fā)程序及整體電路都過于繁瑣,同步也也許浮現(xiàn)許多錯(cuò)誤,敬請(qǐng)教師能給出指正意見。最后感謝教師同窗給我莫大協(xié)助,也感謝我母校三年來對(duì)我辛勤栽培,謝謝!參照文獻(xiàn)[1]李朝青.單片機(jī)原理及接口技術(shù)(修訂版).北京:北京航空航天大學(xué)出版社,1998[2]李廣弟.單片機(jī)基本.北京:北京航空航天大學(xué)出版社,1992[3]何立民.單片機(jī)應(yīng)用技術(shù)大全.北京:北京航空航天大學(xué)出版社,1994[4]張毅剛.單片機(jī)原理及接口技術(shù).哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1990[5]譚浩強(qiáng).單片機(jī)課程設(shè)計(jì).北京:清華大學(xué)出版社,1989|6|韓全立,趙德申,微機(jī)控制技術(shù)及應(yīng)用、北京:機(jī)械工業(yè)出版社,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度科技創(chuàng)新項(xiàng)目融資合同范本3篇
- 眼鏡店的日常管理-營業(yè)前的安排(眼鏡店管理課件)
- 2025年度小產(chǎn)權(quán)房買賣合同交易糾紛快速解決與賠償協(xié)議3篇
- 二零二五年度個(gè)人貸款合同范本新規(guī)解讀15篇
- 成都理工大學(xué)工程技術(shù)學(xué)院《街舞》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年社保個(gè)人信息保護(hù)協(xié)議3篇
- 2025版化妝品品牌授權(quán)與區(qū)域代理合作協(xié)議6篇
- 2025版江門江海區(qū)房屋租賃托管服務(wù)合同3篇
- 2025年度養(yǎng)老院鮮花訂購與關(guān)愛服務(wù)合同3篇
- 二零二五年度WeGene基因檢測實(shí)驗(yàn)室檢測與咨詢服務(wù)協(xié)議2篇
- 中國藥典無菌、微生物限度和細(xì)菌內(nèi)毒素檢查方法學(xué)驗(yàn)證內(nèi)容詳解
- 《實(shí)用日本語應(yīng)用文寫作》全套電子課件完整版ppt整本書電子教案最全教學(xué)教程整套課件
- 公司員工手冊(cè)-全文(完整版)
- 鍋爐習(xí)題帶答案
- 土木工程課程設(shè)計(jì)38281
- 農(nóng)村宅基地地籍測繪技術(shù)方案
- 液壓爬模作業(yè)指導(dǎo)書
- 劇院的建筑設(shè)計(jì)規(guī)范標(biāo)準(zhǔn)
- 遺傳分析的一個(gè)基本原理是DNA的物理距離和遺傳距離方面...
- 安全生產(chǎn)標(biāo)準(zhǔn)化管理工作流程圖
- 初一英語單詞辨音專項(xiàng)練習(xí)(共4頁)
評(píng)論
0/150
提交評(píng)論