📄 t18.c
字号:
/* t18.c 以1秒钟为单位,以计时/计数方式循环显示0—99 */
/*Fosc=11.0592MHz 计数65536次为71.1111ms*/
#include <reg51.h>
unsigned char i;
unsigned char led[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
0x80,0x90};
bit flag;
sbit p36=P3^6;
/* T/C0 定时0.05秒钟 */
void t_int(void) interrupt 1 using 1
{ p36=!p36;
TH0=-46080/256;TL0=-46080%256;
}
/* T/C1 计数1秒钟 */
void c_int(void) interrupt 3 using 2
{
flag=1;
}
void main(void)
{ TMOD=0x61; /* T/C1为方式2计数,T/C0为方式1定时 */
TH0=-46080/256;TL0=-46080%256; /* 延时0.05秒钟参数 */
TH1=-10;TL1=-10; /* 延时1秒钟参数,两次反转才能产生一个计数脉冲 */
EA=1;
ET0=1;ET1=1;
TR0=1;TR1=1;
while(1)
{ for(i=0;i<=99;i++)
{ P0=led[i/10];
P2=led[i%10];
while(!flag); /* 延时1秒钟 */
flag=0;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -