直流电机控制报告
一、设计题目
硬件35——直流电动机控制设计
要求:1)可控制启动、停止;2)根据给定转速和检测的转速,采用PWM 脉宽调制控制转速,产生不同的占空比的脉冲控制电机转速;3)实现由慢到快,再由快到慢的变速控制;4)数码管显示运行状态。扩展功能:实现定时启动,定时停止
二、开发目的
通过本项课程设计,对计算机硬件课程中涉及的芯片结构、控制原理、硬件编程等方面有一定的感性认识和实践操作能力,更好的理解计算机硬件课程中讲述的基本原理和概念。
通过使用proteus的汇编程序,来实现占空比可调的方波发生器。学习并掌握了8086/8088汇编语言编程方法,掌握了8255、8253、ADC0808、74LS154译码器、74LS273锁存器等芯片的基本结构和工作原理,掌握了芯片编程控制的方法。
三、小组成员分工及成果
蒲艺文:编写程序,流程图绘制。
兴睿:构思草图,后期调试。
肖钦翔:绘制PROTEUS电路图,资料收集。
成果:绘制完成电路图,灌入程序,调试,完成直流电动机控制设计。
四、设计方案以及论证
原理:8086与两个74273和一个74154组成地址锁存及译码电路。
8255和8253作为译码选择端IO1和IO2,地址分别为0200h和0400h(由译码电路可得到)
A1,A2是作为8253的三个计数器和控制器的地址(01对应计数器1,11对应控制器)。
A1,A2也作为8255的A,B,C三组端口和其控制器的地址(00对应A,11对应控制器)
一,选择8255(使能端IO1)控制器,写入控制字10011000b
二,通过C口依次输出00000000b,00001000b,00000000b来启动ADC0808。
三,等待ADC0808转换,并通过C口测试EOC端口是否为高电平。
四,eoc为高电平,则通过A口接受转换后的电压数据AL(围从0-ffh)。五,选择8253(使能端IO2)控制器,写入控制字01010010b
六,选择8253计数器1,写入初始值为电压数据AL。
七,选择8253控制器,写入控制字00010100b。
八,选择8253计数器0,写入初值255,计数器0即开始工作,到0时输出负脉冲,经过反相器变为正脉冲,作为计数器1的GATE门控信号输入,来控制计数器1重新计数,从而产生相应占空比的方波。
9、检测ADC0808输入端口电压是否改变,不改变原样输出;若改变,通过8255和8253控制改变占空比。
10、PWM的意思是脉宽调节,也就是调节方波高电平和低电平的时间比,一个20%占空比波形,会有20%的高电平时间和80%的低电平时间,而一个60%占空比的波形则具有60%的高电平时间和40%的低电平时间,占空比越大,高电平时间越长,则输出的脉冲幅度越高,即电压越高.如果占空比为0%,那么高电平时间为0,则没有电压输出.如果占空比为100%,那么输出全部电压.
六、硬件原理图(包括芯片的选型介绍)原理图:
芯片的选型介绍:
8086
主要功能:
8086 CPU包括两大部分:EU和BIU
BIU不断地从存储器取指令送入IPQ,EU不断地从IPQ取出指令执行;EU和BIU 构成了一个简单的2工位流水线;指令预取队列IPQ是实现流水线操作的关键(类似于工厂流水线的传送带)。
主要引脚:
数据信号线(DB)与地址信号线(AB):
AD7~AD0:三态,地址/数据复用线。ALE有效时为地址的低8位。地址信号有
效时为输出,传送数据信号时为双向。
A19~A16:三态,输出。高4位地址信号,与状态信号S6-S3分时复用。
A15~A8 :三态,输出。输出8位地址信号。
WR:三态,输出。写命令信号;
RD:三态,输出。读命令信号;
IO/M:三态,输出。指出当前访问的是存储器还是I/O接口。高:I/O接口,低:存
DEN:三态,输出。低电平时,表示DB上的数据有效;
RESET:输入,为高时,CPU执行复位;
ALE:三态,输出。高:AB地址有效;
DT/ R:三态,输出。数据传送方向,高:CPU输出,低:CPU输入
8086
8253A
概貌:
3个16位的定时/计数器(通道);24引脚双列直插式;最高计数频率2MHz;TTL电平兼容;单电源+5V供电。
主要构成:
计数器(3个)——包括:16位初值寄存器(只写)、16位计数寄存器(减1计数器)、16位锁存寄存器(只读)(当前计数初值)。
控制寄存器(1个)——存放控制命令字(8位)(只写)。
占用4个地址—3个计数器,1个控制寄存器。
计数通道的主要引线(每通道均相同):
CLKn 时钟脉冲输入,计数器的计时基准。
GATEn 门控信号输入,控制计数器的启停。
OUTn 计数器输出信号,不同工作方式下产生不同波形。(n = 0~2)
8255
8255A
主要功能:
含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存/缓冲能力。
可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。
主要引脚:
连接外设端的引脚:PA0~PA7、PB0~PB7、PC0~PC7(分别对应A、B、C 三个8位输入/输出端口)
三个端口可通过编程分别指定为输入或输出口。其中,C口即可用作独立的输入/输出口,也可用作A、B口的握手联络信号(控制信号输出或状态信号输入)。
8255A
ADC0808
特点:
8通道(8路)输入;8位字长;逐位逼近型;转换时间100μs;置三态输出缓冲器(可直接接到数据总线上)。
引脚功能:
D7~D0:输出数据线(三态)
IN0~IN7:8通道(路)模拟输入
ADDA、ADDB、ADDC:通道地址(通道选择)
ALE:通道地址锁存
START:启动转换
EOC:转换结束,可用于查询或作为中断申请
OE:输出允许(打开输出三态门)
CLK:时钟输入(10KHz~1.2MHz)
VREF(+)、VREF(-):基准参考电压
ADC0808/9
74LS154
功能:
4线-16 线译码器/解调器,将4 个二进制编码输入译成16 个彼独立的输出之一;将数据从一个输入线分配到16 个输出的任意一个而实现解调功能;输入箝位二极管简化了系统设计;与大部分TTL 和DTL 电路完全兼容
原理:
这种单片4 线—16 线译码器非常适合用于高性能存储器的译码器。当两个选通输入G1 和G2 为低时, 它可将4 个二进制编码的输入译成16 个互相独立的输出之一。实现解调功能的办法是:用4 个输入线写出输出线的地址,使得在一个选通输入为低时数据通过另一个选通输入。当任何一个选通输入是高时,所有输出都为高。
引脚功能:
A、B、C、D 译码地址输入端(低电平有效)
G1、G2 选通端(低电平有效)
0-15 输出端(低电平有效)
74LS154
74LS273
74LS273是8位数据/地址锁存器,是一种带清除功能的8D触发器。
引脚:
1脚是复位/MR,低电平有效,当1脚是低电平时,输出脚0Q~7Q全部输出0,即全部复位。当1脚为高电平,CP脚是锁存控制端,并且是上升沿触发锁存,当CP有一个上升沿,立即锁存锁存输入脚0D~7D上的电平状态,并且立即呈现在输出引脚0Q~7Q上。
0D~7D为数据输入端。
0Q~7Q为数据输出端,正脉冲触发,低电平清除,常用作8位地址锁存器。
74LS273
七、程序流程图(包括各个子系统和子过程的程序流程)
主程序:
是
否
子程序READY:
否
子程序INIS_8253:
子程序模块J :
否
是
八、程序清单,要有适当的注释
计数器0(方式2)写入初值255 结束
开始 调用子程序QD0808 调用子程序READY 判断电位器电压是否改变? 调用子程序INIS_8253 结束
DS55=0200H
DS53=0400H
CODE SEGMENT
ASSUME CS:CODE
START:
MOV DX,DS55+6
MOV AL,10011000B ;控制字为PA基本输入,PB基本输出,PC上半输入,下半输出OUT DX,AL
CALL QD0808
CALL READY
TTT: CALL INIS_8253
J:
CALL QD0808
CALL READY
CMP AL,BH
JZ J
JMP TTT
QD0808: MOV DX,DS55+4 ;为PC端口地址
MOV AL,0
OUT DX,AL
MOV AL,00001000B ;设置PC3 ALE
OUT DX,AL
NOP ;延时
NOP ;延时
NOP ;延时
NOP ;延时
MOV AL,00000000B ;清除PC3 START
OUT DX,AL
RET
READY:
MOV DX,DS55+4
WAIT1:IN AL,DX
AND AL,11110000B
AND AL,80H ;测试PC8 EOC
JZ WAIT1
MOV DX,DS55
IN AL,DX
RET
INIS_8253: MOV BL,AL
MOV BH,AL
MOV DX,DS53+6
MOV AL,01010010B
OUT DX,AL
MOV DX,DS53+2
MOV AL,BL
OUT DX,AL
MOV DX,DS53+6
MOV AL,00010100B
OUT DX,AL
MOV DX,DS53
MOV AL,0FFH
OUT DX,AL
RET
CODE ENDS
END START
九、程序运行结果分析与预测
开关控制启停。5V时占空比最大,增大占空比,则电机转速增大;减小占空比,则电机转速减小。
十、结果评述或总结
能力不足,到最后还是没有实现数码管显示运行状态,不知道怎么样才能让转速从数码管上表示出来。开始也不知道PWM调速是什么,后来查了书上的资料,参考了实验指导书的实验。通过本课程设计,让我们对微机系统有一个全面的理
解,对典型数字接口电路的应用技术有一个较深入的理解和掌握,并对应用系统进行硬件原理和软件编程进行分析、设计和调试,达到基本掌握简单微型计算机应用系统软硬件的设计方法,提高项目开发能力的目的。