#include<reg51.h>
unsigned char code seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
#define SEG1 P0
#define SEG2 P3
unsigned int second=16;
unsigned int numtim=0;
int main()
{
P0=seg[1];
P3=seg[6];
TMOD=0X01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
P0=seg[second/10];
P3=seg[second%10];
if(second==0) break;
}
while(1);
}
/******外部中断服务子程序******/
void int_n() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
numtim++;
if(numtim==20)
{numtim=0;
second--; }
}
我没理解错的话,你的意思是让数码管从16-0显示一遍对吧! |