基于单片机直流电机调速控制系统设计-毕设课设资料

【资源下载】下载地址如下1550:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl

设计一个直流伺服电机电机控制系统,控制功能要求实现电机的启动、停止控制、正转、反转、加速、减速共六种功能,为了能实现人机交互,需要用到按键和数码管。

具体要求如下:K0为启动/停止控制、K1正转、K2反转;K3加速,K4减速,用3个发光二极管显示状态:正转时红灯亮,反转时黄灯亮,不转时绿灯亮。并利用4位LED数码管显示电机转速。

要求分析:

按键K1用来控制电机反转,若电机正在停止或正转状态,当按下k1时,电机开始反转;若电机处于反转状态,电机不响应按键命令。

按键K2用来控制电机正转,若电机正在停止或反转状态,当按下k2时,电机开始正转;若电机处于正转状态,电机不响应按键命令。

按键K3用来控制电机加速,当电机处于运行状态时,如果电机尚未达到最大转速,当按下按键K3时,电机会加速,每按一次,电机加速一个节拍,若需要一直加速,则需要多次按下按键K3,当电机到达最大速度时,电机将保持在最大速度运行,不再响应按键命令。

按键K4用来控制电机减速,当电机处于运行状态时,如果电机尚未达到最小转速,即停止状态,当按下按键K4时,电机会减速,每按一次,电机减速一个节拍,若需要一直减速,则需要多次按下按键K4,当电机到达最小速度时,即电机处于停止状态,电机将保持停止,不再响应按键命令。

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit IN1=P1^6;
sbit IN2=P1^7;
sbit ENA=P1^5;
sbit KEY0=P2^0;
sbit KEY1=P2^1;
sbit KEY2=P2^2;
sbit KEY3=P2^3;
sbit KEY4=P2^4;
sbit R=P2^5;
sbit Y=P2^6;
sbit G=P2^7;
sbit LED1=P1^0;
sbit LED2=P1^1;
sbit LED3=P1^2;
sbit LED4=P1^3;
sbit led=P1^4;

bit flag=0;
bit sign=1;
uint num=0;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};



void delay(uint n)
{
	 uint i,j;
	for(i=n;i>0;i--)
	for(j=0;j<110;j++);
}


void initial()
{
	IN1=0;
	IN2=0;
	ENA=0;
	num=0;
	TMOD=0X01;
	TL0=0XFF;
	TH0=0XFF;
	EA=1;
	EX0=1;
	ET0=1;
	IT0=1;
	TR0=1;
}

猜你喜欢

转载自blog.csdn.net/AuroraFaye/article/details/115053055