直流电机的PWM速度控制程序
/* =======直流电机的PWM速度控制程序======== */ /* 晶振采用11.0592M,产生的PWM的频率约为91Hz */ #include<reg51.h>
#include<math.h>
#define uchar unsigned char
#define uint unsigned int
sbit en1=P2^0; /* L298的Enable A */
sbit en2=P2^1; /* L298的Enable B */
sbit s1=P2^2; /* L298的Input 1 */
sbit s2=P2^3; /* L298的Input 2 */
sbit s3=P2^4; /* L298的Input 3 */
sbit s4=P2^5; /* L298的Input 4 */
uchar t=0; /* 中断计数器 */
uchar m1=0; /* 电机1速度值 */
uchar m2=0; /* 电机2速度值 */
uchar tmp1,tmp2; /* 电机当前速度值 */
/* 电机控制函数 index-电机号(1,2); speed-电机速度(-100—100) */ void motor(uchar index, char speed)
{
if(speed>=-100 && speed<=100)
{
if(index==1) /* 电机1的处理 */
{
m1=abs(speed); /* 取速度的绝对值 */
if(speed<0) /* 速度值为负则反转 */
{
s1=0;
s2=1;
}
else /* 不为负数则正转 */
{
s1=1;
s2=0;
}
}
if(index==2) /* 电机2的处理 */
{
m2=abs(speed); /* 电机2的速度控制 */
if(speed<0) /* 电机2的方向控制 */
{
s3=0;
s4=1;
}
else
{
s3=1;
s4=0;
}
}
}
}
void delay(uint j) /* 简易延时函数 */
{
for(j;j>0;j--);
}
void main()
{
char i;
TMOD=0x02; /* 设定T0的工作模式为2 */
TH0=0x9B; /* 装入定时器的初值 */
TL0=0x9B;
EA=1; /* 开中断 */
ET0=1; /* 定时器0允许中断 */
TR0=1; /* 启动定时器0 */
while(1) /* 电机实际控制演示 */
{
for(i=0;i<=100;i++) /* 正转加速 */
{
motor(1,i);
motor(2,i);
delay(5000);
}
for(i=100;i>0;i--) /* 正转减速 */
{
motor(1,i);
motor(2,i);
delay(5000);
}
for(i=0;i<=100;i++) /* 反转加速 */
{
motor(1,-i);
motor(2,-i);
delay(5000);
}
for(i=100;i>0;i--) /* 反转减速 */
{
motor(1,-i);
motor(2,-i);
delay(5000);
}
}
}
void timer0() interrupt 1 /* T0中断服务程序 */
{
if(t==0) /* 1个PWM周期完成后才会接受新数值 */ {
tmp1=m1;
tmp2=m2;
}
if(t<tmp1) en1=1; else en1=0; /* 产生电机1的PWM信号 */ if(t<tmp2) en2=1; else en2=0; /* 产生电机2的PWM信号 */ t++;
if(t>=100) t=0; /* 1个PWM信号由100次中断产生 */ }
相关推荐:
- [综合文档]433M车库门滚动码遥控器
- [综合文档]8、架空线路施工规范
- [综合文档]大学四年声乐学习的体会
- [综合文档]新北师大版五年级数学上册《轴对称再认识(一)》
- [综合文档]部编版五年级上册语文第六单元小结复习(可直接打印)
- [综合文档]小学六年级英语形容词用法
- [综合文档]第2课 抗美援朝保家卫国 课件01(岳麓版八年级下)
- [综合文档]2015年天津大学运筹学基础考研真题,考研流程,考研笔记
- [综合文档]微机计算机控制技术课后于海生(第2版)习题详解答案
- [综合文档]安全教育实践活动
- [综合文档]Delphi程序设计教程_第1章_Delphi概述
- [综合文档]第八讲 工业革命与启蒙运动
- [综合文档]《中华人民共和国药典》2005年版二部勘误表
- [综合文档]科粤版九年级化学2.3构成物质的微粒(1)教学课件
- [综合文档]西师大版数学三年级下册《长方形、正方形面积的计算》
- [综合文档]ch6_冒泡排序演示
- [综合文档]第4章 冲裁模具设计
- [综合文档]浙江中小民营企业员工流失论文[终稿]
- [综合文档]再议有线数字电视市场营运模式
- [综合文档]昆明供水工程监理大纲
- 小学教代会提案征集情况报告
- 离心机转速的写法及相对离心力的正确表
- 2-6:示波器的奥秘
- 植物地理学野外实习报告 (2)
- 二年级下册语文复习教案
- 国家开放大学《个人与团队管理》形考任
- [时事政治] 半月谈2011年第4期国内外大
- 2018年北京电影学院实验影像艺术(专业
- 网络安全加固与优化 - 图文
- 城区配电网建设与改造技术原则200412(
- 计算机四级数据库历年真题和答案
- “学报告+学党章”考学试卷及参考答案
- 安吉天地汽车物流公司物流分析
- 招投标管理办法及实施细则
- 镁铝及其重要化合物 高三一轮复习
- 计件工资考核方案
- 物理学教程(二)下册马文蔚_答案(第二版
- 铅酸蓄电池学术论文集锦1
- XX文化传媒公司综合管理制度
- 水泥混凝土拌合物