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

加入VIP,免费下载资源
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于MCS-51单片机的步进电机控制.doc

1、研究生专业课程考试答题册得分:学号 2010261540姓名 考试课程电机调速及控制技术课程编号 09G109 考试日期 2011年6月28日西北工业大学研究生院题目:基于MCS-51单片机的步进电机控制目 录摘要5前言6第1章 概述71.1 本次设计题目研究的意义71.2 本次设计题目的目的和内容71.3 论文作者的主要任务7第2章 步进电机的总体方案设计82.1 步进电机的控制框图82.2 步进电机的控制电原理图及其分析8 2.2.1 时钟电路介绍9 2.2.2 复位和复位电路102.3 元器件及其芯片介绍12 2.3.1 步进电机的原理介绍12 2.3.2 8051单片机介绍15 2.3

2、.3 可编程并行I/O接口8255芯片介绍17 2.3.4 ULN2003 芯片介绍21 2.3.5 74 LS_373芯片介绍21第3章 基于8051控制步进电机的程序设计233.1 程序设计思路及方法233.2 输入、输出的I/O分配233.3 主程序框图243.4 三种工作方式程序流程图及代码24 3.4.1 单四拍主程序流程图及程序25 3.4.2 单、双八拍主程序流程图及程序32 3.4.3 双四拍主程序流程图及程序39第4章 步进电机的运行与调试464.1 调试过程中出现的问题及解决办法464.2 调试结果分析47第5章 论文总结49参考文献51摘 要很多工业控制设备对位移和角度的

3、控制精度要求较高, 一般电机很难实现, 而步进电机可精确实现所设定的角度和转数。本次毕业设计的主要任务是设计一个通过8051单片机外部扩展8255并行可编程端口控制步进电机的正转反转加速减速的控制系统,步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。主要内容包括以下几个方面: (1)单片机控制步进电机的一般原理。 (2)电

4、机驱动及控制的实现。 (3)控制系统整体设计以及模块划分说明。 (4)原理图。 (5)代码。虽然步进电机已被广泛地应用,但步进电机并不能像普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。关键词 8051单片机、步进电机、正转、反转、加速、减速前 言单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等

5、外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机也被称为微控制器,是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。步进电机是一种将电脉冲信号转换成相应角位移的控制电机。目前,数字技术、计算机技术和永磁材料的迅速发展,推动了步进电机的发展。本设计针对目前各个领域对自动化的需要,采用MCS-

6、51系列8051单、可编程并行I/O芯片8255与ULN2003驱动芯片驱动步进电机转动,包括正转、反转、加速、减速等功能,将它应用于各种复杂的控制领域,能使许多半自动控制的系统完全成为真正的全自动,特别是用在当代控制领域,能极大的提高生产力和降低劳动强度。由于步进电机具有快速启动、精确步进和定位等特点,因而在数控机床,绘图仪,打印机以及光学仪器中得到广泛的应用。 步进电机还广泛应用于ATM机、喷绘机、刻字机、写真机、喷涂设备、医疗仪器及设备、计算机外设及海量存储设备、精密仪器、工业控制系统、办公自动化、机器人等领域。特别适合要求运行平稳、低噪音、响应快、使用寿命长、高输出扭矩的应用场合。第1

7、章 概 述1.1 本次设计题目研究的意义 伴随科技时代的到来,单片机、微机原理、电子工艺、模拟电路技术基础、数字电路技术基础、自动控制原理、等课程在自控研究领域的作用越来越重要。我们即将奔赴自己的工作岗位,将这些书本知识转化到实际当中,使之带来经济价值是我们学知识的最终目的。俗话说:“实践出真知”。本次设计就是一次实践大胆的尝试,它要求我们不但要有学知识的能力,而且要有知识创新的能力。二十一世纪,机遇与挑战并存,知识革新换代步伐也不断加快,对人才综合素质的要求已成了招聘单位择人的关键环节。所以本次设计做的好坏与否从某种意义上说既体现出了你知识学的深度与广度,而且可以看出你知识转化的能力。 1.

