資源描述:
《[信息與通信]基于單片機(jī)的電子日歷時鐘》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、微機(jī)原理課程設(shè)計報告題目:電子日歷時鐘學(xué)院電子與信息學(xué)院專業(yè)08信息工程1班組員陳曉偉05馮勁增06指導(dǎo)教師林耀榮提交日期2010.6.2130一課程設(shè)計題目:電子日歷時鐘二實現(xiàn)的功能:基本功能:(1)顯示北京時間,并且能夠校準(zhǔn)時間;(2)程序使用匯編語言;(3)顯示的時、分、秒之間以及年、月、日間以小數(shù)點分隔;(4)顯示公歷日期,并且能夠校準(zhǔn)日期;發(fā)揮功能:(5)運動秒表;(6)鬧鐘功能;(7)自動整點報時。三課程設(shè)計的目的:課程標(biāo)志性內(nèi)容的設(shè)計理解和綜合運用,對所學(xué)內(nèi)容進(jìn)行一次實操,學(xué)以致用。四、設(shè)計方案說明1、硬件部分(1)采用6位LED數(shù)碼管顯示日期或者時間
2、。(2)顯示器的驅(qū)動采用“動態(tài)掃描驅(qū)動”,且采用“一鍵多用”的設(shè)計方案,系統(tǒng)電路大為簡化。使用小數(shù)點表示鬧鐘設(shè)置狀態(tài);(3)電路連接使用PCB,使電路連接簡潔美觀2、軟件部分(1)“時鐘”基準(zhǔn)時間由單片機(jī)內(nèi)部的定時中斷提供,考慮因素:定時時間是“秒”的整除數(shù),且長短適宜。最長不能超過16位定時器的最長定時時間;最短不能少于中斷服務(wù)程序的執(zhí)行時間。基準(zhǔn)時間越短,越有利于提高時鐘的運行精確度?;鶞?zhǔn)時間定為0.05秒。(2)用一個計數(shù)器對定時中斷的次數(shù)進(jìn)行計數(shù),由基準(zhǔn)時間為0.05秒知計數(shù)值為20即可實現(xiàn)實現(xiàn)“秒”定時,同理進(jìn)行“分”﹑“時”定時,以及“日”﹑“月”﹑“年
3、”定時。(3)LED數(shù)碼管顯示器采用“動態(tài)掃描驅(qū)動”考慮問題:驅(qū)動信號的維持時間必須大于“起輝時間”(電流大起輝時間短),而驅(qū)動信號的間歇時間必須小于“余輝時間”(電流大余輝時間長),但驅(qū)動電流大小受硬件電路能力和LED數(shù)碼管極限功耗的制約。(4)動態(tài)掃描顯示方式在更新顯示內(nèi)容時,考慮到因LED數(shù)碼管余輝的存在可能會造成顯示字符的模糊,所以新內(nèi)容寫入顯示器之前將所有的LED數(shù)碼管熄滅。(5)關(guān)于自動識別“月大﹑月小”和“平年﹑潤年”問題的考慮a)月大和月小2月另外計算;304月﹑6月﹑9月﹑11月為月小30天,其余為月大31天。a)平年和潤年(年號能被4整除的就是潤
4、年)平年的2月為28天;潤年的2月為29天。五、使用說明實物圖請參照后面附帶圖片,從左至右為按鍵K2,K1,K0,以兩個LED顯示器為一組,左中右顯示時分秒或者年月日,還有鬧鐘和秒表K2:復(fù)位K1:設(shè)置閃爍K0:切換時間/日期或者調(diào)整時間/日期初始狀態(tài):接上電源之后,日期默認(rèn)為10年6月21日,時間為0時0分秒,鬧鐘2點整但默認(rèn)關(guān)閉,秒表為0狀態(tài)(1)顯示狀態(tài)切換:不斷按K0鍵就會依次循環(huán)顯示下面的狀態(tài)初始狀態(tài)時間日期鬧鐘時間鬧鐘狀態(tài)秒表狀態(tài)30(2)調(diào)節(jié)時間,日期:按K0鍵切換到想要調(diào)節(jié)的顯示狀態(tài),再按K1鍵選擇要修改的位,不斷按K1鍵會按左閃爍.中閃爍.右閃爍.
5、確定.四個狀態(tài)切換,閃爍的位可以修改,按K0鍵可以實現(xiàn)增加,不能遞減,例如要調(diào)慢時間要按到循環(huán)到較慢時間。(3)鬧鐘使用:鬧鐘默認(rèn)響的時間為一分鐘,鬧鐘的時間設(shè)置同時間日期的調(diào)節(jié),只需把狀態(tài)切換到鬧鐘時間的狀態(tài),鬧鐘的開關(guān)先按K0鍵切換到屏幕顯示為OFF的狀態(tài),如下:再按K1可切換到開狀態(tài),如下圖,再按K1可關(guān)閉,不斷循環(huán)(1)秒表:K0鍵按4下就可切換到秒表狀態(tài),出示為0,此時按下K1鍵就可開始計時,再按一下K1鍵可停止,此時K1為秒表開關(guān),按K0鍵可再切換顯示其他。30六、硬件連接圖1、原理圖2、pcb圖303、實物圖七、程序流程圖:1.主程序主程序系統(tǒng)初始化整
6、點?鬧鐘到?提示音鬧鈴提示音NNYY301.定時器0中斷子程序定時器0中斷子程序保護(hù)現(xiàn)場重載計數(shù)初值秒表?秒表模塊到1秒?秒加1或向前進(jìn)位恢復(fù)現(xiàn)場中斷返回YYNN301.外部中斷0子程序外部INT0中斷帶顯示延時消抖調(diào)整模式有閃爍?切換顯示模式時間調(diào)整調(diào)整時間?調(diào)整日期?調(diào)整鬧鐘?日期調(diào)整秒表模式?日期、鬧鐘、鬧鐘設(shè)置、秒表顯示循環(huán)切換鬧鐘調(diào)整進(jìn)入秒表中斷退出YNNYYNNNYYYY保護(hù)Psw、A寄存器恢復(fù)psw、A寄存器初始化秒表后臺計時?YNN提示音滴Key1按下?301.外部中斷1子程序外部INT1中斷保護(hù)psw、A寄存器帶顯示延時Key0按下?秒表模式?設(shè)置
7、鬧鐘?暫停/繼續(xù)計時打開/關(guān)閉鬧鐘閃爍循環(huán)切換滴一聲提示閃爍切換模式恢復(fù)psw、A寄存器退出中斷YYYNNN八、性能測試與故障排查1、硬件部分問題:斷路。現(xiàn)象:程序下載完之后可以工作但是6個LED顯示器有2個沒亮。分析:因為其他幾個顯示器完全正常,這兩個則完全沒亮,所以推斷是位選30的線路出故障。檢測:用萬用表測試各點電壓,著重測試兩條位選線路的斷路與短路情況,最終發(fā)現(xiàn)兩處斷路。解決:焊錫接上,最終全亮2、軟件部分偶數(shù)組實現(xiàn)基礎(chǔ)功能的程序老師已經(jīng)提供,該程序基本沒有多大的問題,就是里面的幾個參數(shù)需要修改,同時還有一個小bug。修改一:由于提供的程序所默認(rèn)采取的晶