51单片机

2013年12月01日 17:51    发布者:李哲懿
各位前辈、大神:       本人是在校学生,现在有求于给位,请给位前辈给与帮助!急急急急!
            《基于51单片机的直流电机PWM调速控制设计》的程序。

基本要求:利用单片机生成不同宽度的PWM波形,进行直流电机的速度调节。设置四个按键K1,K2,K3,K4:按K1,K2进行直流电机的加速控制和减速控制(五级以上),按K3让电机正反转,相应的级别和正反转用led或数码管显示,按K4启停电机。(用c语言或汇编来编写程序)
只需要程序!希望给位前辈能给与帮助!谢谢! (本人QQ邮箱:1486273950@qq.com )
该文章有附件资料,如需下载请访问 电脑版

网友评论

McuPlayer 2013年12月06日
你需要先把问题分解
1、PWM模块,PWM是驱动电机的调速的一个方法,先用MCU做出来
2、电机的正反转,需要做换向电路和对应的程序
3、按键处理,这个应该是比较简单的了
tyw 2013年12月12日
129261
129262
129263

deli333 2013年12月14日
#include "pwm.h"

void pwm_out(uchar pwm_data)
{
    CCON = 0;                       //初始化PCA控制寄存器
                                    //PCA定时器停止
                                    //清除CF标志
                                    //清除模块中断标志
    CL = 0;                         //复位PCA寄存器
    CH = 0;
    CMOD = 0x04;                    //设置PCA时钟源
                                    //禁止PCA定时器溢出中断
    PCA_PWM1 = 0x00;                //PCA模块0工作于8位PWM
    CCAP1H =  pwm_data;         //PWM0的占空比为87.5% ((100H-20H)/100H)
    CCAPM1 = 0x42;                  //PCA模块0为8位PWM模式
    CR = 1;                         //PCA定时器开始工作
}

void pwm_init()
{
        P_SW1&=~(CCP_S0 | CCP_S1);       
}
deli333 2013年12月14日
#define CCP_S0 0x10                 //P_SW1.4
#define CCP_S1 0x20                 //P_SW1.5
cary 2013年12月18日
不错额
shunyijie 2013年12月18日
顺易捷pcb打样48元起,联系QQ800055586 电话:韩先生13480101190
hbzhangtuo 2014年01月01日
楼主有点懒啊!
Hugo801122 2014年02月18日
小弟,单片机编程要精通还是要多亲自动手啊!
longfenghugui 2014年03月03日
中断产生一个基本步长的定时,设定一个速度变量——(主程序中也有一个设定变量,可以通过读取加减速键闭合改变变量的大小),定时器中断一次速度变量加一——(自行设定变速的步长,也可是2,也可是3,和主程序的加减配合)。比较两变量是否相等,相等则PWM输出引脚取反。这样就通过改变设定变量的值,就实现了速度的调整。
学单片机要多读程序,软硬件结合,多去图书管读读例子,不要管他是哪一年的书,虽然有的可能是2000年的
QQSnow 2014年04月11日
学习学习
luly8818 2014年04月28日

小弟,单片机编程要精通还是要多亲自动手啊!
pcbkey 2015年01月31日
学习