MCS-51单片机电机转速控制及测速显示系统

合集下载

单片机控制电机转速并在LCD上显示

单片机控制电机转速并在LCD上显示

摘要随着科技的发展,单片机的应用随处可见,大到工业控制,小到小型玩具。

它的应用越发广泛,而我的题目就是单片机控制LCD显示直流电动机的转速。

在这次实验中,对敦煌实验箱的正确应用是一反面,同时对LCD芯片的应用和编程也是比较关键的一点,最后实验的调试和对单片机相应基础知识的巩固也是本实验的主要目的之一。

关键词:单片机;LCD;直流电机目录1、前言 (1)2、整体方案设计 (1)3、硬件设计布线图 (2)3.1硬件说明 (2)3.2 外形尺寸图 (3)3.3 模块引脚说明 (3)3.4 资料传输与接口时序 (4)3.4.1串行接口与串行传输资料 (4)3.4.2 串行接口时序图 (5)3.4.3串行接口特性 (5)3.5显示步骤 (6)3.6直流电机的组成结构及工作原理 (7)3.7 光电耦合器的组成及工作原理 (7)4、软件程序流程图 (8)5、程序调试 (9)5.1速度转换公式 (9)5.1.1 数字测速M法 (9)5.1.2 数字测速T法 (9)5.1.3数字测速M/T法 (10)6、调试中的问题并解决 (10)7、课设总结 (11)参考文献 (12)附录Ⅰ (12)单片机课程设计1、前言单片机全名为单片微型计算机,是微型计算机家族中的一个分类,是将CPU、存储器、总线、I/O接口电路集成在一片超大规模集成电路芯片上。

而本实验要做的是单片机控制LCD和直流电动机。

LCD的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。

是现在显示器的主流产品。

2、整体方案设计由于都念到了大四所以对做实验都有了一定的认识,所以在刚开始时就得做好对实验的整体设计,使自己在做实验的过程中不至于盲目耗费时间。

整体设计方案图如图示2-1。

图1-1整体思路3、硬件设计布线图硬件的设计最主要的就是用Pretues进行硬件的仿真搭接,如下图示3-1。

基于MCS-51单片机直流电机调速控制器的设计

基于MCS-51单片机直流电机调速控制器的设计

D/A转换、DAC外围放大电路
• 采用DAC0832作为D/A转换、DAC外围放大电路, DAC0832是一个八位并行的D/A转换器。其作用 是将单片机输出的数字信号转换为模拟量输出, 并将电流信号转化为电压信号输出,实现对电机 的电枢电压的控制。 • DAC0832直接与单片机相连,其内部没有运算放 大器使用时需要外接运算放大器,但这也提供了 设计的灵活性. • 此系统采用内部时钟方式,其原理图如图所示。 MCS-51单片机允许的晶振可在1.2~12MHz之间 选择,此系统选12MHz。则一个机器周期为1μs 。 C大小为30pF。
sbit S1=P2^6; sbit S2=P2^7; //按键 sbit J0=P1^0; sbit J1=P1^1; sbit J2=P1^2; sbit J3=P1^3; //74HC164与单片机的接口 sbit DA=P3^6; sbit CLK=P3^7; //共阴极数码管段码表 uchar code led_7seg[10]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f}; //8,9 //延时 void Delay(uchar i) { uchar j;
图3霍尔元件测速原理图一
图二
2.5 直流电动机转速控制系统硬件设 计
• 通过自制5V电源来确保工作电压正常,由霍 尔元件及外围器件组成的测速电路将电动 机转速转换成脉冲信号,送至单片机的计 数器T1,由T1测出电动机的实际转速,并 与设定值比较形成偏差。根据比较结果, 使DAC0832输出控制电压增大或减小。功 放电路将DAC0832输出的模拟电压转换成 具有一定输出功率的电动机控制电压。
· 关键词:直流电机 单片机 转速控 制 圈数控制 PWM

基于51单片机的速度检测系统解析

基于51单片机的速度检测系统解析

基于51单片机的速度检测系统摘要在工程实践中,经常会遇到各种需要测量转速的场合,测量转速的方法分为模拟式和数字式两种。

模拟式采用测速发电机为检测元件,得到的信号是模拟量。

数字式通常采用光电编码器,霍尔元件等为检测元件,得到的信号是脉冲信号。

随着微型计算机的广泛应用,特别是高性能价格比的单片机的出现,转速测量普遍采用以单片机为核心的数字式测量方法。

