找回密码
 立即注册
楼主: 邱生

第一集 序言

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:142
  • 最近打卡:2025-06-16 09:04:22
已绑定手机

23

主题

31

回帖

497

积分

中级会员

积分
497
发表于 2025-5-9 14:29:13 | 显示全部楼层
STC8A8K64S4单片机内置PWM控制直流电机 源程序
#include <stc8.h>
#include "hc595.h"
#include "pwm.h"

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

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

void Delay(unsigned int xms) // 毫秒级延时
{
        unsigned int i, j;
        for(i=xms;i>0;i--)
        {
                for(j=921;j>0;j--);
        }
}
void main()               
{
        unsigned char i = 0;
        P_SW2 = 0x80;
        PWMCKS = 0x00;         // PWM时钟为系统时钟
        PWMC = CYCLE;          // 设置PWM周期为CYCLE个PWM时钟
        PWM5T1= 0;             // 在计数值为0时,开始输出低电平
        PWM5T2= 0;             // 在计数值为0时,开始输出高电平
        PWM5CR= 0x88;          // 使能PWM5_2输出
        P_SW2 = 0x00;

        PWMCR = 0x80;          // 启动PWM模块
        keyContrl = 0;
       while (1)
        {
                if(!key1)          // 独立按键1,被按下
                {
                        Delay(10);     // 延时消抖
                        if(!key1)
                        {
                                i++;       // 档位增加1
                                if(i>4)    // 大于最大档位后,归零
                                {
                                        i = 0;
                                }
                        }
                        while(!key1);  // 等待按键抬起
                }
                PWM5T2= table[i];  // 把i档位的占空比赋给PWM5T2
               
                // 访问逻辑地址位于XDATA区域的特殊功能寄存器前需要
                // 将 P_SW2(BAH)寄存器的最高位(EAXFR)置 1
                P_SW2 |= 0x80;      
               
                display(0,i);        // 显示档位(0~4,共5个档位)
        }
}
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:142
  • 最近打卡:2025-06-16 09:04:22
已绑定手机

23

主题

31

回帖

497

积分

中级会员

积分
497
发表于 2025-5-27 11:30:12 | 显示全部楼层
单片机控制程序需要多实践才能掌握单片机的编程思路
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-17 03:42 , Processed in 0.121763 second(s), 51 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表