返回信息流亲,帮忙给看个程序吧,,简单的时钟via数码管 程序
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit duan=P2^6; //段选信号的锁存器控制(段选,选中灯)
sbit wei=P2^7; //位选信号的锁存器控制(位选,选中位)
uchar a,b=0;
uchar code du[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //显示0-9
uchar code we[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};//数码管的位码
//延时函数
void delay(uint a)
{uint i,j;
for(i=0;i<a;i++)
for(j=0;j<124;j++);
}
//以下定时器中断
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
b++;
if(b>=20)
{a=1;
b=0;
}
}
//以下是数码管显示函数
void display(uchar shi,uchar fen,uchar miao,uchar du[],uchar we[])
{
P0=0xfe;//显示时钟十位
we=1;
we=0;
P0=du[shi/10];
du=1;
du=0;
delay(5);
P0=0xfd;//显示时钟个位
we=1;
we=0;
P0=du[shi%10];
du=1;
du=0;
delay(5);
P0=0xfb;//显示分钟十位
we=1;
we=0;
P0=du[fen/10];
du=1;
du=0;
delay(5);
P0=0xf7; //显示分钟个位
we=1;
we=0;
P0=du[fen%10];
du=1;
du=0;
delay(5);
P0=0xef;//显示秒钟十位
we=1;
we=0;
P0=du[miao/10];
du=1;
du=0;
delay(5);
P0=0xdf; //显示秒钟个位
we=1;
we=0;
P0=du[miao%10];
du=1;
du=0;
delay(5);
}
void main()
{
uchar shi=23,fen=59,miao=45;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{if(a==1)
{miao++;
if(miao==60)
{miao=0;
fen++;
if(fen==60)
{fen=0;
shi++;
if(shi==24)
{shi=0;}
}
a=0;
}
}
display(shi,fen,miao,du,we);
}
}
亲,帮忙给看个程序吧,,简单的时钟via数码管 程序
这是一条镜像帖。来源:北邮人论坛 / cpp / #83971同步于 2014/11/7
CPP机器人发帖
简单的数码管显示时钟的程序,先谢谢大家了~
xy191651196
2014/11/7镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。