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

上传人:油条 文档编号:101400283 上传时间:2019-09-28 格式:DOC 页数:26 大小:191.50KB
返回 下载 相关 举报
MCS-51单片机电机转速控制及测速显示系统_第1页
第1页 / 共26页
MCS-51单片机电机转速控制及测速显示系统_第2页
第2页 / 共26页
MCS-51单片机电机转速控制及测速显示系统_第3页
第3页 / 共26页
MCS-51单片机电机转速控制及测速显示系统_第4页
第4页 / 共26页
MCS-51单片机电机转速控制及测速显示系统_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《MCS-51单片机电机转速控制及测速显示系统》由会员分享,可在线阅读,更多相关《MCS-51单片机电机转速控制及测速显示系统(26页珍藏版)》请在金锄头文库上搜索。

1、MCS-51单片机电机转速控制及测速显示系统一、 系统总体方案选择与说明本课题要求设计一个单片机电机转速控制系统。给定信号经A/D转换输入到单片机(MCS-51)并显示,单片机根据给定从D/A输出相应的信号控制直流电机的转速,并能对电机的转速进行测量。1设计要求要求以MCS-51系列单片机为核心设计一个直流电机调速系统,该系统具有显示电动机转速、输入模拟量的功能。用6位LED 显示。前两位显示AD,后两位显示输入模拟量,最后两位显示电动机转速,单位为转/s, 电动机最大转速为5000转/min。其转速由D/A转换的模拟量控制。2设计思路1) 由地址琐存器74LS273芯片实现动态显示模块,74

2、LS273输出端为段控,用于输出所显示的数值,P1.0-P1.5口位控,控制哪一位LED管亮,LED采用共阴极的接法;2) 选用89C51单片机,其内部有4K的寄存器,无需扩展外部存储单元,还具有2个16位定时器/计数器,可以通过CPU内部定时,进行数据采集;3).ADC0809可将模拟量转换为数字量,并将数字量送单片机;DAC0832可将从单片机输出的数字量转换为模拟量,并用模拟量控制直流电机;4) 用霍尔元件测电动机转速。转速的测量方法有两种:频率法:利用单片机内部定时器定时(定时时间1秒),再用一计数器对被测脉冲计数,所测脉冲个数即转速值(转/S)周期法:测量脉冲的周期,即利用定时期累计

3、在被测脉冲的一个周期内机器周期的个数n。被测信号周期T=n*机器周期,被测信号频率f=1/T。考虑到要用定时采样的方法,同时又要将两位转速显示出来,所以本设计中采用频率法。一、 系统结构框图与工作原理1系统结构框图单片机89C51P0 INT0MD/A转换A/D转换+5VI/O测量2工作原理通过调节可变电阻,将模拟量送入AD转换器,经AD转换后通过P0口,将数字量送入单片机,单片机将数字量送I/O,并经74LS273锁存,送数码管显示,同时将数字量送给DA,DA将数字量转换为模拟量,用于控制直流电机的转速。通过霍尔元件将测的电动机转速脉冲信号接单片机的中断INT0, 用工作寄存器R6对脉冲数进

4、行即测量转速值,又通过单片机将转速值数码管送显示。三、各单元硬件设计及说明1.A/D转换模块设计与说明由于外界的模拟量不能直接被单片机8051直接识别,所以设置一个A/D转换电路,将外来的模拟信号转换成能被8051识别的数字信号进行处理。转换电路由模数转换器ADC0809来实现。 ADC0809是最常用的8位模数转换器,属于逐次逼近。ADC0809采用单一+5V供电,片内有带锁存功能的8路模拟开关,可对0+5V、8路模拟信号分时进行转换,完成一次转换的时间约需100üs,数字输出信号具有TTL三态锁存器。 ADC0809功能简述如下: 1) IN0IN7:8通道模拟量输入信号; 2)

5、 D0D7:8位二进制数据输出端,三态输出; 3) ADDC、ADDB、ADDA:通道号选择信号。用于选择8路输入之一进行A/D转换。 4) START:启动A/D转换信号,正脉冲有效,当给出一个START信号后,转换开始。脉冲宽度要求在200ns以上。5) EOC:转换结束信号,START的上升沿使EOC变为低电平,A/D转换完成,EOC变为高电平。6) OE:输出使能信号,高电平有效,当此信号有效时,打开输出三态门,将转换后的结果送至数据总线。 图1.A/D转换模块接线图2、89C51单片机芯片89C51是一个40引脚的集成电路,引脚如图3:1、主电源引脚VCC和VSS VCC(40脚)接

6、+5V电压; VSS(20脚)接地。 2、外接晶体引脚XTAL1和XTAL2 3、控制或与其它电源复用引脚RST/VPD、ALE/PROG、PSEN和EA/VPP 4、输入/输出(I/O)引脚P0、P1、P2、P3(共32根) P0口(39脚至32脚):是双向8位三态I/O口,在外接存储器时,与地址总线的低8位及数据总线复用,能以吸收电流的方式驱动8个LS型的TTL负载。 P1口(1脚至8脚):是准双向8位I/O口。由于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。 P2口(21脚至28脚):是准双向8位I/O口。在设计时用到P2.0作查询口,检测AD转换是否结束。 P3

