问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

基于89c51的直流电机转速程序代码

发布网友 发布时间:2022-05-10 00:33

我来回答

1个回答

热心网友 时间:2023-10-15 04:01

通过控制总中断使能PDPINTA控制电机的开关,其中定时器T1,T2分别对脉冲的宽度、光电传感器输出的脉冲数对应的1秒时间定时。对脉冲宽度的调整是通过改变高电平的定时长度,由变量high控制。变量change、 sub_speed 、add_speed分别实现电机的转向、加速、减速。
4.1系统初始化模块
/***************************主函数*********************************/
void main()
{
P2 = 0x00;
TMOD = 0x11;
TH1 = 0xec; //定时器T1设置参数
TL1 = 0x78;
TH2 = 0x3c; //定时器T2设置参数
TL2 = 0xb0;
TR1 = 1;
TR2 = 1;
init(); //液晶显示初始化程序
while(1)
{
Wc2407r(0x84);
wc2407ddr('H');
wc2407ddr('e');
wc2407ddr('l');
wc2407ddr('l');
wc2407ddr('o');
if(test == 0)
num_medium++;
datamade();
motor_control();
}
}
4.2 电机运行控制模块
电机运行控制模块包括电机的方向控制和电机的速度控制,他们由Open,close,addspeed,subspeed,swap变来控制2407单片机的EVA模块产生不同的PWM信号送到L298 电机驱动器。
/***********通过按键实现对电机开关、调速、转向的控制的程序*****************/
void motor_control()
{
if(open == 1)
PDPINTA = 1;
if(close == 1)
PDPINTA = 0;
if(swap == 1)
{
change = ~change;
while(swap != 0)
{}
}

if(sub_speed == 1)
{ high++;
if(high == 30)
PDPINTA=0;
while(sub_speed != 0)
{}
}

if(add_speed == 1)
{ high--;
if(high == 5)
high = 5;
while(add_speed != 0)
{}
}
}
/****T2中断服务程序********单位时间(S)方波的个数*************/
void time2_int(void) interrupt 3
{
count_speed++;
if(count_speed == 20)
{ count_speed = 0;
num_display = num_medium;
num_medium = 0;
}
}
/************************速度显示的数据处理*********************/
void datamade()
{
uint data MM
Wc2407r(0xc2);
wc2407ddr('S');
wc2407ddr('p');
wc2407ddr('e');
wc2407ddr('e');
wc2407ddr('d');
wc2407ddr(0x3a);
MM = num_display/100;
wc2407ddr(wword[MM]);
}
4.4LCD显示模块
LCD显示驱动单独做成一个源程序文件和头文件,可以方便以后其他模块或其他应用程序的调用。在LCD显示驱动模块中主要是LCD初始化函数LCD_Initize()、写LCD命令函数Write_LCD_Command()、写LCD数据函数Write_LCD_Data().
TS1620可以显示两行16列ASCII码,其对应的第一行的首行地址是80H;第二行的首地址是C0H,送字符串到LCD上显示,需要定位将字符串显示在第X行和第Y列上,显示的字符串不能超过该行的最大列。
#include <reg2407.h>
#define uchar unsigned char
#define uint unsigned int
sbit open = P2^0;
sbit close = P2^1;
sbit swap = P2^2;
sbit sub_speed = P2^3;
sbit add_speed = P2^4;
sbit PWM1 = P3^0;
sbit PWM2 = P3^1;
/************************液晶显示*************/
sbit E=P3^7;
sbit RW = P3^6;
sbit RS = P3^5;
sbit test = P3^4;
int time = 0;
int high = 20;
int period = 30;
int change = 0;
int flag = 0;
int num_medium = 0;
int num_display = 0;
int count_speed = 0;
uchar wword[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};
/*******************延时t毫秒****************/
void delay(uchar t)
{
uint i;
while(t)
{
/*对于11.0592MHz时钟,延时1ms*/
for(i=0;i<125;i++);
t--;
}
}

//写命令函数LCD
void Write_LCD_Command(){
RS=0;
RW=0;
P1=j;
E=1;
E=0;
delay(3);
}

//写数据函数LCD
void Write_LCD_Data()
{

RS=1;
RW=0;
P1=j;
E=1;
E=0;
delay(2);
}
//初始化函数LCD
void LCD_Initize(){
wc2407r(0x01); //清屏
wc2407r(0x38); //使用8位数据,显示两行,使用5*7的字型
wc2407r(0x0c); //显示器件,光标开,字符不闪烁
wc2407r(0x06); //字符不动,光标自动右移一格
}
4.4 PWM 源程序
/***********8T1中断服务程序************PWM波的生成**********/
void time1_int(void) interrupt 1
{
time++;
TH1 = 0xec;
TL1 = 0x78;
if(change == 0)
{
PWM2 = 1;
if(time == high)
PWM1=0;
else if(time == period)
{
PWM1 = 1;
time = 0;
}
}
else
{ PWM1 = 1;
if(time == high)
PWM2=0;
else if(time == period)
{
PWM2 = 1;
time = 0;
}
}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 墨西哥高原的气候特点 那个组装电脑高手来给我组装个电脑? 墨西哥,墨西哥城是什么气候类型 墨西哥城气候类型 什么是一双通道,支持双通道又是什么含义,什么样的主板支持双通道? 墨西哥属什么气候类型 国内有哪些做DDR直驱力矩电机的单位?越多越详细越好,谢谢 电机伺服报警er630是什么意思? ddr43200mhz是什么牌子 什么是DD马达? 什么是DDR力矩电机,德康威尔生产吗? DDR(力矩电机)与普通的伺服旋转电机在结构上有什么不同? 竹炭多久可以除油漆味道? 刷立邦净味竹炭五合一墙面漆几天可以入住 竹炭和非竹炭有什么区别?优点有哪些?相比较来说,立邦、雅士利、多乐士哪个牌子的竹炭漆好? 交通事故车撞狗怎么判? 我的狗被撞死了,车主不肯索赔怎么办 开车撞死狗怎么赔偿我家小狗在小区内自家楼下门口被小车撞死,没有栓绳,怎么索赔_百度问一问 如果撞狗需不需要赔偿 开车马路上不小心撞到别人的狗狗需要赔偿吗 墨西哥城属于什么气候 矩形波永磁同步电机与正弦波永磁同步电机的主要区别在于? 墨西哥全国属于什么气候类型??? ...新西兰、墨西哥、智利、阿根廷等地的气候类型 墨西哥气候类型分布图 加解说 急~~ 世界主要城市气候类型 各种气候类型 墨西哥湾附近的气候类型与亚洲的什么气候特点类 二代蓝牙耳机豆豆四和豆豆八啥区别 盘点2021好看的悬疑剧,【免费高清】在线观看百度网盘资源 【合集】国产经典悬疑剧,【免费高清】在线观看百度网盘资源 跪求国内最新悬疑剧,【免费高清】在线观看百度网盘资源 盘点十大经典悬疑电视剧,【免费高清】在线观看百度网盘资源 【合集】推荐好看的悬疑剧,【在线观看】免费百度云资源 出世的近义词是什么 出世和入世的意思? 伶俐、出世、经常、孤单、明白的近义词是什么? 入世和出世分别是什么意思 腾禾精密电机(昆山)有限公司怎么样? 梦见壁虎在屋扒上被大蛇吃掉是什么预兆?