每天坚持码几行代码,日后必有收获
#include<STC89C5xRC.H>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,
0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
void k6_0(uchar);
uint flag;
sbit k6=P3^2;
sbit led1=P1^0;
sbit led2=P1^1;
sbit ge=P2^3;
sbit shi=P2^2;
sbit bai=P2^1;
sbit qian=P2^0;
void main()
{
while(1)
{
ge=1;
P0=table[flag%10];//除十求余数
ge=0;
ge=1;
P0=table[flag%100/10];//除100余数求模
shi=0;
shi=1;
P0=table[flag%1000/100];//除1000余数求模
bai=0;
bai=1;
P0=table[flag/1000];//除1000求模
qian=0;
qian=1;
if(k6==0)
{
TMOD=0X01;
TH0=(65536-40000)/255;//16位计数模式,装载高8位
TL0=(65536-40000)%255;//转载低8位初值
EA=1;//全局中断使能
ET0=1;//定时器T0使能
TR0=1;//启动T0定时器中断
}
}
}
void t0rpt() interrupt 1
{
if(k6==1)
{
TR0=0;
flag++;
}
}
|