单片机输出38khz占空比50%的pwm波 检测p1.0口高电压持续时间是否大于1ms,计算的一个程序 还要控制显示

请问一个单片机能实现这些功能么?

38khz占空比50%的pwm波 其实也就是 38khz占空比50%的方波了。
通过程序中断实现38khz占空比50%的pwm波,单片机确实几乎忙得不用做其它事了。
但是现在大多单片机都有 pwm 或者 可编程时钟输出,前者可以调频率和占空比,后者只能调频率(占空比固定50%),只需向特殊寄存器输入参数就可以得到想要的方波了,在不需要改变波形频率时,单片机就不用管它而去做其它事情了。
比如便宜的STC89C52RC 5元,就有一路可编程时钟输出。追问

如果输出的pwm波要持续280us然后再输出720us的低电平 如此循环,那用pwm或可编程是时钟输出能达到这种效果么?

追答

pwm波要持续280us然后再输出720us的低电平 如此循环,
这算是以38khz为载波了,
方法:

①通过二路pwm( 或者 可编程是时钟输出+pwm)+ 简单电路(2个三极管+几个电阻)实现,
优点:单片机给特殊寄存器赋初值后就不用管它了,爱干嘛干嘛。
缺点:单片机要有2路pwm( 或者 pwm+可编程是时钟输出);要占单片机2个引脚。

②通过1路pwm( 或者 可编程是时钟输出)+定时器中断实现,
优点:单片机要求不高,有一路pwm( 或者 可编程是时钟输出)即可,只占单片机1个引脚。
缺点:单片机要 定时器中断控制 38khz的280us输出,然后再输出720us的低电平,工作要忙些了。

一个单片机完全是可以实现这些功能的!!!!!!!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-02
一般51单片机都能在12MHz晶振下工作,分频出来38khz是没有问题的,要是直接带有PWM接口的单片机就更好实现了;至于检测高电平时间1ms也是没有问题的,单片机执行一条指令的时间为1us(当然复杂的乘除法指令除外),检测1ms还是可以的;至于显示就更不用说了。追问

要把这些功能都实现 38khz的半个周期大约是13us,即13us就有一次中断,如果执行其他的功能产生中断了就不能一直输出pwm波 这个如何解决?

追答

你需要再理解中断的概念。在这个系统中,你所有的任务主要分三种:PWM、1ms脉宽检测和显示。脉宽检测和显示任务可以当做常规任务来执行,PWM可以采用定时器中断产生,这样就不会有任何冲突了。

第2个回答  2011-04-02
C51就可以了,用定时器输入38K,再用一个定时器捕捉