C语言中如何判定方波?

Python016

C语言中如何判定方波?,第1张

你是要检测有无波形还是要检测是方波还是三角波波形?

如果是有无波形,你的硬件上,肯定会引起中断,中断中检测这个IO对应寄存器的值就行。通常1表示高电平,0表示低电平。

如果要检测波形,那么我建议你的IO速度要比本身的方波周期小,相当于采样,你根据多次采样的关系确定波形类型。

如果是模拟出来的话,频率是1Mhz,首先你要有一个1Mx2的定时,这个2Mhz的定时每次计数到达的时候将对应的io口翻转,频率为1M周期为1us的方波就出来了。

大部分单片机都有pwm功能直接配置寄存器使能就可以输出对应的频率方波。

以12M晶振,50ms为例

用定时器写

以下是中断程序

void pwm_1() interrupt 1

{

th0=(65536-50000)/256

tl0=(65536-50000)%256

P1^0=~P1^0

}