51单片机定时器产生任意占空比PWM

上传人:博****1 文档编号:467755559 上传时间:2022-08-29 格式:DOCX 页数:1 大小:8.99KB
返回 下载 相关 举报
51单片机定时器产生任意占空比PWM_第1页
第1页 / 共1页
亲,该文档总共1页,全部预览完了,如果喜欢就下载吧!
资源描述

《51单片机定时器产生任意占空比PWM》由会员分享,可在线阅读,更多相关《51单片机定时器产生任意占空比PWM(1页珍藏版)》请在金锄头文库上搜索。

1、晶振12M任意占空比方波输出如果是占空比任意,现在考虑12M晶振,所以机器周期Tcy为1山。定时器工作方式1最长定时为65536X1X10-6=65.536ms如果要输岀周期为1s的任意占空比的方波。那可以把1s分为100份,每份中断一次。然后在中断里面计数(比如全局变量num)加一。加到100之后,表示一个周期结束。这样就可以控制每一份的电平的高低了。如果,占空比为30%,那么也就是num小于等于100X30%=30的时候,输岀高电平,其余输岀低电平就可以了。如果占空比为a(百分号的形式),那么也就是num小于等于100Xa的时候输岀高电平,其余输岀低电平就可以了。现在考虑定时器的初值如何设

2、定,由于定时器需要在1s/100也就是10ms的时候进入一次中断进行判断。如果采用方式1,那么因为(216-X)110-6=1010-3,所以定时器的初值为X=65536-1000.#include/头文件sbitoutput=P1A1;/输岀端unsignedcharnum=1;/辅助计时unsignedinta=0.3;占空比a可以任意设定voidInit(void)/初始化函数对于定时器一般初始化需要六步TMOD=0x01;TH0=(65536-1000)/256;/(65536-1000)为定时器初值,定时10msTL0=(65536-1000)%256;EA=1;ET0=1;TR0=1;main()Init();while(1)if(num100)num=1;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号