基于51单片机485通讯步进电机系统设计_第1页
基于51单片机485通讯步进电机系统设计_第2页
基于51单片机485通讯步进电机系统设计_第3页
基于51单片机485通讯步进电机系统设计_第4页
基于51单片机485通讯步进电机系统设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文)基于51单片机485通讯步进电机系统学生姓名XXX学院名称XXX专业名称XXX指导教师完成时间XXX年X月X日目录TOC\o"1-3"\h\u22973摘要 49496Abstract

55879前言 614135第一章系统整体设计方案 8245261.1硬件总体设计 8187411.1.1硬件系统子模块 897041.2软件总体设计 915819第二章硬件系统设计 10169262.1硬件电路分析和设计报告 1039432.1.1单片机最小系统电路 1077312.1.2键盘电路 15157503.1.3数码管显示电路 15116073.1.4485通信电路 1786323.1.5步进电机连接电路 1812683第三章软件系统设计 19209613.1系统软件设计整体思路 19321003.1.1主程序 1985703.1.2数码管显示 2073693.1.2485通讯收发函数 2186683.1.3步进电机控制函数 2325745第四章系统调试 24168584.1硬件电路调试 24102924.2软件调试 2428471总结 263565参考文献: 2728856致谢 2831999附录A:485通讯步进电机设计原理图 299701附录B:软件程序 31摘要在工业控制自动化领域,智能装置之间的通信占有重要的地位RS485这种串行通信方式,在工控自动化领域应用非常广泛,这种远距离通信可以采集远程信息和远程数据,实现远程控制和远程调节。在工业控制自动化领域智能装置之间的通信占有重要的地位,RS485这种串行通信方式在工控自动化领域应用非常广泛,这种远距离通信可以采集远程信息和远程数据,实现远程控制和远程调节。本设计是由stc89c51单片机实现485通讯,控制步进电机的一个简易控制装置。有数码管显示步进圈数,并且可以按键控制。关键词:RS485通讯stc89c51单片机步进电机Abstract