本文便是运用单片机控制的智能化测量自行车转速。

自行车在运行过程中,需要对其进行监控,转速是一个必不可少的一个参数。

本系统就是对自行车转速进行测量,并显示转速,了解自行车运行的基本状况。

本设计主要用AT89C51作为控制核心,由霍尔传感器、LED数码显像管、及24C02构成。

详细介绍了单片机的测量转速系统及串行通讯。

充分发挥了单片机的性能。

本文重点是测量速度并显示在4位LED数码管上。

其优点硬件是电路简单,软件功能完善,测量速度快、精度高、控制系统可靠,性价比较高等特点。

关键字:MSC-51(单片机);计算机;传感器自动化测量Speed test brief introductionAbstract:In the bike practice, we will meet each kind to need frequently to survey the rotational speed the situation, the survey rotational speed method divides into the simulation type and the digital two kinds. The simulation type uses measured that the fast generator is the detecting element, obtains the signal simulates the the de graduated from the design of the issue is control of the intelligent use of speed measuring instrument.The aticle is the motor speed measurement, and basic situation. This topic describes the design steps and method of humidity measurement system which based on chipdesign a system which can measure temperature and humidity, show the measurement results and warming.This system uses AT89C51 as the main chip, use a new integrated digital temperature and humidity sensor DHT11 gather the temperature and humidity data.It uses C language to design system programming on development platform. The main design is divided .Key words:single chip; intelligence; computer; transimiter; test.目录第1章引言 (1)第2章系统介绍 (2)2.1 系统结构 (2)2.2 系统要求 (3)第3章硬件电路设计 (4)3.1 单片机模块 (4)3.2 霍尔传感器模块 (9)3.3 显示模块 (10)3.4 24C02存储器简介 (11)第4章软件设计 (14)4.1编译语言的选择 (14)4.2程序模块 (14)4.3集成开发环境Keil介绍 (17)第5章调试 (22)5.1系统硬件调试 (22)5.2 系统软件调试 (22)5.3 系统整体调试 (23)结论 (24)致谢 (25)参考文献 (26)附件1原理图 (27)附件2 PCB板 (28)附件3 实物 (29)附件4 程序 (29)第1章引言自行车被发明及使用到现在已有两百多年的历史,在这两百年间人类在不断的尝试与研发过程中,自行车发展的目的也从最早的代步工具转换成休闲娱乐的用途,随着生活水平的提高,人们希望自行车的功能更强大,比如说对行车信息的掌握,而里程计/速度计正满足了这个需求。

51单片机测电机转速LCD显示

51单片机测电机转速LCD显示

主程序* 文件名称: Jiuzhouxuese.c 转速计的设计(LCD显示)的主程序* 原理: T1计数,T0计时,电动机每转动一周产生16个脉冲,T1采集一分钟内的脉冲数,后即可计算出转速* 版本信息: 2011-10-23---------------------------------------------------------------*/#include "LCD1602.h"#include<reg51.h>#define uint unsigned int#define uchar unsigned charbit flag; //计满1秒钟标志位uchar count=100; //储存定时器T0中断次数uint Speed; //储存电机转速uchar DispBuffer[4];//存放转换成液晶显示字符(ASCII)的数组/*------------------------------------------------------------功能:主函数说明:使用晶振为12MHz的芯片,定时0.01秒。

