当前位置:文档之家› 推荐-DJ1电机实验平台使用说明 精品

推荐-DJ1电机实验平台使用说明 精品

AEDK—DJ实验平台使用说明1使用AEDK 5196ET实验机。

一.接线说明步进电机和直流电机接线接至一标准25芯插头,接线和插头定义如下:直流电机:白线:输入电压端;黑线:地线。

步进电机:白线:+12V接入;红线:A相;黄线:B相;绿线:C相;蓝线:D相。

25芯插头:二.示例程序1.实验连线:首先将25芯电缆接好,再将实验机上W2的最右端孔接上+5V电源。

将W2的中心抽头与AD0809的IN2相连,AD0809的CS与8100H相连,EOC与8051的P32相连。

0832的片选与8000H相连。

8255 的片选CS接至8400H。

2.实验步骤:先从实验机上汇编、加载实验程序,执行后LED显示DJ—DEMO的字样,按0A键,程序开始执行。

(程序默认为直流电机),旋动W2,可以看到直流电机的速度为可调。

按动08键,这时程序转向步进电机,同样旋动W2步进电机的速度也可以用W2控制。

再按动09键,这时步进电机会反向运行。

实验程序:仅供演示;##############################################;#键盘定义:0A键为启动键,01键为直流电机运行键 #;# 08键为步进电机运行键(反转),09键为 #;# 步进电机正转运行键.按动0A键程序重 #;# 新执行. #;##############################################CS0832 EQU 8000H ;0832片选地址M_8255 EQU 8406H ;8255命令口地址DATA_8255 EQU 8404H ;8255数据口地址CS0809 EQU 8104H ;0809片选地址M_8279 EQU 0FF82H ;8279命令口地址DATA_8279 EQU 0FF80H ;8279数据口地址RFIFO EQU 40H ;写先入先出缓冲区WDISP_RAM EQU 90H ;写显示缓冲区DISP_RAM EQU 40H ;显示缓冲区首址SPD_BUF EQU 50H ;速度缓冲区AD_FLAG EQU 70H ;A/D转换结束标志ORG 0000HSJMP STARTORG 0003HLJMP INT0 ;中断入口地址ORG 0060HSTART:MOV SP,#60HMOV DPTR,#M_8279 ;8279初始化MOV A,#00HMOVX @DPTR,AMOV A,#34HMOVX @DPTR,AMOV A,#0D2HMOVX @DPTR,AMOV DPTR,#M_8255 ;8255初始化MOV A,#90HMOVX @DPTR,A ;设置C口为输出端口 ;开中断SETB EX0SETB EASETB IT0CLR AD_FLAG ;A/D转换标志置零MOV R0,#DISP_RAMMOV R2,#08HBEGIN: DEC R2 ;程序运行提示信息 MOV DPTR,#MESSMOV A,R2MOVC A,@A+DPTR ;显示DJ--DEMOMOV @R0,AINC R0CJNE R2,#00H,BEGINLCALL DISPLAY;##################################SET_KEY:LCALL GET_KEY ;等待启动键CLR CSUBB A,#0AHJZ SET_KEY_PASS ;是启动键程序执行SJMP SET_KEYSET_KEY_PASS:MOV R0,#DISP_RAMMOV R2,#00HMOV A,#00HSET_NEXT: ;显示程序运行提示MOV @R0,AINC R0CJNE R0,#48H,SET_NEXTMOV R0,#47HNOPNOT_READY:MOV @R0,#80HDEC R0MOV A,R0PUSH ACCLCALL DISPLAYLCALL DELAY1SPOP ACCMOV R0,ACJNE R0,#3FH,NOT_READY;##################################LCALL GET_KEY ;主程序开始,调用PUSH ACC ;获键值子程序CLR C ;是直流电机键SUBB A,#00H ;程序跳转到直流电机处理程序 JZ DM_SUBPOP ACCCLR CSUBB A,#08H ;是步进电机键JZ SM_SUB ;程序跳转到步进电机处理程序 SJMP DM_SUB ;程序默认为直流电机;##################################DM_SUB:MOV 47H,#5EH ;直流电机程序MOV 46H,#37HMOV 45H,#00HMOV 44H,#00HMOV 43H,#00H ;显示DM提示信息MOV 42H,#00HMOV 41H,#00HMOV 40H,#00HLCALL DISPLAYDM_RUN:LCALL GET_KEY ;等待键值PUSH ACCPUSH ACCCLR CSUBB A,#08H ;是步进电机键JZ SM_SUB ;程序跳转到步进电机处理程序 POP ACCCLR CSUBB A,#0AH ;是启动键JZ TEMP1 ;程序重新执行SJMP DM_GO ;程序默认为直流电机TEMP1: LJMP BEGINDM_GO:LCALL AD0809 ;调用A/D转换子程序MOV A,SPD_BUF ;获得速度值MOV DPTR,#CS0832 ;将速度值转换为模拟量MOVX @DPTR,APOP ACCSJMP DM_RUN ;程序返回NOP;##################################SM_SUB:MOV 47H,#0EDH ;步进电机处理程序MOV 46H,#37H ;显示步进电机提示信息MOV 45H,#00H ;SMMOV 44H,#00HMOV 43H,#00HMOV 42H,#00HMOV 41H,#00HMOV 40H,#00HLCALL DISPLAY ;调用显示子程序MOV DPTR,#CS0832MOV A,#00HMOVX @DPTR,ASM_RUN: ;步进电机运行程序LCALL GET_KEYPUSH ACCPUSH ACCPUSH ACCCLR CSUBB A,#00H ;是直流电机键JZ DM_SUB ;程序跳转到直流电机处理程序 POP ACCCLR CSUBB A,#0AH ;是启动键JZ TEMP ;程序重新执行POP ACCCLR CSUBB A,#09H ;是反转键JZ C_CLOCK_WISE ;程序跳转到反转程序 SJMP XUN0 ;程序默认为正转TEMP: LJMP BEGINXUN0:MOV R2,#00H ;步进码计数器MOV R3,#08HLCALL AD0809 ;调用A/D转换程序CW:MOV A,R2MOV DPTR,#PULSE2 ;查表获步进码MOVC A,@A+DPTRMOV DPTR,#DATA_8255 ;步进码送入步进电机 MOVX @DPTR,ALCALL DEL_W ;调用可调延时子程序 INC R2CJNE R2,#08H,CWPOP ACCSJMP SM_RUN ;步进码送完返回C_CLOCK_WISE:LCALL AD0809CCW: ;反转处理程序MOV A,R2MOV DPTR,#PULSE1MOVC A,@A+DPTRMOV DPTR,#DATA_8255MOVX @DPTR,ALCALL DEL_WINC R2CJNE R2,#08H,CCWLCALL GET_KEYCLR CSUBB A,#08HJZ SM_RUNMOV R2,#00HSJMP C_CLOCK_WISEPOP ACCSJMP SM_RUN;######## A/D转换子程序 ###########AD0809:MOV DPTR,#CS0809MOV A,#00HMOVX @DPTR,AWAIT_AD_CHG:JB AD_FLAG,AD_CHG_ENDSJMP WAIT_AD_CHGAD_CHG_END:CLR AD_FLAGRET;######## 中断处理子程序 ##########INT0:CLR EAPUSH ACCPUSH PSWPUSH DPLPUSH DPHSETB AD_FLAGMOV DPTR,#CS0809MOVX A,@DPTRMOV SPD_BUF,APOP DPHPOP DPLPOP PSWPOP ACCSETB EARETI;######## 获键值子程序 ############GET_KEY:MOV A,#RFIFOMOV DPTR,#M_8279MOVX @DPTR,AMOVX A,@DPTRANL A,#0FHJZ WAITTMOV DPTR,#DATA_8279MOVX A,@DPTRRETWAITT: MOV A,#0FFHRET;######## 显示子程序 ##############DISPLAY:MOV A,#WDISP_RAMMOV DPTR,#M_8279MOVX @DPTR,AMOV R0,#DISP_RAMDISPL:MOV A,@R0MOV DPTR,#DATA_8279MOVX @DPTR,AINC R0CJNE R0,#48H,DISPLRET;######## 可调延时子程序 ##########DEL_W:MOV A,SPD_BUF ;A/D值作为速度值 CPL AMOV R7,ADEL3:MOV R6,#1fHDEL2:DJNZ R6,DEL2DJNZ R7,DEL3RET;######## 延时子程序###############DELAY1S:MOV R7,#02HDLY3: MOV R6,#05FHDLY2: MOV R5,#0FFHDLY1: DJNZ R5,DLY1DJNZ R6,DLY2DJNZ R7,DLY3RET;######## 程序代码表###############PULSE1 DB 09H,08H,0CH,004H ;正转步进码DB 06H,02H,03H,001HPULSE2 DB 01H,03H,02H,006H ;反转步进码DB 04H,0CH,08H,009HMESS DB 5EH,0EH,40H,040H ;程序执行提示信息 DB 5EH,79H,37H,0BFH;##################################END ;程序结束AEDK—DJ实验平台使用说明2一.接线说明步进电机和直流电机接线接至一标准25芯插头,接线和插头定义如下:直流电机:白线:输入电压端;黑线:地线。

相关主题