怎样用51单片机产生方波?
发布网友
发布时间:2022-04-29 23:06
我来回答
共2个回答
热心网友
时间:2022-06-25 09:58
可以用定时器中断实现这样的处理,这种方法重点在于根据你的晶振频率计算出定时器中断的参数,然后就可以很好的控制定时器中断触发的时间了.只要在中断处理过程里不断的让I/O口取反,就可以实现这样的方波。
热心网友
时间:2022-06-25 09:58
#include"reg52.h"
sbit PWM=P1^0;//定义输出脚
void main()
{
TMOD=0x01;//定时器0工作方式1
TH0=(65536-10000)/256;//12M晶振10MS计时常数
TL0=(65536-10000)%256;
EA=1;//开总中断
ET0=1;//开定时器0中断
TR0=1;//启动定时器0
while(1);
}
//中断函数,启动后每10MS进入一次中断
void T0_time(void) interrupt 1
{
TH0=(65536-10000)/256;//12M晶振10MS计时常数
TL0=(65536-10000)%256;
if(PWM)PWM=0; //输出脚取反
else PWM=1;