基于单片机控制的数控XY工作台系统设计毕业设计.docx

上传人:b****8 文档编号:29741772 上传时间:2023-07-26 格式:DOCX 页数:119 大小:1.27MB
下载 相关 举报
基于单片机控制的数控XY工作台系统设计毕业设计.docx_第1页
第1页 / 共119页
基于单片机控制的数控XY工作台系统设计毕业设计.docx_第2页
第2页 / 共119页
基于单片机控制的数控XY工作台系统设计毕业设计.docx_第3页
第3页 / 共119页
基于单片机控制的数控XY工作台系统设计毕业设计.docx_第4页
第4页 / 共119页
基于单片机控制的数控XY工作台系统设计毕业设计.docx_第5页
第5页 / 共119页
点击查看更多>>
下载资源
资源描述

基于单片机控制的数控XY工作台系统设计毕业设计.docx

《基于单片机控制的数控XY工作台系统设计毕业设计.docx》由会员分享,可在线阅读,更多相关《基于单片机控制的数控XY工作台系统设计毕业设计.docx(119页珍藏版)》请在冰豆网上搜索。

基于单片机控制的数控XY工作台系统设计毕业设计.docx

基于单片机控制的数控XY工作台系统设计毕业设计

基于单片机控制的数控X-Y工作台系统设计毕业设计

前言

本次毕业设计的选题为基于单片机控制的数控X-Y工作台系统设计——插补部分。

X-Y数控工作台是许多机电一体化设备的基本部件,通常由导轨座、滑动模块、工作平台、滚珠丝杠螺母副,以及步进电机的部件构成。

控制系统可选用标准的工业控制计算机,也可设计专用的微机控制系统。

本设计用AT89C52组成专用单片机控制系统,从键盘输入G代码后,能通过直线插补和圆弧插补,完成平面轮廓加工。

通过正确的运用大学四年学到的知识完成本次毕业设计,可以更好的掌握有关机电一体化系统的设计过程和单片机的编程思想。

通过该设计使自身具有一定的系统化编程思想和能力,能够独立完成项目的设计。

研究技术路线:

1.单片机输入/输出端口;2.单片机的中断系统;3.单片机的定时/计数器;4.C语言顺序与选择结构程序设计;5.C语言循环结构程序设计;6.C语言数据类型运算符、数组、函数、指针的运用与设计;7.C语言程序设计编译预处理;8.在PROTEUS中进行系统的调试与仿真。

1X-Y数控工作台设计简介

1.1X-Y数控工作台总体方案分析

总体方案图如图1-1所示:

图1-1X-Y数控工作台总体方案图

X-Y数控工作台是实现平面X、Y坐标运动的典型关键部件,能够分别沿X向和Y向移动。

本次设计的X-Y数控工作台选用的是微机控制系统(AT89C52单片机),在基于AT89C52单片机的原理上设计了一个小型的微机控制系统,运用C51编程将控制信号送到执行器件(X和Y向步进电动机),通过机械传动机构(齿轮减速和丝杆传动),带动机械执行机构(工作台)做X向和Y向的运动;实现四象限单坐标快速定位,双坐标直线、圆弧插补等功能;最终选择通过Proteus与Keil联机对设计的电路以及程序进行仿真、

1.2仿真开发环境Proteus简介

ProteusISIS是美国Labcenter公司开发的电路分析与实物仿真软件。

它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:

①实现了单片机仿真和SPICE电路仿真相结合。

具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。

②支持主流单片机系统的仿真。

目前支持的单片机类型有:

68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。

③提供软件调试功能。

在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeilμVision2等软件。

④具有强大的原理图绘制功能[1]。

1.3程序开发环境KeilμVision2简介

μVision2是一个标准的Windows应用程序,支持长文件名操作,其界面类似于MSVisualC++,可以再Windows95/98/2000/XP平台上运行,功能十分强大。