计时器初值为C=65536-0.01/10^(-6)=0D8F0H---------------------------------------------------------------*/void main(void){TMOD=0x51;//T1工作于计数模式1,T0工作于计时模式1;TH0=0xd8; //定时器T0赋初值TL0=0xf0;EA=1; //开总中断ET0=1; //定时器T0中断允许TR0=1; //启动定时器T0while(1){TR1=1; //计数T1启动TH1=0; //计数T1高8位赋初值0TL1=0; //计数T1低8位赋初值0flag=0; //时间还未满1秒钟while(flag==0) //时间未满等待Speed=(TH1*256+TL1)*60/16; //计算速度,每周产生16个脉冲}}/*-------------------------------------------------------------函数功能:定时器T0的中断服务函数--------------------------------------------------------------*/void Time0(void ) interrupt 1 using 1 //定时器T0的中断编号为1,使用第1组工作寄存器{count--; //T0每中断1次,count减1LCD_Initial();//液晶初始化if(count%4==0){DispBuffer[0]=Speed/1000+0x30; //将显示数据并分解出千位转换成ASCII码}if (count%4==1){DispBuffer[1]=Speed%1000/100+0x30;//将显示数据并分解出百位转换成ASCII码}if(count%4==2){DispBuffer[2]=Speed%100/10+0x30;//将显示数据并分解出十位转换成ASCII码}if(count%4==3){ DispBuffer[3]=Speed%10+0x30 ; // 将显示数据并分解出个位转换成ASCII码}LCD_Prints(1,0,DispBuffer);//LCD显示数据while(0);if(count==0) //若累计满100次,即计满1秒钟{flag=1; //计满1秒钟标志位置1count=100; //清0,重新统计中断次数}TH0=0xf0; //定时器T0重新赋初值TL0=0xd8;}LCM1602驱动程序/************************************* *************************************File Name: LCD1602.hAuthor: JiuzhouxunseCreated: 2011/10/23************************************* ************************************* */#ifndef _LCD_1602_H#define _LCD_1602_H#include<reg51.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned char定义接口************************************* sbit LcdRs = P2^0;sbit LcdRw = P2^1;sbit LcdEn = P2^2;sfr DBPort = 0x80;//P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.数据端口//内部等待函数************************************* ************************************* unsigned char LCD_Wait(void){LcdRs=0;LcdRw=1; _nop_();LcdEn=1; _nop_();//while(DBPort&0x80),在用Proteus仿真时,屏蔽此语句,否则会进入死循环!LcdEn=0;return DBPort;//向LCD写入命令或数据************************************* ***********************#define LCD_COMMAND 0 // 命令#define LCD_DATA 1 // 数据#define LCD_CLEAR_SCREEN 0x01// 清屏#define LCD_HOMING 0x02 // 光标返回原点void LCD_Write(bit style, unsigned char input){LcdEn=0;LcdRs=style;LcdRw=0; _nop_();DBPort=input; _nop_();//注意顺序LcdEn=1; _nop_();//注意顺序LcdEn=0; _nop_();LCD_Wait();}//设置显示模式************************************* ***********************#define LCD_SHOW 0x04 //显示开#define LCD_HIDE 0x00 //显示关#define LCD_CURSOR 0x02 //显示光标#define LCD_NO_CURSOR 0x00 //无光标#define LCD_FLASH 0x01 //光标闪动#define LCD_NO_FLASH 0x00 //光标不闪动void LCD_SetDisplay(unsigned char DisplayMode){LCD_Write(LCD_COMMAND,0x08|DisplayMode);}//设置输入模式************************************* ***********************#define LCD_AC_UP 0x02#define LCD_AC_DOWN 0x00// 为缺省设置#define LCD_MOVE 0x01 // 画面可平移#define LCD_NO_MOVE 0x00//画面不可平移void LCD_SetInput(unsigned char InputMode){LCD_Write(LCD_COMMAND,0x04|InputMode);}//初始化LCD********************************* ***************************void LCD_Initial(){LcdEn=0;LCD_Write(LCD_COMMAND,0x38);//8位数据端口,2行显示,5*7点阵LCD_Write(LCD_COMMAND,0x38);//此句不能省LCD_SetDisplay(LCD_SHOW|LCD_NO _CURSOR); //开启显示, 无光标LCD_Write(LCD_COMMAND,LCD_CL EAR_SCREEN); //清屏LCD_SetInput(LCD_AC_UP|LCD_NO_ MOVE); //AC递增, 画面不动}//************************************ ************************************ void LCD_Pos(unsigned char x, unsignedchar y){if(y==0)LCD_Write(LCD_COMMAND,0x80|x); if(y==1)LCD_Write(LCD_COMMAND,0x80|(x-0 x40));}void LCD_Prints(uchar x,uchar y, unsigned char *str){while(*str!='\0'){LCD_Write(LCD_DATA,*str);str++;}}Proteus仿真图。

51控制步进电机并显示转速

51控制步进电机并显示转速
wei=0;
dua=1;
P0=tabledua[shi];
dua=0;
delay (5);
wei=1;
P0=tablewei[1];
wei=0;
dua=1;
P0=tabledua[ge];
dua=0;
delay(5);
//TempData[0]=dofly_DuanMa[Speed/10];//分解显示信息,如要显示68,
unsigned char code tablewei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分别对应相应的数码管点亮,即位码
unsigned char TempData[8]; //存储显示值的全局变量
sbit A1=P1^0; //定义步进电机连接端口
void Display(unsigned char FirstBit,unsigned char Num);
void init();
void delay(uint z)
{
uint x,y;
for(x=20;x>0;x--)
for(y=z;y>0;y--);
}
void main()
{
unsigned int i=512;//旋转一周时间
}
sbit B1=P1^1;
sbit C1=P1^2;
sbit D1=P1^3;
#define Coil_AB1 {A1=1;B1=1;C1=0;D1=0;}//AB相通电,其他相断电
#define Coil_BC1 {A1=0;B1=1;C1=1;D1=0;}//BC相通电,其他相断电
#define Coil_CD1 {A1=0;B1=0;C1=1;D1=1;}//CD相通电,其他相断电

基于51单片机的电动机调速系统的设计与实现

基于51单片机的电动机调速系统的设计与实现

基于51单片机的电动机调速系统的设计与实现摘要本文针对市场上电动机调速系统普遍存在的价格高、功能单一等问题,以51单片机为核心,设计了一种低成本、功能强大的电动机调速系统。

该系统主要包括直流电机、电机驱动模块、转速检测模块、51单片机控制模块、人机交互模块等组成。

通过对转速检测模块和电机驱动模块的分析和设计,实现了对电机的准确控制和调速功能。

通过人机交互模块,用户可以方便地对电机进行操作和监测。

实验结果表明,该系统具有性能稳定、可靠性高、调速精度高等优点,是一种较为理想的电动机调速系统设计。

关键词:51单片机;电动机;调速系统;人机交互AbstractIn view of the problems of high price and single function of the electric motor speed control system in the market, this paper designs a low-cost and powerful electric motor speed control system based on 51 single-chip microcomputer. The system mainly consists of DC motor, motor drive module, speed detection module, 51 single-chip microcomputer control module, human-computer interaction module and so on. By analyzing and designing the speed detection module and motor drive module, the accurate control and speed regulation of the motor are realized. Through the human-computer interaction module, users can conveniently operate and monitor the motor. Experimental results show that the system has the advantages of stable performance, high reliability and high speed regulation accuracy, and is anideal electric motor speed control system design.Keywords: 51 single-chip microcomputer; electric motor; speed control system; human-computer interaction.一、绪论在现代工业生产中,电动机是最常用的动力源之一,其在驱动生产线、机械设备等方面都起到着不可或缺的作用。

MCS-51单片机电机转速控制及测速显示系统

MCS-51单片机电机转速控制及测速显示系统

MCS-51单片机电机转速控制及测速显示系统一、系统总体方案选择与说明本课题要求设计一个单片机电机转速控制系统。

给定信号经A/D转换输入到单片机(MCS-51)并显示,单片机根据给定从D/A输出相应的信号控制直流电机的转速,并能对电机的转速进行测量。

1.设计要求要求以MCS-51系列单片机为核心设计一个直流电机调速系统,该系统具有显示电动机转速、输入模拟量的功能。

用6位LED 显示。

前两位显示AD,后两位显示输入模拟量,最后两位显示电动机转速,单位为转/s, 电动机最大转速为5000转/min。

其转速由D/A转换的模拟量控制。

2.设计思路1)由地址琐存器74LS273芯片实现动态显示模块,74LS273输出端为段控,用于输出所显示的数值,P1.0-P1.5口位控,控制哪一位LED管亮,LED采用共阴极的接法;2)选用89C51单片机,其内部有4K的寄存器,无需扩展外部存储单元,还具有2个16位定时器/计数器,可以通过CPU内部定时,进行数据采集;3).ADC0809可将模拟量转换为数字量,并将数字量送单片机;DAC0832可将从单片机输出的数字量转换为模拟量,并用模拟量控制直流电机;4)用霍尔元件测电动机转速。

