标题: STC8A8K64S4单片机内置PWM控制直流电机 源程序 [打印本页]

作者: 枫树566    时间: 2019-9-24 19:30
标题: STC8A8K64S4单片机内置PWM控制直流电机 源程序
  1. #include <stc8.h>
  2. #include "hc595.h"
  3. #include "pwm.h"

  4. #define CYCLE           100        // 设置PWM周期为1000H个PWM时钟

  5. unsigned char table[] = {90,70,50,30,10};// 定义5个档位的占空比
  6. sbit keyContrl = P0^7;  // 独立按键总开关
  7. sbit key1 = P0^0;       // 独立按键1

  8. void Delay(unsigned int xms) // 毫秒级延时
  9. {
  10.         unsigned int i, j;
  11.         for(i=xms;i>0;i--)
  12.         {
  13.                 for(j=921;j>0;j--);
  14.         }
  15. }
  16. void main()               
  17. {
  18.         unsigned char i = 0;
  19.         P_SW2 = 0x80;
  20.         PWMCKS = 0x00;         // PWM时钟为系统时钟
  21.         PWMC = CYCLE;          // 设置PWM周期为CYCLE个PWM时钟
  22.         PWM5T1= 0;             // 在计数值为0时,开始输出低电平
  23.         PWM5T2= 0;             // 在计数值为0时,开始输出高电平
  24.         PWM5CR= 0x88;          // 使能PWM5_2输出
  25.         P_SW2 = 0x00;

  26.         PWMCR = 0x80;          // 启动PWM模块
  27.         keyContrl = 0;
  28.        while (1)
  29.         {
  30.                 if(!key1)          // 独立按键1,被按下
  31.                 {
  32.                         Delay(10);     // 延时消抖
  33.                         if(!key1)
  34.                         {
  35.                                 i++;       // 档位增加1
  36.                                 if(i>4)    // 大于最大档位后,归零
  37.                                 {
  38.                                         i = 0;
  39.                                 }
  40.                         }
  41.                         while(!key1);  // 等待按键抬起
  42.                 }
  43.                 PWM5T2= table[i];  // 把i档位的占空比赋给PWM5T2
  44.                
  45.                 // 访问逻辑地址位于XDATA区域的特殊功能寄存器前需要
  46.                 // 将 P_SW2(BAH)寄存器的最高位(EAXFR)置 1
  47.                 P_SW2 |= 0x80;      
  48.                
  49.                 display(0,i);        // 显示档位(0~4,共5个档位)
  50.         }
  51. }
复制代码

列表.JPG (16.94 KB, 下载次数: 60)

清单.jpg

清单.jpg

STC8手册-增强型PWM部分.pdf

921.73 KB, 下载次数: 81, 下载积分: 黑币 -5

内置PWM控制直流电机调转速.rar

36.17 KB, 下载次数: 148, 下载积分: 黑币 -5


作者: 51hei团团    时间: 2019-9-24 20:37
好东东,楼主能分享下电路图吗?
作者: aking991    时间: 2019-9-25 09:58
学习一下
作者: 枫树566    时间: 2019-9-25 10:22
芯片引脚及直流电机接的引脚

123_副本.jpg (112.63 KB, 下载次数: 63)

123_副本.jpg

124_副本.jpg (38.36 KB, 下载次数: 54)

124_副本.jpg

作者: 枫树566    时间: 2019-9-25 12:24
51hei团团 发表于 2019-9-24 20:37
好东东,楼主能分享下电路图吗?

贴出了芯片引脚图和直流电机接的位置,回复框没搞懂怎么发图片的
作者: lmyyjx    时间: 2019-9-26 10:27
正好了解一下
作者: nb44444    时间: 2019-12-30 20:45
好好好,get到了
作者: popo321    时间: 2020-3-31 09:19
好东东,谢谢楼主分享!
作者: DSFSQ    时间: 2021-2-1 12:10
请问你用的直流电机的额定输入电压是多大?
作者: qzyhlf    时间: 2025-4-23 10:15
好东东,楼主能分享下电路图吗?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1