定时器中断实验 编写程序使定时器0或者定时器1工作在方式2,自动重装载模式,定时500ms使两位数码管从00、01、02……98、99每间隔500ms加1显示。
編寫(xiě)程序使定時(shí)器0或者定時(shí)器1工作在方式2,自動(dòng)重裝載模式,定時(shí)500ms使兩位數(shù)碼管從00、01、02……98、99每間隔500ms加1顯示。
程序:
#include <reg51.h>
#define uchar unsigned char
uchar led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar seg[]={0xfe,0xfd};
unsigned int cont=0;
uchar num=0;
uchar gewei,shiwei;
void delay(unsigned int time)
{
while(–time);
}
int main(void)
{
TMOD=0X02;
EA=1;
TH0=256-100;
TL0=256-100;
ET0=1;
TR0=1;
P2=0xff;
while(1)
{
gewei=num%10;
shiwei=num/10;
P2=seg[0];
P0=led[gewei];
delay(100);
P0=0xff;
P2=seg[1];
P0=led[shiwei];
delay(100);
P2=0xff;
}
void int1_timer(void) interrupt 1
{
cont++;
if(cont5000)
{
num++;
cont=0;
}
if(num100)num=0;
}
視頻:
https://www.bilibili.com/video/BV1j5411n7ua/
總結(jié)
以上是生活随笔為你收集整理的定时器中断实验 编写程序使定时器0或者定时器1工作在方式2,自动重装载模式,定时500ms使两位数码管从00、01、02……98、99每间隔500ms加1显示。的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: cmd255command.execut
- 下一篇: antd 判断input输入内容是否大于