标题:
89s003适用于89c51单片机1路独立PWM输出源程序
[打印本页]
作者:
uyang
时间:
2017-12-29 12:06
标题:
89s003适用于89c51单片机1路独立PWM输出源程序
附件中是我做的项目中的控制发热丝的 pwm源码,仅供参考
单片机源程序如下:
/**
* @Examle Version V1.0.0.0
* @Demo Version V1.0.1.0
* @Date 2017.09.18
* ************************************************************************************
* 模块性能介绍
* 1、HC89S003F4拥有一个单路8位PWM3模块,PWM3提供周期溢出中断
* 2、PWM3周期:[PWM3P]*PWM3工作时钟源周期
* 3、PWM3占空比:[PWM3D]*PWM3工作时钟源周期
* ************************************************************************************
* 应用注意事项
* 1、占空比0%(PWM3D[0-7]=0x00)输出低电平,占空比100%(PWM3P≤PWM3D)输出高电平
* 2、关闭PWM3模块时,PWM计数停止,输出立即关闭。再打开PWM3模块时,PWM计数器都重新从1开
* 始计数,输出受PWM3OEN控制
* 3、PWM3允许输出,必须在PWM3EN置1下才有效,否则为PWM3输出关闭状态(输出时对应端口必须
* 设为输出模式);即使都禁止输出,只要相关位被使能,PWM3都可以溢出中断,即此时PWM3
* 可以作为定时器/计数器使用,此控制位修改立即生效
* ************************************************************************************
* 客户服务
* 感谢您使用我们的单片机,若发现错误或对函数的使用存在疑问。
* ***************************************************************
**/
#include "HC89S003F4.h"
/***************************************************************************************
* @实现效果 P11口输出频率为15.69KHz,占空比为34%的方波
***************************************************************************************/
int main()
{
/************************************系统初始化****************************************/
WDTCCR = 0x00; //关闭看门狗
while((CLKCON&0x20)!=0x20); //等待内部高频晶振起振
CLKSWR = 0x51; //选择内部高频时钟为主时钟,内部高频RC2分频,Fosc=16MHz
while((CLKSWR&0xC0)!=0x40); //等待内部高频切换完成
CLKDIV = 0x01; //Fosc1分频得到Fcpu,Fcpu=16MHz
/************************************PWM3初始化****************************************/
P1M0 = P1M0&0x0F|0x80; //P11设置为推挽输出
PWM3_MAP = 0x11; //PWM3映射P11口
PWM3C = 0x92; //使能PWM3,关闭中断,允许输出,时钟4分频
//周期计算 = 0xFF / (Fosc / PWM分频系数) (Fosc见系统时钟配置的部分)
// = 0xFF /(16000000 / 4)
// = 255 /4000000
// = 63.75us 即15.69KHZ
PWM3P = 0xFF; //PWM周期为0xFF
//有效电平时间计算(即占空比)
// = 0x55 / (Fosc / PWM分频系数) (Fosc见系统时钟配置的部分)
// = 0x55 /(16000000 / 4)
// = 85 /4000000
// = 21.25us 占空比为 21.25 / 63.75 = 34%
PWM3D = 0x55; //PWM占空比设置
while(1);
return 0;
}
复制代码
所有资料51hei提供下载:
1路独立PWM输出(8位).zip
(67.35 KB, 下载次数: 11)
2017-12-29 12:06 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1