#include<reg51.h>
// 查询方式下
sbit led = P1^0;
void main(){
// 设置工作方式
TMOD=0x01;
// 设初值
TH0 = (65536 - 50000)/256;
TL0 = (65536 - 50000)%256;
TR0 = 1;
// 等待溢出
while(1){
// 查询并清零
while(!TF0);
TF0 = 0;
led = ~led;
TH0 = (65536 - 50000)/256;
TL0 = (65536 - 50000)%256;
}
}
#include<reg51.h>
// 中断方式下
sbit led = P1^0;
void t0int() interrupt 1
{
led = ~led;
TH0 = (65536 - 50000)/256;
TL0 = (65536 - 50000)%256;
}
void main(){
// 设置工作方式
TMOD=0x01;
// 设初值
TH0 = (65536 - 50000)/256;
TL0 = (65536 - 50000)%256;
// 开放中断允许位
EA = 1;
ET0 = 1;
// 启动
TR0 = 1;
// 等待中断
while(1);
}
51单片机:在使用6MHZ晶振的条件下,用定时器0工作在方式1产生100ms定时,由P1.0输出周期为200ms的方波信号。用查询和中断两种方式编程实现该功能。
最新推荐文章于 2025-05-01 21:12:28 发布