Inthefieldofindustrialcontrolautomation,intelligentdevicesisveryimportantforcommunicationbetweenwayRS485serialcommunication,iswidelyappliedinthefieldofindustrialcontrolautomation,thiskindoflongdistancecommunicationcanremoteinformationandremotedata,elligentdevicesinthefieldofindustrialcontrolautomationoccupiesanimportantposition,thecommunicationbetweentheserialcommunicationinterfaceRS485iswidelyappliedinthefieldofindustrialcontrolautomation,thiskindoflongdistancecommunicationcanremoteinformationandremotedata,torealizetheremotecontrolandremotecontrol.Thisdesignisbythestc89c51singlechipmicrocomputer485communication,asimplecontrolsteppermotorcontroldevice.Withdigitaltubedisplaystepperlaps,andalsocancontrolbuttons.Keywords:RS485communicationstc89c51singlechipsteppermotor前言自动化技术是国家现代化的标志,作用突出自动化技术的作用体现在,它面向整个工业领域,是连接传统与现代工业的纽带,是把现代管理技术、信息技术转化为现实生产力的关键性手段。在矿山、石油、建材、化工、制药、轻工、电力、汽车制造业以及军工等行业,生产效率的提高无不依赖于控制技术自动化水平的提高。近十几年我国国民经济GDP长期保持7%以上的增长率,近两年我国汽车工业保持15%以上的增长率,其原因之一就是源于自动化生产线的普及与提高,是自动化技术在起主导和支撑作用。特别是自第二次工业革命以来,电气及对电气的控制技术已成为人们生产、生活乃至生存所必需的一种技术支持,无论是在对大中型企业传统工业技术的技术改造,还是对高新技术产业高效节能的发挥,均起到了至关重要的作用,它已成为当今诸多高新技术系统中不可缺少的关键技术之一,其应用领域几乎涉及到各个工业部门,其地位的重要性,已经或正在对诸如一个国家工业的发展,一个企业参加国际大家庭的激烈竞争,乃至对国家国防军力的强大与现代化程度等中日益凸现出来。RS485又叫EIA-485,是美国电子工业协会EIA制定的一种串行物理接口标准。一般采用两线制传输,利用两线间的电压差进行数据传输。RS485可以满足通信距离远、抗干扰能力大、传输速率高的要求。通过RS485总线连接的智能设备可以形成网络拓扑,满足了网络信息化的需要。一台主机可以同时控制多台从机,这种一对多的主从通信方式极大的提高了通信的效率,也节省了通信成本。单片机控制是工业生产中经常使用的控制方法.自从1976年Intel公司推出第一批单片机以来,80年代单片机技术进入快速发展时期,近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展。单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。单片机将微处理器、存储器、定时/计数器、I/O接口电路等集成在一个芯片上的大规模集成电路,本身即是一个小型化的微机系统。单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据结构、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表结构设计和制造工艺等的结合,使得单片机的应用非常广泛。同时,单片机具有较强的管理功能。采用单片机对整个测量电路进行管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、成本低,制造、安装、调试及维修方便。第一章系统整体设计方案1.1硬件总体设计设计并制作一个基于单片机的485通讯步进电机的电路其结构框图如图1-1所示图1-1硬件框图1.1.1硬件系统子模块(1)单片机最小系统电路部分(2)键盘扫描电路部分(3)数码管数字显示(4)485数据传输与接收部分步进电机驱动板连接部分1.2软件总体设计良好的设计方案可以减少软件设计的工作量,提高软件的通用性,扩展性和可读性。本系统的设计方案和步骤如下:(1)根据需求按照系统的功能要求,逐级划分模块。(2)明确各模块之间的数据流传递关系,力求数据传递少,以增强各模块的独立性,便于软件编制和调试。(3)确定软件开发环境,选择设计语言,完成模块功能设计,并分别调试通过。(4)按照开发式软件设计结构,将各模块有机的结合起来,即成一个较完善的系统。首先通电后工作,注意是先通接收板步进电机12v电源,在通发送板5v单片机供电,开机后数码管显示的数字是0,在此期间可以设置数字,按下确认后经485传输数据,接收板处理后步进电机做出应答。本设计还可以自由移动,设有左右按键,步进电机自由移动。第二章硬件系统设计2.1硬件电路分析和设计报告本设计硬件设计是有单片机通过IO口P2.3管脚进行485数据的传输。P1口按键,控制左右及定向移动。P2.7、P2.6、P2.5控制步进电机,如果步进电机相序变反,那么移动也会变反。2.1.1单片机最小系统电路本系统采用的单片机为STC89C52RC。STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。主要特性如下:增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz用户应用程序空间为8K字节片上集成512字节RAM通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片具有EEPROM功能具有看门狗功能共3个16位定时器/计数器。即定时器T0、T1、T2外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒通用异步串行口(UART),还可用定时器软件实现多个UART工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)PDIP封装STC89C52RC单片机的工作模式掉电模式:典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行原程序空闲模式:典型功耗2mA正常工作模式:典型功耗4Ma~7mA掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备STC89C52RC引脚图STC89C52RC引脚功能说明VCC(40引脚):电源电压VSS(20引脚):接地P0端口(P0.0~P0.7,39~32引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在FlashROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。P1端口(P1.0~P1.7,1~8引脚):P1口是一个带内部上拉电阻的8位双向I/O口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流(QUOTE)。此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体参见下表:在对FlashROM编程和程序校验时,P1接收低8位地址。表XXP1.0和P1.1引脚复用功能引脚号功能特性P1.0T2(定时器/计数器2外部计数输入),时钟输出P1.1T2EX(定时器/计数器2捕获/重装触发和方向控制)P2端口(P2.0~P2.7,21~28引脚):P2口是一个带内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(QUOTE)。在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX@DPTR”指令)时,P2送出高8位地址。在访问8位地址的外部数据存储器(如执行“MOVX@R1”指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变。在对FlashROM编程和程序校验期间,P2也接收高位地址和一些控制信号。P3端口(P3.0~P3.7,10~17引脚):P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流(QUOTE)。在对FlashROM编程或程序校验时,P3还接收一些控制信号。P3口除作为一般I/O口外,还有其他一些复用功能,如下表所示:表XXP3口引脚复用功能引脚号复用功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2QUOTE(外部中断0)P3.3QUOTE(外部中断1)P3.4T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6QUOTE(外部数据存储器写选通)P3.7QUOTE(外部数据存储器读选通)RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。看门狗计时完成后,RST引脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/QUOTE(30引脚):地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚(QUOTE)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址位8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOV指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址位8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。QUOTE(29引脚):外部程序存储器选通信号(QUOTE)是外部程序存储器选通信号。当AT89C51RC从外部程序存储器执行外部代码时,QUOTE在每个机器周期被激活两次,而访问外部数据存储器时,QUOTE将不被激活。QUOTE/VPP(31引脚):访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,QUOTE必须接GND。注意加密方式1时,QUOTE将内部锁定位RESET。为了执行内部程序指令,QUOTE应该接VCC。在Flash编程期间,QUOTE也接收12伏VPP电压。XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。XTAL2(18引脚):振荡器反相放大器的输入端。单片机最小系统的原理图如图2-1所示,单片机最小系统主要由晶振电路和复位电路组成。单片机XIAL1和XIAL2分别接30PF的电容,中间再并个12MHZ的晶振,形成单片机的晶振电路。ALE引脚悬空,复位引脚接到复位电路、VCC接电源、VSS接地、EA接电源。图2-1单片机最小系统原理图2.1.2键盘电路键盘是单片机应用系统中的主要输入设备,单片机使用的键盘分为编码键盘和非编码键盘。编码键盘采用硬件线路来实现键盘的编码,每按下一个键,键盘能够自动生成按键代码,并有去抖功能。因此使用方便,但硬件较复杂。非编码键盘仅仅提供键开关状态,由程序来识别闭合键,消除抖动,产生相应的代码,转入执行该键的功能程序。非编码键盘中键的数量较少,硬件简单,在单片机中应用非常广泛。电路如图2-2所示图2-2按键电路3.1.3数码管显示电路考虑到经济适用,方便关系,本系统采用数码管作为显示,数码管显示数字比较直观明了,一下是对数码管的介绍数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出需要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。静态显示驱动静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。动态显示驱动数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。本文数码管显示电路如图2-3所示图2-3数码管显示电路3.1.4485通信电路RS-485是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的,RS-232在1962年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。RS-422由RS-232发展而来,它是为弥补RS-232之不足而提出的。为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到4000英尺(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A标准。为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。

RS-232、RS-422与RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。因此在视频界的应用,许多厂家都建立了一套高层通信协议,或公开或厂家独家使用。如录像机厂家中的Sony与松下对录像机的RS-422控制协议是有差异的,视频服务器上的控制协议则更多了,如Louth、Odetis协议是公开的,而ProLINK则是基于Profile上的。图2-4连接器如下图2-5所示为485电路连接图图2-5485通讯电路3.1.5步进电机连接电路步进电动机是一种将电脉冲信号转换成相应角位移或线位移的电动机,它的运行需要专门的驱动电源,驱动电源的输出受外部的脉冲信号控制。每一个脉冲信号可使步进电机旋转一个固定的角度,这个角度称为步距角。脉冲的数量决定了旋转的总角度,脉冲的频率决定了电动机旋转的速度,改变绕组的通电顺序可以改变电机旋转的方向。在数字控制系统中,它既可以用作驱动电动机,也可以用作伺服电动机。它在工业过程控制中得到广泛的应用,尤其在智能仪表和需要精确定位的场合应用更为广泛。电路如图2-6所示图2-6步进电机驱动板第三章软件系统设计一个应用系统要完成各项功能,首先必须有较完善的硬件作保证,同时还必须得到相应设计合理的软件的支持。尤其是计算机应用高速发展的今天,许多由硬件完成的工作,都可通过软件编程而代替。甚至有些必须采用很复杂的硬件电路才能完成的工作,用软件编程有时会变得很简单,如数字滤波,信号处理等。因此充分利用其内部丰富的硬件资源和软件资源,采用与C51系列单片机相对应的51C语言和结构化程序设计方法进行软件编程。该设计的功能是在程序控制下实现的。该系统的软件设计方法与硬件设计相对应,按整体功能分成多个不同的程序模块,分别进行设计、编程和调试,最后通过主程序将各程序模块连接起来。这样有利于程序修改和调试,增强了程序的可移植性。采用STC89RC52通用单片机,成本低,稳定性高。3.1系统软件设计整体思路发送板的显示函数,485通讯发送函数,按键函数。接收板的485通讯接收函数,步进电机应答函数。3.1.1主程序主程序包括,定时器初始化,485通讯初始化、以及显示、按键控制。首先是定时器初始化,48525毫秒传输数据,接收板应答。主函数程序如图3-1、3-2所示图3-1发送板主函数图3-2接收板主函数主程序的程序流程图如图3-3所示。图3-3主函数流程图3.1.2数码管显示程序框图如图4-3所示图3-3数码管程序框图数码管显示程序如图3-4所示图4-3数码管显示函数3.1.2485通讯收发函数如图4-4图4-5所示图4-4485通讯接受函数图4-5485通讯发送函数3.1.3步进电机控制函数如图4-6图4-7所示图4-6步进电机接受函数图4-7步进电机发送函数第四章系统调试4.1硬件电路调试仔细检查所接电路,按照硬件原理图接线,理论上是能实现的数码管不正常显示断选位选位置不对,扫描太快,检查线路是否正常(2)通讯协议不成功检查是否收发段SBUF收发正确步进电机不运行检查通讯是否正常步进电机是否12v电源供电4.2软件调试如果硬件电路检查后,没有问题却实现不了设计要求,则可能是软件编程的问题,首先应检查初始化程序,然后是读温度程序,显示程序,以及PWM控制程序,对这些分段程序,要注意逻辑顺序,调用关系,以及涉及到了标号,有时会因为一个标号而影响程序的执行,除此之外,还要熟悉各指令的用法,以免出错。还有一个容易忽略的问题就是,源程序生成的代码是否烧入到单片机中,如果这一过程出错,那不能实现设计要求也是情理之中的事。本人在设计的时候在伟福仿真软件进行调试,通过此软件进行调试可以很方便的观察单片机内部各个寄存器及内部存储器变化情况,以方便进行调试。图为单片机功能调试图:图4-1单片机功能调试图硬件与软件调试相结合,仔细检查各个模块的设计,就能顺利完成任务,实现设计要求,在调试过程中必须认真耐心,不能有一

温馨提示

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

评论

0/150

提交评论