2022年2022年简单的PWM程序 2.pdf
《2022年2022年简单的PWM程序 2.pdf》由会员分享,可在线阅读,更多相关《2022年2022年简单的PWM程序 2.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、写了一个简单的PWM 程序,给初学者, PWM+ 数字电表用 QL200 的 VR1作输入来调节占空比,并用D10,D11 来显示 VR1 输入到 RA0的电压,/ / Author : Toby / Date : 2009/01/21 / Function : 程序用于使 CCP1模块产生分辨率为10 位的 PWM波形,占空比可调 , / MCU : PIC16F877A / C Compiler : PICC 8.05 / IDE : MPLAB IDE v8.10 / #include _CONFIG(0 x3f3a); union adres / 定义一个共用体,用于存放10 位 A/
2、D 转换的结果int y1; unsigned char adre2; adresult; const char TABLE=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0X82,0XF8,0X80,0X90; / 定义常数 0-9 的数据表格void CCP1INIT(void); void interrupt clkint(void); void adinitial_voltage(void); void display_voltage(void); void ini(void); void delay(unsigned char x); 名师资料总结 - -
3、-精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - unsigned char QC,TONOFF=5; unsigned int ad_data=0; / 主程序main() ini(); CCP1INIT(); /CCP1模块的 PWM 工作方式初始化 T2CON=4; / 打开 TMR2,且使其前预分频为1:1,后分频比为 1:1,但在这个程序中后分频比用不上while(1) CCPR1L=TONOFF; /CCPR1L 与 DC1B1 与 DC1
4、B0 共同组成占空比的可调范围,以当前程序为例,则占空比为 DC1B9:0)*Tosc*TMR2预分频QC=0; display_voltage(); adinitial_voltage(); void CCP1INIT() /CCP1 模块的 PWM 工作方式初始化子程序 */ CCP1CON=0X3C; / 设置 CCP1模块为 PWM 工作方式,且其占它比的低两位DC1B1 与 DC1B0为 11 INTCON=0X00; /禁止总中断和外围中断 PR2=150; /设置 PWM的工作周期 ,也即 PWM的工作频率其中 PWM周期=(PR2+1)*4*Tosc*TMR2预分频比 ,Tos
5、c 为MCU的振荡周期/ 以当前程序为例,则PWM 的输出频为1/(156+1)*4*0.25us(4M晶体)*1=6.3694267515923566878980891719745k 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - TRISC=RC2=0; /设置 CCP1引脚为输出方式 /A/D 转化初始化子程序void adinitial_voltage(void) unsigned char a=50; ad_data=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年简单的PWM程序 2022 简单 PWM 程序
限制150内