ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:78.13KB ,
资源ID:7934248      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7934248.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(整理单片机步进电机.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

整理单片机步进电机.docx

1、整理单片机步进电机大连理工大学本科设计报告题目: 步进电机转速控制系统设计 步进电机转速控制系统设计一、 设计要求使用步进电机作为被控制对象;由ZLG7290做人机对话平台;利用单片机的P1(8位)和P3(部分口线)构造系统。 利用ZLG7290的键盘控制直流电机,也可以利用ADC模块(与电位器配合),利用电位器控制转速;利用ZLG7290的8位LED数码管显示电机转向、转速参数显示。二、 设计分析及系统方案设计系统分析: 程序为无限循环结构。先调用A/D转换程序,再调用BCD转换程序,利用ZLG7290不断显示数码管的数字,中断程序包括键盘输入电机旋转方向,电位器控制电机转速。算法描述: 1

2、)30H-37H(DATA1):显示缓冲区,装载待显示的字形码,实验中只用到4个数码管,分别是30H,31H,34H,35H,不需要的32H,33H,36H,37H赋熄灭码#00H。不断调用WRNBYT子程序将数据写入ZLG7290的10H-17H,显示数据。 2)单双八拍相序放在20H-27H中,高四位都赋F,这样不会影响低四位步进电机相序节拍信号的输出,为接下来中断控制方向和转速做准备。 3)设定定时器T1定时方式1,TH1和TL1赋初值#00H(TH1原始为#00H),A/D转换的数据传送给TH1,每当T1定时时间到时,通过P1口的低四位(P1.0-P1.3)发出步进电机的一个相序节拍,

3、定时时间的改变就可改变电机转动的速度。 4)拆分子程序。将累加器A中的数据拆分为两个四位16进制数并查表,为显示方向和电机速度做准备。 5)中断服务程序INT_7290,2A-2D装载从ZLG7290的00H单元开始读出的连续4个字节数据,其中2BH中的就是键值。当S1或S2键按下时,利用ZLG7290的/INT信号引发单片机的一个中断,取键值后调用拆分查表程序将方向显示在数码管上。其中S1键按下电机逆时针转动,S2键按下电机顺时针转动。 6)控制转速子程序T1_INT,将A/D转换结果送给累加器A,低四位清零后送给定时器高八位,判断方向位,利用CJNE命令,若方向位是1则执行接下来的语句,若

4、不是则跳转到LOOP11,再判断时候等于2,若是则执行下来的语句,若不是则跳转到DO,不做任何操作,即电机停止转动。 7)A/D转换子程序,将转换结果送3FH中,再经过数据滤波,采集256次相加再取高8位数据即为平均值送3EH中。 8)BCD转换子程序,将3EH中数据与#0F0相与,取出高四位,再半字节交换,寄存器B中送10,相除后A中为十位数,B中为个位数,在此调用拆分子程序查表的相应字形码后送30H,31H显示。三、系统电路图四、 外围接口模块硬件电路功能描述步进电机是一种将脉冲信号变换成相应角位移或线位移的电磁装置,当有脉冲输入时步进电机一步一步的转动,每给一个脉冲信号,就转过一定的角度

5、。步进电动机的角位移量和输入脉冲的个数严格成正比,在时间上与输入脉冲同步,因此只要控制输入脉冲的数量、频率及电动机绕组通电的相序,便可获得所需的转角、转速及转动方向。ZLG7290B:ZLG7290B是数码管动态显示驱动、键键盘扫描管理芯片。能够驱动8位共阴极结构的LED数码管或64位独立的LED,同时还能扫描管理多达64个按键(S1-S56、F0-F7)的扫描识别。本实验用到了4个数码管显示方向和速度,两个按键S1,S2控制方向的改变。TLC549是被广泛应用的CMOS8位A/D转换器。该芯片有一个模拟输入端口,三态的数据串行输出接口可以方便地和微处理器或外围设备连接。TLC549仅仅使用输

6、入/输出时钟和芯片选择信号控制数据。本实验中通过电位器将连续的模拟的电阻值经过TLC549转换成8为二进制数字信号。五、 主程序中主要变量定义变量名称RAM单元/寄存器功能DATA130H显示缓冲区首地址20H相序首地址28HA/D转换数据滤波求和中的高八位29HA/D转换数据滤波求和中的低八位2AH-2DH读出的ZLG7290de 00H-03H数据存放地址2EH相序循环次数8FX2FH控制转向标志3CH相序列表中最后一个相序地址3DH相序列表中第一个相序地址3EH滤波结果存放地址3FHA/D转换结果存放地址六、系统软件中各个子程序的功能描述子程序名称入口参数出口参数功能 描述CFR3、R4

7、R3、R4将数据拆分为两位16进制数查表得对应字形码INT_7290R0、R7、R2、R3、R4R3、R4显示电机转动方向T1_INT3FHA控制电机转动速度ADZH无A模拟信号转换为数字信号BCD_CONTAR3、R416进制数转换为10进制数DELAYR0、R1R0、R1延时子程序使显示稳定RDADDR0,R2,R3,R4,R7R0到R0+7多字节读操作WRNBYTR0,R2,R3,R7无多字节写操作STA无无IC启动信号STOP无无IC停止信号MACK无无发送IC应答信号MNACK无无发送IC非应答信号CACK无F0IC应答检测WRBYTA无IC发送一个字节RDBYT无R2IC接收一个字

