完整51单片机汇编语言步进电机转速控制系统推荐文档Word格式文档下载.docx

上传人:b****6 文档编号:8592746 上传时间:2023-05-11 格式:DOCX 页数:18 大小:109.76KB
下载 相关 举报
完整51单片机汇编语言步进电机转速控制系统推荐文档Word格式文档下载.docx_第1页
第1页 / 共18页
完整51单片机汇编语言步进电机转速控制系统推荐文档Word格式文档下载.docx_第2页
第2页 / 共18页
完整51单片机汇编语言步进电机转速控制系统推荐文档Word格式文档下载.docx_第3页
第3页 / 共18页
完整51单片机汇编语言步进电机转速控制系统推荐文档Word格式文档下载.docx_第4页
第4页 / 共18页
完整51单片机汇编语言步进电机转速控制系统推荐文档Word格式文档下载.docx_第5页
第5页 / 共18页
完整51单片机汇编语言步进电机转速控制系统推荐文档Word格式文档下载.docx_第6页
第6页 / 共18页
完整51单片机汇编语言步进电机转速控制系统推荐文档Word格式文档下载.docx_第7页
第7页 / 共18页
完整51单片机汇编语言步进电机转速控制系统推荐文档Word格式文档下载.docx_第8页
第8页 / 共18页
完整51单片机汇编语言步进电机转速控制系统推荐文档Word格式文档下载.docx_第9页
第9页 / 共18页
完整51单片机汇编语言步进电机转速控制系统推荐文档Word格式文档下载.docx_第10页
第10页 / 共18页
完整51单片机汇编语言步进电机转速控制系统推荐文档Word格式文档下载.docx_第11页
第11页 / 共18页
完整51单片机汇编语言步进电机转速控制系统推荐文档Word格式文档下载.docx_第12页
第12页 / 共18页
完整51单片机汇编语言步进电机转速控制系统推荐文档Word格式文档下载.docx_第13页
第13页 / 共18页
完整51单片机汇编语言步进电机转速控制系统推荐文档Word格式文档下载.docx_第14页
第14页 / 共18页
完整51单片机汇编语言步进电机转速控制系统推荐文档Word格式文档下载.docx_第15页
第15页 / 共18页
完整51单片机汇编语言步进电机转速控制系统推荐文档Word格式文档下载.docx_第16页
第16页 / 共18页
完整51单片机汇编语言步进电机转速控制系统推荐文档Word格式文档下载.docx_第17页
第17页 / 共18页
完整51单片机汇编语言步进电机转速控制系统推荐文档Word格式文档下载.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

完整51单片机汇编语言步进电机转速控制系统推荐文档Word格式文档下载.docx

《完整51单片机汇编语言步进电机转速控制系统推荐文档Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《完整51单片机汇编语言步进电机转速控制系统推荐文档Word格式文档下载.docx(18页珍藏版)》请在冰点文库上搜索。

完整51单片机汇编语言步进电机转速控制系统推荐文档Word格式文档下载.docx

(MH)

其它特点

PROM

ROM

RAM

89C51

4K

128

2

32

1

6

24

低电压

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。

其引脚如图1.2所示。

图1.2单片机的引脚排列

管脚说明如下:

VCC:

供电电压GND:

接地

P0口:

8位漏级开路双向I/O口,每脚可吸收8TTL门电流;

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流;

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

P3口也可作为AT89C51的一些特殊功能口,如下所示:

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

/INT0(外部中断0)

P3.3

/INT1(外部中断1)

P3.4

T0(记时器0外部输入)

P3.5

T1(记时器1外部输入)

P3.6

/WR(外部数据存储器写选通)

P3.7

/RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

4.2ZLG7290B

ZLG7290B是数码管动态显示驱动、键盘扫描管理芯片。

接口采用I2C结构。

内部寄存器有13个单元00H-0DH:

1)系统寄存器(地址00H),第0位称作按键有效位,为1表示按键按下,为0表示没有按键操作,并且有按键按下的时候在ZLG7290B的/INT引脚会产生一个低电平的中断请求信号。

