[活动专区] 8003硬件板+(四)PWM(呼吸灯)

[复制链接]
 楼主| lisingch 发表于 2018-10-2 19:17 | 显示全部楼层 |阅读模式
      本次实验是利用SC92F8003的Pin20引脚输出占空比可变的PWM信号驱动LED工作,代码以官方DEMO为蓝本但没有采用中断方式。
一、实验环境
1、Keil MDK51 9.59
2、SC-LINK
3、SC92F8003的DEMO硬件板
4、8位LED模块

二、实验过程
1、PWM6初始化程序参考了官方的DEMO。
  1. void PWM_Init(void)
  2. {
  3.         PWMCFG  = 0x55;                        //135输出不反向,0246输出反向               
  4.         PWMCON0 = 0X83;                        //打开PWM、时钟16周期低2位为11               
  5.         PWMDTYB = 0XaA;     //PWM456占空比低两位Duty                                               
  6.         PWMPRD  = 0xff;                        //设置PWM周期高8位                                                                       
  7.   PWMCON1 = 0X7f;     //独立模式,打开PWM模块0~6                                       
  8.         PWMDTY6 = 0X00;     //设置PWM6占空比高8位
  9. }
2、主程序中忽略的低2位,只对占空比的高8位进行了配置。
  1. #include <SC92F8003_C.H>
  2. #include "delay.h"
  3. #include "pwm.h"

  4. unsigned char i=0;
  5. bit flag = 0;
  6.        
  7.        
  8. void main(void)
  9. {
  10.         PWM_Init();
  11.         while(1)
  12.         {
  13.                 if(flag==0)
  14.                 {
  15.                         i++;
  16.                         PWMDTY6 = i;     
  17.                         delayms(50);
  18.                         if(i==255)flag = 1;                               
  19.                 }
  20.                 if(flag)
  21.                 {
  22.                         i--;
  23.                         PWMDTY6 = i;   
  24.                         delayms(50);
  25.                         if(i==0)flag = 0;                       
  26.                 }       
  27.         }
  28. }
3、系统时钟配置为16MHz
QQ截图20181002185145.png

三、实验现象
接在Pin20的LED受PWM6的输出控制,LED按灭->渐亮->最亮->渐暗->灭进行循环。

四、总结
       SC92F8003的PWM模块使用比较方便,配置也比较简单。另外其PWM还可以配置成3组“互补模式”,利用这种模式对电机进行控制也是比较方便的,后期准备搭一个电机模块,并利用“互补模式”的PWM信号对其进行控制实验。

沃利贝尔 发表于 2020-8-31 09:20 | 显示全部楼层
感谢楼主,现在正在困扰这个问题
 楼主| lisingch 发表于 2020-9-1 12:12 | 显示全部楼层
沃利贝尔 发表于 2020-8-31 09:20
感谢楼主,现在正在困扰这个问题

很高兴能够帮到您!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

99

主题

15005

帖子

19

粉丝
快速回复 在线客服 返回列表 返回顶部