它支持所有的KEIL8051工具,包括C编译器、宏汇编器、连接/定位器、目标代码到HEX的转换器。

采用KeilC51开发8051单片机应用程序一般需要以下步骤:

①在μVision2集成开发环境中创建一个新项目文件(Project),并为该项目选定合适的单片机CPU器件。

②利用μVision2的文件编辑器编写C语言(或汇编语言)源程序文件,并将文件添加到项目中去。

一个项目可以包含多个文件,除源程序文件外还可以有库文件或文本说明文件。

③通过μVision2的各种选项,配置51编译器、A51宏编译器、BL51连接定位器以及Debug调试器的功能。

④利用μVision2的构造(Build)工功能对项目中的源程序文件进行编译连接,生成绝对目标代码和可选的HEX文件。

如果出现编译连接错误则返回第2步,修改源程序中的错误后重新构造整个项目。

⑤将没有错误的绝对目标代码装入μVision2调试器进行仿真调试,调试成功后将HEX文件写入到单片机应用系统的EPROM中[2]。

2X-Y数控工作台机械部件功能分析

2.1步进电动机的工作原理

步进电动机又叫脉冲电动机,它是一种将电脉冲信号转换为角位移的机电式数模(D/A)转换器。

在开环数字程序控制系统中,输出控制部分常采用步进电动机作为驱动元件。

步进电动机控制线路接受微机发来的指令脉冲,控制步进电动机作相应地转动,从而是步进电动机驱动数控系统的工作台。

很明显,指令脉冲的总数就决定了数控系统的工作台的总移动量,指令脉冲的频率就决定了移动的速度[3]。

步进电动机的工作就是步进转动。

在一般的步进电动机工作中,其电源都是采用单极性的直流电源。

要使步进电动机转动,就必须对步进电动机定子的各项绕组以适当的时序进行通电。

图2-1四相步进电机步进示意图

图2-1为四相步进电动机步进示意图。

开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。

当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。

而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。

依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。

2.2步进电动机的工作方式

步进电动机可工作于单相通电方式,也可工作于双相通电方式和单相、双相交叉通电方式。

选用不同的工作方式,可使步进电动机具有不同的工作性能,如减小步距、提高定位精度和工作稳定性等。

本系统选用的步进电动机是四相八拍工作方式,四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。

单四拍与双四拍的步距角相等,但单四拍的转动力矩小。

八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。

图2-2给出了三种工作方式下四相步进电动机的波形图,从图中我们可以清晰的看到四相八拍步进电动机的通电相序为:

A→AB→B→BC→C→CD→D→DA→A→AB→B→…。

图2-2四相步进电动机三种工作方式下的工作波形图

3X-Y数控工作台硬件电路分析

3.1控制系统微控制器AT89C52

3.1.1AT89C52单片机的主要工作特性

•8031CPU(8051的内核);

•8KB的快速擦写Flash存储器,用于程序存储器,可擦写次数为1000次;

•256字节的RAM,其中高128字节地址被特殊功能寄存器SFR占用;

•32跟可编程I/O端口:

P0、P1、P2、P3;

•2个可编程16位定时器:

P3口的第二功能;

•具有6个中断源、5个中断矢量、二级优先权的中断系统;

•1个数据指针DPTR;

•1个可编程的全双工串行通信:

P3口的第二功能;

•具有“空闲”和“掉电”两种低功耗工作方式;

•可编程的3级程序锁定位;

•工作电源的电压为(5±0.2)V;

•振荡器最高频率为24MHz;

•编程频率3~24MHz,编程电流1mA,编程电压Vpp为5V或12V。

•P1.0口的T2为定时器/计数器,P1.1口的T2EX为具有捕捉/重装操作的定时器/计数器[4]。

3.1.2AT89C52单片机的内部结构

AT89C52单片机的内部结构如图3-1所示。

可分为四大部分:

内核CPU部分、存储器部分、I/O接口部分和特殊功能部分(如定时器/计数器、外中断控制模块等)。

