資源描述:
《[課程設計]基于51單片機的數(shù)字時鐘》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、.一摘要單片計算機即單片微型計算機。(Single-ChipMicrocomputer),是集CPU,RAM,ROM,定時,計數(shù)和多種接口于一體的微控制器。他體積小,成本低,功能強,廣泛應用于智能產品和工業(yè)自動化上。而51單片機是各單片機中最為典型和最有代表性的一種。這次畢業(yè)設計通過對它的學習,應用,從而達到學習、設計、開發(fā)軟、硬的能力。二說明系統(tǒng)由AT89C51、LED數(shù)碼管、按鍵、發(fā)光二極管等部分構成,能實現(xiàn)時間的調整、定時時間的設定,輸出等功能。系統(tǒng)的功能選擇由SB0、SB1、SB2、SB3、SB4完成。其中SB0為時間校對,定
2、時器調整功能鍵,按SB0進入調整狀態(tài)。SB1為功能切換鍵。第一輪按動SB1依次進入一路、二路、三路定時時間設置提示程序,按SB3進入各路定時調整狀態(tài)。定時時間到,二極管發(fā)亮。到了關斷時間后滅掉。如果不進入繼續(xù)按SB1鍵,依次進入時間年?位校對、?月?位校對、?日?位校對、?時?位校對、?分?位校對、?秒?位校對狀態(tài)。不管是進入那種狀態(tài),按動SB2皆可以使被調整位進行不進位增量加1變化。各預置量設置完成后,系統(tǒng)將所有的設置存入RAM中,按SB1退出調整狀態(tài)。上電后,系統(tǒng)自動進入計時狀態(tài),起始于?00?時?00?分。SB4為年月日顯示轉換
3、鍵,可使原來顯示時分秒轉換顯示年月日。三、電路原理分析1.顯示原理電原理圖見附圖1。由6個共陰極的數(shù)碼管組成時、分、秒的顯示。P0口的8條數(shù)據(jù)線P0.0至P0.7分別與兩個CD4511譯碼的ABCD口相接,P2口的P2.0至P2.2分別通過電阻R10至R13與VT1至VT3的基極相連接。這樣通過P0口送出一個存儲單元的高位、低位BCD顯示代碼,通過P2口送出掃描選通代碼輪流點亮LED1至LED6,就會將要顯示的數(shù)據(jù)在數(shù)碼管中顯示出來。從P0口輸出的代碼是BCD碼,從P2口輸出的就是位選碼。這是掃描顯示原理。。2鍵盤及讀數(shù)原理鍵盤是人與
4、微機打交道的主要設備,按鍵的讀取容易引起誤動作??刹捎密浖ザ秳拥姆椒ㄌ幚?,軟件的觸點在閉合和斷開的時候會產生抖動,這時觸點的邏輯電平是不穩(wěn)定的,如不采取妥善處理的話,將引起按鍵命令錯誤或重復執(zhí)行,在這里采用軟件延時的方法來避開抖動,延時時間20ms....3連擊功能的實現(xiàn)按下某鍵時,對應的功能鍵解釋程序得到執(zhí)行,如操作者沒有釋放按鍵,則對應的功能會反復執(zhí)行,好象連續(xù)執(zhí)行,在這里我們采用軟件延時250ms,當按鍵沒釋放則執(zhí)行下一條對應程序。利用連擊功能,能實現(xiàn)快速調時操作。四、程序設計思想和相關指令介紹本系統(tǒng)的主程序主要完成時間顯示和
5、定時輸出判斷功能。而年月日顯示和各時間單元進位,時間設定時,調定時間設定時等功能全部在中斷服務程序中完成。1.數(shù)據(jù)與代碼轉換。由前述可知,從P2口輸出位選碼,從P0口輸出段選碼,LED就會顯示出數(shù)字來。但P0口的輸出的數(shù)據(jù)是要BCD碼,各存儲單元存儲的是二進制數(shù),也就是和要顯示出的字符表達的含義是不一致的。可見,將要顯示的存儲單元的數(shù)據(jù)直接送到P0口去驅動LED數(shù)碼管顯示是不能正確表達的,必須在系統(tǒng)內部將要顯示的數(shù)據(jù)經過BCD碼行轉換后,將各個單元數(shù)據(jù)的段選代碼送入P0口,給CD4511譯碼后去驅動數(shù)碼管顯示。具體轉換過程如下:我們先
6、將要顯示的數(shù)據(jù)裝入累加器A中,再將A中的數(shù)據(jù)轉換成高低兩位的BCD碼,再放回A中,然后將A中的值輸出。如:有一個單元存儲了45這樣一位數(shù),則需轉換成四位的BCD碼:(0100)(0101)然后放入A中。A中BCD碼,高位四位代表?4?低四位代表?5?同時送給兩個譯碼器中,譯碼后?45?字就在兩個LED中顯示出來。2.計時功能的實現(xiàn)與中斷服務程序時間的運行依靠定時中斷子程序對時鐘單元數(shù)值進位調整來實現(xiàn)的。計數(shù)器T0打開后,進入計時,滿100毫秒后,重裝定時。中斷一次,滿一秒后秒進位,滿60秒后即為1分鐘,分鐘單元進位,60分到了后,時單
7、元進位,24小時滿后,天單元進位。這樣然后根據(jù)進率,得到年、月、日、時、分、秒存儲單元的值,并經譯碼后,通過掃描程序送LED中顯示出來,實現(xiàn)時鐘計時功能。累加是用指令INC來實現(xiàn)的。進入中斷服務程序以后,執(zhí)行PUSHPSW和PUSHA將程序狀態(tài)寄存器PSW的內容和累加器A中的數(shù)據(jù)保存起來,這便是所謂的?保護現(xiàn)場?.以保護現(xiàn)場和恢復現(xiàn)場時存取關鍵數(shù)據(jù)的存儲區(qū)叫做堆棧。在軟件的控制之下,堆??稍谄瑑萊AM中的任一區(qū)間設定,而堆棧的數(shù)據(jù)存取與一般的RAM存取又有區(qū)別,對它的操作,要遵循?后進先出?的原則。3時間控制功能與比較指令系統(tǒng)的另一功
8、能就是實現(xiàn)對執(zhí)行設備的定時開關控制,其主要控制思想是這樣的:先將執(zhí)行設備開啟的時間和關閉時間置入RAM某一單元,在計時主程序當中執(zhí)行幾條比較指...令,如果當前計時時間與執(zhí)行設備的設定開啟時間相等,就執(zhí)行一條CLR指令,