LED顯示電腦電子鐘電路及控制程序
本例介紹一種用LED制作的電腦電子鐘(電腦萬年歷)。其制作完成裝潢后的照片如下圖:
上圖中,年、月、日及時間選用的是1.2寸共陽數碼管,星期選用的是2.3寸數碼管,溫度選用的是0.5寸數碼管,也可根據個人的愛好選用不同規(guī)格的數碼管。原理圖如下圖所示:
上圖中,CPU選用的是AT89C2051,時鐘芯片選用的是Dallas公司的DS1302, 溫度傳感器選用的是Dallas公司的數字溫度傳感器DS1820,顯示驅動芯片選用的是德州儀器公司的TPIC6B595,也可選用與其兼容的芯片NC595或 國產的AMT9595。整個電子鐘用兩個鍵來調節(jié)時間和日期。一個是位選鍵,一個是數字調節(jié)鍵。按一下位選鍵,頭兩位數字開始閃動,進入設 定調節(jié)狀態(tài),此時按數字調節(jié)鍵,當前閃動位的數字就可改變。
全部參 數調節(jié)完后,五秒鐘內沒有任何鍵按下,則數字停止閃動,退出設定調節(jié)狀態(tài)。源程序清單如下(無溫度顯示程序):
start:do;
$include(reg51.dcl)
declare (sclk,io,rst) bit at (0b3h) register; /* p33,p34,p35 */
declare (command,data,n,temp1,num) byte;
declare a(9) byte;
declare ab(6) byte;
declare aco(11) byte constant (0fdh,60h,0dah,0f2h,66h,0b6h,0beh,
0e0h,0feh,0f6h,00h);
declare week(11) byte constant (0edh,028h,0dch,7ch,39h,75h,0f5h,
2ch,0fdh,7dh,00h);
declare da literally'p15',clk literally'p16',ale literally'p17',
mk literally'p11',sk literally'p12';
clear:procedure;
sclk=0;io=0;rst=0;
end clear;
send1302:procedure(comm);
declare (i,comm) byte;
do i=0 to 7;
comm=scr(comm,1);
io=cy;
call time(1);
sclk=0;
call time(1);
sclk=1;
end;
end send1302;
wbyt1:procedure(com,dat);/*字節(jié)寫過程*/
DIY機械鍵盤相關社區(qū):機械鍵盤DIY
評論