直流电机驱动控制实验
一、实验要求 利用0832D/A转换输出直流量,控制直流电机的转速。 二、实验目的 了解直流电机控制的基本方法。,直流电机驱动控制实验,三、实验连线及电路,用硬导线将0832片选信号CS接至138译码200-207,将8279的片选信号 CS接至208-20F,将DAC0832的AOUT端接至直流电机的MOT端。在运 行过程中,可按动小键盘的“0?”数码键,控制电机转速,按“REG”键 退出程序。,四、实验说明可以利用实验机上的J8插入座的37芯与机电实验平台连接,实现温度、压力、步进电机、直流电机等实验.DAC0832的通道地址200H,8279命令口地址20AH,8279数据口地址208H 。,五、实验步骤点击微机桌面HK88TE图标点击系统界面的帮助 实验指导 硬件实验实验名称实验连线.实验编程文件编译,连接,装载实验程序运行,六、 实验程序D0832 EQU 200H ;DAC0832通道地址200HC8279 EQU 20AH ;8279命令口地址20AHD8279 EQU 208H ; 8279数据 口地址208HCODE SEGMENTASSUME CS:CODE,DS:CODE START: PUSH CSPOP DS INI: MOV DX,D0832 ; DAC0832通道地址送DXMOV AL,00H ;数字零送ALOUT DX,AL ;数字零D/A转换(直流电机停止转动)MOV DX,C8279 ; 8279命令口地址送DXMOV AL,00H ;键盘、显示器工作模式设置命令送AL,OUT DX,AL ;设置八字符显示,左端输入MOV AL,90HOUT DX,AL ;写显示RAM命令设置 MOV AL,34HOUT DX,AL ;扫描频率设置命令,分频系数为20MOV AL,0D2HOUT DX,AL ;清除命令设置 JMP SHORT $+2 WAIT1: IN AL,DX ;DX(清除命令)送ALMOV AH,ALAND AL,80HCMP AL,80HJE WAIT1 ;FIFO在清除期间则跳转至WAIT1(等待),MOV AL,AHAND AL,0FHCMP AL,00HJE WAIT1 ; FIFO还未清除则跳转至WAIT1(等待) RUN: CALL CHKKEY ;调用检查按键子程序 CALL DISPLAY ;调用显示子程序 MOV DX,D0832 ; DAC0832通道地址送DXOUT DX,AL ;按键对应的数据进行D/A转换JMP RUN CHKKEY PROC NEAR RDKEY: MOV DX,C8279 ; 8279命令口地址送DXIN AL,DX ; DX(清除命令)送ALMOV AH,AL,AND AL,80HCMP AL,80HJE RDKEY ; FIFO在清除期间则转移至RDKEY(重新读键) MOV AL,AHAND AL,0FHCMP AL,00HJE RDKEY ; FIFO未清除则转移至RDKEY(重新读键) MOV AL,40H OUT DX,AL ;设定读FIFO堆栈命令 MOV DX,D8279IN AL,DX CHK: CMP AL,15H ;“REG”(退出程序键)键值为15H JE QUIT ;按下“REG”键则退出程序,CMP AL,0AH ;AL(按键数字)和0AH相比较JNC RDKEY ;结果不小于、大于或等于则转移 MOV SPDNUM,AL ;AL(按键数字)送SPDNUM首地址 LEA BX,SPD ;SPD(与按键数字相交换的数椐表)首地址送BX XLAT ;换码指令(查表指令)MOV AH,AL RTN: MOV DX,C8279 ; 8279命令口地址送DXMOV AL,0C2H OUT DX,AL ;清除命令设置MOV AL,AH;AH(按键数字已和数据表相换的数据)送ALRETCHKKEY ENDP,DISPLAY PROC NEARMOV AH,AL ; AL(按键数字已和数据表相换的数据)送AH暂存 MOV DX,D8279 ; 8279数据 口地址送DXLEA BX,LED ;LED段码表首地址送BX寄存器 MOV AL,SPDNUM ;SPDNUM(按键数字)送AL XLAT ;换码指令OUT DX,AL ;按键数字换成段码后送数码管显示LEA SI,DSP ;DSP(段码表)首地址送SI寄存器 MOV CX,0007H LOOP1: MOV AL,SI ;存放在SI中的段码送AL OUT DX,AL ;段码送数码管显示INC SI LOOP LOOP1,MOV AL,AH ; AH(按键数字已和数据表相换的数据)送AL暂存 RETDISPLAY ENDPQUIT: MOV DX,D0832 ; DAC0832通道地址送DXMOV AL,00H ;数字零送ALOUT DX,AL ;数字零D/A转换(直流电机停止转动)MOV DX,C8279 ; 8279命令口地址送DXMOV AL,0D2HOUT DX,AL ;清除命令设置 HLTLED DB 3FH,06H,5BH,4FH,66H ;段码表 DB 6DH,7DH,07H,7FH,6FH,SPD DB 60H,70H,80H,90H,0A0H ;数据表DB 0B0H,0C0H,0D0H,0E0H,0FFH DSP DB 00H,5EH,79H,79H,73H,6DH,0DEH;SPEEd段码表 SPDNUM DB 0 ;数据表 CODE ENDS END START,几点补充说明: 按键数n为09,对应的D/A转换数据表的公式为:(n×10+60)H 按键数 0 1 2 3 4 5 6 7 8 960H 70H 80H 90H 0A0H 0B0H 0C0H 0D0H 0E0H 0FFH 段码表 : DSP DB 00H, 5EH, 79H, 79H, 73H, 6DH, 0DEH 英文字母: d E E P S d,