(1)AT89C52单片机的CPU

AT89C52单片机的CPU是8位字长,主要包括运算器和控制器两部分。

运算器的功能是进行算术逻辑运算、位处理操作和数据的传送,主要包括:

算术/逻辑运算单元(ALU)运算器的核心部件,用来完成基本的算术运算、逻辑运算和位处理操作。

AT89C52具有极强的“位”处理功能,可以进行加、减、乘、除、与、或、非、异或、左移、右移、半字节交换、BCD码运算、位处理、位检测等运算和操作;

暂存器TMP1和TMP2作为ALU的两个输入,暂时存放参加运算的数据;

累加器ACC是一个8位寄存器;

寄存器B,执行乘法或除法指令前,寄存器B用来存放乘数或除数,ALU的另外一个输入来自于ACC,乘法或除法指令执行完成后,寄存器B用来存放乘积的高8位或除法的余数;执行非乘法或除法指令时,寄存器B可以作为一般用途的寄存器使用;

程序状态字寄存器PSW是一个8位的标志寄存器,用来存放当前指令执行后的有关状态,为以后指令的执行提供状态依据,因此一些指令的执行结果会影响PSW的相关状态标志;PSW中各位的状态通常在指令执行过程中自动生成,同时AT89C52单片机的PSW是可编程的,通常程序可以改变PSW中各位的状态标志。

程序状态字PSW各位的状态标志定义如图3-2和表3-1所示;

图3-1AT89C52单片机原理结构图

图3-2PSW各位的状态标志

表3-1PSW各位的定义

状态标志

定义

含义

CY

高位进位标志

若当前执行指令的运算结果产生进位或借位,该标志被置成CY=1;否则CY=0。

AC

辅助进位标志位

又称为半字节进位标志位,在执行加减指令时,如果低半字节向高半字节产生进位或借位,则AC=1,否则AC=0。

F0

用户标志位

用户标识位。

有用户根据需要进行置位、清零或检测。

RS1、RS0

工作寄存器组选择位

工作寄存器组选择位。

00时为工作寄存器0组,01时为工作寄存器1组,10时为工作寄存器2组,11时为工作寄存器3组

OV

溢出标志位

所谓溢出是指运算结果数值的绝对值超过了允许表示的最大值,执行运算指令时,如果运算结果超出了目的寄存器A所能够表示的符号数的范围(-128~+127),硬件自动置位溢出标志位,即OV=1;否则OV=0。

-

保留位

保留位,无意义。

P

奇偶校验标志位

奇偶效验标志位。

用来指示累加其中内容的奇偶性,该位始终跟踪指示累加器中1的个数,硬件自动置1或清0.若逻辑运算后累加其中1的个数为偶数,则P=0;否则P=1.常用于效验串行通信中数据传送是否正确。

CPU中控制器是控制读取指令,识别指令并根据指令的性质协调、控制单片机个组成部件有序工作的重要部件,是CPU乃至整个单片机的中枢神经。

控制器由程序计数器PC、指令寄存器IR、指令译码器ID、堆栈指针SP、数据指针DPTR、定时及控制逻辑电路等组成。

控制器的主要功能是控制指令的读入、译码和执行,并对指令的执行过程进行定时和逻辑控制。

根据不同的指令协调单片机各个单元有序工作。

图3-3存储器空间分布图

(2)AT89C52单片机的存储器

AT89C52单片机芯片内配置有8KB(0000H~1FFFH)的Flash程序存储器ROM和256字节(00H~FFH)的数据存储器RAM,根据需要可外扩到最大64KB的程序存储器和64KB的数据存储器,因此AT89C52的存储器结构可分为4部分:

片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器(见图3-3)。

本次设计选用最小系统设计单片机,即不扩展,AT89C52的存储器结构较为简单:

只有单片机自身提供的8KBFlash程序存储器ROM和256字节数据存储器RAM。

