📄 方波.c
字号:
/*定时中断例子,方波输出*/
#include <reg52.h>
/***************/
sbit FangBo = P2^0; //管脚定义
unsigned char count=0; //定义变量
/***************/
void main()
{
TMOD=0x01; //T0 工作在方式1 16位计数器
TH0=(65536-1000)/256; // 预先 设定定时器 初值1ms中断一次
TL0=(65536-1000)%256;
EA=1; //开启 总中断
ET0=1; //开启定时器 0
TR0=1; //定时器 0 启动计数
while(1) //死循环
{ //程序在这不作任何处理
}
}
/**********************************/
void time0(void) interrupt 1 using 1 //产生50MS定时中断
{
TH0=(65536-1000)/256; //重新设置定时器 初值
TL0=(65536-1000)%256;
count++;
if(count==2) //用变量 count 延长到2ms,根据自己的需要,调整参数或者定时器初始值来改成时间量
{
count=0; //计数器清零
FangBo=~FangBo; //取反,方波输出 方波的频率为500Hz
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -