LED顯示電腦電子鐘電路及控制程序
本例介紹一種用LED制作的電腦電子鐘(電腦萬年歷)。其制作完成裝潢后的照片如下圖:
上圖中,年、月、日及時(shí)間選用的是1.2寸共陽數(shù)碼管,星期選用的是2.3寸數(shù)碼管,溫度選用的是0.5寸數(shù)碼管,也可根據(jù)個(gè)人的愛好選用不同規(guī)格的數(shù)碼管。原理圖如下圖所示:
上圖中,CPU選用的是AT89C2051,時(shí)鐘芯片選用的是Dallas公司的DS1302, 溫度傳感器選用的是Dallas公司的數(shù)字溫度傳感器DS1820,顯示驅(qū)動(dòng)芯片選用的是德州儀器公司的TPIC6B595,也可選用與其兼容的芯片NC595或 國產(chǎn)的AMT9595。整個(gè)電子鐘用兩個(gè)鍵來調(diào)節(jié)時(shí)間和日期。一個(gè)是位選鍵,一個(gè)是數(shù)字調(diào)節(jié)鍵。按一下位選鍵,頭兩位數(shù)字開始閃動(dòng),進(jìn)入設(shè) 定調(diào)節(jié)狀態(tài),此時(shí)按數(shù)字調(diào)節(jié)鍵,當(dāng)前閃動(dòng)位的數(shù)字就可改變。
全部參 數(shù)調(diào)節(jié)完后,五秒鐘內(nèi)沒有任何鍵按下,則數(shù)字停止閃動(dòng),退出設(shè)定調(diào)節(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機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY
評論