2)键值寄存器(地址01H),如果按下的是普通键,键值寄存器就保存按键对应的兼职(1-56)。

3)连击计数器(02H),就是芯片为普通键提供的一种连击计数功能,当按下某一按键就可以产生连续的中断请求信号。

4)功能键值寄存器(地址03H),功能按键不产生键值,但是在按下和抬起都会产生中断请求信号。

5)命令寄存器(地址07H和08H),向命令寄存器送入相关的控制命令可以实现段寻址,下载显示数据和控制闪烁等功能。

6)闪烁控制寄存器(地址0HCH),闪烁控制寄存器决定闪烁的频率和占空比。

7)扫描位数寄存器(地址0DH),扫描位数寄存器决定着ZLG7290B动态扫描显示的位数,取值0-7,对应的显示1-8位。

8)显示缓冲寄存器(地址10H-17H),八个显示缓冲寄存器直接决定着数码管上显示的字形和显示的位置。

ZLG7290B的引脚图如下:

图1.3.ZLG7290B引脚逻辑图

4.3步进电机

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。

这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。

使得在速度、位置等控制领域用步进电机来控制变的非常的简单。

(一)步进电机的静态指标术语

1、相数:

产生不同对N、S磁场的激磁线圈对数。

常用m表示。

2、拍数:

完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数。

3、步距角:

对应一个脉冲信号,电机转子转过的角位移用θ表示。

(二)步进电机动态指标及术语:

1、最大空载起动频率:

电机在某种驱动形式、电压及额定电流下,在不加负载的情况下,能够直接起动的最大频率。

2、最大空载的运行频率:

电机在某种驱动形式,电压及额定电流下,电机不带负载的最高转速频率。

3、电机正反转控制:

当电机绕组通电时序为D-DC-C-CB-B-BA-A-AD时为正转,通电时序为AD-A-AB-B-BC-C-CD-D时为反转。

如下所示的步进电机为一四相步进电机,采用单极性直流电源供电。

只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。

图1.4是该四相反应式步进电机工作原理示意图。

图1.4 

四相步进电机步进示意图

5主程序中主要变量定义

变量名称

RAM单元/寄存器

功能

SDA

IIC数据总线

SCL

IIC时钟线

RST

IIC复位线

BA

P1.0

步进电机驱动

BB

P1.1

BC

P1.2

BD

P1.3

WSLA

70H

取器件地址(写)

RSLA

71H

取器件地址(读)

DISDA

20H

源数据块首地址

DISCON

08H

写入数据个数

DATA_1

30H

变量区首地址

6系统软件中各个子程序的功能描述

子程序名称

入口参数

出口参数

功能描述

INT_7290

A

按键中断

TI_INT

定时器中断

CF

R3、R4

拆分,高4位存在R4中,低4位存在R3中

DELAY

步进电机相旋转邻角延时;

按键抖动消除延时

RDKEY

读出键值

SHOW

将当前10H-17H的字形码输出

WRNBYT

R7,R0,R2,R3

通用的IIC通讯子程序(多字节写操作)

RDADD

R7,R0,R2,R3,R4

R0指向的主器件内部数据块

通用的IIC通讯子程序(多字节读操作)

6主程序程序流程图

7程序清单

SDABITP3.3

SCLBITP3.4

RSTBITP3.5

BABITP1.0

BBBITP1.1

BCBITP1.2

BDBITP1.3

WSLAEQU70H

RSLAEQU71H

DISDAEQU20H

DISCONEQU08H

DATA_1EQU30H

ORG8000H

LJMP8100H

ORG8003H

LJMPINT_7290

;

按键中断入口地址

ORG801BH

LJMPTI_INT

;

定时器中断入口地址

ORG8100H

********主程序开始*************

INT0实现按键中断,INT1用于定时器

*******************************

START:

MOVSP,#60H

CLRRST;

复位

LCALLDELAY

SETBRST

SETBEA

SETBEX0

CLRIT0;

开INT0中断

SETBPX0;

高优先级

MOVTMOD,#10H;

定时器1设

为模式1

