基于C51单片机的直流电机PWM调速控制(包含原理图及C源代码)
基于C51单片机的直流电机PWM调速控制(包含原理图及C源代码)
基于C51单片机的直流电机PWM调速控制
--SQ
这是最近一阶段自己学习所获,现分享与大家。
这里采用AT89C52单片机做主控制芯片,实现两路直流电机的PWM调速控制,另外还可以实现转向、显示运行时间、显示档位等
注:考虑小直流电机自身因素,调速范围仅设有四级
电路原理图:
C语言程序源代码:
/********************硬件资源分配*********************/
数码管:
显示电机状态(启停、正反、速度)、运行时间、是否转弯
按键:
K4启动/暂停
K3正反转/转弯允许
K2加速/左转/运行时间清零
K1减速/右转/停止
定时器:
T0数码管动态显示,输出PWM
T1运行时间记录
********************************************************/
/*******主程序文件PWM.c******/
#include<reg52.h>
基于C51单片机的直流电机PWM调速控制(包含原理图及C源代码)
#include"Afx.h"
#include"Config.c"
#defineCIRCLE5//脉冲周期
//按键定义
ucharkey,key_tmp=0,_key_tmp=0;
//显示定义
ucharLedState=0xF0;//LED显示标志,0xF0不显示,Ox00显示ucharcodeLED_code_d[4]={0xe0,0xd0,0xb0,0x70};//分别选通1、2、3、4位uchardispbuf[4]={0,0,0,0};
uchardispbitcnt=0;
ucharmstcnt=0;
ucharCenti_s=0,Sec=0,Min=0;
//程序运行状态标志
bitMotState=0;
bitDirState=0;
ucharState1=-1;
ucharState2=-1;
ucharState3=0;
ucharState4=-1;
ucharLSpeed=0;
ucharRSpeed=0;
//其他
uintRunTime=0;
uintRTime_cnt=0;
uintLWidth;
uintRWidth;
uintWidcnt=1;
uintDispcnt;
//函数声明
voidkey_scan(void);
voidDisBuf(void);
voidK4(void);
voidK3(void);
voidK2(void);
voidK1(void);
voiddisp(ucharH,ucharn);//待显示数组//选通、显示的位//分、秒、1%秒//电机启停标志//方向标志0前,1后//脉宽
基于C51单片机的直流电机PWM调速控制(包含原理图及C源代码)
voidmain(void)
{
P1|=0xF0;
EA=1;
ET0=1;
ET1=1;
TMOD=0x11;
TH0=0xFC;
TL0=0x66;//T0,1ms定时初值TH1=0xDB;
TL1=0xFF;//T1,10ms定时初值TR0=1;
Widcnt=1;
while(1)
{
key_scan();
switch(key)
{
case0x80:K1();break;
case0x40:K2();break;
case0x20:K3();break;
case0x10:K4();break;
default:break;
}
key=0;
DisBuf();
LWidth=LSpeed;
RWidth=RSpeed;
}
}
//按键扫描**模拟触发器防抖
voidkey_scan(void)
{
key_tmp=(~P3)&0xf0;
if(key_tmp&&!_key_tmp)
{
key=(~P3)&0xf0;
}
_key_tmp=key_tmp;
}
//按键功能处理/逻辑控制
voidK4(void)//有键按下
基于C51单片机的直流电机PWM调速控制(包含原理图及C源代码)
{
if(State4==-1)
{
State4=1;
TR1=1;
dispbuf[3]=1;
LedState=0x00;
MotState=1;
LSpeed=1;
RSpeed=1;
}
elseif(State4==1)
{
State4=0;
TR1=0;
MotState=0;
}
elseif(State4==0)
{
MotState=1;
if(State3==0)
{
State4=1;
TR1=1;
}
elseif(State3==1)
{
LSpeed=2;
RSpeed=2;
}
}
}
voidK3(void)
{
if(State4==1)
DirState=!DirState;
if(State4==0)
{
if(State3==0)
{
State3=1;
TR1=1;
dispbuf[3]=9;
MotState=1;//打开LED//打开电机//初速设为1//关闭电机//可以转向标志1可以,0不可以
基于C51单片机的直流电机PWM调速控制(包含原理图及C源代码)
LSpeed=2;
RSpeed=2;
}
elseif(State3==1)
{
State3=0;
TR1=0;
dispbuf[3]=0;
MotState=0;
}
}
}
voidK2(void)
{
if(State4==1&&LSpeed<4&&RSpeed<4){
LSpeed++;
RSpeed++;
}
elseif(State4==0)
{
if(State3==0)
{
//State4=-1;
//LedState=0xF0;
MotState=0;
Sec=0;
Min=0;
}
elseif(State3==1&&LSpeed<4&&RSpeed<4){
//TurnState=0;
LSpeed=2;
RSpeed++;
}
}
}
voidK1(void)
{
if(State4==1&&LSpeed>1&&RSpeed>1){
LSpeed--;
RSpeed--;
基于C51单片机的直流电机PWM调速控制(包含原理图及C源代码)
elseif(State4==0)
{
if(State3==0)
{
State4=-1;
LedState=0xF0;
MotState=0;
}
elseif(State3==1&&LSpeed<4&&RSpeed<4){
//TurnState=1;
LSpeed++;
RSpeed=2;
}
}
}
//显示预处理
voidDisBuf(void)
{
if(RTime_cnt==100)
{
Sec++;
RTime_cnt=0;
}
if(Sec==60)
{
Min++;
Sec=0;
}
if(State4==1)
{
dispbuf[0]=Sec%10;
dispbuf[1]=Sec/10;
dispbuf[2]=Min;
if(!DirState)
dispbuf[3]=LSpeed;
if(DirState)
dispbuf[3]=LSpeed+4;
}
if(State4==0)//正转//反转
基于C51单片机的直流电机PWM调速控制(包含原理图及C源代码)
if(State3==0)
{
dispbuf[0]=Sec%10;
dispbuf[1]=Sec/10;
dispbuf[2]=Min;
dispbuf[3]=0;
}
if(State3==1)
{
dispbuf[0]=RSpeed;
dispbuf[1]=LSpeed;
dispbuf[2]=Min;
dispbuf[3]=9;
}
}
}
//LED驱动
voiddisp(ucharH,ucharn){
P1=n;
P1|=LedState;
P1|=LED_code_d[H];
}
//T0中断**显示/方波输出voidTime_0()interrupt1{
TH0=0xFC;
TL0=0x66;
Widcnt++;
Dispcnt++;
//电机驱动/方波输出
if(Widcnt>CIRCLE)
{
Widcnt=1;
}
if(Widcnt<=LWidth)
LMot_P=!DirState&&MotState;else
LMot_P=DirState&&MotState;LMot_M=DirState&&MotState;
基于C51单片机的直流电机PWM调速控制(包含原理图及C源代码)
if(Widcnt<=RWidth)
RMot_P=!DirState&&MotState;else
相关推荐:
- [资格考试]石油钻采专业设备项目可行性研究报告编
- [资格考试]2012-2013学年度第二学期麻风病防治知
- [资格考试]道路勘测设计 绪论
- [资格考试]控烟戒烟知识培训资料
- [资格考试]建设工程安全生产管理(三类人员安全员
- [资格考试]photoshop制作茶叶包装盒步骤平面效果
- [资格考试]授课进度计划表封面(09-10下施工)
- [资格考试]麦肯锡卓越工作方法读后感
- [资格考试]2007年广西区农村信用社招聘考试试题
- [资格考试]软件实施工程师笔试题
- [资格考试]2014年初三数学复习专练第一章 数与式(
- [资格考试]中国糯玉米汁饮料市场发展概况及投资战
- [资格考试]塑钢门窗安装((专项方案)15)
- [资格考试]初中数学答题卡模板2
- [资格考试]2015-2020年中国效率手册行业市场调查
- [资格考试]华北电力大学学习实践活动领导小组办公
- [资格考试]溃疡性结肠炎研究的新进展
- [资格考试]人教版高中语文1—5册(必修)背诵篇目名
- [资格考试]ISO9001-2018质量管理体系最新版标准
- [资格考试]论文之希尔顿酒店集团进入中国的战略研
- 全国中小学生转学申请表
- 《奇迹暖暖》17-支2文学少女小满(9)公
- 2019-2020学年八年级地理下册 第六章
- 2005年高考试题——英语(天津卷)
- 无纺布耐磨测试方法及标准
- 建筑工程施工劳动力安排计划
- (目录)中国中央空调行业市场深度调研分
- 中国期货价格期限结构模型实证分析
- AutoCAD 2016基础教程第2章 AutoCAD基
- 2014-2015学年西城初三期末数学试题及
- 机械加工工艺基础(完整版)
- 归因理论在管理中的应用[1]0
- 突破瓶颈 实现医院可持续发展
- 2014年南京师范大学商学院决策学招生目
- 现浇箱梁支架预压报告
- Excel_2010函数图表入门与实战
- 人教版新课标初中数学 13.1 轴对称 (
- Visual Basic 6.0程序设计教程电子教案
- 2010北京助理工程师考试复习《建筑施工
- 国外5大医疗互联网模式分析