转速的测量方法有两种:①频率法:利用单片机内部定时器定时(定时时间1秒),再用一计数器对被测脉冲计数,所测脉冲个数即转速值(转/S)②周期法:测量脉冲的周期,即利用定时期累计在被测脉冲的一个周期内机器周期的个数n。

被测信号周期T=n*机器周期,被测信号频率f=1/T。

考虑到要用定时采样的方法,同时又要将两位转速显示出来,所以本设计中采用频率法。

一、系统结构框图与工作原理1.系统结构框图2.工作原理通过调节可变电阻,将模拟量送入AD转换器,经AD转换后通过P0口,将数字量送入单片机,单片机将数字量送I/O,并经74LS273锁存,送数码管显示,同时将数字量送给DA,DA将数字量转换为模拟量,用于控制直流电机的转速。

基于-51单片机的电机转速测量和显示系统

基于-51单片机的电机转速测量和显示系统

目录1 绪论 (2)1.1 题目背景及目的 (2)1.2 题目研究方法 (2)2 系统设计基础知识 (3)2.1 直流电机的基本知识 (3)2.2 51单片机的基础知识 (7)2.3 LED显示管 (10)2.4 传感器 (10)3 系统总体方案设计 (14)3.1 系统分析 (14)3.2 设计思路和方案 (16)3.3 系统构成 (17)4 硬件电路设计 (19)4.1 电源电路 (19)4.2 转速测量电路 (19)4.3 LED显示模块 (21)4.4 系统硬件设计 (21)5 系统软件设计 (23)5.1 计时方案的选择 (23)5.2 软件结构划分 (24)6设计心得与体会 (26)7参考文献 (26)摘要单片机又称单片微控制器(MCU),它把一个计算机系统集成到一个芯片上。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

