单片机电机速度采集及显示系统3汇总.docx
《单片机电机速度采集及显示系统3汇总.docx》由会员分享,可在线阅读,更多相关《单片机电机速度采集及显示系统3汇总.docx(12页珍藏版)》请在冰豆网上搜索。
![单片机电机速度采集及显示系统3汇总.docx](https://file1.bdocx.com/fileroot1/2023-1/31/df51b11c-89a4-4058-8d69-2e308c11b87a/df51b11c-89a4-4058-8d69-2e308c11b87a1.gif)
单片机电机速度采集及显示系统3汇总
单片机电机速度采集及显示系统
机电工程学院11级机制x班xxx
摘要:
本文介绍一种单片机电机速度采集及显示系统,通过单片机I/O端口实现对电机转速的监测,用数码管实时显示电机转速。
关键词单片机转速
前言
单片机是计算机技术发展到一定阶段的产物,基于单片机自身的特点,开发的智能化、自动化设备或控制产品广泛应用于工业、农业和国防工业各领域,极大促进了产品技术水平的提高。
本次所设计的单片机电机转速采集及显示系统,以8031单片机为控制核心,利用测速机作为传感器检测电机转速,测速机输出的模拟信号经过A/D转换变成数字信号后,由单片机I/O端口采集处理,然后送到显示电路驱动4位数码管实时显示电机转速。
系统控制原理
1.系统控制原理介绍
图1
系统控制原理框图如图1所示,由于8031单片机没有片内程序存储器,需要扩展一片EPROM2716,容量为2K,用以保存用户程序。
通过联轴器将电机转子轴与测速机转子轴1:
1连接,所以测速机输出的信号电压与电机转速成正比例。
测速机输出的模拟信号经过A/D转换变成数字信号后由单片机I/O端口采集处理。
单片机通过输出端口将采集到的电机速度信号送到显示驱动电路,然后驱动4位数码管显示电机实时速度变化。
2.程序存储器扩展
8031片内没有程序存储器,需要扩展2K的EPROM(型号2716),单片机与EPROM的连接框图如图2所示。
图2
3.A-D转换电路
3.1A-D转换的概念
将模拟量转换成数字量的过程称为A-D转换,在单片机应用系统中,常需要将检测到的连续变化的模拟量,如电压、温度、压力、流量、速度等转换成数字信号,才能输入到单片机中进行处理。
A-D转换关系为:
UA=D×UREF/2N(其中:
D=D0×20+D1×21+…+DN-1×2N-1)
其中,D为N位二进制数字量,UA为电压模拟量,UREF为参考电压。
3.2A-D转换器的主要性能指标:
①分辨率。
分辨率=UREF/2N
②量化误差。
③转换时间。
3.3并行ADC0809电路
图3
A-D转换芯片ADC0809的内部结构框图和引脚图如图3所示。
ADC0809是一个8通道(即可以连接8路模拟信号输入)8位(输出数字信号为8位,N=8)的CMOSA-D转换器,是美国国家半导体公司产品,也是目前国内应用较广泛的8位通用A-D芯片。
ADC0809芯片与8031单片机的电路连接如下图4所示:
⑴IN0~IN7:
8路模拟信号输入端。
⑵ADDA、ADDB、ADDC:
8路模拟信号转换通道地址码输入端。
⑶CLK:
外部时钟输入端,允许范围为10~1280KHz。
⑷D0~D7:
A-D转换数字量输出端。
⑸OE:
A-D转换结果输出允许控制端,高电平有效。
⑹ALE:
8路通道地址锁存控制端。
⑺START:
A-D转换启动控制端。
⑻EOC:
A-D转换结束信号输出端。
⑼UREF(+)、UREF(-):
正负基准电压输入端。
8031单片机对A-D转换结果的输出采集可采用中断方式、定时查询方式或延时等待方式三种均可。
采用查询方式时,0809EOC端可不必通过反相器与INT0*或INT1*相连,而直接与8031P1口或P3口中任一端线相连,不断查询EOC电平,当EOC为高电平时,表示0809的A-D转换完成,即可读取0809输出的A-D值。
采用延时等待方式时,0809EOC端可不必与8031相连,而是根据时钟频率计算出A-D转换时间,每路每次需64个时钟周期,8031一个机器周期发出2次ALE(地址锁存)信号,因此需要32个机器周期,略微延长后直接读A-D转换输出的值。
4.显示驱动及数码管显示电路
4.18段数码管显示介绍
八段,是指a、b、c、d、e、f、g和dp八个笔画段,这八个笔画段是由八个发光二极管控制。
8段数码管具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。
通常在单片机控制应用中,用八段LED显示器来显示各种数字或符号。
4.28段数码管的分类
8段数码管按连接方法分为共阳极和共阴极两类:
共阳极的八段LED显示器是将其八个发光二极管的阳极接在一起,如图5所示:
图5
共阴极的八段LED显示器是将其八个发光二极管的阴极接在一起,如图6所示:
图6
图7
4.3数字怎样显示
以数字“2”为例,当a、b、d、e、g点亮时,显示数字“2”,如图7所示。
4.4单片机与数码驱动及4个数码管的连接
利用数码管动态显示的方法,让四个数码管DS0、DS1、DS2、
DS3在同一时间分别显示“千位、百位、十位、个位”这四位不同的数字。
电路如图8所示:
图8
控制程序流程图及汇编程序模块
1.主程序流程图如下:
2.采用中断方式的A-D转换程序如下(设为8路信号)
3.显示程序如下:
LOOP:
MOVA,R0;数据指针R0给累加器A
MOVCA,@A+DPTR;从数据表中指针所找的数据,
并传送给A寄存器
MOVP0,A;数据传给数码管各段
CLRP1.0
CLRP1.2
SETBP1.2
SETBP1.0
MOVP0,R1;将位选数据传送给P0口,点亮
所需数码管
CLRP1.1
CLRP1.2
SETBP1.2
SETBP1.1
LCALLDELAY;延时一段时间
MOVP0,#0FFH;关闭数码管,为下一个数码
管显示做准备
CLRP1.1
CLRP1.2
SETBP1.2
SETBP1.1
;改变段码和位码
INCR0;数据指针加1,指向下一个数据
地址
MOVA,R1;位选数据左移,准备将下一个数
码管点亮
RLA
MOVR1,A
CJNER1,#0EFH,LOOP;判断DS3数码管是否
点亮结束
LJMPMAIN;循环主程序
;数码管数据表
TAB:
DB0C0H,0F9H,0A4H,0B0H,099H;0~9数据表
DB092H,082H,0F8H,080H,090H
END
数码管动态显示流程图如图10所示:
图10
结束语
用8031单片机采集、显示电动机转速,控制电路简单、可靠,为实现电动机速度控制提供了条件。
对单片机控制系统而言具有一定的代表性和实用价值。
在实际应用中,还可根据需要改变电动机转速测量方法,在电动机转子轴上安装一个挡块,使用接近开关,电机每转产生一个输出脉冲信号,利用单片机定时器定时(例如1秒),通过单片机I/O端口在定时时间内对接近开关输出脉冲进行计数,计数结果就是电机转速,将计数结果进行显示也能够实现目标要求,电路和用户程序更加简单。
主要参考文献
王法能主编,单片机原理与应用实例教程,北京:
北京交通大学出版社,2010.7.。
张凯,MCS-51单片机综合系统及其设计开发,北京:
科学出版社,1996.