8、2 本次设计题目的目的和内容 一、目的 通过做这次设计,使学生对所学电子工艺、电路基础知识、模电、数电、等电子基础课程的基本知识加深理解和应用。了解单片机控制外部设备的常用电路,了解步进电机控制的基本原理,掌握控制步进电机转动的编程方法,培养创新意识,增强动手能力,为今后工作打下一定的理论和实贱基础。 二、内容通过8051单片机,用并行可编程8255扩展端口控制步进电动机,编写程序输出脉冲序列到8255的PA口,实现步进电动机的正转,反转,加速,减速。 1.3 论文作者的主要任务设计一个基于8051的步进电机,实现单四拍、双四拍、单双八拍三种工作方式的步进电机正转反转加速减速功能,并且使用开关

9、实现正转跳到反转、反转跳到正转功能。第2章 步进电机的总体方案设计2.1 步进电机的控制框图 图12.2 步进电机的控制电原理图及其分析 图2原理图分析:对8051单片机进行外部扩展,用并行8255扩展端口控制步进电动机,8051与并行8255扩展端口加74LS373芯片驱动,8255与步进电机用UNL2003芯片驱动,灯,开关与8051的 P1口相连。2.2.1时钟电路介绍时钟电路:8051片内设有由反相放大器所构成的振荡电路,XTAL1和XTAL2分别为振荡电路的输入端和输出端。8051单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接晶体

10、振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路如下图所示。图3图3中,电容器,起稳定振荡频率、快速起振的作用,其电容值一般在50-30pF。晶振频率的典型值为12MHZ,采用6MHZ的情况也比较多。内部振荡方式所得的时钟情号比较稳定,实用电路中使用较多。 外部振荡方式是把外部已有的时钟信号引入单片机内。这种方式适宜用来使单片机的时钟与外部信号保持同步。外部振荡方式的外部电路如下图所示。图4由上图4可见,外部振荡信号由XTAL2引入,XTAL1接地。为了提高输入电路的驱动能力,

11、通常使外部信号经过一个带有上拉电阻的TTL反相门后接入XTAL2。 基本时序单位:单片机以晶体振荡器的振荡周期(或外部引入的时钟周期)为最小的时序单位,片内的各种操作都以此周期为时序基准。 振荡频率二分频后形成状态周期,所以1个状态周期包含有2个振荡周期。振荡频率fosc l2分频后形成机器周期MC。所以,1个机器周期包含有6个状态周期或12个振荡周期。1到4个机器周期确定一条指令的执行时间,这个时间就是指令周期。8051单片机指令系统中,各条指令的执行时间都在1到4个机器周期之间。 4种时序单位中,振荡周期和机器周期是单片机内计算其它时间值(例如,波特率、定时器的定时时间等)的基本时序单位。

12、下面是单片机外接晶振频率12MHZ时的各种时序单位的大小:振荡周期1/fosc=1/12MHZ=0.0833us。参考【23,24】。2.2.2复位和复位电路复位电路:当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。 根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。 上电复位要求接通电源后,自动实现复位操作。常用的上电复位电路如下图A中左图所示。图中电容和电阻对电源+5V来说构成微分电路。上电后,保持RST一段高电平时间,由于单片机内的等效电阻的作用,不用图中

13、电阻,也能达到上电复位的操作功能,如下图(A)中右图所示。单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。常用的上电或开关复位电路如上图(B)所示。上电后,由于电容的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。 根据实际操作的经验,下面给出这两种复位电路的电容、电阻参考值。 上图(A)中:10-30F,1k 上图(B)中:1F,lk,10k 图5单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC0000H,这表明程序从0000H地址单元开始执行。单片机

14、冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值,见下表。 值得指出的是,记住一些特殊功能寄存器复位后的主要状态,对于了解单片机的初态,减少应用程序中的初始化部分是十分必要的。 说明:表中符号*为随机状态;A00H,表明累加器已被清零;特殊功能寄存器初始状态特殊功能寄存器初始状态A00HTMOD00HB00HTCON00HPSW00HTH000HSP07HTL000HDPL00HTH100HDPH00HTL100HP0-P3FFHSBUF不定IP*00000BSCON00HIE0*00000BPCON0*BPSW00H,表明选寄

15、存器0组为工作寄存器组; SP07H,表明堆栈指针指向片内RAM 07H字节单元,根据堆栈操作的先加后压法则,第一个被压入的内容写入到08H单元中; Po-P3FFH,表明已向各端口线写入1,此时,各端口既可用于输入又可用于输出; IP00000B,表明各个中断源处于低优先级; IE000000B,表明各个中断均被关断; 系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。51单片机的复位是由RESET引脚来控制的,此引脚与高电平相接超过24个振荡周期后,51单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到RESET引脚转为低电平后,才检查EA引脚是高电平或低电平

