AT89C51单片机 用定时器1,方式0定时1s的C语言程序怎么写
答案:2 悬赏:20 手机版
解决时间 2021-04-17 03:11
- 提问者网友:末路
- 2021-04-16 15:12
AT89C51单片机 用定时器1,方式0定时1s的C语言程序怎么写
最佳答案
- 五星知识达人网友:舍身薄凉客
- 2021-04-16 15:40
(这是我同学编的,拿来给你)
#include
#include
unsigned char i;
void main()
{
TMOD=0x00;
TH1=0x3c;
TL1=0xb0;
EA=1;
ET1=1;
TR1=1;
while(1)
{
if(i==20)
{
i=0;
//下面写你要处理的的其他程序,你只要了定时1s。
}
}
}
void a(void) interrupt 3
{
unsigned char i;
TH1=0x3c;
TL1=0xb0;
i++;
}
#include
#include
unsigned char i;
void main()
{
TMOD=0x00;
TH1=0x3c;
TL1=0xb0;
EA=1;
ET1=1;
TR1=1;
while(1)
{
if(i==20)
{
i=0;
//下面写你要处理的的其他程序,你只要了定时1s。
}
}
}
void a(void) interrupt 3
{
unsigned char i;
TH1=0x3c;
TL1=0xb0;
i++;
}
全部回答
- 1楼网友:愁杀梦里人
- 2021-04-16 16:13
#include
#define uint unsigned int
#define uchar unsigned char
uchar flag;
void main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1);
}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
flag++;
if(flag==20)//当定时到1秒时执行花括号里面的语句
{}
}
这是利用T0计时的,如果是T1只要把TMOD=0x01改成TMOD=0x11;把interrupt 1 改成interrupt 3 即可
#define uint unsigned int
#define uchar unsigned char
uchar flag;
void main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1);
}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
flag++;
if(flag==20)//当定时到1秒时执行花括号里面的语句
{}
}
这是利用T0计时的,如果是T1只要把TMOD=0x01改成TMOD=0x11;把interrupt 1 改成interrupt 3 即可
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