完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我看入门手册,结果出来的波都不知道是什么波了
|
|
|
|
你好,PWM波有很多模式,有一般模式的,还有用于电机控制的互补输出的。这些都是可能代码生成来简单设置生成的。
|
|
|
|
刚上传了一个MODE1的例子,可以参考一下。谢谢!
|
|
|
|
PWM是使用定时器的时基来决定你的PWM频率的
|
|
|
|
来加我好友我发给你,我用的是野火
|
|
|
|
本帖最后由 lucbunny 于 2018-8-3 09:03 编辑
PWM可以用延时来写,或者用中断来写。比如说。 ***it pwm=P1^1; while(1){ delay19ms(); pwm=0; delay1ms(); pwm=1; } 上面这个就是延时写的,程序就不说明了,会用keil以及会英语的都看得懂。 中断的话。 ***it pwm=P1^1; unsigned int flag=0; void main(){ TMOD=0x01;//设置定时器0为工作方式1 TH0=(65536-1000)/256; TL0=(65536-1000)%256; EA=1; ET0=1; TR0=1; while(1); } void time0() interrupt 1 ////对应定时器/计数器0中断 { TH0=(65536-1000)/256; TL0=(65536-1000)%256; if(flag<2) pwm=1; else pwm=0; flag++; flag%=40; } TH和TL的计算,我用的是12M的晶振,也就是1s=1000000次机器周期,那么1ms是1000次机器周期。65536-1000=64536(FC18) 上面的都是输出20ms的PWM波,占空比为5%.。 当然这些都是单片机的很简单的输出方式,其他输出方式也有很多种,具体你必须参考实际应用环境。一般做些简单的小车,船模航模是够了。 |
|
|
|
只有小组成员才能发言,加入小组>>
请问一个迭代法图形二值化的程序代码把宽改成240之后整个屏幕不显示是什么原因?
2508 浏览 0 评论
2465 浏览 1 评论
1707 浏览 1 评论
1835 浏览 2 评论
2407 浏览 2 评论
2084浏览 1评论
347浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-19 20:04 , Processed in 0.378760 second(s), Total 49, Slave 44 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号