本文介紹的用單片機AT89C2051制作的計時器,采用倒計時方式,剩余時間一目了然。時間到了還會發(fā)出報警聲。
一、硬件電路工作原理
電路見附圖,由單片機電路和數(shù)碼顯示電路等組成。使用復位和開始兩個按鈕,用三位數(shù)碼管分別顯示分和秒。
AT89C205l、TX、R1、C1等組成單片機電路。數(shù)碼管DS1~DS3、VT1~VT3、R3~R12等組成數(shù)碼顯示電路。本機采用動態(tài)顯示方式,使用共陽數(shù)碼管,P3.3~P3.5口作數(shù)碼管的位碼輸出,通過三極管驅(qū)動數(shù)碼管。P1.0~P1.6口作段碼輸出,用以驅(qū)動數(shù)碼管的各字段。BL是自帶振蕩器的訊響器。當P3.0輸出低電平時,BL發(fā)出報警聲。

二、軟件設計
程序用C語言編寫,由主程序、定時器T0中斷服務程序、定時器T1中斷服務程序、延時子程序等模塊組成。主程序主要完成程序的初始化和對開始按鍵S1的檢測。
TO中斷服務程序由動態(tài)掃描顯示等部分組成。T0的中斷時間設置為5ms。采用三位顯示,T0每中斷一次顯示一位,3次中斷,即15ms,刷新一次數(shù)據(jù)。程序中用到三個數(shù)組:DisoTab[l0]用來存放字形碼;BitTab[3]存放位驅(qū)動碼;DispBuf[3]存放待顯示的數(shù),其中DispBuf[0]存放分鐘數(shù),DispBuf[1]、DispBuf[2]分別存放秒的十位和個位。T1中斷服務程序用作時間計數(shù)。中斷時間設置為50ms。為了獲得1秒鐘的時間。使用了變量n,T1每中斷一次n加l。當n=20時即得到1秒的時間。程序中s作秒計數(shù),m作分計數(shù),它們的初始值為s=0。m=5。當n計滿20時s減l(當s為0時結(jié)果取59):當s計滿60個數(shù)時m減1:m、s均為0說明5分鐘的定時時間到。BL發(fā)出1秒鐘報警聲。
在計時過程中。如果要提前結(jié)束計時,只需按一下復位鍵S2,這時數(shù)碼顯示5:00;當按開始鍵S1后。倒計時開始。
三、元器件選擇與安裝
DS1~DS3選共陽LED數(shù)碼管,BL選用內(nèi)部帶振蕩器的訊響器。其余元器件的參數(shù)見附圖。
先將C語言源程序用KEILC51編譯成目標文件。即HEX文件。再用編程器將HEX文件寫入AT89C205l中。安裝時,將表示分的數(shù)碼管DSI和表示秒的數(shù)碼管DS2、DS3分開一定的距離。
-
單片機
+關注
關注
6076文章
45495瀏覽量
670300 -
AT89C2051
+關注
關注
7文章
170瀏覽量
67648 -
計時器
+關注
關注
1文章
434瀏覽量
35192
發(fā)布評論請先 登錄
用AT89C2051單片機制作的數(shù)字電容表
基于AT89C2051單片機的數(shù)字電容表設計
AT89C2051單片機的比較器的應用
AT89c2051單片機介紹
基于AT89C2051單片機的防盜自動報警電子密碼鎖系統(tǒng)的設計
基于AT89C2051單片機多功能倒計時器的設計
利用單片機AT89C2051制作的電子琴電路
單片機AT89C2051制作計時器
評論