随着电子技术的迅猛发展,单片机技术也有了长足的发展,目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹,导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。

各种电机在工业得到广泛应用,为了能方便的对电机进行控制、监视、调速,有必要对电机的转速进行测量,从而提高自动化程度。

转速是工程上一个常用参数。

转速测量的方法很多,采用光电开关管测量转速是较为常用的测量方法。

在本系统设计中,我们以51单片机为核心控制单元,以红外对管(或称光/电,电/光二极管)为传感器,通过光电传感器实时采集电机转速并进行处理与显示,设计出一个电动机转速测量系统,并研究其测量精度、测量围及响应速度.程序设计部分分为初始化模块、脉冲计数模块、计时模块、参数调整模块和显示模块.最后通过试验测试,得到了相应的技术参数,并对转速测量系统的误差进行了分析.要求设计的系统稳定可靠、抗干扰能力强、成本低,使用方便。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MCS-51单片机电机转速控制及测速显示系统
简介
MCS-51单片机是一种广泛应用于嵌入式系统的单芯片微型计算机。

本文将介
绍基于MCS-51单片机的电机转速控制及测速显示系统。

该系统通过对电机信号进行处理,实现了对电机转速的控制和测速。

系统组成
该系统由电机、电机驱动电路、MCS-51单片机、显示模块等组成。

电机驱动电路:使用了L298N电机驱动芯片,可以为电机提供双向直流电源。

该电子板还添加了变阻器控制,通过调节电子板上的两个旋钮来改变电机的转速和方向。

MCS-51单片机:采用AT89S52芯片,主控为MCS-51单片机,在控制电机的
同时,还可以测量电机的转速。

通过单片机与电机驱动电路的控制,来控制电机的转速。

显示模块:采用了LCD2004液晶显示模块,可实现对转速和程序运行状态的
显示。

系统原理
当电机启动时,读取电机反馈的信号,并将该信号传递给MCS-51单片机进行
处理。

根据控制算法,单片机输出PWM(脉冲宽度调制)信号给电机驱动模块,
从而改变电机的转速和方向。

同时,单片机还可以测量电机旋转的速度,将其显示在LCD2004液晶显示器上。

当用户需要改变电机的转速时,可以通过旋转电子板上的旋钮来改变电机的转
速和方向。

同时,LCD2004显示器可以显示电机的当前实际速度和设定速度,帮
助用户更好的控制电机的运转。

系统功能
该系统具有以下功能:
1.控制电机的转速和方向;
2.测量电机的转速;
3.显示电机的当前实际速度和设定速度。

系统优势
该系统采用MCS-51单片机,具有代码量小、容易维护、功耗低等优势,适合于嵌入式系统中的电机转速控制应用。

此外,显示模块也可以提供对系统状态的及时监控和反馈,便于故障排除。

本文介绍了基于MCS-51单片机的电机转速控制及测速显示系统。

该系统通过对电机信号进行处理,实现了对电机转速的控制和测速。

该系统具有代码量小、容易维护、功耗低等优势,适合于嵌入式系统中的电机转速控制应用。

同时,显示模块也可以提供对系统状态的及时监控和反馈,便于故障排除。

相关文档
最新文档