8、节七、主程序程序流程图T1_INT中断服务子程序八、程序清单;#ADC模块连线# DAT BIT P3.3 CLK BIT P3.4 CS BIT P3.5;#键盘控制模块连线# SDA BIT P1.4 SCL BIT P1.5 WSLA EQU 070H RSLA EQU 071H FX EQU 2FH ;将控制转向标志放在2FH单元 DATA1 EQU 30H ;变量缓冲区的首地址;* ORG 8000H LJMP 8100H ORG 8003H LJMP INT_7290 ;控制转向的中断服务程序 ORG 801BH LJMP T1_INT ;控制转速的中断服务程序;*; 初始化部分

9、;* ORG 8100HSTART: MOV SP,#60H CLR P1.7 ;7290复位 LCALL DELAY SETB P1.7 SETB EA ;开INT0中断 SETB EX0 SETB IT0 ;触发极性为下降沿 SETB ET1 ;开T1中断 SETB TR1 MOV TMOD,#10H ;设定定时器T1工作方式及初值 MOV TH1,#00H MOV TL1,#00H MOV 3DH,#20H MOV 3CH,#27H MOV 2EH,#08H MOV FX,#00H MOV 20H,#0F8H ;相序放在20H27H中 MOV 21H,#0FCH MOV 22H,#0F4

10、H MOV 23H,#0F6H MOV 24H,#0F2H MOV 25H,#0F3H MOV 26H,#0F1H MOV 27H,#0F9H;* MOV 34H,#0DAH MOV 35H,#0FCH ;用34H、35H显示FLAG;用30H31H显示ADC转换结果 MOV DATA1+7,#00H ;熄灭 MOV DATA1+6,#00H ;熄灭 MOV DATA1+3,#00H ;熄灭 MOV DATA1+2,#00H;*; 向7290B写入数据;*LOOP: LCALL ADZH ;数据滤波 LCALL BCD_CONT ;转换成十进制 MOV R7,#08H MOV R2,#10H

11、MOV R3,#WSLA MOV R0,#DATA1 LCALL WRNBYT ;调显示子程序 LCALL DELAY ;使显示稳定 SJMP LOOP ;*LEDSEG:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E4H ;0-7的字形码 DB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH ;8-F的字形码 DB 0FAH,1EH,12H,00H ;a,t,= 和熄灭码;*; 拆分程序(将A中的数据拆分为两个四位16进制数并查表); ( 结果在R4、R3中 ) ;*CF: PUSH 02H ;将A中的数据拆分为两个四位16进制数并查表 P

12、USH DPH PUSH DPL MOV DPTR,#LEDSEG MOV R2,A ANL A,#0FH MOVC A,A+DPTR MOV R3,A MOV A,R2 SWAP A ANL A,#0FH MOVC A,A+DPTR MOV R4,A POP DPL POP DPH POP 02H RET ;*; 中断服务程序 INT_7290:(INT0),显示FLAG值;* INT_7290: PUSH 00H PUSH 02H PUSH 03H PUSH 04H PUSH 07H PUSH ACC PUSH PSW MOV R0,#2AH ;状态数据区首址 MOV R7,#04H ;取

13、状态数据个数 MOV R2,#00H ;内部数据首地址 MOV R3,#WSLA ;取器件地址(写) MOV R4,#RSLA ;取器件地址(读) LCALL RDADD ;读出7290的00H-03H数据存于2AH-2DH NOP ;设定一个断点,以观察读出的4个数据 MOV FX,2BH ;取健值,存放在2BH内 MOV A,FX ;显示FLAG LCALL CF ;拆分、查表 MOV DATA1+4,R3 MOV DATA1+5,R4 POP PSW POP ACC POP 07H POP 04H POP 03H POP 02H POP 00H RETI;*; 中断服务程序 改变转向;*

14、T1_INT:PUSH 00H PUSH 01H MOV R0,3DH MOV R1,3CH MOV TL1,#00H MOV A,3FH ANL A,#0F0H MOV TH1,ALOOP1: MOV A,FX CJNE A,#01H,LOOP11 ;若FLAG=02H则跳转到LOOP11,左循环,逆时针 MOV A,R0 MOV P1,A INC 3DH SJMP LOOP12LOOP11: CJNE A,#02H,DO MOV A,R1 MOV P1,A DEC 3CHLOOP12:DJNZ 2EH,DO ;一个相序周期完成 MOV 2EH,#08H MOV 3DH,#20H MOV 3

15、CH,#27HDO: POP 01H POP 00H RETI;#ADC的相关子程序#ADZH: PUSH 00H PUSH 02HLOOP2: MOV R2,#0FFH LCALL TLC549_ADC MOV A,3FH MOV 29H,A MOV 28H,#00H ;放累加和高八位的内存单元28H清0LOOP20:LCALL TLC549_ADC CLR C ADD A,29H MOV 29H,A ;29H放低位 MOV A,#00H ADDC A,28H MOV 28H,A ;28H放高位 DJNZ R2,LOOP20 MOV 3EH,A ;将数据滤波的结果放在3EH中 POP 02H

