【導讀】在MCS-51單片機片內有一個高增益的反相放大器,反相放大器的輸入端為XTAL1,輸出端為XTAL2,由該放大器構成的振蕩電路和時鐘電路一起構成了單片機的時鐘方式。根據(jù)硬件電路的不同,單片機的時鐘連接方式可分為內部時鐘方式和外部時鐘方式,以下詳細介紹7種常見51單片機時鐘電路圖。
時鐘電路:(a)內部方式時鐘電路,(b)外接時鐘電路
在內部方式時鐘電路中,必須在XTAL1和XTAL2引腳兩端跨接石英晶體振蕩器和兩個微調電容構成振蕩電路,通常C1和C2一般取30pF,晶振的頻率取值在1.2MHz~12MHz之間。對于外接時鐘電路,要求XTAL1接地,XTAL2腳接外部時鐘,對于外部時鐘信號并無特殊要求,只要保證一定的脈沖寬度,時鐘頻率低于12MHz即可。
晶體振蕩器的振蕩信號從XTAL2端送入內部時鐘電路,它將該振蕩信號二分頻,產(chǎn)生一個兩相時鐘信號P1和P2供單片機使用。時鐘信號的周期稱為狀態(tài)時間S,它是振蕩周期的2倍,P1信號在每個狀態(tài)的前半周期有效,在每個狀態(tài)的后半周期P2信號有效。CPU就是以兩相時鐘P1和P2為基本節(jié)拍協(xié)調單片機各部分有效工作的。
MCS-51片內有一個高增益反相放大器,其輸入端(XTAL1)和輸出端(XTAL2)用于外接石英晶體和微調電容,構成振蕩器,如圖所示。電容C2和C3對頻率有微調作用,電容容量的選擇范圍一般為30pF士10pF。振蕩頻率的選擇范圍為1.2~12MHz。
在使用外部時鐘時,8051的XTAL2用來輸入外時鐘信號,而XTAL1則接地。
上圖為時鐘電路的原理圖。分為最小單片機系統(tǒng)、單片機復位電路、按鍵電路、數(shù)碼管位選電路、數(shù)碼管段選電路、數(shù)碼管顯示電路、蜂鳴器電路、溫度采集電路。
使用單片機的P2口進行數(shù)模的輸出,P1^4、P1^5、P1^6與74HC138連接實現(xiàn)數(shù)碼管位選,按鍵電路接入P1^0、P1^1、P1^2、P1^3四個IO口,通過程序控制,掃描該四個引腳的信號實現(xiàn)時間的調節(jié)。蜂鳴器通過與三極管8550連接,最終接入P1^7,時間設定啟動使其發(fā)聲。溫度傳感器接入P3^7,將采集到的模擬信號轉化為數(shù)字信號后傳到單片機。
ATmega16單片機的時鐘電路和輸出I/O電路:
按鍵處理設置為:當有沒鍵按下時,時鐘正常運行;當按一次K1,時鐘停止走動,按K2對秒進行調整;當K1按2次時,按K2對分進行調整;當K1按下3次時,按K2對小時進行調整,當按下4次K1時,校時完畢,時鐘按設定的時間進行正常走時。
當按1次K3進入鬧鐘設置界面,時鐘繼續(xù)進行走時,按K2對秒進行設置;當按2次K3,按K2對分進行設置;當按3次K3,按K2對秒進行設置;當按下4次K3時,鬧鐘設置完畢進入時鐘顯示界面。電路圖如下:
獨立按鍵電路
單片機利用外部12MHZ晶振構成振蕩電路作為時鐘源,時鐘電路的原理如下圖。
P10控制調時分秒的哪一位,P11調時分秒的加,P12按下顯示時間,P13按下顯示鬧鈴,P14按下顯示秒表,并且P14還是秒表的暫停和復位開關。