#define uchar unsigned char
uchar number;
void t0isr() interrupt 1
{
number++;
}
main()
{
TMOD=0x06;//定时器0工作模式2计数器方式。P34为脉冲输入口
TH0=0xff;
TL0=0xff;
ET0=1;
TR0=1;
EA=1;
number=0;
while(1)
{
switch(number)
{
case 1:
case 2:
default:number=0;break;
}
}
}
把 数码管的 1-9 的 对应的码算出来就好了
例如:#include <AT89X51H>
//数字0-9的字形码
unsigned char code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
unsigned char dispcount;
void delay02s(void);
void main(void)
{
P1_0=0;//选通第一位数码管
while(1)
{
for(dispcount=0;dispcount<10;dispcount++)
{
P0=table[dispcount];
delay02s();
}
}
}
void delay02s(void)
{
unsigned char i,j,k;
for(i=20;i>0;i--)
for(j=30;j>0;j--)
for(k=248;k>0;k--);
}
补充:单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机
你好!你的程序运行过程是
1、定时器产生 50毫秒定时
2、计数20次,满足一秒
3、计数清零,显示秒数
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)