7、口(10脚至17脚) 设计系统时用到的P3口线的第二功能定义如下:P3.2 12 INT0(外部中断0) P3.4 14 T0(定时器0外部输入) P3.6 16 WR(外部数据存储器写脉冲) P3.7 17 RD(外部数据存储器读脉冲) 图2.8051模块接线图3、 D/A转换模块设计与说明DAC0832是CMOS工艺制造的8位单片模拟/数字(D/A)转换器.DAC0832各引脚的功能如下: DI0DI7: 数据输入线. ILE : 数据允许锁存信号,高电平有效;CS: 输入寄存器选择信号,低电平有效.XFER: 数据传送信号,低电平有效.VREF : 基准电源输入引脚 . Rfb : 反馈

8、信号输入引脚,反馈电阻在芯片内部. IOUT1、IOUT2 : 电流输出引脚.电流IOUT1、IOUT2 的和为常数,IOUT1、 IOUT2 随DAC寄存器的内容线性变化. VCC: 电源输入引脚.AGND: 模拟信号地. DGND: 数字地.图3. D/A转换模块接线图4、 LED数码管动态显示模块 LED数码管动态显示器是1种由LED发光二极管组合显示字符的显示器件.它使用了8个LED发光二极管,其中7个用于显示字符,1个用于显示小数点,故通常称之为7段(也有称作8段)发光二极管数码显示器.LED数码显示器有两种连接方法:(1)共阳极接法:把发光二极管的阳极连在一起构成公共阳极,使用时公

9、共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连. (2)共阴极接法: 把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地.每个发光二极管的阳极通过电阻与输入端相连.图4. LED数码管动态显示模块接线图5、 电机转速测定模块 用霍尔元件测电动机转速:霍尔元件工作原理是磁感应原理即电动机每转一圈,霍尔元件检测到一个磁感应信号,同时对外输出一个负脉冲. 将此负脉冲送单片机,采用定时采样法,对负脉冲进行计数,所得的计数值即电机每秒的转速。图5. 反馈模块模块接线图6实验平台硬件总体接线:1).74LS273的O0O7接LED-ALED-DP,P1P5接LED6 LED1,74LS2

10、73的片选端CS273接CS2。2).ADC0809的片选端接CS0,AD转换结束信号端EOC接P2.0,输入端IN0接可变电阻。3).DAC0832的的片选端接CS1,输出端DAOUT接DRU,转速脉冲信号端SINGAL接INT0端。四、 软件设计与说明(包括流程图)1.程序流程图启动采样定时启动A/D测试A/D转换结束 P3.7=1启动D/A转换D/A转换结束启动M霍尔元件初始化NYN开始显示转速值1).A/D转换及D/A转换部分A/D转换有两种方法;中断法和查询法。在设计中采用了查询法,但查询法会占用CUP的运行时间,只要在不影响动态显示的情况下,也可以用查询法。D/A转换有三种工作方式

11、:单缓冲、双缓冲、直通方式。在设计中采用了双缓冲方式,因为双缓冲方式对数据接收和启动转换可以异步进行,即在对某数据转换的同时,能进行下一数据的接收,以提高转换速率。2).转速的测量部分转速测量的方法有两种:频率法:利用单片机内部定时器定时(定时时间1秒),再用一计数器对被测脉冲计数,所测脉冲个数即转速值(转/S)周期法:测量脉冲的周期,即利用定时期累计在被测脉冲的一个周期内机器周期的个数n。在设计中采用了频率法,即定时采样法。因为在设计过程中先用了周期法,但周期法是对负脉冲进行查询,占用了CPU的运行时间,影响了动态显示。所以改用定时采样法,此方法是采用CPU内部定时,不占用CPU运行时间,在

12、定时时间到时,对转速进行采集。注:.定时器的计算定时器要求定时1秒,晶振频率12MHz。晶振的一个工作周期12/12MHz=1us。启用工作方式为1(16位的方式)。最大计数21665536。所有最大计数65.5ms。我们就取整数50ms。.定时1S的计算:500000C350H, 所以0FFFFH 0C350H0001H3CB0H。即TH0=3CH,TL0=0B0H。定时器TMOD =00000001(01H),即选择T0的1方式。3).动态显示部分采用了74LS273芯片,因为参考书上有采用了74LS273进行动态显示的内容。2.源程序各部分清单:;*;*主程序和中断程序入口*;* ORG

13、 0000HAJMP MAINORG 0003HLJMP INT0SORG 000BHJMP DVT0ORG 0030H;*;*初始化程序中的各变量,及定时初值*;* MAIN:SETB EX0 ;开INT0中断 SETB ET0 ;开T0中断 SETB EA ;开放CPU总中断 SETB TR0 ;启动T0 SETB IT0 ;INTO为边沿触发方式 MOV R6,#00H ;记数清零 MOV R2,#20 ;软件计数器,减法计数DINGSHI:MOV TMOD,#01H ;定时器T0工作于方式1,定时50ms MOV TH0,#3CH ;写入计数初值 MOV TL0,#0B0H ;*;* AD转换 *;*LOOP:MOV DPTR,#0CFA0H ;ADC0809的入口地址 MOV A,#00H ;启动AD MOVX DPTR,A WAIT:JNB P2.0,INT1S ;P2.0=0则转INT1S JMP WAIT INT1S:MOVX A,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号