DJ1电机实验平台使用说明.doc_第1页
DJ1电机实验平台使用说明.doc_第2页
DJ1电机实验平台使用说明.doc_第3页
DJ1电机实验平台使用说明.doc_第4页
DJ1电机实验平台使用说明.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

aedkdj使用说明aedkdj实验平台使用说明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显示djdemo的字样,按0a键,程序开始执行。(程序默认为直流电机),旋动w2,可以看到直流电机的速度为可调。按动08键,这时程序转向步进电机,同样旋动w2步进电机的速度也可以用w2控制。再按动09键,这时步进电机会反向运行。实验程序:仅供演示;#;#键盘定义:0a键为启动键,01键为直流电机运行键 #;# 08键为步进电机运行键(反转),09键为 #;# 步进电机正转运行键.按动0a键程序重 #;# 新执行. #;# cs0832 equ 8000h ;0832片选地址 comm_8255 equ 8406h ;8255命令口地址 data_8255 equ 8404h ;8255数据口地址 cs0809 equ 8104h ;0809片选地址 comm_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 0000h sjmp start org 0003h ljmp int0 ;中断入口地址 org 0060hstart: mov sp,#60h mov dptr,#comm_8279 ;8279初始化 mov a,#00h movx dptr,a mov a,#34h movx dptr,a mov a,#0d2h movx dptr,a mov dptr,#comm_8255 ;8255初始化 mov a,#90h movx dptr,a ;设置c口为输出端口 ;开中断 setb ex0 setb ea setb it0 clr ad_flag ;a/d转换标志置零 mov r0,#disp_ram mov r2,#08hbegin: dec r2 ;程序运行提示信息 mov dptr,#mess mov a,r2 movc a,a+dptr ;显示dj-demo mov r0,a inc r0 cjne r2,#00h,begin lcall display;#set_key: lcall get_key ;等待启动键 clr c subb a,#0ah jz set_key_pass ;是启动键程序执行 sjmp set_keyset_key_pass: mov r0,#disp_ram mov r2,#00h mov a,#00hset_next: ;显示程序运行提示 mov r0,a inc r0 cjne r0,#48h,set_next mov r0,#47h nopnot_ready: mov r0,#80h dec r0 mov a,r0 push acc lcall display lcall delay1s pop acc mov r0,a cjne r0,#3fh,not_ready;# lcall get_key ;主程序开始,调用 push acc ;获键值子程序 clr c ;是直流电机键 subb a,#00h ;程序跳转到直流电机处理程序 jz dm_sub pop acc clr c subb a,#08h ;是步进电机键 jz sm_sub ;程序跳转到步进电机处理程序 sjmp dm_sub ;程序默认为直流电机;#dm_sub: mov 47h,#5eh ;直流电机程序 mov 46h,#37h mov 45h,#00h mov 44h,#00h mov 43h,#00h ;显示dm提示信息 mov 42h,#00h mov 41h,#00h mov 40h,#00h lcall displaydm_run: lcall get_key ;等待键值 push acc push acc clr c subb a,#08h ;是步进电机键 jz sm_sub ;程序跳转到步进电机处理程序 pop acc clr c subb a,#0ah ;是启动键 jz temp1 ;程序重新执行 sjmp dm_go ;程序默认为直流电机temp1: ljmp begindm_go: lcall ad0809 ;调用a/d转换子程序 mov a,spd_buf ;获得速度值 mov dptr,#cs0832 ;将速度值转换为模拟量 movx dptr,a pop acc sjmp dm_run ;程序返回 nop;#sm_sub: mov 47h,#0edh ;步进电机处理程序 mov 46h,#37h ;显示步进电机提示信息 mov 45h,#00h ;sm mov 44h,#00h mov 43h,#00h mov 42h,#00h mov 41h,#00h mov 40h,#00h lcall display ;调用显示子程序 mov dptr,#cs0832 mov a,#00h movx dptr,asm_run: ;步进电机运行程序 lcall get_key push acc push acc push acc clr c subb a,#00h ;是直流电机键 jz dm_sub ;程序跳转到直流电机处理程序 pop acc clr c subb a,#0ah ;是启动键 jz temp ;程序重新执行 pop acc clr c subb a,#09h ;是反转键 jz c_clock_wise ;程序跳转到反转程序 sjmp xun0 ;程序默认为正转 temp: ljmp beginxun0: mov r2,#00h ;步进码计数器 mov r3,#08h lcall ad0809 ;调用a/d转换程序cw: mov a,r2 mov dptr,#pulse2 ;查表获步进码 movc a,a+dptr mov dptr,#data_8255 ;步进码送入步进电机 movx dptr,a lcall del_w ;调用可调延时子程序 inc r2 cjne r2,#08h,cw pop acc sjmp sm_run ;步进码送完返回c_clock_wise: lcall ad0809ccw: ;反转处理程序 mov a,r2 mov dptr,#pulse1 movc a,a+dptr mov dptr,#data_8255 movx dptr,a lcall del_w inc r2 cjne r2,#08h,ccw lcall get_key clr c subb a,#08h jz sm_run mov r2,#00h sjmp c_clock_wise pop acc sjmp sm_run ;# a/d转换子程序 #ad0809: mov dptr,#cs0809 mov a,#00h movx dptr,await_ad_chg: jb ad_flag,ad_chg_end sjmp wait_ad_chgad_chg_end: clr ad_flag ret;# 中断处理子程序 #int0: clr ea push acc push psw push dpl push dph setb ad_flag mov dptr,#cs0809 movx a,dptr mov spd_buf,a pop dph pop dpl pop psw pop acc setb ea reti;# 获键值子程序 #get_key: mov a,#rfifo mov dptr,#comm_8279 movx dptr,a movx a,dptr anl a,#0fh jz waitt mov dptr,#data_8279 movx a,dptr retwaitt: mov a,#0ffh ret;# 显示子程序 #display: mov a,#wdisp_ram mov dptr,#comm_8279 movx dptr,a mov r0,#disp_ramdispl: mov a,r0 mov dptr,#data_8279 movx dptr,a inc r0 cjne r0,#48h,displ ret;# 可调延时子程序 #del_w: mov a,spd_buf ;a/d值作为速度值 cpl a mov r7,adel3: mov r6,#1fhdel2: djnz r6,del2 djnz r7,del3 ret;# 延时子程序#delay1s: mov r7,#02hdly3: mov r6,#05fhdly2: mov r5,#0ffhdly1: djnz r5,dly1 djnz r6,dly2 djnz r7,dly3 ret;# 程序代码表#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 ;程序结束aedkdj实验平台使用说明2一 接线说明步进电机和直流电机接线接至一标准25芯插头,接线和插头定义如下:直流电机: 白线:输入电压端; 黑线:地线。步进电机:白线:+12v接入; 红线:a相;黄线:b相;绿线:c相;蓝线:d相。25芯插头:以下程序均已在5196et实验机上调试通过,用户可将程序直接输入运行。程序仅供参考。二 直流电机示例程序1程序说明:程序通过ad0809采样w2分压后的电平。依据电平值来改变d/a0832的输出值来调整直流电机的速度。2 实验连线:首先将25芯电缆接好,再将实验机上w2的最右端孔接上+5v电源。将w2的中心抽头与ad0809的in2相连,ad0809的cs与8100h相连。0832的片选与8000h相连。3 实验步骤:先从实验机上汇编、加载实验程序。程序开始执行后,旋动w2,可以看到直流电机的速度为可调。示例源程序: cs0832 equ 8000h ;0832片选地址 cs0809 equ 8104h ;0809通道二地址 org 0000h sjmp start org 0060hstart: mov sp,#60h dm_run: mov dptr,#cs0809 ;启动a/d转换 mov a,#00h movx dptr,a mov r1,#07fh ;等待a/d转换完成 djnz r1,$ mov dptr,#cs0809 ;读取a/d转换值 movx a,dptr mov dptr,#cs0832 ;将d/a转换 movx dptr,a sjmp dm_run ;程序返回 end ;程序结束三 步进电机示例程序1程序说明:程序通过ad0809采样w2分压后的电平。依据电平值来调整步进码的频率,实现步进电机的加速启动。步进电机采用四项八拍的驱动方式。2 实验连线:首先连接好5196et实验机和pc机,正确运行lcaet软件。用25芯专用连接电缆将实验平台和实验机连接起来。将实验机上j2插座的vb脚用导线接至电源插座j3的+12v。8031/32的p1.0-p1.3接sma-smd。将实验机上w2的最右端孔接上+5v电源。将w2的中心抽头与ad0809的in2相连,ad0809的cs与8100h相连。3 实验步骤:汇编、加载示例程序,运行程序。旋动w2使步进电机逐渐加速启动。示例源程序: cs0809 equ 8104h ;0809通道二地址 spd_buf equ 50h ;速度缓冲区 org 0000h sjmp start org 0060hstart: mov sp,#60h sm_run: ;步进电机运行程序 mov r2,#00h ;步进码计数器 mov r3,#08h cw: mov dptr,#cs0809 ;启动a/d转换 mov a,#00h movx dptr,a mov r1,#07fh ;等待a/d转换完成 djnz r1,$ mov dptr,#cs0809 ;读取a/d转换值 movx a,dptr mov spd_buf,a mov a,r2 mov dptr,#pul

温馨提示

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

最新文档

评论

0/150

提交评论