基于STC89C52单片机的步进电机控制系统设计实现分析_第1页
基于STC89C52单片机的步进电机控制系统设计实现分析_第2页
基于STC89C52单片机的步进电机控制系统设计实现分析_第3页
基于STC89C52单片机的步进电机控制系统设计实现分析_第4页
基于STC89C52单片机的步进电机控制系统设计实现分析_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

...wd......wd......wd...唐山学院毕业设计设计题目:基于STC89C52单片机的步进电机控制系统设计与实现系别:信息工程系班级:姓名:指导教师:2013年6月10日基于单片机的步进电机控制系统设计与实现摘要步进电机是一种纯粹的数字控制电动机,是一种受电脉冲信号控制的无刷式直流电动机,是现代定位驱动装置的核心,广泛应用在机械、电力、纺织、电子、仪表、印刷以及航空航天、船舶、兵器等国防工业等领域。基于单片机的步进电机控制系统具有稳定度高、成本低、控制方便、应用范围广等特点。本系统是由STC89C52单片机核心处理模块,遥控器命令输入模块,ULN2003及28BYJ-48步进电机组成的电机模块,12864液晶输出模块共同组成的基于单片机的步进电机控制系统。本设计以载波为38KHZ的红外遥控器作为用户的控制端,它的功能是把用户的命令转换为红外信号。红外信号由TL1838接收,它可以将光信号转换为电信号,并将其发送给微控制器STC89C52。STC89C52对电信号进展相应处理即可获得用户所发出的指令,并依此来控制28BYJ48型四相八拍电机并以12864液晶作为当前状态的显示器。用户可以对步进电机进展加速、减速、正转、反转的控制。本步进电机控制系统具有精度高、运行稳定、控制方便、维护简单、应用范围广等特点。关键词:STC89C5212864液晶步进电机红外遥控DesignandImplementationofStepperMotorControlSystemBasedonMCUAbstractSteppermotorisakindofpuredigitalcontrolmotorandbrushlessdcmotorcontrolledbyelectricpulsesignaltype.Steppermotoristhecoreofthemodernorientationdrive,widelyusedinmachinery,electricpower,textile,electronics,instruments,printingandaerospace,ships,weapons,andotherareasofthedefenseindustry,etc.Thecharacteristicsofthesteppingmotorcontrolsystembasedonsinglechipmicrocomputerincludehighstability,lowcost,convenientcontrolandwideapplication,etc.Thesteppermotorcontrolsystemconsistsofcoreprocessorusingthesinglechipprocessor,commandinputcontrolmoduleusingIRremotecontrol,displaymoduleusing12864LCDand28BYJ48steppingmotormodulewhichusingULN2003asdriver.Theinfraredremotecontrolwithcarrierfor38KHZisusedasthecontrolendoftheuser,whichcanconverttheusers’commandsintotheinfraredsignal.TheTL1838canreceivetheinfraredsignalandconvertitintoelectricalsignal,whichinputtotSTC89C52.TheMCUcanobtaininstructionsofusersbyprocessingtheincomingsignalandcontrolsteppingmotorofthe28BYJ48type,thecurrentstatuscanbeshownby12864LCD.Userscouldcontrolacceleration,deceleration,forward,inversionforthesteppingmotor.Thefeaturesofthecontrolsystemofsteppermotorincludeshighprecision,stablerunning,convenientcontrolandsimplemaintenanceandwideapplication,etc.Keyword:MCU;12864LCD;StepperMotor;Infraredremotecontrol目录TOC\o"1-3"\h\u60371引言 1295032总体设计方案 2238892.1系统设计原理2312622.2总体设计框图2235813系统硬件模块的组成 3288313.1单片机控制模块362783.1.1STC89C52主要构造 3291103.1.2STC89C52功能特性描述 3122663.1.3时钟电路 688873.1.4复位电路 6250973.2步进电机模块7156343.2.1步进电机简介 71003.2.2步进电机的构造 868733.2.328BYJ-48步进电机工作原理 8146373.3ULN2003芯片概述与特点910993.4红外线发射接收模块1089773.4.1红外线遥控的介绍 10120413.4.2红外通信基本原理 10225833.4.3红外遥控发射系统 1291153.4.4红外遥控接收系统 1287243.4.5TL1838与单片机的接口 1493243.512864显示模块 1412903.5.112864液晶的特点14187983.5.212864液晶的引脚说明 15127883.5.312864液晶的读写操作 17240613.5.412864液晶的控制指令 17217643.5.512864液晶接口电路20150363.6蜂鸣器模块 20134713.6.1蜂鸣器介绍20254743.6.2蜂鸣器的接口电路 21266594软件设计与调试22126934.1主程序流程图22280794.2程序设计思路23216954.2.1遥控器的解码 23244284.2.2步进电机的控制 2325584.2.3显示屏的控制 24194354.2.4蜂鸣器的控制 2474014.2.5模块中的通信 2447495编程与下载软件25125395.1Keil软件25276655.2STC-ISP下载软件26313256硬件电路制作 27186256.1原理图的绘制2725416.2电路实现的基本步骤27145477结论 3011922谢辞 3130964参考文献 3215902附录 331引言步进电机是一种纯粹的数字控制电动机,又称为阶跃电机或脉冲电机[1]。是一种转动速率与转动步数可以由脉冲数量与频率控制的直流电机,也就是说这是一种转动速度与脉冲频率相一致的同步电机。它是一种将电脉冲能量转换为机械能的机制,这种方式使它转动的每一个角度,每个角度占用的时间都由用户掌控。随着科学技术的迅猛开展,步进电机的研究也到达了新的水准。定位驱动系统已完全由步进系统所主宰。在过去,人们认为步进系统在很多方面都不及伺服系统,但是由于技术的不断革新,材料的不断升级优化以及计算机技术的不断成熟,使得步进控制系统在技术层面上迎来了崭新的一页。定位驱动系统是处于不断开展状态的,经历了步进系统、直流伺服系统、交流伺服系统等过程的开展与过度,现在又回到了步进控制系统。定位驱动装置之所以再一次回到步进系统,是因为它可以将系统简化,维护非常简单,它所构成的开环控制系统是无需反响的,同时又能保持非常高的精度。所以现如今的定位驱动装置大多是采用步进系统的,这在将来的几十年都不会改变,这种由脉冲去控制转动方位,脉冲频率决定转动速度的定位方式一定会在很大程度上决定着工业与生活中的定位装置的开展趋势。步进电机的上述特点使得它广泛应用于冶金、机械、电力、纺织、电子、轻工、重工、电子、医疗、印刷以及航空航天等国防工业等领域。举一个典型的例子,数控机床在机械行业中有着举足轻重的地位,而数控机床的正常运转又是依赖步进电机的,它核心就是步进电机系统。这种无需反响的开环系统决定了数控机床的工作可靠、性能稳定、维护方便、加工迅捷的特点,也使数控机床成为如今机床开展的主要方向。在其他的许多行业中,步进控制系统也发挥着举足轻重的作用。比方我们在生活中常见的有钟表、广告牌、绘图仪等,在生产中常见的有印刷机器、纺织机、包装机械等。本设计主要是基于单片机的步进电机控制系统,可以通过遥控器的键盘设置期望的步进电机转动状态,通过红外发射装置及接收装置,使单片机接收到用户需要的控制命令,进展相应的处理,使步进电机改变运动状态并在LCD显示屏显示出来。本设计虽然是理论上的步进系统,并没有广泛应用于工业中的定位装置与生产当中。但是随着步进电机技术的不断革新和电机身上所固有的脉冲与角位移严格成正比的特点,以及红外遥控的准确、迅捷、易于控制的优势,步进电机对步进电机稳定、高效、准确的控制,都决定了基于单片机的红外控制步进电机系统将在生活生产中迎来广阔的市场。为了表现步进电机的在生活生产中的应用广泛性,本设计的一些功能的设定有一定的针对性,可以具体的表现出红外控制的步进系统的优越性能。2总体设计方案2.1系统设计原理单片机STC89C52是整个系统关键局部,通过对遥控器上键盘的命令输入,经遥控器编码后发出红外信号,TL1838接收到信号并在单片机中解码。本文提出的采用38KHZ的遥控器为核心控制器件的步进电机控制系统,根据输出信号的不同可以控制步进电机的转动状态,其中采用了28BYJ-48的步进电机,以ULN2003为驱动芯片,并通过单片机程序控制和处理,从而实现了步进电机的状态控制及相应状态显示。本系统采用STC89C52单片机为核心处理器,遥控器为命令输入模块,由ULN2003及28BYJ-48步进电机组成的转动模块、12864液晶的输出模块共同组成的基于单片机的步进电机控制系统。2.2总体设计框图本设计采用STC89C52单片机为核心处理器,利用载波为38KHZ的遥控器为输入模块键盘输入模块,控制步进电机的正转和反转,并以三种不同的速度进展转动,并且转动状态在12864液晶上显示。系统构成如图2-1所示。步进电机ULN2003TL1838单片机遥控器步进电机ULN2003TL1838单片机遥控器蜂鸣器12864液晶蜂鸣器12864液晶图2-1系统框图由系统框图可知,遥控器和TL1838为输入装置,步进电机、12864液晶、蜂鸣器为输出装置,单片机为中心处理装置,ULN2003为驱动器。3系统硬件模块的组成3.1单片机控制模块主控电路中,以单片机为主体,通过分析遥控输入的指令,改变步进电机的运行参数和显示参数。它是系统的大脑。单片机〔MicroController,又称微控制器〕是在一块硅片上集成了各种部件的微型机算计,这些部件包括中央处理器CPU、数据存贮器RAM、程序存贮器ROM、定时器/计数器和多种I/O接口电路[3]。3.1.1STC89C52主要构造STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断构造,全双工串行口[4]。3.1.2STC89C52功能特性描述STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用宏晶公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。STC89C52具有以下标准功能:8k字节Flash、256字节RAM、32位I/O口线、看门狗定时器、2个数据指针、三个16位定时器/计数器、一个6向量2级中断构造、全双工串行口、片内晶振及时钟电路。另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停顿工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停顿,直到下个中断或硬件复位为止[5]。STC89C52的引脚构造如图3-1所示。图3-1STC89C52单片机引脚图GND:接地。VCC:供电电压。P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1〞时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1〞时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入〔P1.0/T2〕和时器/计数器2的触发输入〔P1.1/T2EX〕,在flash编程和校验时,P1口接收低8位地址字节。P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器。能驱动4个TTL逻辑电平。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1〞时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进展存取时,P2口输出地址的高八位。在给出地址“1〞时,它利用内部上拉优势,当对外部八位地址数据存储器进展读写时,P2口输出其特殊功能存放器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1〞后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流〔ILL〕这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如表3-1所示。表3-1P3口的第二功能信道位第二功能说明P3.0RXD串行口的输出P3.1TXD串行口的输入P3.2外部中断0的中断请求输入P3.3外部中断1的中断请求输入P3.4T0计数器0的计数输入P3.5T1计数器1的计数输入P3.6外部数据存储器的写选通信号P3.7外部数据存储器的读选通信号RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想制止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE制止,置位无效。

:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次有效。但在访问外部数据存储器时,这两次有效的信号将不出现。

/VPP:当保持低电平时,那么在此期间外部程序存储器〔0000H-FFFFH〕,不管是否有内部程序存储器。注意加密方式1时,将内部锁定为RESET;当端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源〔VPP〕。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。3.1.3时钟电路STC89C52有内部时钟和外部时钟两种连接方式。设计中使用内部时钟,即在RXD和TXD两端并联晶振和适当电容。需要注意的是并不是晶振有定时的作用,而是通过和单片机内部的高增益反相放大器连接,使它可以在一定频率下稳定震动,起到口令的作用。其连接电路如图3-2所示。图3-2时钟电路在RXD和TXD引脚上并联的晶振是系统的定时元件,内部振荡器就产生自激振荡。时钟电路中选用的晶振可以在1.2~24MHz之间选择,并联的电容值可在5~30pF之间选择,为单片机提供了有序准确的命令,是单片机正常运行的前提。3.1.4复位电路AT89C52的外围电路是必须有复位功能的,一般分为自动复位和按键复位。设计使用的是手动复位,电路原理是在普通RC复位电路的根基上接一个有下拉电阻10K、上拉电容10μf接VCC,电源由开关经串接的1K限流电阻至复位脚〔和上拉电容并联〕,上拉电容支路负责在“上电〞瞬间实施复位;开关通过1K上拉电阻和10K下拉电阻分压器,保证对单片机实施按键电平复位[6]。电路图如图3-3所示。图3-3复位电路复位可以对单片机初始化。其主要功能是把PC初始化为0000H,使单片机从0000H单元开场执行程序[7]。复位一般有两种作用,一种是在进入系统时要正常的初始化,另一种是程序可能会出现错误,运行混乱,是系统处于死锁状态,为了解决这种困境,通常采用复位方式。3.2步进电机模块3.2.1步进电机简介人类社会进入自动化时代的今天,传统电动机的功能已不能满足各种运动控制系统的要求。为了适应这些要求,开展了一系列新的具备控制功能的电动机系统,其中较有自己特点,且应用十分广泛的一类便是步进电机。从开展趋向来讲,步进电机已经能与直流电动机,异步电动机,以及同步电动机并列,成为电动机的一种基本类型,步进电机己成为除直流电动机和交流电动机以外的第三类电动机。步进电机是电动脉冲信号为角位移或线位移的开环步进电机控制元件块。步进电机对于其他种类电机的优势是在非超载的情况下,电机的运动状态如电动机转速、停顿的位置非常稳定,可以完全在用户的掌控之中的,负载的变化,在恶劣环境下都不会对它产生影响,这取决于它的控制方式的与众不同。步进电机的转动圈数完全取决于给它脉冲的数量,它转动速度又完全取决于脉冲频率。只要给步进电机一个脉冲,就会驱动电机在旋转方向上转动一个固定的角度,称为“步进角〞,旋转角度是固定的一步一步的操作[8]。所以它的可操作性非常优越,但是步进电机的转动速度是比较慢的,随着科技的开展,这种缺点也在逐渐改善。步进电机的实物图如图3-4所示。图3-428BYJ48型四相八拍电机本设计选择28BYJ-48步进电机作为设计对象,步进电机28BYJ48型四相八拍电机,电压为DC5V—DC12V。使步进电机连续转动的方法是不断的供给控制脉冲。每个脉冲都对应步进电机的某一项或两项绕组,当它的通电状态改变时对应的转子就会转过一定角度,这个角度叫做步距角。通电状态改变一个周期时转子所转的角度成为齿距。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单〔单相绕组通电〕四拍〔A-B-C-D-A〕,双〔双相绕组通电〕四拍〔AB-BC-CD-DA-AB〕,八拍〔A-AB-B-BC-C-CD-D-DA-A〕。3.2.2步进电机的构造步进电机有转子和定子两局部,在电流作用下的,定子和转子的相互作用,使得电机不停转动。28BYJ-48步进电机的定子是由硅钢片叠成的,定子上有8大磁极,每2个相对的磁极〔N,S〕组成一对,共有4对,如图3-5所示。定子齿有个励磁绕阻,其几何轴线依次分别与转子齿轴线错开。0、1/4π、2/4π、3/4π〔相邻两转子齿轴线间的距离为齿距以π表示〕,即A与齿1相对齐,B与齿2向右错开1/4π,C与齿3向右错开1/2π,D与齿4向右错开3/4π。而转子是由软磁材料制成,其外外表也均匀地分布着小齿,与定子上的小齿一样,并且小齿的大小一样,间距一样。3.2.328BYJ-48步进电机工作原理步进电机是一种将电脉冲转换为角位移的执行机构,步进电机的转动圈数完全取决于给它脉冲的数量,它转动速度又完全取决于脉冲频率。只要给步进电机一个脉冲,就会驱动电机在旋转方向上转动一个固定的角度,可以通过电脉冲个数来控制角偏移量,从而到达准确定位的目的,同时可以通过控制脉冲频率,来控制电机转动的速度和加速度,从而到达调速的目的。本设计选择28BYJ-48步进电机作为设计对象,其原理图如3-5所示。图3-5步进电机接线示意图在图中可以看到附在周围的是定子,在中间的是转子。定子的作用是产生一个电磁场,这个电磁场和转子的磁场可以产生一个扭力[9],使得步进电机转动。但是定子的电磁场是不能和转子磁场在同一直线的。使步进电机不停转动的前提是定子的磁场不停的变换,这个变换是通过一次改变绕组的磁场,始终是定子和转子的磁场产生错位,促使步进电机的稳定转动。而改变磁场切换的时间间隔,就可以控制步进电机的速度了,这就是步进电机的驱动原理。由于单片机的驱动电流较小,不能直接用来驱动步进电机,优势不能充分展现,所以一般都是使用ULN2003达林顿阵列驱动,可以为步进电机提供较大的扭力,使电机稳定工作。3.3ULN2003芯片概述与特点ULN2003芯片是高耐压、大电流达林顿阵列,由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,为单片双极型大功率高速集成电路[10]。由于步进电机并不是简单的转动,它要带动不同的负载,完成不同的工作,所以需要产生较大的扭力,又由于直接使用三极管驱动的局限和功率电子电路大多要求具有大电流输出能力,所以步进电机的驱动一般使用ULN2003。ULN2003芯片高压大电流达林顿晶体管阵列产品属于可控大功率器件功率驱动电路,可控大功率驱动器件驱动电路是功率电子设备输出电路的一个重要组成局部。具体电路图如图3-6所示。图3-6ULN2003接线示意图ULN2003实际上只是一个放大电路,用来放大电流,对于实际的逻辑控制没有任何作用。如果没有这个芯片电机也会转动,只是转动的扭力会受很大影响,制约步进电机的性能。3.4红外线发射接收模块3.4.1红外线遥控的介绍红外线是太阳光线中众多不可见光线中的一种,在太阳光中就包含着红外线。由德国科学家霍胥尔于1800年发现,又称为红外热辐射。很多人不知道红外线与紫外线等不可见光线或者红光等可见光线的产生区别,它们最大的区别是波长不同,波长是震荡频率的结果。人眼能够识别的可见光的种类为红、橙、黄、绿、青、蓝、紫,波长是从长到短排列的。其中红光的波长范围为0.62~0.76um;紫光的波长范围为0.38~0.46。比紫光的波长还要短的光叫紫外线,比红光的波长还要长的光叫红外线。红外线遥控技术就是利用波长为0.76~1.5μm之间的近红外线来传送控制信号的。红外线是我们最常用的一种不可见光线,家用电器的遥控器基本上都是使用红外线。有一个很有趣的特点,当按下遥控器的键盘时,我们看不到红外发射头发出的光线,但是如果我们用照相机来对着红外发射头,按下键盘时,在相机中我们可以观察到它发出了亮光。红外遥控的特点是造价较低,适合市场的推广,各类家庭用户的使用。编解码较容易,不会因为程序电路的复杂性而经常出现故障。它由32位码长,4段码,通过用户码的不同区别开了不同产品的不同遥控,以免互相干扰,不影响周边环境、不干扰其它电器设备。还有一个重要原因,红外线不会对人体造成伤害,发射接收距离较长,方便用户使用。一般在10米以内可以灵敏接收的。3.4.2红外通信基本原理通信控制系统大多是由发射与接收两局部组成的,红外通信也不例外。发射系统对一个红外辐射源进展调制后发射红外信号,而接收系统用红外一体化接收头进展接收,两者联合构成了红外通信系统。红外通信的基本原理是:发送端将基带二进制信号调制为一系列的脉冲串信号〔载波信号〕,通过红外发射管发射红外信号。红外信号由接收端转换成电信号,并对其进展放大、滤波等处理,复原成二进制数字信号,并将其输出。由于各遥控产品的不同,还有很多不同的遥控厂商,必须有一个通信协议来保障不同种类的红外产品获得最正确的通信效果。红外线的波长在750nm至1mm之间,红外通信一般采用红外波段内的近红外线,波长在0.75um至25um之间。红外数据协会将红外通信协议定为波长限定在850nm~900nm范围之间。红外线的调制方法常用的有两种,一种是通过脉冲宽度来实现信号调制的脉宽调制〔PWM〕,另一种是通过脉冲串之间的时间间隔来实现信号调制的脉冲调制〔PPM〕[13]。本设计采用脉冲调制方法,即二进制信息由两个脉冲的时间间隔来表示,首先产生一个同步头,然后产生2个8位用户码,接着8位数据码和8位数据反码,如图3-7所示。0.56ms0.56ms1.125ms2.25ms数据0数据10.56ms0.56ms1.125ms2.25ms数据0数据14.5ms4.5ms4.5ms4.5ms引导码用户码用户码数据码数据反码数据帧构造8位8位8位8位图3-8数据帧构造示意图由于红外光存在反射,在全双工的方式下发送的信号也可能会被本身接收,因此,红外通信应采用异步半双工方式,即通信的某一方发送和接收交替进展。3.4.3红外遥控发射系统红外遥控系统构造红外遥控系统主要分为调制、发射、接收和解调四局部,如图3-9所示。图3-9红外遥控系统调制红外遥控发射数据时采用调制的方式,即把数据和一定频率的载波进展“与〞操作,这样可以提高发射效率和降低电源功耗。调制载波频率一般在30kHz到60kHz之间,一般红外遥控使用的是38kHz,占空比1/3的方波。如图3-10所示。8.8us8.8us26.4us图3-10载波波形有很多芯片都可以发射红外光,但是对于遥控的芯片选择要考虑使用设备和编码种类的不同。对于家用电器的遥控,必须功率要低,这样电池才可以长时间使用,一般都使用可休眠的的发射芯片,能不按键时遥控处于不工作模式。芯片一般选用的晶振为陶瓷共鸣器,因为其有足够的物理撞击能力,虽然准确性不如石英晶体,但是通常是可以允许一些误差的。经过编码后,要用专用的发射头发射出去。普通的发光二极管是不能担此重任的,因为它只能发射出可见光。红外发射二极管是专门用来发射红外线的,它的内部材料是与普通二极管完全不同的,所以导致了其发出的是红外线而不是可见光[12]。听上去红外发射二极管价格也很廉价,与普通发光二极管差不多,某些方面也促进了红外通信技术的开展。3.4.4红外遥控接收系统有发射就要有接收,由于发射的红外线有38K的载波,所以一定要先把接收的信号滤波才行,为了得到准确的编码,还要把信号进展放大、积分等。这是一个复杂的过程,也应该有复杂的电路来处理。随着科技的开展,芯片集成能力的不断提高,这个看似复杂的任务只需要一个叫做红外接收头的电子器件就可以完成工作。常用的红外接收头有HX1838,TL1838等,它们的性能、构造基本都是一样的,可以把38K载波滤掉,并进展一定的处理,使中心处理器件接收到准确的编码,但需要注意的是它处理后的是原来编码的反码。图3-11中就是TL1838一体化红外接收头,其38就是接收38K载波的意思。图3-11TL1838实物图TL1838如图3-11所示,从左边开场,分别为1脚、2脚、3脚,分别为信号输出脚、地和电源,其电平与TTL兼容。TL1838系列特性如下:工作电压:2.7~5.5V工作电流:1.4mA距离:15M频率:38K角度:±45°波长:940nm当TL1838接收到红外光信号时,内部的PIN红外接收管将其装换为电信号,又经过放大电路、解调电路的作用,由输出引脚输出与TTL电平兼容的电信号,该电信号可以直接送到微处理器中处理。TL1838的输出波形如图3-12所示。当接收到频带内的红外信号时,TL1838接收器会输出低电平,否那么数出高电平,从而“将时断时续〞的红外信号解调成原来的连续方波信号。需要注意的一点是,它并没有把红外信号解码,因为它处理后发出的信号不是标准的1、0上下电平。不管是1还是0,都包含着上下电平,只是上下电平所持续的时间是不同的,这需要单片机自己通过程序来判断了。低电平高电平图3-12(a)已调制红外信号(b)TL1838低电平高电平TL1838的有效传输距离是15m,它的工作电压为2.7~5.5V,接收稳定,功率小,在各种红外接收场合的可以使用。TL1838由于它的稳定性能,低廉的价格,是一款性价比很高的红外一体化接收头[13]。3.4.5TL1838与单片机的接口本设计的红外遥控系统是将普通遥控器解码,把它的32位码写进单片机程序中,使得可以通过对遥控器键盘的控制,单片机可以得到相对指令。其连接线电路如图3-13所示。图3-13遥控的接收头的连线把其输出端接单片机的外部中断0,每当遥控器发出信号时都会触发单片机外部中断,这时再触发单片机的定时中断对其发出的信号进展鉴定,以检测出其码位。3.512864显示模块3.5.112864液晶的特点现在的字符型液晶模块已经是单片机应用设计中最常用的信息显示器件了。12864型液晶显示模块具有体积小,功耗低,显示内容丰富等特点。设计中用到的就是这种显示屏。其实物图如图3-14所示。图3-1412864实物图12864型液晶显示屏共有20个引脚,其中有8位数据总线D0~D7,5个控制引脚R/W、E、RS、PSB、RST,5个电源引脚,其中包括背光电源和显示器电源。三个用于调节背景亮度和字符亮度以及供电的引脚。12864型液晶是利用液晶经过处理后能够改变光线传输方向的特性,到达显示字符或图形的目的。它由点阵字符显示器件和专用的行和列驱动器组成,体积小、功耗极低、显示内容丰富。可以通过对外围电路的调节来控制屏幕亮度,工作电压为5V。本设计使用的液晶使用ST7920控制器,5V电压驱动,带背光,内置8192个16*16点阵、128个字符〔8*16点阵〕及64*256点阵显示RAM。与外部CPU接口采用并行或串行两种控制方式。3.5.212864液晶的引脚说明12864液晶有多种驱动芯片,虽然驱动芯片有很多种,但原理基本一样。本次设计采用驱动芯片为ST7920的12864液晶对步进电机工作状态进展显示,其引脚分布图如图3-15所示。图3-1512864液晶管脚图12864液晶管脚及其功能描述,如表3-2所示:表3-212864管脚说明管脚号管脚名称电平管脚功能描述1VSS0V电源地2VCC3~5V电源正3V0—比照度〔亮度〕调整4RS(CS)H/LRS=“H〞,表示DB7—DB0为显示数据RS=“L〞,表示DB7—DB0为显示指令数据5R/W(SID)H/LR/W=“H〞,E=“H〞,数据被读到DB7—DB0R/W=“L〞,E=“H→L〞,DB7—DB0的数据被写到R或DR6E(SCLK)H/L使能信号7DB0H/L三态数据线8DB1H/L三态数据线9DB2H/L三态数据线10DB3H/L三态数据线11DB4H/L三态数据线12DB5H/L三态数据线13DB6H/L三态数据线14DB7H/L三态数据线15PSBH/LH:8位或4位并口方式,L:串口方式16NC—空脚17RESETH/L复位端,低电平有效18VOUT—LCD驱动电压输出端19AVDD背光源正端20KVSS背光源负端在对液晶模块进展操作时,其忙标志位〔BF〕提供内部工作情况,BF=1表示模块在进展内部操作,此时模块不承受外部指令和数据。BF=0时,模块为准备状态,随时可以承受外部指令和数据[14]。原那么上每次对控制器进展读/写操作之前,都必须进展读/写检测。实际上,由于单片机的操作速度低于液晶控制器的反响速度,因此可不必进展读/写检测,或只进展简短的延时即可。3.5.312864液晶的读写操作12864与外部CPU接口有并行或串行两种控制方式,由于本设计采用的是并行读写模式,所以主要介绍并行控制方式。读状态的操作时序为RS=L,R/W=H,E=H;读数据操作时序为RS=H,R/W=H,E=H;时序图如图3-16所示。图3-1612864液晶的读时序写指令的操作指令为RS=L,R/W=L,E=高脉冲脉冲,DB0~DB7=指令码。写数据的操作指令为RS=H,R/W=L,E=高脉冲,DB0~DB7=数据[14],时序图如3-17所示。图3-1712864液晶的写时序12864液晶是一种可以读数据和存数据的器件。由于设计中只用到了些操作,所以要着重说明写操作的方法。E端为使能端,R/W来区分读和写,RS来控制数据还是指令,时序的协调性非常重要。3.5.412864液晶的控制指令12864共有18条控制指令,来对显示器写状态。现在详细分析液晶的显示集。(1)去除显示CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLLH功能:去除显示屏幕,把DDRAM位址计数器调整为“00H〞。(2)位址归位CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLHX功能:把DDRAM位址计数器调整为“00H〞,游标回原点,该功能不影响显示DDRAM。(3)位址归位CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLHI/DS功能:把DDRAM位址计数器调整为“00H〞,游标回原点,该功能不影响显示DDRAM(4)显示状态开/关CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLHDCB功能:D=1;整体显示ONC=1;游标ONB=1;游标位置ON(5)游标或显示移位控制CODE: RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLHS/CR/LXX功能:设定游标的移动与显示的移位控制位:这个指令并不改变DDRAM的内容。(6)功能设定CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLHDLX0REXX功能:DL=1〔必须设为1〕RE=1;扩大指令集动作RE=0:基本指令集动作。(7)设定CGRAM位址CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLHAC5AC4AC3AC2AC1AC0功能:设定CGRAM位址到位址计数器〔AC〕。(8)设定DDRAM位址CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLHAC6AC5AC4AC3AC2AC1AC0功能:设定DDRAM位址到位址计数器〔AC〕。(9)读取忙碌状态〔BF〕和位址CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LHBFAC6AC5AC4AC3AC2AC1AC0功能:读取忙碌状态〔BF〕可以确认内部动作是否完成,同时可以读出位址计数器〔AC〕的值。(10)写资料到RAMCODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0HLD7D6D5D4D3D2D1D0功能:写入资料到内部的RAM〔DDRAM/CGRAM/TRAM/GDRAM〕。(11)读出RAM的值CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0HHD7D6D5D4D3D2D1D0功能:从内部RAM读取资料〔DDRAM/CGRAM/TRAM/GDRAM〕。(12)待命模式〔12H〕CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLLH功能:进入待命模式,执行其他命令都可终止待命模式。(13)卷动位址或IRAM位址选择〔13H〕CODE: RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLHSR功能:SR=1;允许输入卷动位址SR=0;允许输入IRAM位址。(14)反白选择〔14H〕CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLHR1R0功能:选择4行中的任一行作反白显示,并可决定反白的与否。(15)睡眠模式〔015H〕CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLHSLXX功能:SL=1;脱离睡眠模式SL=0;进入睡眠模式。(16)扩大功能设定〔016H〕CODE: RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLHHX1REGL功能:RE=1;扩大指令集动作RE=0;基本指令集动作G=1;绘图显示ONG=0;绘图显示OFF。(17)设定IRAM位址或卷动位址〔017H〕CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLHAC5AC4AC3AC2AC1AC0功能:SR=1;AC5~AC0为垂直卷动位址SR=0;AC3~AC0写ICONRAM位址。(18)设定绘图RAM位址〔018H〕CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLHAC6AC5AC4AC3AC2AC1AC0功能:设定GDRAM位址到位址计数器〔AC〕。3.5.512864液晶接口电路本设计中显示器显示出电机的转动状态,正转、反转、速度等显示内容。本设计的液晶电路如图3-18所示。图3-18LCD连接电路图此电路是液晶的驱动电路,使液晶显示电机状态,单片机的P1口为数据接口,P3.5及P3.6控制液晶的命令与数据传输。滑动电阻器用来控制液晶的亮度。3.6蜂鸣器模块3.6.1蜂鸣器介绍蜂鸣器是一种常见的一体化构造的电子讯响器,采用直流电压供电,在计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、机、定时器等电子产品中广泛应用。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H〞或“HA〞〔旧标准用“FM〞、“LB〞、“JD〞等〕表示[15]。3.6.2蜂鸣器的接口电路蜂鸣器有无源蜂鸣器和有源蜂鸣器之分。有源蜂鸣器在接通接通电源后,内部振荡器产生的音频信号电流通过电磁线圈,产生震荡,使蜂鸣器周期性发声。无源蜂鸣器需要通过外接信号震荡,从而使蜂鸣器发声。设计中使用的是无源扬声器,所以必须由单片机供给震荡信号。其连接电路如图3-19所示。图3-19蜂鸣器连接电路图由于设计所用的是无源蜂鸣器,接PNP三极管以放大电流,单片机P0.0口用来发出脉冲以驱动蜂鸣器,每当按下遥控器的键盘时蜂鸣器都会发出声音。4软件设计与调试4.1主程序流程图通过在遥控器上的指令输入,发出红外信号,设计中的TL1838接收到红外信号滤波并处理传送给单片机,单片机对所得到的信号进展解码,以判断所得命令的用意,来控制步进电机的转动以及显示器的显示。主程序流程图如4-1所示。开场开场主程序输入主程序输入初始化初始化LCD显示LCD显示While循环While循环是否触发外部中断0定时器1是否中断是否触发外部中断0定时器1是否中断否否产生脉冲驱动电机是是产生脉冲驱动电机遥控解码驱动蜂鸣器遥控解码驱动蜂鸣器改变电机转动状态及相应显示改变电机转动状态及相应显示完毕完毕完毕图4-1主程序流程图设计中的程序主要是由中断函数来主宰。主要用了外部中断1,定时中断2,而主函数主要用来初始化和等待中断。当收到外部中断0的触发时,证明遥控器已发射信号需要解码,定时器2产生中断时来供给步进电机脉冲。4.2程序设计思路本设计的程序设计包括遥控的解码,显示屏的显示及步进电机的驱动。其中遥控发出的码位通过TL1838接收由单片机中程序解码并依此来控制步进电机及显示屏。4.2.1遥控器的解码遥控器具有发射指令作用,由于本设计所用遥控器是任意电视遥控,其载频为38KHZ,所以需将遥控器的所有用到键位解码,得到相应键位编码后,将其键位编码放到单片机程序中,当遥控器向TL1838发射时,单片机又对其解码,如果其编码与单片机所存编码一样时即认定此为用户要发的命令,执行这个命令来控制显示器及步进电机。由上所述,遥控器的解码很重要。遥控器发射32位码,当我想要知道其所用的键的编码时,必须编一个程序可以显示相应的键的编码。将TL1838连接到单片机的外部中断0口,当承受到所发信息后,TL1838会首先去掉其38K的载频,以此得到真正要发射的信息。由于发射的信息是二进制码,所以只包含1和0,又因为发射的1和0都包括高电平和低电平,只是其上下电平的时间不同,所以当外部中断采用脉冲触发时,每个码都会触发外部中断,当触发外部中断时,立刻开启定时器定时,以此判断1和0,同时把其编码发送到显示器上并记录,然后写到本设计的程序中。在本设计中,识别遥控器的编码的程序思路与上面所述是一样的,只是设计中将其编码进展比较来判断。4.2.2步进电机的控制在本设计中,当单片机发送一组步进电机识别的编码脉冲时,步进电机就会转动。所以在程序中,将其脉冲编码放在数组中,以供程序调用并控制电机。此脉冲编码共有8个状态,正反转是一样的只是其调用书序相反,需要注意的是调用时编码必须按顺序,其编码表为0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09。当发送完这一串编码后,步进电机只转动45度,所以要转动一圈,需要调用8次,也就是说,转动一圈需要64个脉冲。要控制步进电机的速度,只需在每次发完编码表一次后,延时。步进电机的优点就是转动角位移准确,所以设计中用定时器发送脉冲,这样可以得到非常准确的转动速度。设计中,用P2口发送脉冲编码,即把脉冲编码一个一个的通过P2口发送给步进电机。而此动作放在定时中断中,每次中断传送一个编码,这样步进电机优化了普通延时程序的不稳定、不准确等问题。4.2.3显示屏的控制12864液晶是一种带存贮功能的器件,有4个显示行,每行可显示8个汉字、16个英文字符,一共有20个引脚,带有背光灯,亮度可以调节。在控制显示屏的显示时,分为命令和数据的控制。无论是数据控制还是命令控制,都需要向显示器的数据口中写数据,此数据口为8位,在本设计中用单片机的P1口来传输。而写数据和写命令控制上的区别是RS和E引脚。写命令时控制方法是,RS置为0,E置为0,将要写命令通过数据口用单片机传输,然后将E置为1,即把命令写入显示器中。写数据时先将RS置为1,E置为0,将要写数据通过数据口用单片机传输,然后将E职位1,即把数据写入显示器中。写命令和写数据是相互配合使用的。写命令是控制显示器的显示格式、显示位置、清屏、光标设置等,只有指定了上述的命令,才可以写数据写到自己满意的地方。写数据就是写命令之后把自己要显示的内容写到显示器中。4.2.4蜂鸣器的控制设计中扬声器用的是无源蜂鸣器,用来指示遥控按键后单片机是否解码成功。无源蜂鸣器的声音往往大于有源蜂鸣器,所以本设计选用了无源蜂鸣器。无源蜂鸣器和有源蜂鸣器程序上控制的区别在于有源蜂鸣器给正5V电压即可发出声音。而无源蜂鸣器必须有震荡,所以要发送高频脉冲。为了方便,设计中直接用延时函数并且0与1不停的连续发送。4.2.5模块中的通信依前面所述,各模块都可以单独工作,但是要称为一个整体,就必须找到一个模块之间通信的方法。本设计用的是控制变量的方式来协调各模块的工作。当遥控器发出命令后,TL1838接收并传送到单片机中,单片机接收并解码,判断所发出命令。设置一个变量num,不同的遥控器按键给num不同的数值。通过这个num的数值,传递给步进电机和显示屏。在步进电机和显示屏中都用条件语句,来判断num的值并响应不同的动作。程序运行初始化以后即进入While循环中,这是一个死循环。死循环的作用是等待,等待定时器1的中断,等待外部中断0的中断。其中设置定时器1的中断优先级高于外部中断0。把解码程序放入外部中断0中,驱动电机的程序放入定时器1中断中,再通过对变量的赋值的判断,即可完成整个设计的不同模块之间的通信。5编程与下载软件单片机的正常运行需要程序的支持,一般使用汇编语言或C语言的编程,编译链接成.hex文件并下载到单片机中。Keil软件为用户提供了程序编辑、编译、链接、调试等功能,为用户提供一套完整的程序开发环境。但是keil生成的.hex文件必须依靠STC-ISP软件才能下载到STC89C52中。下面介绍Keil和STC-ISP的特点及使用方法。5.1Keil软件随着单片机开发技术的不断开展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断开展,Keil软件是目前最流行开发MCS-51系列单片机的软件。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境〔uVision〕将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统[16]。应用Keil进展软件仿真开发的主要步骤为:编写源程序并保存——建设工程并添加源文件——设置工程——编译/汇编、连接,产生目标文件——程序调试。Keil使用“工程〞〔Project〕的概念,对工程〔而不能对单一的源程序〕进展编译/汇编、连接等操作。工程的建设、设置、编译/汇编及连接产生目标文件的方法非常易于掌握。首先选择菜单File/New,在源程序编辑器中输入汇编语言或C语言源程序〔或选择File/Open,直接翻开已用其它编辑器编辑好的源程序文档〕并保存,注意保存时必须在文件名后加上扩展名.asm或.c;然后选择菜单Project/NewProject,建设新工程并保存;工程保存后会立即弹出一个设备选择对话框,选择CPU后点确定返回主界面。这时工程管理窗口的文件页〔Files〕会出现“Target1〞,将其前面“+〞号展开,接着选择SourceGroup1,右击鼠标弹出快捷菜单,选择AddFiletoGroup/SourceGroup1,出现一个对话框,要求寻找并参加源文件〔在参加一个源文件后,该对话框不会消失,而是等待继续参加其它文件〕。参加文件后点“close〞返回主界面,展开“SourceGroup1〞前面“+〞号,就会看到所参加的文件,双击文件名,即可翻开该源程序文件。紧接着对工程进展设置,选择工程管理窗口的Target1,再选择Project/OptionforTarget“Target1〞〔或点右键弹出快捷菜单再选择该选项〕,翻开工程属性设置对话框,共有8个选项卡,主要设置工作包括在Target选项卡中设置晶振频率、在Debug选项卡中设置实验仿真板等,在Output选项卡中选中“CreateHexFile〞;其它选项卡内容一般可取默认值。工程设置后按F7键〔或点击编译工具栏上相应图标〕进展编译/汇编、连接以及产生目标文件。KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能表达高级语言的优势。5.2STC-ISP下载软件STC-ISP是一款单片机下载编程烧录软件,是针对STC系列单片机而设计的,可下载STC89系列、12C2052系列和12C5410等系列的STC单片机,使用简便,现已被广泛使用。下载步骤:(1)选择MCU类型:STC89C52RC;(2)选择串口及波特率;(3)翻开编译好的.HEX文件;(4)点击“Download/下载〞按钮,给单片机上电,消息框提示握手成功,几秒种后程序下载完毕,单片机自动开场运行下载的程序。软件界面如图5-1所示。图5-1软件界面6硬件电路制作本次论文设计的原理图绘制和PCB制作所采用的软件是AltiumDesigner10PCB线路设计系统。AltiumDesigner10作为从Protel系列开展起来的新一代办卡机设计软件,以windowsXp界面风格为主,同时,AltiumDesigner10独一无二的DXP技术集成平台也为设计系统提供了所有工具和编辑器的相容环境[17]。AltiumDesigner10是一套完整的板卡级设计系统,真正的实现了在单个应用程序中的集成。该设计系统的目的就是为了支持整个设计过程。AltiumDesigner10具有可靠的稳定性,增强的图形功能和超强的用户界面,设计者可以选择最适当的设计途径,以最优化的方式工作。6.1原理图的绘制(1)创立一个新的工程文件依此执行FileNewProjectPCBProject命令新建一个PCB工程。保存后新建原理图文件,依次执行FileNewSchematic即可创立。(2)加载元件库在电路图放置元件之前,必须先加载库文件。执行主菜单的DESIGN|ADDREMOVELIBRARY命令或单击左侧设计管理器的ADD|REMOVE按钮。(3)绘制电路图放置元件、绘制导线、放置电源部件、放置电气连接点、放置文字标注。(4)修改元件参数(5)保存原理图6.2电路实现的基本步骤(1)单片机方案设计。把所要完成的设计分成几个模块,确定各模块的功能,编辑程序并调试。最好可以用Proteus软件进展仿真,虽然并不能代表实际电路的运行结果,但是如果仿真通不过,是很难在具体电路中实现的。(2)电路原理图:利用电路设计软件,将方案用标准的电路原理图表示,为电路板图的生成提供依据。在设计电路原理图时,必须规划好每一模块的功能,考虑到输入、输出之间的隔离以免产生干扰。因为原理图是制板的依据,对于正确的电路焊接起着关键性作用。本系统的原理图绘制和PCB绘制都是在Altiumdesigner10中完成。(3)制板:根据电路原理图,网上买元器件进展焊接。焊接时需要注意元器件的引脚不要太长,否那么将影响电路的稳定性,尤其是晶振的引脚,如果过长会使晶振不起振。锡点也不能过大,有可能给电路带来很严重的隐患。当进展焊接时,由于电烙铁的温度很高,焊接过程中动作要迅速,否那么会损坏元器件。(4)程序的烧录和调试。调试是一个很麻烦的过程,一件复杂的设计调试更为复杂,要学会各种仿真与调试的方式,在编辑环境中要学会使用断点、单步等调试方法。硬件电路实物图如图6-1所示。图图6-1硬件电路实物图图6-1包括了本次设计用到的所有模块与芯片:电源插头一个,电源线一根,遥控器一个,TL1838一个,12864显示屏,STC89C52单片机一个,步进电机,ULN2003芯片,晶振一个,4.7K电阻假设干,杜邦线假设干。设计正常运行后,显示屏的运行状态如图6-2所示。图6-2液晶屏的显示液晶屏的第一行显示“步进电机控制系统〞,第二行显示速度,第三行显示速度档位,最后一行显示速度方向。设计正常运行后,步进电机的运行状态如图6-3所示。图6-3液晶屏的显示正常运行后步进电机转动速度非常稳定,严格依据脉冲速率来转动。转动时有三个档位,两个转动方向。7结论在本设计过程中,完成了基于单片机的步进电机的系统设计与实现。通过这次实践,了解了电子设计的实现过程,并且学到了很多没接触过的知识。在设计过程中,翻阅了大量书籍,也通过网上的许多资料,掌握了单片机的设计方法,加强了动手能力。在这次实践中,不仅丰富了我的知识还开阔了我的视野。在设计过程中,我了解到电子设计需要细心,耐心,上进心。要通过自己的努力与毅力不断的完善设计。对于电路的焊接与设计,一定要细心,一点小错误都会导致系统的瘫痪。在程序的编写上,要耐心,对每个模块都要设计周到,尽量做到最好。最让人无奈的是系统的调试,一些无理由的错误让人非常无奈,自己的想法和设计的结果不相对应时,自己是无助的。所以向教师与同学求助非常重要,通过他们珍贵的建议不断完善自己的作品。与此同时,我了解到单片机是学习一切微处理器的根基,它虽然在当今应用没有明显优势,但重要的是它可以作为我们学习更强大处理器的必不可少的跳板。在学习单片机时,Proteus仿真软件也是非常重要的,它可以为自己节约大量的时间。对于一项不错的电子设计,电路图是必不可少的,现在比较厉害的电路图软件是Protel系列和Altium系列。对于本次设计用的软件是AltiumDesigner10,是一款从Protel系列升级的板卡级绘图软件。本次设计依然存在着很多缺乏,比方程序响应速度不够快,有时会乱码等,需要更深一层次的学习。我将会不断的努力,从书本、网络上吸取精华,通过自己的实践,努力使自己成为可以为社会做出奉献的人。谢辞写到这里,毕设论文差不多已至尾声;白驹过隙,我四年的大学生活也将敲响完毕的钟声。分手在即,站在人生的又一个转折点,我需要感谢的很多。在毕设期间,王志秦教师不辞辛劳地在资料收集、设计构思的过程中屡次给我指点,而且在硬件电路的搭建过程中也屡屡给了我帮助。教师温和亲切的性格和细心踏实的风格都给了我很多积极地影响。我亲爱的父母,大学四年来与我一起学习的同学、师长、朋友们在学习生活中给予了我许多帮助,是他们教会了我专业知识,教会了我怎样学习,教会了我怎样做人。在此,我要对我的指导师表以深深的感谢,感谢其对我的耐心教导,亲切关心,热情鼓励。感谢杨金泉教师在毕设硬件上给予我莫大的帮助。感谢柳延领教师给我们提供实验室这一良好的毕设环境。衷心感谢同学、师长、朋友们陪我度过四年的快乐时光。感谢的话说也说不完,但再多的话也不够表达我对大家最诚挚的感谢与动情!感谢我遇到的每一个人,是他们一直帮助我成熟,帮助我成长,也一直见证我的成熟和我的成长,谢谢。即将踏入社会,你们带给我的每一次的感动和欢笑都会是我最美好的财富,感谢我迄今为止遇到的每一个人,谢谢!参考文献[1]刘志永.浅析步进电机的PLC控制技术与开展趋势[J].科技资讯,2006,(27)[2]朱宇,王伟.步进电动机的应用[M].西安微电机研究所,2005.2[3]李群芳.单片机原理接口及应用—嵌入式系统技术根基.清华大学出版社.2005,33-35[4]夏易路.单片机技术根基教程与实现.[M].北京:电子工业出版社.2008,1:152-164[5]赵德安.单片机原理与应用(第二版)[J].机械工业出版社,2009.04[6]I.ScottMackKenzie.STC89C52RCDataSheet[M].USA.Prentice-Hall.Inc,1995.04[7]张毅刚,彭喜元.单片机原理与应用设计[J].电子工业出版社,2010.08[8]华大龙,杨晔,潘汉怀.步进电动机原理及其驱动电路研究[J].电子工业出版社,2009.07[9]杨宜民.新型驱动器及其应用[M].机械工业出版社,1997.01[10]孙平,邢军.PLC控制步进电机驱动系统[J].河南师范大学学报(自然科学版),2001,(4).[11]邱玉春,李文俊.单片机系统中的红外通信接口[J].电子产品世界.2000[12]Mark1.Montrose.PRINTEDCircuitBoardDesignTechniquesforEMCcompliance.IEEPressseries,2000,12[13]刘同法,陈忠平等.单片机外围接口电路与工程实践[M].航天航空大学.2009,3:299-310郭天祥[15]李群芳,肖看.单片机原理、接口及应用[M].北京:清华大学出版社,2005.3[16]王为青,程国钢.单片机KeilCx51应用开发技术.人民邮电出版社.2006,12:197-202[17]王渊峰,戴旭辉.AltiumDesigner10电路设计标准教程[M].科学出版社.2012.01附录附录一硬件原理图附录二程序/*#include<reg52.h> #include<intrins.h>/*端口定义及数据类型定义*/ #defineuintunsignedint #defineucharunsignedchar #defineDataPortP1sbitRS=P3^0;//存放器选择输入sbitRW=P3^1;//液晶读/写控制sbitE=P3^3;//液晶使能控制sbitPSB=P3^4; sbitIR=P3^2; sbitBEEP=P0^0;ucharLowTime,HighTime;//储存高、低电平的宽度 uintnum; uintnum1=0; uintnum2=1; ucharnum3=0; u

温馨提示

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

评论

0/150

提交评论