由于本论坛禁止直接求程序,禁止伸手党,所以向大家请教一下大致的实现方法与思路,理清头绪后我自己来写程序去实现,谢谢大家
手表程序,调时间程序不会,各位大佬帮帮忙
程序#include "reg51.h"
unsigned char count=0;
unsigned char miao=0,min=0,hour=0;
void timer_1() interrupt 3
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
count++;
if(count==20)
{
count=0;
miao++;
if(miao==60)
{miao=0;
min++;
if(min==60)
{min=0;
hour++;
if(hour==24)
hour=0;
}
}
}
}
void disp (unsigned char i )
{
unsigned char j;
unsigned char led[]={0xBF,0x86,0xDb,0xCf,0xE6,0xEd,0xFd,0x87,0xFf,0xEf};
P2=0xff;
P1=led[miao/10];
P2=0xeF;
for(j=0;j<100;j++);
P2=0xff;
P1=led[miao%10];
P2=0xdF;
for(j=0;j<100;j++);
P2=0xff;
P1=led[min/10];
P2=0xfb;
for(j=0;j<100;j++);
P2=0xff;
P1=led[min%10];
P2=0xf7;
for(j=0;j<100;j++);
P2=0xff;
P1=led[hour/10];
P2=0xFe;
for(j=0;j<100;j++);
P2=0xff;
P1=led[hour%10];
P2=0xFd;
for(j=0;j<100;j++);
}
void main()
{ TMOD=0x10;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
ET1=1;
EA=1;
TR1=1;
while(1)
{disp (miao);}
}
|