《微机原理与汇编语言程序设计直流电机转速控制》由会员分享,可在线阅读,更多相关《微机原理与汇编语言程序设计直流电机转速控制(21页珍藏版)》请在金锄头文库上搜索。
1、实验课题: 直流电机调速控制实验内容: 本实验完成的是一个实现对直流电机转速调节的应用。编写实验程序,用ADC0809完成模拟信号到数字信号的转换。输入模拟信号有A/D转换单元可调电位器提供的05V,将其转换后的数字信号读入累加器,做为控制电机的给定转速。用8255的B口作为直流电机的控制信号输出口,通过对电机转速反馈量的运算,调节控制信号,达到控制电机匀速转动的的作用。并将累加器中给定的转速和当前测量转速显示在屏幕上。再通过LED灯显示出转速的大小变化。实验目的:(1) 学习掌握模/数信号转换的基本原理。(2) 掌握的ADC0809、8255芯片的使用方法。(3) 学习PC系统中扩展简单I/
2、O接口的方法。(4) 了解实现直流电机转速调节的基本方法。实验要求: 利用微机接口实验系统的硬件资源,运用汇编语言设计实现直流电机的调速控制功能。基本功能要求:1、利用A/D转换方式实现模拟量给定信号的采样;2、实现PWM方式直流电机速度调节;3、LED灯显示当前直流电机速度状态。实验设备:(1) 硬件要求: PC微机一台、TD-PIT实验系统一套(2) 软件要求:唐都编程软件,tdpit编程软件,“轻松编程”软件实验原理: 各芯片的功能简介: (1)8255的基本输出接口电路:并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息,CPU和接口之间的数据传递总是并行的,即可以同时进
3、行传递8位,16位,32位等。8255可编程外围接口芯片是具有A、B、C三个并行接口,+5V单电源供电,能在以下三种方式下工作:方式0基本输入/出方式、方式1选通输入/出方式、方式2双向选通工作方式。8255的内部结构图和引脚图如下:本实验利用8255的A口作为输出口,控制8个单色LED灯,来实现电机转速的大小显示。(2)转速调节原理:* PWM的占空比决定输出到直流电机的平均电压. PWM不是调节电流的.PWM的意思是脉宽调节,也就是调节方波高电平和低电平的时间比,一个20%占空比波形,会有20%的高电平时间和80%的低电平时间,而一个60%占空比的波形则具有60%的高电平时间和40%的低电
4、平时间,占空比越大,高电平时间越长,则输出的脉冲幅度越高,即电压越高.如果占空比为0%,那么高电平时间为0,则没有电压输出.如果占空比为100%,那么输出全部电压. 所以通过调节占空比,可以实现调节输出电压的目的,而且输出电压可以无级连续调节.在使用PWM控制的直流无刷电动机中,PWM控制有两种方式: 1.使用PWM信号,控制三极管的导通时间,导通的时间越长,那么做功的时间越长,电机的转速就越高 2.使用PWM控制信号控制三极管导通时间,改变控制电压高低来实现 * 利用实验平台上8255的PB0产生脉冲信号作为控制量,经驱动电路驱动电机运转。霍尔测速元件输出的脉冲信号记录电机转速构成反馈量。在
5、参数给定的情况下,经PID运算,电机可在控制量的作用下,按PC机累加器给定的转速运转。实验通过PC的0号通道,设置为输出1ms方波,作为采样时钟,PB0产生PWM脉冲计时及转速累加,系统总线上INTR中断用于测量电机转速。 (3)A/D转换原理: 本实验用ADC0809完成模拟信号到数字信号的转换。输入模拟信号有A/D转换单元可调电位器提供的05V,将其转换后的数字信号读入累加器,做为控制电机的给定转速。(5) LED灯的工作原理:LED灯显示器有8个单色发光二极管构成,在共阳极接法中,各二极管的阳极被连在一起,使用的时候要将它与+5V项链,而把各段的阴极连到器件的相应引脚上。当某的LED灯的
6、引脚为低电平的时候,该灯工作。本实验上通过8255的A口信号作为输入信号,控制各灯的工作状态。来显示出此时电机转速的大小变化。(6) 实现两位十进制数的显示:在计算机中,对数字的输入和输出是用二进制进行的,而在计算机内部十进制数要转换为二进制来表示,要实现两位十进制数的显示,必须将他们转换为目前最普遍使用的字符编码ASCII码。 本实验中通过作除法。即拆分法。如两位十进制AB转换为A*10+B的形式,再通过A+30H与B+30H来转换为ASCII码,若溢出,加7运算。DECSHOW PROC NEAR ;完成两位十进制数显示子程序 MOV DX,0 MOV BX,10 ;计算AX/10 DIV
7、 BX ADD AL,30H ;商+30H,即为十位数ASCII码 MOV AH,0EH INT 10H ADD DL,30H ;余+30H,即为个位数ASCII码 MOV AH,2 INT 21H RET DECSHOW ENDP实验接线图: PA0PA7D0D7PA0PA7 转速调节程序设计框图:B口转速调节与测量程序 (a)转速调节主程序主程序流程图:说明B口转速控制程序转上页将转换结果以16进制形式显示在屏幕上设置8255工作方式将AD送的结果装入8255初始化8255控制寄存器将结果送到8255A口输出,执行B口的调速程序是否有键按下返回DOS结束启用A/D转换 在屏幕上显示给定的转
8、速 读取转换结果定义寄存器清屏屏幕显示菜单开 始程序清单:;*根据CHECK配置信息修改下列符号值* INTR_IVADD EQU 0038H ;INTR对应的中断矢量地址 INTR_OCW1 EQU 21H ;INTR对应PC机内部8259的OCW1地址 INTR_OCW2 EQU 20H ;INTR对应PC机内部8259的OCW2地址 INTR_IM EQU 0BFH ;INTR对应的中断屏蔽字 PCI_INTCSR EQU 0CC38H ;PCI卡中断控制寄存器地址 IOY0 EQU 0C400H ;片选IOY0对应的端口始地址 IOY1 EQU 0C440H ;片选IOY0对应的端口始
9、地址;* MY8255_A EQU IOY0+00H*4 ;8255的A口地址 MY8255_B EQU IOY0+01H*4 ;8255的B口地址 MY8255_C EQU IOY0+02H*4 ;8255的C口地址 MY8255_MODE EQU IOY0+03H*4 ;8255的控制寄存器地址 AD0809 EQU IOY1+00H ;AD0809的端口地址STACK1 SEGMENT STACK DW 64 DUP(?) TOP LABEL WORD STACK1 ENDS DATA SEGMENT TABLE1 DB Assumed Fan Speed:(/s),0AH,0DH,$
10、;字符串变量 TABLE2 DB Current Fan Speed:(/s),0AH,0DH,$ ;字符串变量 ENT DB 0AH,0DH,$ ;换行,回车 CS_BAK DW ? ;保存INTR原中断处理程序入口段地址的变量 IP_BAK DW ? ;保存INTR原中断处理程序入口偏移地址的变量 IM_BAK DB ? ;保存INTR原中断屏蔽字的变量 CS_BAK1 DW ? ;保存定时器0中断处理程序入口段地址的变量 IP_BAK1 DW ? ;保存定时器0中断处理程序入口偏移地址的变量 IM_BAK1 DB ? ;保存定时器0中断屏蔽字的变量 TS DB 14H ;采样周期 SPE
11、C DW 55 ;转速给定值 IBAND DW 0060H ;积分分离值 KPP DW 1060H ;比例系数 KII DW 0010H ;积分系数 KDD DW 0020H ;微分系数 YK DW ? CK DB ? VADD DW ? ZV DB ? ZVV DB ? TC DB ? FPWM DB ? CK_1 DB ? EK_1 DW ? AEK_1 DW ? BEK DW ? AAAA DB ? VAA DB ? BBB DB ? VBB DB ? MARK DB ? R0 DW ? R1 DW ? R2 DW ? R3 DW ? R4 DW ? R5 DW ? R6 DW ? R7 DB ? R8 DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA