📄 0~99计数器的设计.c
字号:
/****************************************************************************
0到99的计数,采用外部中断方式
******************************************************************************/
#include"reg51.h"
#define uchar unsigned char
#define uint unsigned int
sbit p21=P2^1;
sbit p20=P2^0;
uchar count;
uchar counth,countl;
const uchar tab[]={ 0XC0,0XF9,0XA4,0XB0,0X99,/*0~9*/
0X92,0X82,0XF8,0X80,0X90};
void delay(void) //延时
{ uint i;
for(i=0;i<244;i++);
}
void it0(void) interrupt 0 using 1 //加一中断
{ count++;
if(count==100)
count=99;
}
void it2(void) interrupt 2 using 2 //减一中断
{
if(count!=0)
{ count--;}
}
void main(void)
{ IT0=1;
IT1=1;
EA=1;
EX0=1;
EX1=1;
PX1=1; //IT1的优先级高
while(1) //0到99的显示
{ counth=count/10;
countl=count%10;
P1=tab[counth]; //十位显示
p21=1;
delay();
p21=0;
P1=tab[countl]; //十位显示
p20=1;
delay();
p20=0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -