基于单片机的直流电机控制器的设计_第1页
基于单片机的直流电机控制器的设计_第2页
基于单片机的直流电机控制器的设计_第3页
基于单片机的直流电机控制器的设计_第4页
基于单片机的直流电机控制器的设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录 摘要.I ABSTRACT.II 1 系统论述.1 1.1 设计思路.1 1.2 基本原理.1 1.3 总体设计框图.1 2 直流电机单元电路设计与分析.2 2.1 直流电机驱动模块.2 2.2 直流电机的中断键盘控制模块.7 23 1602LCD 液晶显示模块.9 3 直流电机 PWM 控制系统的实现.11 3.1 总电路图.11 3.2 总电路功能介绍.12 3.3 直流电机控制程序.12 4 系统仿真.19 5 结束语.22 参考文献资料.23 摘要 本文是对直流电机PWM调速器设计的研究,主要实现对电机的控制。本课程 设计主要是实现 PWM 调速器的正转、反转、加速、减速、停止等操作。并实现电 路的仿真。为实现系统的微机控制,在设计中,采用了AT89C51单片机作为整个 控制系统的控制电路的核心部分,配以各种显示、驱动模块,实现对电动机转速参 数的显示和测量;由命令输入模块、光电隔离模块及H型驱动模块组成。采用带中 断的独立式键盘作为命令的输入,单片机在程序控制下,不断给光电隔离电路发送 PWM波形,H 型驱动电路完成电机正反转控制.在设计中,采用PWM调速方式, 通过改变PWM的占空比从而改变电动机的电枢电压,进而实现对电动机的调速。 设计的整个控制系统,在硬件结构上采用了大量的集成电路模块,大大简化了硬件 电路,提高了系统的稳定性和可靠性,使整个系统的性能得到提高。 关键词:AT89C51单片机;PWM调速;正反转控制;仿真。 Abstract This article is a DC motor PWM speed control design study, the main achievement of motor control. This course is primarily designed to achieve PWM speed controller for forward and reverse, acceleration, deceleration, and stop such an operation. And to achieve the circuit simulation. To achieve system, microcomputer control, in the design, using AT89C51 microcontroller control system as a whole, the core of the control circuit, accompanied by a variety of shows, drive module enables the motor speed parameter display and measurement; from the command input module, Optical isolation module and H-drive module. With the stand-alone keyboard with a break as a command input, single-chip in the process control, continuing to the optical isolation circuit to send PWM waveform, H-type motor driving circuit to complete positive inversion control. In the design, using PWM speed mode, by changing the PWM duty cycle to change the motor armature voltage, so as to realize the speed of the motor. Design of the control system hardware structure with a large number of integrated circuit modules, greatly simplifying the hardware circuitry to improve stability and reliability of the system so that the whole system performance is improved. Key words: AT89C51 microcontroller; PWM speed; positive inversion control; Simulation。 1 系统论述 1.1 设计思路 直流电机PWM控制系统的主要功能包括:直流电机的加速、减速以及电 机的正转和反转,并且可以调整电机的转速,还可以方便的读出电机转速的大 小,能够很方便的实现电机的智能控制。其间,还包括直流电机的直接清零、 启动(置数)、暂停、连续功能。该直流电机系统由以下电路模块组成:振荡 器和时钟电路:这部分电路主要由80C51单片机和一些电容、晶振组成。设 计输入部分:这一模块主要是利用带中断的独立式键盘来实现。设计控制部分: 主要由80C51单片机的外部中断扩展电路组成。设计显示部分:包括液晶显 示部分和LED数码显示部分。液晶显示部分由1602LCD液晶显示模块组成; LED数码显示部分由七段数码显示管组成。直流电机PWM控制实现部分: 主要由一些二极管、电机和L298直流电机驱动模块组成。 1.2 基本原理 主体电路:即直流电机PWM控制模块。这部分电路主要由80C51单片 机的I/O端口、定时计数器、外部中断扩展等控制直流电机的加速、减速以及 电机的正转和反转,并且可以调整电机的转速,还可以方便的读出电机转速的 大小和了解电机的转向,能够很方便的实现电机的智能控制。其间,还包括直 流电机的直接清零、启动(置数)、暂停、连续功能。其间是通过80C51单 片机产生脉宽可调的脉冲信号并输入到L298驱动芯片来控制直流电机工作的。 该直流电机PWM控制系统由以下电路模块组成:设计输入部分:这一模块主 要是利用带中断的独立式键盘来实现。设计控制部分:主要由80C51单片机 的外部中断扩展电路组成。设计显示部分:包括液晶显示部分和LED数码显 示部分。液晶显示部分由1602LCD液晶显示模块组成。直流电机 PWM 控制实 现部分:主要由一些二极管、电机和L298直流电机驱动模块组成。 1.3 总体设计框图 系统组成:直流电机PWM调速方案如图1.1所示: 方案说明:直流电机PWM调速系统以AT89C2051单片机为控制核心,由 命令输入模块、LCD显示模块及电机驱动模块组成。采用带中断的独立式键 盘作为命令的输入,单片机在程序控制下,定时不断给直流电机驱动芯片发送 PWM 波形,H型驱动电路完成电机正,反转控制;同时单片机不停的将从键盘 读取的数据送到LCD显示模块去显示,从中不仅能读取其速度,而且能知晓 其转向及一些温心提示。 AT89C51 直流电机 驱动模块 直流 电机 AT89C51 直流电机 驱动模块 直流 电机 AT89C51 直流电机 驱动模块 直流 电机 加速控制端 减速控制端 正转控制端 反转控制端 停止控制端 LCD 液晶显示 P0口 P2口 P1口 单片机 图 1.1 直流电机 PWM 调速方案 2 直流电机单元电路设计与分析 2.1 直流电机驱动模块 主要由一些二极管、电机和L298直流电机驱动模块(内含CMOSS管、 三太门等)组成。现在介绍下直流电机的运行原理 2.1.1 直流电机类型 直流电机可按其结构、工作原理和用途等进行分类,其中根据直流电机的 用途可分为以下几种:直流发电机(将机械能转化为直流电能)、直流电动机 (将直流电能转化为机械能)、直流测速发电机(将机械信号转换为电信号)、 直流伺服电动机(将控制信号转换为机械信号)。下面以直流电动机作为研究 对象。 2.1.2 直流电机结构 直流电机由定子和转子两部分组成。在定子上装有磁极(电磁式直流电机 磁极由绕在定子上的磁绕提供),其转子由硅钢片叠压而成,转子外圆有槽, 槽内嵌有电枢绕组,绕组通过换向器和电刷引出,直流电机结构如图 2.1 所示。 图 2.1 直流电动机结构 2.1.3 直流电机工作原理 直流电机电路模型如图2.2所示,磁极N、S间装着一个可以转动的铁磁 圆柱体,圆柱体的表面上固定着一个线圈abcd。当线圈中流过电流时,线圈受 到电磁力作用,从而产生旋转。根据左手定则可知,当流过线圈中电流改变方 向时,线圈的受方向也将改变,因此通过改变线圈电路的方向实现改变电机的 方向。 图 2.2 直流电动机电路模型 2.1.4 直流电机主要技术参数 直流电机的主要额定值有: 额定功率Pn:在额定电流和电压下,电机的负载能力。 额定电压Ue:长期运行的最高电压。 额定电流Ie:长期运行的最大电流。 额定转速n:单位时间内的电机转动快慢。以 r/min 为单位。 励磁电流If:施加到电极线圈上的电流。 +A B - a b c d N S 图图1 1. .1 1 直直流流电电机机工工作作 2.1.5 直流电机 PWM 调速原理 (1)直流电机转速 直流电机的数学模型可用图2.3表示,由图可见电机的电枢电动势Ea的 正方向与电枢电流Ia的方向相反,Ea为反电动势;电磁转矩 T 的正方向与转 速n的方向相同,是拖动转矩;轴上的机械负载转矩T2及空载转矩T0均与 n相反,是制动转矩。 图 2.3 直流电机的数学模型 根据基尔霍夫第二定律,得到电枢电压电动势平衡方程式1.1: U=Ea-Ia(Ra+Rc)式1.1 式1.1中,Ra为电枢回路电阻,电枢回路串联保绕阻与电刷接触电阻的总 和; Rc是外接在电枢回路中的调节电阻。 由此可得到直流电机的转速公式为: n =Ua-IR/Ce 式1.2 式1.2中,Ce为电动势常数,是磁通量。 由1.1式和1.2式得 n =Ea/Ce 式1.3 由式1.3中可以看出,对于一个已经制造好的电机,当励磁电压和负载转 矩恒定时,它的转速由回在电枢两端的电压Ea决定,电枢电压越高,电机转 速就越快,电枢电压降低到0V时,电机就停止转动;改变电枢电压的极性, 电机就反转。 (2)PWM 电机调速原理 对于直流电机来说,如果加在电枢两端的电压为2.3所示的脉动电流压 ra Ea n T0 T2 I U T1 Rc 说明: U 电压 Ea 电枢电动势 n 转速 I电枢电流 ra 电枢回路电阻 Rc 外在电枢电阻 T1,T2负载转矩 T0 空载转矩 磁通量 (要求脉动电压的周期远小于电机的惯性常数),可以看出,在T不变的情况 下,改变T1和T2宽度,得到的电压将发生变化,下面对这一变化进一步推 导。 图 2.3 施加在电枢两端的脉动电压 设电机接全电压U时,其转速最大为Vmax。若施加到电枢两端的脉动电 压占空比为D=t1/T,则电枢的平均电压为: U平=UD 式1.4 由式1.3得到: n =Ea/CeUD/ Ce=KD ; 在假设电枢内阻转小的情况下式中K= U/ Ce,是常数。 图2.4为施加不同占空比时实测的数据绘制所得占空比与转速的关系图。 图 2.4 占空比与电机转速的关系 由图看出转速与占空比D并不是完全速的线性关系(图中实线),原因是 电枢本身有电阻,不过一般直流电机的内阻较小,可以近视为线性关系。 由此可见,改变施加在电枢两端电压就能改变电机的转速成,这就是直流 电机PWM调速原理。 2.1.6 电机驱动模块的电路设计 根据直流电机的工作原理,从PROTEUS选取元器件如下,放置元器件、 放置电源和地连线,我们参此设计的直流电机驱动模块电路如图2.5所示 最大值Vmax 平均值Vd 最小值Vmin t1t2 T 图图1 1. .3 3 P PW WM M调调速速原原理理图图 IN1 5 IN2 7 ENA 6 OUT1 2 OUT2 3 ENB 11 OUT3 13 OUT4 14 IN3 10 IN4 12 SENSA 1 SENSB 15 GND 8 VS 4 VCC 9 U2 L298 +12V R4 100R5 100R6 100 +88.8 2 3 4 5 6 7 8 9 1 RP1 RESPACK-8 +12V D1 1N4003 D3 1N4003 D2 1N4003 D4 1N4003 直流电机驱动芯片 直流电机 A B A BIN2 IN1 ENA D1 1N4006 D2 1N4006 D3 1N4006 D4 1N4006 Q1 2SK1058 Q2 2SK1058 Q3 2SK1058 Q4 2SK1058 R1 1K V1 +9V 23 1 U1 74126 23 1 U2 74126 直流电机驱动电路 直流电机 +88.8 2SK1058 : CMOSS管 74L26 : 三态门 1N4006 : 二极管 VSCOURCE : 电源 MOTOR-ENCODER : 直流电机 RES : 电阻 AT89C51 : 单片机 (在此并未显示) 图 2.5 直流电机驱动电路 然而考虑市场的行情,既然已有专门地为电机驱动而设计的芯片,就没必 要再从新来设计;选用L298芯片来构成的电路结构基本上跟上图一样,由 L298芯片组装的驱动模块如图2.6 所示。所用元器件如下所示: 1N4006 : 二极管 AT89C51 : 单片机 (在此并未显示) RES : 电阻 MOTOR-ENCODER : 直流电机 L298 : 电机驱动芯片 RESPACK-8: 排阻 图 2.6 直流电机及其驱动电路 2.1.7 程序设计流程图 定时中断服务 设置一定的周期0FF00H 将从键盘(中断)读取的数据送到TH0中,从而设置脉宽 通过定时中断不停给电机驱动芯片输出脉冲 初始设置 RETI 图 2.7 定时中断服务流程图 2.2 直流电机的中断键盘控制模块 2.2.1 外部中断设置 (1) 外部中断允许设置 中断控制寄存器IE的EX0对应INT0,EX1对应INT1,EA为中断的 总开关,若要开放外部中断,只要将IE对应的位和总开关EA置1即可。 如:开放外部中断0的设置: SETB EX0 SETB EA 开放外部中断0和1的设置: SETB EX0 SETB EX1 SETB EA (2) 外部中断触发方式设置 单片机外部中断有两种触发方式,一种是电平触发方式,另一种是脉冲触 发方式,单片机外部中断触发方式与 TCON 的 IT 位有关。 TF1TR1TF0TR0IE1IT1IE0IT0 电平触发设置方法:CLR ITX,为低电平触发方式。 脉冲触发设置方法:SETB ITX1,为脉冲下降沿触发方式。 在使用外部中断时,如果不进行设置,则为电平触发方式。 (3) 外部优先级设置 外部中断IN0、INT1的中断优先级的设置是通过设置IP寄存器实现的, IP的PX0对应INT0,PX1对应INT1。PX置1为高级中断,PX为0为 低级中断。 PSPT1PX1PT0PX0 2.2.2 外部中断扩展方法 在图2.8为外部中断扩展方法,设X1、X2、X3、X4、X5为外部警情信 号,X1代表是加速信号,X1=0表示加速;X2代表减速信号,X2=0表示减 速;X3代表正转信号,X3=0表示正转;X4代表反转信号,X4=0表示反转; X5代表停止信号,X5=0表示停止处理。 外部中断 X0=0? X1=0? X2=0? X3=0? X4=0? 停止操作,RETI 反转操作,RETI 正转操作,RETI 减速操作,RETI 加速操作,RETI 图 2.8 外部中断扩展电路 当系统检测到有中断请求时,响应如下中断服务流程图2.9。 图 2.9 中断服务流程 23 1602LCD 液晶显示模块 2.3.1 引脚分布和接口信号说明 (1)引脚分布 1602液晶显示共有16个引脚,其引脚分布如图2.5所示。 图 2.10 1602 液晶显示模块引脚分布 (2)引脚功能 1602引脚功能如表2.1所示 表 2.1 1602 引脚功能 编号符号引脚说明编号符号引脚说明 1VSSVSS 为地电源9D2Data I/O 2VDDVDD接 5V 正电源10D3Data I/O 3VEE液晶显示偏压信号11D4Data I/O 4RS0 输入指令,1 输入数据12D5Data I/O 5R/W0 写入指令或数据,1 读信 息 13D6Data I/O 6E1 读取信息,10 执行指 令 14D7Data I/O 7D0Data I/O15BLA背光源正极 8D1Data I/O16BLK背光源负极 E RW RS RS RW E XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 LCD1 LM016L 75% RV1 1k LCD显示电路 2.3.2 LCD 液晶电路 E RW RS RS RW E XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 LCD1 LM016L 75% RV1 1k LCD显示电路 图 2.11 1602 液晶显示模块组成 2.3.32.3.3 显示程序流程图如显示程序流程图如 3.123.12 所示所示 开始 对LCD进行一些初始化操作 将已知要提示的内容送入LCD中并使其显示在第一行 判断设置电机的速度是否为0,若是,一直等待 将从键盘读取的速度和转向送入LCD中并使其在第二行显示 判断是否有命令输入,若没,一直等待 LJMP 主程序 图 2.12 3 直流电机 PWM 控制系统的实现 3.1 总电路图 E RW RS RS RW E 加速 减速 正转 反转 停止 减速 正转 正转 反转 停止 加速 加速 减速 反转 停止 IN1 5 IN2 7 ENA 6 OUT1 2 OUT2 3 ENB 11 OUT3 13 OUT4 14 IN3 10 IN4 12 SENSA 1 SENSB 15 GND 8 VS 4 VCC 9 U2 L298 +12V R4 100R5 100R6 100 +88.8 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 LCD1 LM016L 75% RV1 1k U? AND_5 加速 减速 正转 反转 停止 2 3 4 5 6 7 8 9 1 RP1 RESPACK-8 +12V D1 1N4003 D3 1N4003 D2 1N4003 D4 1N4003 LCD液晶显示 直流电机驱动芯片 直流电机 图 3.1 直流电机 3.2 总电路功能介绍 直流电机 PWM 调制控制系统具有加速、减速、正转、反转、停止控制功能。 操作开关通过中断控制直流电机的加速、减速、正转、反转、停止控制功能, 并通过LCD液晶显示。振荡、时钟电路和复位电路由80C51单片机内部给出。 直流电机转动速度由LCD液晶显示。操作开关状态由液晶显示器显示。 3.3 直流电机控制程序 ORG 0000H SJMP DISPLAY ORG 0003H LJMP BUTTON ; 外部 0 中断入口地址 ORG 000BH LJMP DINGSHI ; 定时中断T0入口地址 RS EQU P3.0 RW EQU P3.1 E EQU P3.4 ORG 0030H ; 此次直流电机的设计以LCD字符夜晶的 ; 显示程序为主程序 DISPLAY: SETB EA ; 打开中断总开关 SETB EX0 ; 打开外部中断 0 开关 SETB IT0 ; 打开外部中断 0 下降沿触发 MOV TMOD,#01H ; 设置定时工作方式 MOV TL0,#0FFH ; 设置定时初值 MOV TH0,#0FFH SETB ET0 ; 打开定时中断T0开关 CLR P0.5 CLR P0.6 CLR P0.7 SETB TR0 ; 定时器T0开始定时 MOV DPTR,#TAB ; 夜晶显示的字符首地址 MOV R0,#00H ; 脉宽的初值 MOV R1,#16 ; SET SPEED PLEASE的字符个数 MOV R3,#00H MOV R4,#00H LP9: LCALL CHUSHI LP2: ACALL BUSY MOV A,#00H MOVC A,A+DPTR MOV P1,A ACALL DATAS INC DPTR DJNZ R1,LP2 LP3: CJNE R3,#00H,LP4 CJNE R4,#00H,LP4 SJMP LP3 LP4: MOV R7,#00H ; 中断的标志 MOV R5,#09H ; CURRENT : 的字符个数 ACALL BUSY MOV P1,#0C0H ACALL ENABLE MOV DPTR,#MMTAB ACALL BUSY LP5: MOV A,#00H MOVC A,A+DPTR MOV P1,A INC DPTR ACALL DATAS ACALL BUSY DJNZ R5,LP5 MOV DPTR,#STAB MOV A,R2 MOV P1,A ACALL DATAS ACALL BUSY MOV A,R3 ; 显示速度的十位 MOVC A,A+DPTR MOV P1,A ACALL DATAS ACALL BUSY MOV A,R4 ; 显示速度的个位 MOVC A,A+DPTR MOV P1,A ACALL DATAS ; 使夜晶始终显示当前电机的速度 LP8: CJNE R7,#00H,LP7 ; 速度不变时等待 LJMP LP8 ; 速度变时重新读入速度 LP7: SJMP LP4 CHUSHI: ; 使夜晶显示的一些初始设置 ACALL BUSY MOV P1,#00000001B ; 清屏并光标复位 ACALL ENABLE ACALL BUSY MOV P1,#00111000B ; 设置显示模式:8位2行5x7点阵 ACALL ENABLE ACALL BUSY MOV P1,#00001111B ; 显示器开、光标开、光标允许闪烁 ACALL ENABLE ACALL BUSY MOV P1,#00000110B ; 文字不动,光标自动右移 ACALL ENABLE ACALL BUSY MOV P1,#80H ; 写入显示起始地址 ACALL ENABLE RET ENABLE: ; 写入控制命令的子程序 SETB E CLR RS CLR RW CLR E RET DATAS: ; 写入数据子程序 SETB E SETB RS CLR RW CLR E RET BUSY: ; 准备写入数据 CLR E MOV P1,#0FFH CLR RS SETB RW SETB E JB P1.7,BUSY RET ORG 2000H DINGSHI: ; 定时中断服务程序 CPL P0.7 JNB P0.7,Z1 ; 周期一定 MOV A,#0FFH SUBB A,R0 MOV TH0,A SETB TR0 RETI Z1: MOV TH0,R0 ; 脉宽 SETB TR0 RETI BUTTON: ; 从控制键盘中读取操作命令 PUSH ACC CLR EX0 CLR EA INC R7 ; MOV A,#0FFH MOV P2,A MOV A,P2 JNB ACC.0,AA0 JNB ACC.1,KK0 JNB ACC.2,ZZ JNB ACC.3,FF JNB ACC.4,WW0 AJMP QQ AA0: CJNE R0,#0FFH, AA1 ; 加速操作 AJMP QQ AA1: MOV A,R0 ADD A,#5 MOV R0,A AJMP QQ KK0: CJNE R0,#00,MM ; 减速操作 AJMP QQ MM: MOV A,R0 SUBB A,#5 MOV R0,A AJMP QQ QQ: MOV A,R0 MOV B,#5 DIV AB MOV B,#10 DIV AB MOV R3,A MOV R4,B SETB EX0 LCALL DELAY LCALL DELAY LCALL DELAY LCALL DELAY SETB EA POP ACC RETI ZZ: SETB P0.5 ; 正转操作 CLR P0.6 MOV R2,#2BH ; 正转标志 + LCALL DELAY LCALL DELAY LCALL DELAY SETB EX0 SETB EA POP ACC RETI FF: CLR P0.5 ; 反转操作 SETB P0.6 MOV R2,#2DH ; 反转标志 - LCALL DELAY LCALL DELAY LCALL DELAY SETB EX0 SETB EA POP ACC RETI WW0: CLR P0.5 ; 停止操作 CLR P0.6 LCALL DELAY LCALL DELAY LCALL DELAY SETB EX0 SETB EA POP ACC RETI DELAY: ; 延时子程序 MOV R5,#0E0H MM0: MOV R6,#30H MM1: DJNZ R6,MM1 DJNZ R5,MM0 RET TAB: DB 53H,45H,54H,20H DB 53H,50H,45H,45H ; SET SPEED PLEASE 代码 DB 44H,20H,50H,4CH DB 45H,41H,53H,45H STAB: DB 30H,31H,32H,33H DB 34H,35H,36H,37H ; 0,1,2,3,4,5,6,7 代码 DB 38H,39H,41H,42H ; 8,9,A,B,C,D,E,F DB 43H,44H,45H,46H MMTAB: DB 43H,4FH,52H,52H DB 45H,4EH,54H,20H ; CURRENT : 代码 DB 3AH END 4 系统仿真 LCD液晶显示电路的系统仿真与调试:在PROTEUS运行环境中首先 检验LCD显示电路,添加程序,运行LCD液晶显示电路能,系统若运行成 功将 得到如图4.1。此后在之前的电路基础之上再拓展带中断的独立式键盘, 调试成功后的电路如图4.2所示。 E RW RS RS RW E XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 LCD1 LM016L 75% RV1 1k LCD显示电路 图 4.1 LCD 液晶显示字符初步调试 E RW RS RS RW E 加速 减速 正转 反转 停止 减速 正转 正转 反转 停止 加速 加速 减速 反转 停止 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 LCD1 LM016L 75% RV1 1k U? AND_5 加速 减速 正转 反转 停止 LCD液晶显示 图 4.2 带中断控制的 LCD 液晶显示 调试用带中断的键盘来控制直流电机驱动模块的部分电路,若按要求调试 成功,将得到图4.3。 加速 减速 正转 反转 停止 减速 正转 正转 反转 停止 加速 加速 减速 反转 停止 IN1 5 IN2 7 ENA 6 OUT1 2 OUT2 3 ENB 11 OUT3 13 OUT4 14 IN3 10 IN4 12 SENSA 1 SENSB 15 GND 8 VS 4 VCC 9 U2 L298 +12V R4 100R5 100R6 100 -91.2 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 U? AND_5 2 3 4 5 6 7 8 9 1 RP1 RESPACK-8 +12V D1 1N4003 D3 1N4003 D2 1N4003 D4 1N4003 图 4.3 用带中断的键盘来控制的电机 启动目标系统,按正转,然后接加速开关,我们观察到电机开始运转,每 按一次加速,电机的速度都要增加,此时如果按减速,则电机的转速慢慢地减 小。同样按反转转键也看到同样的结果,当按停止键时,电机慢慢停下来,图 4.4是在目的电路刚启动时未设置命令之前的状态,图4.5是在正转情况下的 仿真结果,图4.6是在反转情况下的仿真结果。 E RW RS RS RW E 加速 减速 正转 反转 停止 减速 正转 正转 反转 停止 加速 加速 减速 反转 停止 IN1 5 IN2 7 ENA 6 OUT1 2 OUT2 3 ENB 11 OUT3 13 OUT4 14 IN3 10 IN4 12 SENSA 1 SENSB 15 GND 8 VS 4 VCC 9 U2 L298 +12V R4 100R5 100R6 100 0.00 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 LCD1 LM016L 75% RV1 1k U? AND_5 加速 减速 正转 反转 停止 2 3 4 5 6 7 8 9 1 RP1 RESPACK-8 +12V D1 1N4003 D3 1N4003 D2 1N4003 D4 1N4003 LCD液晶显示 直流电机驱动芯片 直流电机 图 4.4 未按键时的初始状态 E RW RS RS RW E 加速 减速 正转 反转 停止 减速 正转 正转 反转 停止 加速 加速 减速 反转 停止 IN1 5 IN2 7 ENA 6 OUT1 2 OUT2 3 ENB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论