MOVTH1,#00H

MOVTL1,#00H

SETBET1;

开INT1中断

SETBTR1

CLRA

SETBF0;

初始标识位

MOVR1,#10H;

节拍初始

MOVR5,#08H

相序表

MOV10H,#08H;

D正转

MOV11H,#0CH;

DC

MOV12H,#04H;

C

MOV13H,#06H;

CB

MOV14H,#02H;

B

MOV15H,#03H;

MOV16H,#01H;

MOV17H,#09H;

AD

MOV18H,#09H;

AD反转

MOV19H,#01H;

MOV1AH,#03H;

AB

MOV1BH,#02H;

B

MOV1CH,#06H;

MOV1DH,#04H;

MOV1EH,#0CH;

CD

MOV1FH,#08H;

D

建立变量缓冲区(30H~37H)

显示SPEED=00

MOVDATA_1,#00H

MOVDATA_1+1,#00H

MOVDATA_1+2,#12H

MOVDATA_1+3,#17H

MOVDATA_1+4,#16H

MOVDATA_1+5,#16H

MOVDATA_1+6,#15H

MOVDATA_1+7,#14H

通过查表建立显示缓冲区

(20H~27H)

*******************************MOVDPTR,#LEDSEG

MOVR7,#DISCON

MOVR0,#DISDA

MOVR1,#DATA_1

LOOP1:

MOVA,@R1

MOVCA,@A+DPTR

MOV@R0,A

INCR1

INCR0

DJNZR7,LOOP1

写入数据

*******************************LOOP:

MOVR7,#DISCON

MOVR2,#10H

MOVR3,#WSLA

MOVR0,#DISDA

LCALLWRNBYT

LCALLDELAY

SJMP$;

等待中断

字形码

LEDSEG:

DB0FCH,60H,0DAH,0F2H

DB66H,0B6H,0BEH,0E4H

DB0FEH,0F6H,0EEH,3EH

DB9CH,7AH,9EH,8EH

DB0FAH,1EH,12H,00H

DB0B6H,0CEH,0DEH,7AH;

SPED

选择相速(INT1)

*******************************TI_INT:

PUSHACC

MOVA,29H;

判断键值

J0:

CJNEA,#00H,J1

MOVTH1,#00H

MOVTL1,#00H

SETBF0

F0高电平正转

SJMPOUTPUT;

输出步进

J1:

CJNEA,#01H,J2

MOVTL1,#00H;

档1

SETBF0

SJMPOUTPUT

J2:

CJNEA,#02H,J3

MOVTH1,#60H

MOVTL1,#60H;

档2

不同按键设置不同速度,

正反转各设四档

SJMPOUTPUT

J3:

CJNEA,#03H,J4

MOVTH1,#90H

MOVTL1,#90H;

档3

J4:

CJNEA,#04H,J5

MOVTH1,#0D0H

MOVTL1,#0D0H;

档4

J5:

CJNEA,#05H,J6

CLRF0

J6:

CJNEA,#06H,J7

J7:

CJNEA,#07H,J8

J8:

OUTPUT:

MOVA,P1;

步进电机转

ANLA,#0FH;

取低四位

MOVA,@R1

MOVP1,A

INCR1

DJNZR5,OUT

JBF0,CWISE;

判断正/反

MOVR1,#18H;

反转

SJMPNUM

CWISE:

MOVR1,#10H;

正转

NUM:

MOVR5,#08H

OUT:

POPACC

RETI

*******************************;

拆分

CF:

PUSH02H

PUSHDPH

PUSHDPL

MOVDPTR,#LEDSEG

MOVR2,A

ANLA,#0FH

MOVCA,@A+DPTR

MOVR3,A;

存低4位

MOVA,R2

SWAPA

MOVR4,A;

存高4位

POPDPL

POPDPH

POP02H

RET

延时程序

DELAY:

PUSH00H

PUSH01H

MOVR0,#00H

DELAY1:

MOVR1,#00H

DJNZR1,$

DJNZR0,DELAY1

POP01H

POP00H

7290中断

INT_7290:

PUSH00H