16、,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部程序。 51单片机在系统复位时,将其内部的一些重要寄存器设为特定的值,至于内部RAM内部的数据则不变。参考【4,5,10】。2.3 实验装置及元器件介绍本次设计所用的实验装置为:伟福Lab2000P系列 仿真实验系统,其主要用到的元器件为步进电机、8051单片机、可编程并行I/O芯片8255、ULN2003驱动芯片、8D锁存器74 LS_373芯片,下面依次来做以介绍。2.3.1 步进电机的原理介绍步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角

17、”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的,也可以通过改变通电脉冲时序从而达到改变步进电机转向。步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。本次实验所用的步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图六是该四相反应式步进电机工作原理示意图:图6 四相步进电机步进示意图开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0

18、、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方向转动。四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、单双八拍三种工作方式。所谓的“四相”指的是此步进电机有四相定子绕组;“单”指的是每次只有一相通电,即“双”指的是每次给两相通电;“四拍”四次换接一个

19、循环,第五次重复第一次的情况,故“单双八拍”指八次换接一个循环。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。单双八拍工作方式的步距角是单四拍与双四拍的一半,因此,单双八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。单四拍、双四拍与单双八拍工作方式的电源通电时序与波形分别如图七.a、b、c所示:(a) 单四拍 (b)双四拍 (c)单双八拍 图7 步进电机工作时序波形图步进电机的特点: 1、高精度的定位: 步进电机最大特征即是能够简单的做到高精度的定位控制。以5相步进电机为例:其定位基本单位(分辨率)为0.72(全步级)/0.36(半步级),是非常小的;停止定位精度误差皆在3分(0.

20、05)以内,且无累计误差,故可达到高精度的定位控制。(步进电机的定位精度是取决于电机本身的机械加工精度)2、步进电机外表允许的最高温度。 步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。 3、步进电机的力矩会随转速的升高而下降。 当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩下降。 4

21、、步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声。 步进电机有一个技术参数:空载启动频率,即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。在有负载的情况下,启动频率应更低。如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频。 5、位置及速度控制: 步进电机在输入脉冲信号时,可以依输入的脉冲数做固定角度的回转进而得到灵活的角度控制(位置控制),并可得到与该脉冲信号周波数(频率)成比例的回转速度。6.、具定位保持力: 步进电机在停止状态下,仍具有激磁保持力,故即使不依靠机

22、械式的剎车,也能做到停止位置的保持。7.、动作灵敏: 步进电机因为加速性能优越,所以可做到瞬时起动、停止、正反转之快速、频繁的定位动作。8.、开回路控制、不必依赖传感器定位: 步进电机的控制系统构成简单,不需要速度感应器及位置传感器,就能以输入的脉波做速度及位置的控制。也因其属开环回路控制,故最适合于短距离、高频度、高精度之定位控制的场合下使用。参考【2,15,16,17,18】 2.3.2 8051单片机介绍 MCS-51系列单片机产品有8051、8031、8751、80C51、80C31等型号。它们的结构基本相同,其主要差别反映在存储器的配置上有所不同。8051内部设有4KB的掩模ROM程

23、序存储器,8031片内没有程序存储器,而8751是将8051片内的ROM换成EPROM。本设计用的是8051类型,其内部结构为:单片机=CPU+RAM+ROM+I/O+功能部件CPU是单片机的核心部分,由运算器和控制器组成,为8位,PC用户不可寻址; RAM数据存储器为128B,4KB的ROM程序存储器,RAM和ROM空间是相互独立的,物理结构也不同,数据存储器分为内部数据存储器(访问内部数据存储器用MOV指令,后面控制电机源程序可以用到)和外部数据存储器(访问外部数据存储器用MOVX指令,用间接寻址方式,后面程序也用到),程序存储器可分为只读存储器(ROM)、紫外线摖除电可编程只读存储器(E

24、PROM)和闪速存储器(FLASH ROM);32条可编程的I/O线(4个8位并行I/O端口),功能部件包括两个16位的定时器/计数器、片内振荡器及时钟电路、5个中断源、两个优先级嵌套中断结构,除此之外还有64KB外部数据存储器和64KB外部程序存储器空间的控制电路。8051 单片机内部结构如图八所示。一个完整的计算机应该由运算器、控制器、存储器(ROM 及RAM)、数据总线和IO 接口组成。一般微处理器(如8086)就只包括运算器和控制器两部分。和一般微处理器相比,8051 增加了四个8 位IO 口、一个串行口、4KB ROM、128BRAM、很多工作寄存器及特殊功能寄存器(SFR),所以单

