永发信息网

采用定时器/计数器T0对外部脉冲进行计数

答案:1  悬赏:70  手机版
解决时间 2021-03-02 14:53
  • 提问者网友:伴风望海
  • 2021-03-02 05:24
采用定时器/计数器T0对外部脉冲进行计数
最佳答案
  • 五星知识达人网友:孤老序
  • 2021-03-02 05:49
#include
#define uchar unsigned char
#define uint unsigned int
void Delay_ms(uint u)
{while(u--);}
sbit P20=P2^0;//数码管百位选
sbit P21=P2^1;//数码管十位选
sbit P22=P2^2;//数码管个位选
uchar code a[10] = {0xC0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};
uchar i=0;
uchar time=0;
void Display(uint k)
{

P0 = a[k/100%10];
P20=1;
Delay_ms(15); //显示5ms十位
P20=0;
P0 =a[k%100/10];
P21=1;
Delay_ms(15); //显示5ms个位
P21=0;
P0 = a[k%10];
P22=1;
Delay_ms(15); //显示5ms个位
P22=0;
}
void main()
{time=0;
EA=1;
EX0=1;
IT0=1;

while(1)
{
Display(time);
}
}
void t0()interrupt 1
{
EX0=0;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
time=0;
EX0=1;
TR0=0;
}
void int0()interrupt 0
{

time++;
if(time==100)
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
ET0=1;
TR0=1;
time=0;
}
}
这个用数码管仿真可以
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