PUSH02H

PUSH03H

PUSH04H

PUSH07H

PUSHACC

PUSHPSW

LCALLDELAY;

按键消抖

LCALLRDKEY;

读键值

NOP;

用于观察读入键值

CJNEA,#10H,AKEY1

PANDUAN:

SETBPT1;

标志位

CLRPX0

交换优先级,用于停止后再继续工作

AKEY:

JBP3.2,$;

查询LCALLDELAY

LCALLRDKEY

CJNEA,#0AH,AKEY1

SJMPPANDUAN

AKEY1:

JCINPUT

此时为档速设定键

SJMPRESTART

INPUT:

CJNEA,#05H,NEXT;

判断正/反转

NEXT:

JNCWISE

LCALLCF

MOV20H,R3

MOV21H,R4

MOV21H,#0FCH

0,正转表示

SJMPOVER

WISE:

SUBBA,#04H

MOV20H,R3

MOV21H,R4

MOV21H,#60H

1,反转表示

RESTART:

LCALLCF

MOV21H,R4

OVER:

LCALLSHOW

SETBPX0

重新将INT0的优先级置高

POPPSW

POP07H

POP04H

POP03H

POP02H

RETI

读键值

RDKEY:

MOVR0,#28H

MOVR7,#04H

MOVR2,#00H

MOVR3,#WSLA

MOVR4,#RSLA

LCALLRDADD

MOVA,29H

RET

显示程序

SHOW:

MOVR7,#02H

MOVR2,#10H

MOVR3,#WSLA

MOVR0,#DISDA

LCALLWRNBYT

LCALLDELAY

*****************************

通用的I2C通讯子程序(略)

*****************************

END

8系统调试运行结果说明、分析所出现得问题,设计体会与建议

8.1系统调试运行结果

运行程序后,LED显示屏上显示“speed=00”。

按下对应按键后,LED显示屏与步进电机状态如下表所示。

按键

LED显示屏

步进电机

无(初始化)

speed=00

初始速度

S1

speed=01

正转档1

S2

speed=02

正转档2

S3

speed=03

正转档3

S4

speed=04

正转档4

S5

speed=11

反转档1

S6

speed=12

反转档2

S7

speed=13

反转档3

S8

speed=14

反转档4

S10(复位键)

S16(停止键)

speed=**(当前步进电机转速与旋转方向)

停止

8.2实验出现问题分析

●问题一:

加入定时器后,LED显示屏无法正常显示

●解决方法:

改变7290连线从P1.4~P1.7至P3.2~P3.5。

单步调试,注意中断优先级的设定。

等待中断的指令应为SJMP$

●问题二:

7290中断键值读入后,键值被改变

在调用的子程序中,CF、RDKEY、TI_INT中对A进行保护。

●问题三:

步进电机停止后无法重启

在比较停止键的键值后,改变按键中断INT0与定时器中断INT1的优先级。

定时器中断设为高优先级,按键中断设为低优先级。

●问题四:

步进电机停止后,LED显示屏上无法显示当前步进电机转速与旋转方向

当步进电机停止后,调用拆分子程序,显示子程序显示当前步进电机转速与旋转方向。

8.3设计体会与建议

本次设计时出现了许多小问题,在解决时需要仔细单步调试,观察各寄存器存储数值的变化。

程序里有外部中断和定时器中断,需要处理好优先级关系。

单片机的综合设计实验涉及以前学过的多方面知识,是对个人能力一个很好的提高。

期望以后能有更多的选题。

9结论及设计体会

本实验基本完成设计要求。

在完成设计的过程中,遇到不少问题,一一解决后,收获颇深。

单片机的语言和汇编语言很相似,因此借助以前的知识可以很快上手,但是51单片机使用更方便,应用也更广。

许多知识只有实践后才能真正了解,作为工科生,多实践,在实践中多思考,善于发现。

正如此次51单片机调试的过程,单步调试找出问题所在,分析原因,就能快速改正错误了。

参考文献

MCS-51单片机应用实验教程陈育斌主编

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 成人教育 > 成考

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2