标题:
8位数字钟走时函数(at89c51单片机)
[打印本页]
作者:
xuqiang
时间:
2019-6-4 19:41
标题:
8位数字钟走时函数(at89c51单片机)
#include <reg51.h>
//-------函数声明-----------
void delay_nms(unsigned char t);
unsigned char miao=55,counter=0,fen=59,shi=23;
unsigned char LED[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};
void csh();
void zoushi();
void xianshi();
bit flagls=0;
void main()
{
csh();
while (1)
{
zoushi();
xianshi();
}
}
//---------走时函数----------
void csh()
{
TMOD=0x01;
TH0=15536/256;
TL0=15536%256;
TR0=1;
EA=1;
ET0=1;
}
//---------中断函数-----------
void To_hs() interrupt 1
{
TH0=15536/256;
TL0=15536%256;
counter++;
if(counter==15)
{
flagls=1;counter=0;
}
}
//---------走时函数-----------
void zoushi()
{
if(flagls==1)
{
flagls=0;
miao=miao+1;
if(miao>=60)
{
miao=0,fen=fen+1;
if(fen>=60)
{
fen=0,shi=shi+1;
if(shi>=24) shi=0;
}
}
}
}
//---------显示函数 --------
void xianshi()
{
P2=0X01;
P0=LED[shi/10];
delay_nms(1);
P2=0X02;
P0=LED[shi%10];
delay_nms(1);
P2=0X04;
P0=LED[10];
delay_nms(1);
P2=0X08;
P0=LED[fen/10];
delay_nms(1);
P2=0X10;
P0=LED[fen%10];
delay_nms(1);
P2=0X20;
P0=LED[10];
delay_nms(1);
P2=0X40;
P0=LED[miao/10];
delay_nms(1);
P2=0X80;
P0=LED[miao%10];
delay_nms(1);
}
//-----------延时函数------------
void delay_nms(unsigned char t)
{
unsigned char us,usn;
while(t!=0)
{
usn=4;
while(usn!=0)
{
us=0xf0;
while(us!=0)
{ us--;
}
usn--;
}
t--;
}
}
作者:
admin
时间:
2019-6-4 22:05
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
作者:
xuqiang
时间:
2019-6-6 15:39
admin 发表于 2019-6-4 22:05
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
哪个地方有编辑按钮
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1