如何用PIC的PWM功能实现无源蜂鸣器的频率变化

如何用PIC的PWM功能实现无源蜂鸣器的频率变化,第1张

LZ会用定时器实现1秒定时么?

如果会,继续往下看,如果不会,就先去学这个

把1秒定时扩展成5秒

整理一个数组值为:0,1,0,0,1,1,1,0

在5秒定时触发时,用一个循环把数组的值依次送入你的IO

PWM1:

BTFSS F_2khz,2 ; Trans_out

goto pwm_Lo

DECFSZ Cnt_1khz_H ,1

goto LED_p

;MOVLW 06h

;MOVWF Cnt_1khz_H ;--

BCF F_1khz,2

BCF PORTC,5 ; RC[5]_out:TXD_Irda ;BCF 高

MOVLW 0dch ;220

MOVWF Cnt_1khz_1

MOVLW 03h

MOVWF Cnt_1khz_2

goto LED_p

pwm_Lo:

DECFSZ Cnt_1khz_1 ,1

goto LED_p

MOVLW 0dch ;220

MOVWF Cnt_1khz_1

DECFSZ Cnt_1khz_2 ,1

goto LED_p

;MOVLW 03h

;MOVWF Cnt_1khz_2

BSF F_1khz,2

BSF PORTC,5 ; RC[5]_out:TXD_Irda ;BSF 低

MOVLW 06h

MOVWF Cnt_60hz_H ;--

要注意,PIC16系列单片机中基本上都是二路PWM,它们是独立的,但共用一个TMR2,如果你的周期不一样的话,还是有问题的也就是说,你这二路,频率要一样,只有占空比不一样不知你的应用是否这样

可以通过PROTEUS仿真或SIM的方式来查你的错误

以上就是关于如何用PIC的PWM功能实现无源蜂鸣器的频率变化全部的内容,包括:如何用PIC的PWM功能实现无源蜂鸣器的频率变化、请问PIC单片机如何在100S内,使其5脚占空比从1%-100%均匀变化,频率是1KHZ的C语言程序谢谢!、PIC单片机两路闭环PWM输出有一路不正常,单独输出每一路都没问题,请问是时序的原因么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/10219670.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存