MCS51单片机课程设计基于单片机的步进电机控制系统.doc_第1页
MCS51单片机课程设计基于单片机的步进电机控制系统.doc_第2页
MCS51单片机课程设计基于单片机的步进电机控制系统.doc_第3页
MCS51单片机课程设计基于单片机的步进电机控制系统.doc_第4页
MCS51单片机课程设计基于单片机的步进电机控制系统.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

本文由灰太狼科技贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 数理与信息工程学院单片机原理与应用期末学期课程设计 数理与信息工程学院 单片机原理及应用期末学期课程设计 单片机原理及应用期末学期课程设计 题 目: 基于单片机的步进电机控制系统 专 业: 电子信息工程 班 级: 电信 041 班 姓 名: 学 号: 指导老师: 指导老师: 成 绩: (2007.1) 1 数理与信息工程学院单片机原理与应用期末学期课程设计 目 第1章 1.1 录 .3 引 言.3 步进电机控制系统概述.3 1.2 本设计任务和主要内容4 第2章 2.1 22 系统主要硬件电路设计. 系统主要硬件电路设计.5 硬件电路设计 单片机控制系统原理.5 单片机主机系统电路5 2.2.1 时钟电路6 2.2.2 复位电路6 2.3 步进电机驱动电路7 2.4 第3章 3.1 3.2 LED 显示电路.8 系统的软件设计10 系统的软件设计10 步进电机的位置控制10 显示子程序13 结束语 17 第四章 结束语 17 参考文献18 第 5 章 参考文献18 2 数理与信息工程学院单片机原理与应用期末学期课程设计 基于单片机的步进电机控制系统 第1章 引 言 在当今社会的各个领域步进电机无处不在,应用领域涉及机器人、工业电子 自动化设备、医疗器件、广告器材、舞台灯光设备、印刷设备、计算机外部应用 设备等等。因此,设计出高精确度、实时监控、语音提示的步进电机具有重要的 现实意义和实用价值。 本设计是基于 80C51 单片机的步进电机控制系统,能够 有效地对步进电机转速、方向的控制。为了能够更加人性化的控制系统,本设计 还增加了语音提示部分, 在实际应用当中由于紧急事件需要在短时间内了解电机 的工作情况,这时看数码显示就很不方便,而语音提示提供很大帮助,只要按下 语音提示按钮便能获取相关技术数据。 本设计采用 16 位单片机 MCS80C51 对步进电机进行控制, 通过 I/O 口输出 的具有时序的方波作为步进电机的控制信号,信号经过驱动芯片驱动步进电机; 同时,用 4X4 的键盘来对电机的状态进行控制,并用数码管显示电机的转速, 采用 74LS164 作为 4 位单个数码管的显示驱动。 1.1 步进电机控制系统概述 步进电机是机电一体化产品中的关键组件之一,是一种性能良好的数字执 行元件,随着计算机应用技术、电子技术和自动控制技术在国民经济各个领域中 的普及与深入,步进电机的需求量越练越大。 随着工业技术的不断发展,以及同类产品的不断出现,步进电机面临着前所 未有的挑战。但近 30 年来,数字技术、计算机技术和永磁材料的迅速发展,推 动步进电机的发展,为步进电机的应用开辟了广阔的前景,近几年来,步进电机 需求量一直呈现出较快的增长速度,其中扫描仪、打印机、传真、 DVD-ROM/CD-ROM 驱动器、空调及多功能自动化办公设备等应用对步进电机 的需求增长最强。此外由于 USB2.0 的日益流行促进了高分辨率扫描仪的销售, 步进电机向着小型、薄型和更小的步进角度发展。 步进电机有着方方面面重要应用,如何对其进行有效控制,使其能够发挥最 大的优势是各个行业技术开发人员所共同关注的, 本文旨在设计一套较完整的通 用控制系统,对步进电机的转速、方向实行智能化控制,并能通过 LED 显示其 转速。 1.2 本设计任务和主要内容 本论文主要研究单片机控制的步进电机系统,对步进电机的转速、方向进行 3 数理与信息工程学院单片机原理与应用期末学期课程设计 控制和显示。 主要内容如下: 通过键盘设定步进电机的转速及方向 LED 显示步进电机的转速 第2章 系统主要硬件电路设计 系统主要硬件电路设计 4 数理与信息工程学院单片机原理与应用期末学期课程设计 2.1 单片机控制系统原理 键盘输入 AT89C51 单片机 LED 数码显示 步进电机转 速、 方向控制 图 2-1 单片机控制系统原理框图 22 单片机主机系统电路 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位微 处理器。AT89C2051 是一种带 2K 字节闪烁可编程可擦除只读存储器的单片机。 单片机的可擦除只读存储器可以反复擦除 100 次。 该器件采用 ATMEL 高密度非易 失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于 将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高 效微控制器,AT89C2051 是它的一种精简版本。AT89C 单片机为很多嵌入式控制 系统提供了一种灵活性高且价廉的方案。 5 数理与信息工程学院单片机原理与应用期末学期课程设计 U1 19 XTAL1 C1 18 30pF 9 RST XTAL2 X1 12M 29 30 31 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 C2 30pF PSEN ALE EA C3 1p vcc R1 1k 1 2 3 4 5 6 7 8 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C51 图 2-2 单片机主机系统图 2.2.1 时钟电路 单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号 通常用两种电路形式得到:内部振荡和外部振荡。 MCS-51 单片机内部有一个用于 构成振荡器的高增益反向放大器, 引脚 XTALl 和 XTAL2 分别是此放大电器的输 入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实 际使用中常采用这种方式,如图 2-2 所示在其外接晶体振荡器(简称晶振)或陶瓷 谐振器就构成了内部振荡方式, 片内高增益反向放大器与作为反馈元件的片外石 英晶体或陶瓷谐振器一起可构成一个自激振荡器并产生振荡时钟脉冲。 2-2 中 图 外接晶体以及电容 C2 和 C1 构成并联谐振电路,它们起稳定振荡频率、快速起 振的作用,其值均为 30P 左右,晶振频率选 12MHz 2.2.2 复位电路 为了初始化单片机内部的某些特殊功能寄存器,必须采用复位的方式,复位 后可使 CPU 及系统各部件处于确定的初始状态,并从初始状态开始正常工作。 单片机的复位是靠外电路来实现的,在正常运行情况下,只要 RST 引脚上出现 6 数理与信息工程学院单片机原理与应用期末学期课程设计 两个机器周期时间以上的高电平,即可引起系统复位,但如果 RST 引脚上持续 为高电平,单片机就处于循环复位状态。复位后系统将输入/输出(1/0)端口寄存 器置为 FFH,堆栈指针 SP 置为 07H, SBUF 内置为不定值,其余的寄存器全部清 0,内部 RAM 的状态不受复位的影响,在系统上电时 RAM 的内容是不定的。复 位操作有两种情况,即上电复位和手动(开关)复位。本系统采用上电复位方式。 图 2-2 中 R9 和 Cl 组成上电复位电路,其值 R 取为 1K, C 取为 1pF. 2.3 步进电机驱动电路 驱动电路集成化成为一种趋势。 目前, 已有多种步进电机驱动集成电路芯片, 它们大多集驱动和保护于一体,作为小功率步进电机的专用驱动芯片,广泛用于 小型仪表、计算机外设等领域,使用起来非常方便。本设计采用 UCN5804B 芯 片。UCN5804B 芯片适用于四相步进电机的单极性驱动。它最大能输出 1.5A 电 流、3.5V 电压。内部集成有驱动电路,上电自行复位,可以控制转向和输出使 能。 L4 R2 L3 L2 R1 L1 B82412A3220J000 5R6 B82412A3220J000 B82412A3220J000 B82412A3220J000 5R6 D1 8EWS12S 1 2 3 4 6 12 U1 16 15 14 13 11 10 9 7 UCN5804B v 8 2 + 8EWS12S D2 8 D3 8EWS12S D4 8EWS12S 图 2-3 步进电机驱动电路 图 2-3 为步进电机驱动电路,其中 4、5、12、13 脚为接地引脚,1、3、6、 8 脚为输出引脚,电动机各相的的接线如图,14 脚是控制电机的转向,其中低电 平为正转,高电平为反转;11 脚是步进脉冲的输入端,9、10 脚决定工作方式, 其真值表如表 2-1 所示: 7 数理与信息工程学院单片机原理与应用期末学期课程设计 表 2-1 9、10 脚真值表 工作方式 双四拍 八拍 单四拍 禁止 9脚 0 0 1 1 10 脚 0 1 0 1 2.4 2.4 LED 显示电路 由于系统显示的内容比较简单,显示量不多,所以显示选用数码管既方便又 经济。LED 有共阴极和共阳极两种。如图 2-4 所示。 符号和引脚 共阴极 共阳极 图 2-4 LED 数码管结构原理图 二极管的阴极连接在一起,通常此共阴极接地,而共阳极则将二极管的阳极 连接在一起,接入+5V 的电压。一位显示器由 8 个发光二极管组成,其中 7 个发 光二极管。当在某段发光二极管施加一定的正向电压时,该段笔画即亮;不加电 压即暗。为了保护各段 LED 不被损坏,需外加限流电阻。 数码管显示器有两种工作方式,即静态显示方式和动态扫描显示方式。为节 省端口及降低功耗,本系统采用动态扫描显示方式。本电路的“段控”和“位控” 分别由 P1 口和 P3 口控制,P3 选中哪个数码管,哪个数码管就亮,P1 口控制显 示数字。 因 AT89C51 单片机 I/O 口资源有限,必须对其 Il0 口进行扩展才能满足实现 系统功能,如图 2-7 所示为用 8155 扩展 1/0 口的 4 个 8 位 LED 动态显示器,显 示扫描由程控实现,其中 PA 口输出字型码,PC 口输出位选信号即扫描信号, 图中片选线 CE 和 AT89C51 的 P2.7 口相连,IO/ M 选通输入线与 P2.4 口相连, 8 数理与信息工程学院单片机原理与应用期末学期课程设计 该系统中当 P2.7=0 且 P2.4 =1 时,选中 8155 芯片内三个 I/O 口。相应的端口地 址分配如表 2-1: 表 2-2 8155 端口地址分配 0 D M O C A B C D E F G dp A B C D E F G H 1 D M O C A B C D E F G dp A B C D E F G H 2 D M O C A B C D E F G dp A B C D E F G H M O C A B C D E F G dp A B C D E F G H U1:A PA0 PA1 PA2 PA3 2 4 6 8 1 A0 A1 A2 A3 OE 74LS240 NET=PA2 Y0 Y1 Y2 Y3 18 16 14 12 R1 R2 R3 5R6 R4 5R6 5R6 5R6 A B C D U2 19 XTAL1 XTAL2 U3 P0.0/AD0 39 38 P0.1/AD1 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 8155 A8 A9 A10 A11 A12 A13 A14 A15 34 33 32 31 30 29 28 27 5 36 9 8 35 6 D0 D1 D2 D3 D4 D5 D6 D7 RD WR A0 A1 RESET CE PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 4 3 2 1 40 39 38 37 18 19 20 21 22 23 24 25 14 15 16 17 13 12 11 10 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 U1:B PA4 PA5 PA6 PA7 11 13 15 17 19 A0 A1 A2 A3 OE 74LS240 Y0 Y1 Y2 Y3 9 7 5 3 R5 R6 R7 5R6 R8 5R6 5R6 5R6 E F G dp 18 RST 9 RST 29 30 31 PSEN ALE EA RST 1 2 3 4 5 6 7 8 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C51 NET=A11 9 U4:B 5 U4:A 3 7407 1 7407 7407 7407 U4:D U4:C 8 6 4 2 D3 D2 D1 D0 图 2-5 显示电路 9 数理与信息工程学院单片机原理与应用期末学期课程设计 第3章 3.1 步进电机的位置控制 步进电机的位置控制 位置 系统的软件设计 步进电机的运行控制涉及到位置控制和加、 减速控制。 步进电机的位置控制, 指的是控制步进电机执行机构从一个位置精确地运行到另一个位置。 步进电机的 位置控制是步进电机的一大特点, 它可以不用借助位置传感器而只需要的开环控 制就能达到足够的位置精度。 步进电机的位置控制需要两个参数。 第一个是绝对位置,即步进电机控制的执行机构当前的位置参数,绝对位置 是有极限的,其极限是执行机构运动的范围,超越了这个极限就应报警。 第二个是从当前位置移动到目标位置的距离, 我们可以用折算的方式将这个 距离折算成步进电机的步数。 这个参数是外界通过键盘或可调电位器旋钮输 入的,所以折算的工作应该在键盘程序或 A/D 转换程序中完成。 下面是本程序使用的资源: 30H、31H存放定时器的常熟,低位在前 32H34H存放绝对位置参数,低位在前 35H、36H存放步进数,低位在前 中断服务子程序框图如图 2-6 所示。 10 数理与信息工程学院单片机原理与应用期末学期课程设计 图 2-6 程序如下: POS: CPL P1.0 步进电机位置控制子程序框图 ;改变 P1.0 电平状态 ;累加器 A 进栈 PUSH ACC PUSH PSW PUSH R0 JNB CLR JNB P1.0,POS4 EA P1.1,POS1 ;R0 进栈 ;P1.0=0 时,半个脉冲,转到 POS4 ;关中断 ;反转,转到 POS1 ;正转 11 MOV R0,32H 数理与信息工程学院单片机原理与应用期末学期课程设计 INC R0 ;无进位则转向 POS2 CJNE R0,#00H,POSE INC INC R0 R0 CJNE R0,#00H,POS2 INC INC R0 R0 ;无越界,则转 POS2 ;发生越界,停定时器(停电动机) ;调报警子 ;反转 CJNE R0,#00H,POS2 CLR TR0 LCALL BAOJING POS1: MOV R0,#32H DEC CJNE INC DEC CJNE INC DEC CJNE CLR R0 R0,#0FFH,POS2 R0 R0 R0,#0FFH,POS2 R0 R0 R0,0FFH,POS2 TR0 ;无借位则转向 POS2 LCALL BAOJING POS2: MOV DEC CJNE INC DEC POS3: R0,#35H R0 R0,#0FFH,POS3IU9 R0 R0 ;指向步数低位 35H SETB EA 12 数理与信息工程学院单片机原理与应用期末学期课程设计 MOV A,35H ORL JNZ CLR C POS4 TR0 SJMP POS5 POS4: CLR CLR MOV ADD ADD MOV MOV ADDC C TR0 A,TL0 A,#08H A,30H TL0,A A,TH0 A,31H MOV TH0,A SETB POS5: POP POP POP RETI R0 PSW ACC TR0 3.2 显示子程序 硬件电路如图 2-4 所示,通过 8155 芯片来扩展 I/O 口,其端口地址分别是: 命令/状态寄存器:7FF8H ,PA 口:7FF9H,PB 口:7FFAH,PC 口:7FFBH。 通过 P1 口控制数字显示,即“段选” ,P3 口控制“位选” 。 ORG 0000H START:JMP MAIN ORG 30H MAIN:MOV SP,#5FH ;初始化 13 数理与信息工程学院单片机原理与应用期末学期课程设计 B_BIT EQU 34H A_BIT EQU 35H C_BIT EQU 22H D_BIT EQU 23H E_BIT EQU 34H Count EQU r4 ;个位显示数据存储器 ;十位显示数据存储器 ;百位显示数据存储器 ;十位显示数据存储器 ;万位显示数据存储器 ;计数器数据存储器 ACALL INIT_RS232;调用 INIT_232 子程序 CPL P0.0 MOV R5,#25 ACALL DELAY CPL P0.0 MOV P1,#0FFH MOV P2,#0FFH WAIT:acall DIAPY;调用显示程序 JNB RI,WAIT;接收电脑发过来的数据 ClR RI ;清 RI,继续下次接收 ;P0.0 暗表示设定完成 ; P0.0 亮表示正在设定串口 LJMP WAIT DIAPY :MOVR1,SBUF 把接收到的数据放到 A 里 MOV A,R1 MOV B,#100 DIV AB MVO 33H,A MOV A ,B MOV B,#10 DIV AB MOV B_BIT,B MOV A_BIT,A 14 ;提取百位 数理与信息工程学院单片机原理与应用期末学期课程设计 MOV DPTR,#TAB MOV R0,#5 DP11:MOVR1,#250 DPLOP:个位显示 MOV,A,B_BIT MOVC A,A+DPTR ;提取字模 MOV P1,A CLR P2.2 ;开个位 ACALL DELAY1;调用扫描子程序 SETB P2.2 ;十位显示 MOV A,A_BIT MOVC A,A+DPTR ;提取字模 MOV P1,A CLR P2.3 ;开十位 ACALL DELAY1 SET P2.3 MOV A,A_BIT MOVC A,A+DPTR;提取字模 MOV P1,Amov p1,a CLR P2.4 ;开百位 DELAY1 ;百位显示 ACALL SETB P2.4 DJNZ R1,DPLOP DJNZ R0,DP11 RET INIT_RS232: MOV TMOD,#20H ;rs232 初始化设定 ;1200bs 15 数理与信息工程学院单片机原理与应用期末学期课程设计 MO

温馨提示

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

评论

0/150

提交评论