久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
51單片機可調數碼管顯示電子鐘沒用DS1302
[打印本頁]
作者:
jdhadbv
時間:
2016-5-7 15:26
標題:
51單片機可調數碼管顯示電子鐘沒用DS1302
//P0
口段選,
P2
口位選,
P1.2LED
指示燈,
P1.3
蜂鳴器
按鍵不足
誤差:
24
小時差
20s
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit KEY1=P3^0;
sbit KEY2=P3^1;
sbit KEY3=P3^2;
sbit KEY4=P3^3;
sbit LED=P1^2;
sbit BEEP=P1^3;
uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar StrTab[8];
uchar minute=30,hour=14,second;
//yanshi
void delay(unsigned int cnt)
{ while(--cnt);
}
//chaizi
void Displaypro(void)
{
StrTab[0]=tab[hour/10];
StrTab[1]=tab[hour%10];
StrTab[2]=0XBF;
StrTab[3]=tab[minute/10];
StrTab[4]=tab[minute%10];
StrTab[6]=0XBF;
StrTab[5]=tab[second/10];
StrTab[7]=tab[second%10];
}
//zhuhanshu
void main()
{
TMOD|=0x01;
TH0=0xd8;
TL0=0xf0;
ET0=1;
TR0=1;
TMOD|=0x10;
TH1=0xf8;
TL1=0xf0;
ET1=1;
TR1=1;
EA=1;
Displaypro();
//按鍵部分可以這樣寫
/*while(1)
{
static uchar P3=0xff;
if(P3&&(KEY1==0||KEY2==0||KEY3==0||KEY4==0))
{
delay(1000);
//xiaodou
P3=0x00;
if(KEY1==0)
{delay(1000);hour++;
if(hour==24)hour=0;Displaypro(); }
else if(KEY4==0){ delay(1000);second--;
if(second==0)second=59;Displaypro(); }
else if(KEY2==0){delay(1000);minute++ ;
if(minute==59)minute=0;Displaypro(); }
else if(KEY3==0){ delay(1000);minute--;
if(minute==0)minute=59;Displaypro(); }
}
else if(KEY1==1&&KEY2==1&&KEY3==1&&KEY4==1)P3=0xff;
}*/
while(1)
{
if(minute==14)
{if(hour==2)
{P1=0x00; }
}
if(!KEY1)
{
delay(10000);
if(!KEY1)
{ delay(20000);delay(20000);
hour++;
if(hour==24)hour=0;
delay(20000);delay(20000);
Displaypro();
}
}
if(!KEY2)
{
delay(20000);
if(!KEY2)
{ delay(20000);delay(20000);
hour--;
if(hour==0)hour=23;
delay(20000);delay(20000);
Displaypro();
}
}
if(!KEY3)
{
delay(20000);
if(!KEY3)
{delay(20000);delay(20000);
minute++;
if(minute==59)minute=0;
delay(20000);delay(20000);
Displaypro();
}
}
if(!KEY4)
{
delay(20000);
if(!KEY4)
{delay(20000);delay(20000);
minute--;
if(minute==0)minute=59;
delay(20000);delay(20000);
Displaypro();
}
}
}
}
//T1
void time1_isr(void) interrupt 3 using 0
{
static unsigned char num;
TH1=0xF8;
TL1=0xf0;
P2=0XFF;
{switch (num)
{
case 0:P2=0XFE;P0=~StrTab[num];break;
case 1:P2=0XFD;P0=~StrTab[num];break;
case 2:P2=0XFB;P0=~StrTab[num];break;
case 3:P2=0XF7;P0=~StrTab[num];break;
case 4:P2=0XEF;P0=~StrTab[num];break;
case 5:P2=0XBf;P0=~StrTab[num];break;
case 6:P2=0XDf;P0=~StrTab[num];break;
case 7:P2=0X7F;P0=~StrTab[num];break;
default:break;
}
}
num++;
if(num==8)
num=0;
}
//T0
void tim(void) interrupt 1 using 1
{
static unsigned char count;
TH0=0xd8;
TL0=0xf0;
count++;
switch (count)
{
case 0:
case 20:
case 40:
case 60:
case 80:Displaypro(); break;
case 50:LED=!LED; break;
default:break;
}
if (count==92)//將100改為92可以縮小至最小誤差
{
count=0;
second++;
if(second==60)
{
second=0;
minute++;
if(minute==60)
{
minute=0;
hour++;
if(hour==24)
{
hour=0;
}
}
}
}
}
復制代碼
可調數碼管顯示電子鐘沒用DS1302.docx
2016-5-7 15:26 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
13.08 KB, 下載次數: 7, 下載積分: 黑幣 -5
沒用DS1302
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
精品福利av导航
|
久久99精品视频
|
亚洲第一成人av
|
国产精品久久久久久久一区二区
|
成年人在线视频
|
亚洲天堂免费
|
激情五月综合
|
久久综合九色综合欧美狠狠
|
日韩中文字幕在线播放
|
国产精品视频一二三
|
亚洲一区视频在线
|
国产欧美一区二区久久性色99
|
91精品久久久久
|
在线观看成人小视频
|
97精品一区二区
|
亚洲精品视频网站在线观看
|
日韩免费一区二区
|
午夜免费网
|
天天躁人人躁人人躁狂躁
|
国产午夜精品久久
|
成人精品一区亚洲午夜久久久
|
99精品国产一区二区青青牛奶
|
久久精品久久精品
|
99精品国产一区二区三区
|
亚洲午夜精品
|
精品一二三
|
日韩美香港a一级毛片免费 国产综合av
|
精品免费国产一区二区三区
|
亚洲精选久久
|
欧美日韩福利
|
嫩草视频在线免费观看
|
欧美寡妇偷汉性猛交
|
国产精品视频入口
|
久久精品
|
国产最好的av国产大片
|
天天天操天天天干
|
精品熟人一区二区三区四区
|
国产成人综合在线
|
操久久
|
国产成人精品一区二区三区在线观看
|
国产成人精品免费视频大全最热
|