预览截图
应用介绍
单片机PWM波输出及其应用,单片机PWM波输出及其应用,PWM功能寄存器实现单片机PWM功能, 单片机产生PWM波形
#include<reg51.h>
sfr CCON = 0xd8; //可编程计数器PCA的控制寄存器
sfr CMOD = 0xd9; //可编程计数器工作模式寄存器
sfr CL = 0xe9; //可编程计数器的低八位
sfr CH = 0xf9; //可编程计数器的高八位
/********PWM模块0,P1.1输出*********/
sfr CCAPM0 = 0xda; //PWM功能寄存器
sfr CCAP0L = 0xea; //高八位
sfr CCAP0H = 0xfa; //低八位
sfr PCA_PMW0 = 0xf2; //PWM辅助寄存器
/********PWM模块1,P1.0输出*********/
sfr CCAPM1 = 0xdb;
sfr CCAP1L = 0xeb;
sfr CCAP1H = 0xfb;
sfr PCA_PMW1 = 0xf3;
/********PWM模块2,P3.7输出********/
sfr CCAPM2 = 0xdc;
sfr CCAP2L = 0xec;
sfr CCAP2H = 0xfc;
sfr PCA_PMW2 = 0xf4;
void STC_pwm_init(void)
{
CMOD = 0x0a; //PWM频率 = 时钟频率 / 4 /256,若时钟频率为12M,则PWM波频率为11.7K;
CL = 0x00; //PCA计数器低8位清零
CH = 0x00; //PCA本计数器高8位清零
/********PWM模块0,P1.1输出*********/
PCA_PMW0 = 0x00; //8位PMW,占空比的第九位EPC0L为0
CCAPM0 = 0x42; //允许比较,P1.1输出
/********PWM模块0,P1.0输出********/
PCA_PMW1 = 0x00; //8位PMW,占空比的第九位EPC0L为0
CCAPM1 = 0x42; //允许比较,P1.0输出
/********PWM模块0,P3.7输出*********/
PCA_PMW2 = 0x00; //8位PMW,占空比的第九位EPC0L为0
CCAPM2 = 0x42; //允许比较,P3.7输出
CCON = 0x40; //允许PAC计数,计数频率为时钟频率/4;
}
©版权声明:本文内容由互联网用户自发贡献,版权归原创作者所有,本站不拥有所有权,也不承担相关法律责任。如果您发现本站中有涉嫌抄袭的内容,欢迎发送邮件至: www_apollocode_net@163.com 进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
转载请注明出处: apollocode » 单片机PWM波输出及其应用
文件列表(部分)
名称 | 大小 | 修改日期 |
---|---|---|
15fpwm.c | 0.51 KB | 2019-09-03 |
main.c | 0.58 KB | 2019-09-03 |
main.LST | 1.01 KB | 2019-09-03 |
main.OBJ | 1.48 KB | 2019-09-03 |
单片机PWM波输出及其应用 | 1.38 KB | 2019-09-03 |
单片机PWM波输出及其应用.hex | 0.21 KB | 2019-09-03 |
单片机PWM波输出及其应用.lnp | 0.04 KB | 2019-09-03 |
单片机PWM波输出及其应用.M51 | 1.12 KB | 2019-09-03 |
单片机PWM波输出及其应用.Opt | 0.53 KB | 2019-09-03 |
单片机PWM波输出及其应用.plg | 0.20 KB | 2019-09-03 |
单片机PWM波输出及其应用.Uv2 | 0.90 KB | 2019-09-03 |
单片机PWM波输出及其应用_Opt.Bak | 0.53 KB | 2019-09-03 |
单片机PWM波输出及其应用_Uv2.Bak | 0.00 KB | 2019-09-03 |
发表评论 取消回复