欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
用at89s52和七段數碼管實現計時時鐘
[打印本頁]
作者:
daming
時間:
2014-12-30 23:43
標題:
用at89s52和七段數碼管實現計時時鐘
/*程序名稱:at89s52實現時鐘
程序功能:用at89s52和七段數碼管實現計時時鐘
作者 :hankjulianth
*/
#include"reg52.h"
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uint sec,min,hour;//秒,分,時計數
uint t1;//定義計數器
sbit sc=P3^7;//鎖存信號
void _init_();//初始化函數
void timer0();//定時器T0中斷函數
void showtime();//時間顯示函數
void settime(uint,uint,uint)
void main()
{
t1=0;
settime(0,0,0);
_init_();
while(1)
{
if(t1==20)
{
sec++;
t1=0;
}
if(sec==60)
{
min+=1;
sec=0;
}
if(min==60)
{
hour+=1;
min=0;
}
if(hour==24)
{
hour=0;
}
showtime();
}
}
void _init_()
{
//啟用且設置T0,定時50ms
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TMOD=0x01;
TR0=1;
}
void timer0() interrupt 1
{
_init_();
t1++;
}
void settime(uint i,uint j,uint k)//設置初始時間函數: k : j : i
{
sec=i;
min=j;
hour=k;
}
void showtime()
{
//秒鐘顯示
sc=1;
P0=table[sec/10];
P2=0x06;
sc=0;
sc=1;
P0=table[sec%10];
P2=0x07;
sc=0;
//分鐘顯示
sc=1;
P0=table[min/10];
P2=0x03;
sc=0;
sc=1;
P0=table[min%10];
P2=0x04;
sc=0;
//時鐘顯示
sc=1;
P0=table[hour/10];
P2=0x01;
sc=0;
sc=1;
P0=table[hour%10];
P2=0x0;
sc=0;
}
復制代碼
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1