使用时,引脚

要提高电平(5V),这时,复位后CPU从片内ROM区的0000H单元开始读取指令代码,一直运行到1FFFH单元。

如图1.6所示,虚线框内左侧为片内自带的数据存储器RAM,此256字节单元(00H~FFH)的低128字节(00H~7FH)单元为用户使用去,高128字节(80H~FFH)单元为特殊功能寄存器SFR区。

片内寄存器的00H~7FH区又划分成3块:

00H~1FH块是工作寄存器所用;20H~2FH块石有位寻址功能的单元区;30H~7FH是普通RAM区。

工作寄存器又分为4组,在当前的运行程序中只有某一组是被激活的,谁被激活由程序状态寄存器PSW的RS1、RS0两位决定,如表3-2所列。

如表3-3所列出了特殊功能寄存器SFR的名称、符号和地址。

在程序设计中,可直接用寄存器名作为寄存器的符号地址使用。

图3-4片内数据寄存器的结构

表3-2工作寄存器激活地址表

组号

RS1(PSW.4)

RS1(PSW.3)

R0

R1

R2

R3

R4

R5

R6

R7

0

0

0

00H

01H

02H

03H

04H

05H

06H

07H

1

0

1

08H

09H

0AH

0BH

0CH

0DH

0EH

0FH

2

1

0

10H

11H

12H

13H

14H

15H

16H

17H

3

1

1

18H

19H

1AH

1BH

1CH

1DH

1EH

1FH

表3-3特殊功能寄存器SFR

特殊功能寄存器

功能名称

物理地址

可否位寻址

B

寄存器B

F0H

可以

A(ACC)

累加器

E0H

可以

PSW

程序状态寄存器(标志寄存器)

D0H

可以

IP

中断优先级控制寄存器

B8H

可以

P3

P3口锁存器

B0H

可以

IE

中断允许控制寄存器

A8H

可以

P2

P2口锁存器

A0H

可以

SBUF

串行数据缓冲器

99H

不可以

SCON

串行接口控制寄存器

98H

可以

P1

P1口锁存器

90H

可以

TH1

T1计数器高8位寄存器

8DH

不可以

TH0

T0计数器高8位寄存器

8CH

不可以

TL1

T1计数器低8位寄存器

8BH

不可以

TL0

T0计数器低8位寄存器

8AH

不可以

TMOD

定时器/计数方式控制寄存器

89H

不可以

TCON

定时器控制寄存器

88H

可以

PCON

电源控制寄存器

87H

不可以

DPH

数据指针高8位

83H

不可以

DPL

数据指针低8位

82H

不可以

SP

堆栈指针寄存器

81H

不可以

P0

P0口锁存器

80H

可以

(3)AT89C52单片机的I/O接口

AT89C52单片机内部集成了4个可编程的并行I/O接口(P0~P3),每个接口电路都有锁存器和驱动器,输入接口电路具有三态门控制。

P0~P3口同RAM统一编址,可以当作特殊功能寄存器SFR来寻址。

AT89C52单片机可以利用其I/O接口直接与外围电路相连,使用时,P0~P3口在开机或复位时均呈高电平。

AT89C52单片机的并行I/O接口有以下应用特性:

P0、P1、P2、P3作为通用I/O口使用时,输入操作是读引脚状态;输出操作是对口的锁存器的写入操作,锁存器的状态立即反映到引脚上。

P1、P2、P3口作为输出口时,由于电路内部带上拉电阻,因此无需外接上拉电阻,而P0口由于内部无上啦电阻,因此使用它时,必须外接上拉电阻。

P0、P1、P2、P3作为通用的输入口时,必须使电路中的锁存器写入高电平“1”,使场效应管(FET)VF1截止,以避免锁存器输出为“0”时场效应管VF1导通使引脚状态始终被钳位在“0”状态。

I/O口功能的自动识别。

