隨著電子技術的飛速發展,單片機的使用率越來越高。教學之余,為了激發學生對51單片機的學習興趣,我利用89C51制作了一款電子時鐘,經驗證這款電子時鐘簡單實用,以至于班上的每個同學都制作一款。由于51系列單片機機展小巧、程序編寫簡、功能強大、價格便宜等優點,由51單片機制作的小型智能產品越來越多,也是電子技術相關專業學生畢業設計的首選芯片(見圖1)。
1 電路設計流程框圖(見圖2)
2 基于89C51時鐘電路的方案及原理
基于89C51時鐘電路主要由主要由微處理器電路、LED數碼管顯示電路、鍵盤電路、顯示驅動電路、時鐘模塊、電源電路等組成。89C51的管腳及技術細節可以查閱有關手冊。電路模塊的基本工作過程是:
(1)顯示電路主要由兩片74HC595和7個LED共陰紅色數碼管、LED發光二極管及限流電阻組成。74HC595是數碼管和發光二極管的顯示驅動電路,是一種8位串行輸入、8位串行輸出或并行輸出的高速CMOS移位寄存器、8位并行輸出口具有三態輸出功能(即可被程控成高阻狀態)。顯示電路采用動態掃描方式驅動數碼管,即數碼管的陰極和陽極都用74HC595驅動,微處理器控制將將要顯示的內容(7位數字段碼)快速的分時送到LED兩端。這種設計的優點是最大限度地降低了系統的硬件支出(與靜態顯示電路相比)。
(2)時鐘模塊電路DS12887是美國Dalls公司生產的實時時鐘芯片,采用CMOS技術制成,具有內部晶振和時鐘芯片備份鋰電池。該芯片具有良好的微處理器接口(有Motorola和Intel兩種時序可供選擇,在本系統中采用Intel時序)。芯片內含128個字節RAM單元與軟件接口,其中14個字節作為時鐘和控制寄存器。114個字節為通用RAM(在本系統中未用),所有RAM單元都具有掉電保護功能。采用該芯片作為該系統的實時時鐘基準,是為了保證時鐘運行的高精度。
(3)鍵盤是單片機的主要輸入設備,是時間設置和控制的人機接口。本系統中設計了16個鍵,本系統中實際使用9個鍵,其余7個鍵留備系統擴展用。16個按鍵的硬件連接方式是4×4矩陣。單片機對鍵盤狀態的檢測是通過動態掃描方式進行的。這樣做的目的是大大減少了鍵盤電路所占用的單片機端口線的數量。16個鍵的鍵值讀取占用了8根I/O口線(P2口)。如果采用靜態鍵盤方式,則需占用16根口線。另外,這個鍵盤具有連擊功能,即按下某一鍵達到一定時長后,該鍵對應的功能將得到反復執行。利用這個連擊功能,可以快速地調整時鐘和輸入鬧鐘程序。
3 軟件編程主程序流程框圖(見圖3)
4 定時鬧鐘掃描子程序
該子程序的功能是:將事先編好的鬧鐘程序代碼從EEPROM中逐條讀出,并與當前的實時時鐘進行一次比較。若某一條鬧鐘程序的語句(下面有說明)中的時間代碼與當前的實時時鐘相同,則執行該語句對應的鬧鐘功能。否則掃描下一條語句,直至鬧鐘程序末。
鬧鐘程序:所以鬧鐘語句的集合鬧鐘語句:由一個時代碼、一個分代碼和一個鬧鐘時長代碼組成。一條鬧鐘語句定義一個鬧鐘操作。鬧鐘程序存放在EEPROM芯片(型號AT24C16)中,AT24C16是ATMEL公司生產的電擦電寫串行存儲器,容量是2K字節。一周的鬧鐘程序被編成7頁,一天一頁,每一頁占256個字節,AT24C16中剩下的256個字節留備用。
每條鬧鐘語句分配4個字節:
第一個字節:存放“時”代碼(指定 時)
第二個字節:存放“分”代碼(指定 分)
第三個字節:存放“時長”代碼(控制鬧鐘時間長短)
第四個字節:未用。
因為一頁占256個字節,那么一頁中可存放約60條鬧鐘語句,即在一天中最多可設置60個鬧鐘點。定時鬧鐘程序流程框圖(見圖4)。
5 結論
以89C51為核心制作的數字時鐘,經過電路調試和軟件調試,可以實時時鐘的顯示和調整、整點報時、定時鬧鐘的設定、以一周為周期的鬧鐘功能。
責任編輯:YYX
-
單片機
+關注
關注
6063文章
44915瀏覽量
646775 -
89C51
+關注
關注
2文章
108瀏覽量
32411 -
時鐘電路
+關注
關注
10文章
243瀏覽量
51239 -
電子時鐘
+關注
關注
11文章
202瀏覽量
24986
發布評論請先 登錄
89c51是什么
89C51單片機的結構和原理
基于AT89C51單片機的電子數字時鐘電路的設計制作開題報告講解

基于89C51的OLED屏顯示

評論