25、片机具有比微处理器更强大的控制功能。参考【1,5,6,7】。 图8 8051单片机的内部结构图9 51系列单片机引脚图引脚功能说明如下:1、 主电源引脚Vss(接地)和Vcc(接正常工作电压5V)2、 时钟电路引脚XTAL1(片内振荡输入端,当采用外部振荡器时接地)和XTAL2(片内振荡输出端,当采用外部振荡器时接外部振荡源)3、 输入/输出(I/O)端口引脚P0.0P0.7,P2.0P2.7,P3.0P3.74个8位端口的特性:不能都用作用户的I/O口,除8051、8751外真正可归用户使用的I/O只有P1口以及作为第一功能使用的P3口;P0口的每条口线以吸收电流方式驱动8个TTL电路,P1

26、、P2、P3口均只能驱动(吸收或输出电流方式)4个TTL电路;P3口具有双重功能4、控制或与其它电源复用引脚RST/VPD,ALE/ ,和 /Vpp RST/VPD当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位在Vcc掉电期间,此引脚可接上备用电源,由VPD向内部提供备用电源,以保持内部RAM中的数据。 ALE/ 正常操作时为ALE功能(允许地址锁存)提供把地址的低字节锁存到外部锁存器,ALE 引脚以不变的频率(振荡器频率的 )周期性地发出正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目的。但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲,AL

27、E 端可以驱动(吸收或输出电流)八个LSTTL电路。对于EPROM型单片机,在EPROM编程期间,此引脚接收编程脉冲。 外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期间, 在每个机器周期内两次有效。 同样可以驱动八LSTTL输入。 /Vpp 、/Vpp为内部程序存储器和外部程序存储器选择端。当 /Vpp为高电平时,访问内部程序存储器,当 /Vpp 为低电平时,则访问外部程序存储器。对于EPROM型单片机,在EPROM编程期间,此引脚上加21V EPROM编程电源(Vpp)。参考【8,9,12,23,24】2.3.3 可编程并行I/O接口8255芯片介绍 一、单片机系统里常用

28、的8255芯片是一个典型的可编程通用并行接口芯片,用来扩展单片机的端口,它具有3个8位的并行口,有三种工作方式,可作为单片机与各种外部设备连接的接口电路! 8255A的内部结构和引脚图分别如图10和图11所示。由图10可见,8255A由以下几部分组成:1并行输入/输出端口A,B,C图10 8255A的内部结构8255A芯片具有24个可编程输入输出引脚,分成3个8位端口。其中:端口A包含一个8位数据输出锁存/缓冲寄存器和一个8位数据输入锁存器;端口B包含一个8位数据输入/输出、锁存/缓冲寄存器和一个8位数据输入缓冲寄存器;端口C包含一个输出锁存/缓冲寄存器和一个输入缓冲寄存器。必要时端口C可分成

29、两个4位端口,分别与端口A与端口B配合工作。通常将端口A和端口B定义为输入/输出的数据端口,而端口C可作为状态或控制信息的传送端口。图11 8255A的芯片引脚信号2A组和B组控制部件端口A与端口C的高4位(PC7PC4)构成A组,由A组控制部件实现控制功能,端口B与端口C的低4位(PC3PC0)构成B组,由B组控制部件实现控制功能。它们各有一个控制单元,可接收来自读/写控制部件的命令和CPU通过数据总线(D7D0)送来的控制字,并根据它们来定义各个端口的操作方式。3数据总线缓冲器这是一个三态双向8位数据缓冲器,它是8255A与8086CPU之间的数据接口,CPU输入输出的数据,CPU输出的控

30、制字以及外设的状态信息都是通过这个缓冲器进行传送。4读/写控制部件这是8255A内部完成读/写控制功能的部件,它与CPU的地址总线及有关的控制信号相连,接收CPU的控制命令,并根据它们向片内各功能部件发出操作命令。可接收的控制信号如下:(1): 片选信号。由CPU输入,有效,表示该8255A被选中。(2),:读、写控制信号。由CPU输入,有效,表示CPU读8255A,应由8255A向CPU传送数据或状态信息。有效,表示CPU写8255A,应由CPU将控制字或数据写入8255A。(3)RESET:复位信号。RESET有效时,清除8255A中所有控制字寄存器内容,并将各端口置成输入方式。(4)A1