无论是P0、P2口的总线复用功能,还是P3口的第二功能复用,单片机会自动选择,不需要指令选择。

两种读端口的方式。

包括端口锁存器的“读—改—写”操作和读引脚的操作。

在单片机中,有些指令是读端口锁存器的,如一些逻辑运算指令、置位/复位指令、条件转移指令以及将I/O口作为目的地址的操作指令;有些指令是读引脚的,如以I/O口作为源操作数的指令。

I/O口的驱动特性。

P0口每一个I/O口可驱动8个LSTTL输入,而P1、P2、P3口每一个I/O口可驱动4个LSTTL输入。

(4)AT89C52单片机的特殊功能部分

AT89C52单片机内部集成有定时器/计数器、串行通信控制器、外部中断控制器等特殊功能部件,从而使AT89C52单片机具有定时/计数功能、全双工串行通信功能、实现对外部事件实时响应的中断处理功能。

以下将重点介绍定时器/计数器以及外部中断控制器等特殊功能部件,因为本设计中,会重复多次使用到这些特殊功能部件。

AT89C52单片机内部设有两个16位的可编程定时器/计数器,即定时器/计数器0和定时器/计数器1,以及一个可编程定时器/计数器2;控制寄存器TCON见表3-4,方式控制寄存器TMOD表3-5,其相应标志位的功能及编程时的使用方法见表3-6、3-7。

表3-4控制寄存器TCON

D7

D6

D5

D4

D3

D2

D1

D0

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0

表3-5方式控制寄存器TMOD

T/C1

T/C0

D7

D6

D5

D4

D3

D2

D1

D0

GATE

C/

M1

M0

GATE

C/

M1

M0

表3-6特殊功能寄存器标志位的功能

特殊功能寄存器

标志位

定义和功能

计数寄存器

TH1

T1计数器高8位寄存器

TH0

T0计数器高8位寄存器

TL1

T1计数器低8位寄存器

TL0

T0计数器低8位寄存器

控制寄存器TCON

TF1

T/C1的溢出标志,溢出时由硬件置1,进入中断后又由硬件自动清0

TR1

T/C1的启动和停止位,由软件控制。

置1时启动T/C1;清0时停止T/C1。

TF0

T/C0的溢出标志,溢出时由硬件置1,进入中断后又由硬件自动清0

TR0

T/C0的启动和停止位,由软件控制。

置1时启动T/C1;清0时停止T/C1。

方式控制寄存器TMOD

GATE

当GATE位置1时,T/C0受到双重控制;只有

为高电平且TR0位置1时T/C0才开始工作;当GATE位清0时,T/C0仅受到TR0的控制。

C/

当该位置1时工作在计数器方式,清0时工作在定时器方式

M1&M0

用来选择操作模式(见表1.7)

表3.7操作模式

M1M0

操作模式

计数器配置

00

模式0

13位计数器

01

模式1

16位计数器

10

模式2

自动重装载的8位计数器

11

模式3

T0分为两个8位计数器,T1停止计数

AT89C52有6个固定的可屏蔽中断源,它们分别是两个外部中断

(P3.2)和

(P3.3),三个片内定时器/计数器溢出中断TF0、TF1和TF2,一个片内串行口中断TI或RI。

6个中断源有两个中断优先级,可形成中断嵌套,并在程序存储器中各有固定的中断入口地址。

6个中断源的符号、名称及产生的条件如下:

外部中断0,由P3.2端口线引入,低电平或下降沿引起。

外部中断1,由P3.3端口线引入,低电平或下降沿引起。

T0:

定时器/计数器0中断,由T0计满回零引起。

T1:

定时器/计数器1中断,由T1计满回零引起。

TI/RI:

串行I/O中断,串行端口完成一帧字符发送/接受后引起中断。

T2:

定时器/计数器2中断,由T2计满回零引起。