16、 POP 00H RETTLC549_ADC: PUSH 07H CLR A CLR CLK MOV R7,#08H CLR CSLOOP3: SETB CLK MOV C,DAT RLC A CLR CLK DJNZ R7, LOOP3 MOV 3FH,A ;将ADC转换的结果放在3FH中 SETB CS CLR CLK POP 07H RET;*BCD_CONT: PUSH 07H PUSH 06H PUSH 05H PUSH 02H MOV A,3EH ANL A,#0F0H SWAP A MOV B,#0AH ;B中放入10 DIV AB MOV R6,A ;R6中得十位数 MOV R

17、5,B ;R5中得个位数 MOV A,R6 LCALL CF ;调拆分子程序(入口A出口R4,R3-字形码) MOV DATA1+1,R3 MOV A,R5 LCALL CF ;调拆分子程序(入口A出口R4,R3-字形码) MOV DATA1+0,R3 POP 02H POP 05H POP 06H POP 07H RET DELAY: PUSH 00H PUSH 01H MOV R0,#00HDELAY1:MOV R1,#00H DJNZ R1,$ DJNZ R0,DELAY1 POP 01H POP 00H RET;*;通用的I2C通讯子程序;相关子程序 WRBYT、STOP、CACK、S

18、TA;* WRNBYT:PUSH PSW PUSH ACC WRADD: MOV A,R3 ;取外围器件地地址(包含r/w=0) LCALL STA ;发送起始信号S LCALL WRBYT ;发送外围地址 LCALL CACK ;检测外围器件的应答信号 JB F0,WRADD ;如果应 MOV A,R2 LCALL WRBYT ;发送内部寄存器首地址 LCALL CACK ;检测外围器件的应答信号 JB F0,WRADD ;如果应答不正确返回重来 WRDA: MOV A,R0 LCALL WRBYT ;发送外围地址 LCALL CACK ;检测外围器件的应答信号 JB F0,WRADD ;如

19、果应答不正确返回重来 INC R0 DJNZ R7,WRDA LCALL STOP POP ACC POP PSW RET ;*;通用的I2C通讯子程序(多字节读操作);入口参数R7字节数;;R0目标数据块首地址;R2从器件内部子地址;;R3器件地址(写);R4器件地址(读);相关子程序 WRBYT、STOP、CACK、STA、MNACK ;* RDADD: PUSH PSW ;从PCF8563的02H单元读入7个参数 PUSH ACC ;存放于20H-26H单元 RDADD1:LCALL STA MOV A,R3 ;取器件地址(写) LCALL WRBYT ;发送外围地址 LCALL CAC

20、K ;检测外围器件的应答信号 JB F0,RDADD1 ;如果应答不正确返回重来 MOV A,R2 ;取内部地址 LCALL WRBYT ;发送外围地址 LCALL CACK ;检测外围器件的应答信号 JB F0,RDADD1 ;如果应答不正确返回重来 LCALL STA MOV A,R4 ;取器件地址(读) LCALL WRBYT ;发送外围地址 LCALL CACK ;检测外围器件的应答信号 JB F0,RDADD1 ;如果应答不正确返回重来RDN: LCALL RDBYT MOV R0,A DJNZ R7,ACK LCALL MNACK LCALL STOP POP ACC POP PS

21、W RETACK: LCALL MACK INC R0 SJMP RDN ;(3)I2C各个信号子程序;*; 启动信号子程序S ;*STA: SETB SDA ;启动信号S SETB SCL NOP ;产生4.7US延时 NOP NOP NOP NOP CLR SDA NOP ;产生4.7US延时 NOP NOP NOP2.环境影响评价的概念 NOP CLR SCL(三)环境价值的定义 RET (2)评价范围。根据评价机构专业特长和工作能力,确定其相应的评价范围。;*; 停止信号子程序P ;*发现规划环境影响报告书质量存在重大问题的,审查时应当提出对环境影响报告书进行修改并重新审查的意见。ST

22、OP: CLR SDA ;停止信号P SETB SCL(2)生产、储存危险化学品(包括使用长输管道输送危险化学品)的建设项目; NOP ;产生4.7US延时 NOP二、建设项目环境影响评价 NOP(二) 环境影响经济损益分析的步骤 NOP一、环境影响评价的发展与管理体系、相关法律法规体系和技术导则的应用 NOP SETB SDA1.建设项目环境影响评价机构的资质管理 NOP ;产生4.7US延时 NOP NOP8.编制安全预评价报告 NOP NOP CLR SCL CLR SDA RET ;*; 应答信号子程序 MACK;*MACK: CLR SDA ;发送应答信号ACK SETB SCL NOP ;产生4.7US延时 NOP NOP NOP NOP CLR SCL SETB SDA RET;*; 非应答法信号子程序MNACK;*MNACK: SETB SDA ;发送非应答

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1