31、、A0:端口选择信号。当A1A0=00,选择端口A;当A1A0=01,选择端口B;当A1A0=10,选择端口C;当A1A0=11,选择控制字寄存器。由端口地址A1A0和相应控制信号组合起来可定义各端口的操作方式如表1所示。表1 8255A的读写操作控制二 8255A 的工作方式 图12 8255A 的工作方式8255A 有三种工作方式 ,用户可以通过编程来设置。方式 0 简单输入 / 输出查询方式; A , B , C 三个端口均可。 方式 1 选通输入 / 输出中断方式; A , B ,两个端口均可。 方式 2 双向输入 / 输出中断方式。只有 A 端口才有。 工作方式的选择可通过向控制端口

32、写入控制字来实现。 在不同的工作方式下, 8255A 三个输入 / 输出端口的排列示意图如图 十二所示。 1 、方式 0 : 为一种简单的输入 / 输出方式, 没有规定固定的应答联络信号 ,可用 A , B , C 三个口的任一位充当查询信号,其余 I/O 口仍可作为独立的端口和外设相连。 方式 0 的应用场合有两种 :一种是 同步传送 ;一种是 查询传送 。 2 、方式 1 方式 1 是一种选通 I/O 方式, A 口和 B 口仍作为两个独立的 8 位 I/O 数据通道 ,可单独连接外设,通过编程分别设置它们为输入或输出。而 C 口则要有 6 位 ( 分成两个 3 位 ) 分别作为 A 口和

33、 B 口的应答联络线,其余 2 位仍可工作在方式 0 ,可通过编程设置为输入或输出。 3 、方式 2 方式 2 为双向选通 I/O 方式,只有 A 口才有此方式。这时, C 口有 5 根 线用作 A 口的应答联络信号,其余 3 根 线可用作方式 0 ,也可用作 B 口方式 1 的应答联络线。 方式 2就是方式 1 的输入与输出方式的组合 ,各应答信号的功能也相同。而 C 口余下的 PC 0 PC 2 正好可以充当 B 口方式 1 的应答线,若 B 口不用或工作于方式 0 ,则这三条线也可工作于方式0。参考【14,25,26】。2.3.4 ULN2003芯片介绍 ULN是集成达林顿管IC,内部还

34、集成了一个消线圈反电动势的二极管,可用来驱动继电器。它是双列16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于TTL COMS,由达林顿管组成驱动电路。 ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,它的输出端允许通过电流为200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。用户输出口的外接负载可根据以上参数估算。采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可直接驱动低压灯泡。通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电源。 ULN2003是一个非门电路

35、,包含7个单元,但独每个单元驱动电流最大可达350mA.资料的最后有引用电路,9脚可以悬空。比如1脚输入,16脚输出,你的负载接在VCC与16脚之间,不用9脚。 ULN2003的作用:ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出等控制电路中。可直接驱动继电器等负载。 输入5V TTL电平,输出可达500mA/50V。 ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。 该电路的特点如下: ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路 直接相连,可以直接处理原先需要标准逻辑缓冲器。参考【4

36、,19,20】2.3.5 74LS373 芯片介绍 74LS373是八D锁存器(3S,锁存允许输入有回环特性) ,常应用在地址锁存及输出口的扩展中。简要说明: SN74LS373, SN74LS374 常用的8d锁存器,常用作地址锁存和i/o输出. 可以用74hc373代换. 74LS373是低功耗肖特基TTL8D锁存器,74H373是高速CMOS器件,功能与74LS373相同,两者可以互换。74LS373内有8个相同的D型(三态同相)锁存器,由两个控制端(11脚G或EN;1脚OUT、CONT、OE)控制。当OE接地时,若G为高电平,74LS373接收由PPU输出的地址信号;如果G为低电平,则