下面将对本次设计中使用到的中断控制其专用寄存器进行分析,由于上述已对定时器/计数器0、1控制寄存器TCON做了分析,在此不做重复介绍;中断允许控制寄存器IE见表3-8,中断优先级控制寄存器IP见表3-9,其相应标志位的功能及编程时的使用方法见表3-10;表3-11为中断服务程序的入口地址。

表3-8中断允许控制寄存器IE

D7

D6

D5

D4

D3

D2

D1

D0

EA

 

ET2

ES

ET1

EX1

ET0

EX0

表3-9中断优先级控制寄存器IP

D7

D6

D5

D4

D3

D2

D1

D0

PT2

PS

PT1

PX1

PT0

PX0

表3-10中断控制专用寄存器标志位的功能

特殊功能寄存器

标志位

定义和功能

控制寄存器TCON

IE1

外部中断请求标志位。

当CPU检测到INT1低电平或下降沿且IT1=1时,由内部硬件置位IE1标志位(IE1=1),向CPU请求中断,当CPU响应中断并转向该中断服务程序执行时,由硬件内部自动将IE1清0。

TR0

外部中断请求标志位。

当CPU检测到INT0低电平或下降沿且IT0=1时,由内部硬件置位IE0标志位(IE0=1),向CPU请求中断,当CPU响应中断并转向该中断服务程序执行时,由硬件内部自动将IE0清0。

IT1

用软件置位/复位IT1来选择外部中断INT1是下降沿触发还是电平触发中断请求。

IT0

用软件置位/复位IT0来选择外部中断INT0是下降沿触发还是电平触发中断请求。

中断允许控制寄存器IE

EA

中断总控制位。

EA=1,CPU开中断,它是CPU是否响应中断的前提;EA=0,无论哪个中断源有请求,CPU都不予以响应。

ET2

定时器/计数器T2中断控制位,ET2=1,允许T2计数溢出中断;ET2=0,禁止T2中断。

ES

串行口中断控制位,ES=1,允许串行口发送/接受中断;ES=0,禁止串行口中断。

ET1

定时器/计数器T1中断控制位,ET1=1,允许T1计数溢出中断;ET1=0,禁止T1中断。

EX1

外部中断1控制位,EX1=1,允许中断;EX1=0,禁止外部中断1中断。

ET0

定时器/计数器T0中断控制位,ET0=1,允许T0计数溢出中断;ET0=0,禁止T0中断。

EX0

外部中断0控制位,EX0=1,允许中断;EX0=0,禁止外部中断0中断。

中断优先级控制寄存器IP

PT2

T2中的优先级控制位,PT2=1,设定定时器T2为高优先级中断;PT2=0为低优先级中断。

PS

串行口中断优先级控制位。

PS=1设定串行口为高优先级中断;PS=0为低优先级中断

PT1

T1中断优先级控制位。

PT1=1设定定时器T1为高优先级中断;PT1=0为低优先级中断

PX1

外部中断1优先级控制位。

PX1=1设定定时器外部中断1为高优先级中断;PX1=0为低优先级中断。

PT0

T0中断优先级控制位。

PT0=1设定定时器T0为高优先级中断;PT0=0为低优先级中断。

PX0

外部中断0优先级控制位。

PX0=1设定定时器外部中断0为高优先级中断;PX0=0为低优先级中断。

表3-11中断服务程序的入口地址

符号

名称

中断引起原因

C51对应中断源的编号

INT0

外部中断0

P3.2引脚的低电平

0

INT1

外部中断1

P3.3引脚的低电平

1

T0

定时器0中断

定时器/计数器0计数回零溢出

2

T1

定时器1中断

定时器/计数器1计数回零溢出

3

TI/RI

串行口中断

串行通信完成一帧发送或接收引起中断

4

INT2

定时器2中断

定时器/计数器2计数回零溢出

5

3.1.3AT89C52单片机的各引脚功能

AT89C52单片机的引

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

当前位置:首页 > 经管营销 > 经济市场

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

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