51单片机protues仿真学习:[20]定时器中断

时间:2024-10-12 07:17:27

主要思路还是上面最关召堡厥熠键的三句话

1.用哪个中断------定时器T0中断中断号1

2.触发条件是什么-------开总中断EA=1,此中断源的中断允许位为ET0=1,开启此中断TR0=1;

3.中断之后干什么-------开始计时(多少时间中断一次)并按照要求显示数码管

原理图跟上面一样

51单片机protues仿真学习:[20]定时器中断

程序如下:

#include<reg52.h>//头文件

#include<intrins.h>

#defineuintunsignedint

#defineucharunsignedchar

ucharcodesmg_dm[]={//共阴数码管显示编码

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};

ucharnum;

uchari;

voidmain()

{

TMOD=0X01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TR0=1;

P0=0X00;

P2=0XFE;

while(1)

{

if(num==20)

{

num=0;

P0=smg_dm[i];

i++;

if(i==10)

{

i=0;

}

}

}

}

voidtime0()interrupt1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

num++;

}

© 手抄报圈