37、将地址信号锁存。工作原理:74LS373的输出端O0O7可直接与总线相连。当三态允许控制端OE为低电平时,O0O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。 当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,O被锁存在已建立的数据电平。 图13 74LS373引脚(管脚)图图14 74LS373与单片机接口电路图1D8D为8个输入端。1Q8Q为8个输出端。G是数据锁存控制端;当G=1时,锁存器输出端同输入端;当G由“1”变为“0”时,数据输入锁存器中。OE为输出允许端;当OE=“0”时,

38、三态门打开;当OE=“1”时,三态门关闭,输出呈高阻状态。参考【3,21,22】第3章 基于8051控制步进电机的程序设计3.1 程序设计思路及方法设计思路:设计要求基于8051单片机外加可编程并行I/O芯片实现步进电机正转、反转、加速、减速,对其要求则想到利用开关控制来实现则更方便,而想到执行过程中的连贯性与方便性,自己对除正转、反转、加速、减速功能外又增加两个功能即从正转跳到反转、从反转跳到正转。设计方法:本程序主要用到了四种程序设计的方法:(1)分支程序设计(2)循环程序设计(3)散转程序设计(4)子程序和参数的传递方法这些方法不是孤立存在而应用的,而是相互联合运用在本程序的设计当中,后

39、见3.4节源程序流程图及代码。3.2 I/O分配表 输入 输出 PA.0(8255) 步进电机A顶 PA.1(8255) 步进电机B顶 PA.2(8255)步进电机 C顶 PA.3(8255) 步进电机 D顶 P1.0(8051)开关K0正转灯L0 P1.1(8051)开关 K1反转灯L1 P1.2(8051)开关 K2加速灯L2 P1.3(8051)开关 K3减速灯L3 P1.4(8051)开关K4从正转跳到反转灯L4 P1.5(8051)开关K5从反转跳到正转灯L5I/O分配表说明:可编程并行扩展端口芯片的PA.0PA.3分别向步进电机四相A、B、C、D输出高电平,8051单片机P1.0P

40、1.5口与开关K0K5相连,来控制步进电机的正转、反转、加速、减速、从正转跳到反转、从反转跳到正转六个功能,为了判别开关是否置1,将K0K5六个开关分别与各自对应的L1L5六个LED指示灯相连。3.3 主程序框图 图153.4 源程序流程图及代码3.4.1单四拍主程序流程图及程序, 1.(a)主程序流程图图16(b)正转子程序流程图 图17(c)反转子程序图18(d)延迟子程序图192. 单四拍方式控制: MODE EQU 082H; 8255工作方式1, 8255控制字PA口作输出 CONTR1 EQU 8003H; 8255控制字地址 CT1 EQU 8000H; 8255PA口地址 AS

41、TEP EQU 01H BSTEP EQU 02H CSTEP EQU 04H DSTEP EQU 08H DLY_C EQU 60H; ORG 0H STEP: MOV A,#MODE ;立即寻址 MOV DPTR ,#CONTR1 MOVX DPTR,A ; 往8255控制字地址输入控制字,间接寻址 MOV DPTR,#CT1 MOV A,#0H MOVX DPTR,A 往8255PA口地址输入0000H,无高电平输出,停止 MOV DPTR,#P1 MOVX A,DPTR MOVX DPTR,A ;开关控制 MOV DLY_C,#10H ;初始转速 JB P1.0,LOOP1 ;若805

42、1单片机P1.0口为1,则跳为正转 JB P1.1,LOOP2 ;若8051单片机P1.1口为1,则跳为反转 JMP STEP ;原地等待LOOP1: MOV DPTR,#CT1 ;正转A-B-C-D MOV A,#ASTEP MOVX DPTR,A ;往 PA口地址输入01H CALL DELAY ;延迟 MOV A,#BSTEP MOVX DPTR,A ;往PA 口地址输入02H CALL DELAY ;延迟 MOV A,#CSTEP MOVX DPTR, A;往 PA 口地址输入04H CALL DELAY ;延迟 MOV A,#DSTEP MOVX DPTR,A ;往 PA口地址输入08 H CALL DELAY ;延迟 JB P1.2, AA ;若8051单片机P1.2口为1则跳到加速子程序 JB P1.3, BB ;若8051单片机P 1.3口为1则跳到减速子程序 JB P1.4,LOOP3 ;P1.4为1则从正转跳到反转状态 JMP LOOP1 AA: MOV A,DLY_C ;加速子程序 DEC A ; 累加器内容自减1 CJNE A,#08,NN1 ;若累加器内容不等于08H,则跳到 NN1:即

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922