因为我在51单片机控制步进电机机通电时,强行转动了一下,我换了个电机上去时,显示与通信模板断开连接,这是什么原因?

豆丁微信公众号
君,已阅读到文档的结尾了呢~~
步进电机毕业论文,步进电机,步进电机驱动器,步进电机工作原理,42步进电机,步进电机驱动,步进电机选型,步进电机控制器,单片机控制步进电机,57步进电机,plc控制步进电机
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
步进电机毕业论文
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口热门关键词:
咨询热线: &9
邮箱:info@jmc-motion.com
地址:深圳市宝安区留仙二路鸿威工业区A栋2楼
行业资讯行业资讯
步进电机使用常识与应用范围有哪些
摘要:步进电机在各个领域的应用都非常的广泛,步进电机广泛应用在生产实践的各个领域。它最大的应用是在数控机床的制造中,因为步进电机不需要a/d转换,能够直接将数字脉冲信号转化成为角位移,所以被认为是理想的数控机床的执行元件。早期的步进电机输出转矩比较小,无法满足需要,在使用中和液压扭矩放大器一同组成液压脉冲马达。
1、 二相与四相混合式的区别?内部只有二组线圈,外部有4根引出接线,标记为A、A、B、B。 四相步进电机内部线圈有两种形式:二组带中间抽头的有6根引出接线,独立四组线圈的有8根引出接线。
2、 步进电机与驱动器怎样选型? 因为步进电机的输出功率与运转速度成反比例,所以选型时必须了解以下的参数: 负载:单位为KGCM或者NM(例:1CM半径1KG力拉动时为1KGCM)。 速度:速度越高电机输出力矩越小。参照电机输出曲线选者相应速度时输出的达到负载能力的电机。
高速性能 低速振动 适配驱动器 电机电压高电流小差小价格低电机电压低电流大 好大价格高
3、步进电机使用时振动大、失步或有声不转动等现象为什么? 步进电机与普通交流电机有很大的差别,振动大或失步现象是常见的现象。分析原因或解决方法有以下几点: 控制脉冲:频率低速时是否处在共享点上(每个型号电机不同),高速时是否采用梯形或其他曲线加速,控制脉冲频率有无跳动(部分PLC机型).解决方法:调整控制脉冲频率或采用步进伺服专用控制器。 驱动器:电机低速时,振动或失步高速时正常;驱动电压过高。电机低速时正常高速时失步;驱动电压过低。电机长时间低速运转无发热现象(电机正常工作时可高达70至80度)驱动电流过小时。电机工作时过热;驱动电流过大 解决方法:调节驱动器电流、驱动电压或更换驱动器。 步进电机:电机低速时正常高速时失步;电机电感量大或力矩不足。电机低速时振动或失步高速时正常;电机共享震动严重或与驱动器不匹配。
电机高低速均速振动或失步;电机力矩不足。电机工作时过热;电机电感量小或驱动电流过大。解决方法:调节驱动器电流,驱动电压或更换电机。负载:电机低速或高速时不转动或者失步;负载过大。电机起动或停止时有失步或振动;电机出力过大。解决方法:调节驱动器电流或更换电机。
4、 步进电机控制为什么要采用梯形或其他加速方法? 步进电机起步速度根据电机不同一般在150至250RPM左右,如果希望高与此速运转就必须先用起步以下速度起步,逐渐加速直至最高速度运行一定距离后逐渐减速,至起步速度以下时方可停止,否则有高速上不去或失步的现象。常见加速方法有分级加速、梯形加速、S字加速等。
步进电机在各个领域的应用都非常的广泛,步进电机广泛应用在生产实践的各个领域。它最大的应用是在数控机床的制造中,因为步进电机不需要a/d转换,能够直接将数字脉冲信号转化成为角位移,所以被认为是理想的数控机床的执行元件。早期的步进电机输出转矩比较小,无法满足需要,在使用中和液压扭矩放大器一同组成液压脉冲马达。
随着步进电动机技术的发展,已经能够单独在系统上进行使用,成为了不可替代的执行元件。比如步进电动机用作数控铣床进给伺服机构的驱动电动机,在这个应用中,步进电动机可以同时完成两个工作,其一是传递转矩,其二是传递信息。步进电机也可以作为数控蜗杆砂轮磨边机同步系统的驱动电动机。除了在数控机床上的应用,步进电机也可以并用在其他的机械上,比如作为自动送料机中的马达,作为通用的软盘驱动器的马达,也可以应用在打印机和绘图仪中。
杰美康步进电机,无刷电机,,步进伺服电机及驱动系统等产品的研发,生产及销售;严格按照国际标准为全球工控行业提供高质量产品;依靠齐全的检测设备、完善的检测手段、严格的质量标准,我们一直致力于提高产品的质量和性能,拥有完善快捷的技术支持和产品售后服务。
邮箱:info@jmc-motion.com下载费用:15 元 &
自动化学院综合设计报告-步进电机角度控制报告_最终.pdf 指导教师评定成绩:审定成绩:重庆 邮 电 大学自 动 化学 院综合设计报告设计题目:步进电机角度控制单位(二级学院):学 生 姓 名:专 业:班 级:学 号:指 导 教 师:设计时间: 2014年10 月重庆邮电大学自动化学院制I摘要本设计以STC12C5A60S2单片机为控制核心,主要由L298电机驱动模块,步进电机,按键输入等模块组成。步进电机的特性决定了其精确控制步进角的功能,在此次课程设计中我们采用了28BYJ48步进电机,其步进角为0.6°基本符合设计需求。系统由按键设定目标角度,之后将旋转角度折合为脉冲数驱动步进电机,从而达到角度控制的目的,在控制过程中同时将已给脉冲数折合回角度量,通过1602液晶显示实时显示,经检测控制系统基本达到题目要求。关键词:51单片机 步进电机 L298电机驱动II目录摘要.I一、设计题目3二、设计报告正文32.1 系统设计思路及总体方案32.1.1 设计思路32.1.2 系统控制总体方案32.2 总体方案论证42.2.1 主控芯片的选择42.2.2 电机选择42.2.3 驱动芯片选择52.2.4液晶显示器选择.62.3 硬件电路设计62.3.1 硬件设计总体方案62.3.251单片机最小系统硬件设计72.3.3按键设计.82.3.4显示单元硬件设计.82.3.5电机驱动硬件设计.102.3.6步进电机.122.3.7原理图与PCB板.142.4 程序设计152.4.1 程序流程152.4.2LCD1602显示程序152.4.3步进电机驱动程序.18四、设计总结19参考文献20附录(源代码)21附录一:主程序(main.c).21附录二:LCD1602程序.263一、设计题目设计步进电机模型控制-实现步进电机模型的控制,并根据上位机控制要求,显示电机速度和电机的当前速度。单片机通过电机驱动电路控制步进电机的运转,通过按键输入步进电机的旋转角度,并能够在LED上显示目标角度与实际运行的情况。PC机通过串口与单片机通信,显示步进电机的运行情况。要求:1、采用单片机最小系统设计-实验室提供基础模板,其他扩展部分采用焊接板完成。2、模型由知道老师提供,不需要额外制作。3、器件可以采用实验室的设备,不足的提供器件清单统一购买。4、每个小组独立完成内容,最后要安排答辩,答辩不通过者视为不及格。5、报告要求采用电气专业具体格式。按键模块 驱动模块单片机 步进电机PC机显示模4二、设计报告正文2.1 系统设计思路及总体方案2.1.1 设计思路步进电机角度控制实质上通过对步进电机引脚按一定顺序加脉冲,步进电机转动相应的角度,从而实现较为精确的角度控制。本系统采用28BYJ-48型减速步进电机进行角度控制。2.1.2 系统控制总体方案单片机控制的反馈系统的结构框图如图2.1所示,其主要组成部分有:以51单片机为核心的控制单元、基于光敏电阻的传感器检测单元、A/D转换单元、PWM电机控制单元。+ 图 2-1 系统控制框图单片机控制具体的工作过程是:通过检测按键的行为,确定需要转动的角度,经过判决处理,确定相应的脉冲序列输出一个转速控制信号,从而调节步进电机的转动角度,达到设定的目的值。单片机监控系统在本装置中起到了核心作用,单片机监控系统组要负责以下三个:(1)现场数据监测。通过计算实际发生的脉冲数,确定实际的转动角度。(2)现场控制。在本装置中,通过检测按键的状态,确定电机需要转动的角度,从而产生相应的脉冲控制步进电机达到相应的角度。(3)显示监控。在系统中,可通过液晶显示模块实现数据的实时显示。2.2 总体方案论证2.2.1 主控芯片的选择据本题的要求,整个系统中必须要有一个主控芯片来处理数据和控制操作,主要考虑以下两种方案:单片机 模拟脉冲控制器 步进电机5方案一:STC12C5A60S2单片机是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,且速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。1.增强型8051CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051;2.时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为+/-5%到+/-10%以内)用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟,常温下内部R/C振荡器频率为:5.0V单片机为:11MHz~15.5MHz,3.3V单片机为:8MHz~12MHz,精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准;3.PWM(2路)/PCA(可编程计数器阵列,2路):——也可用来当2路D/A使用——也可用来再实现2个定时器 ——也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持);4.A/D转换,10位精度ADC,共8路,转换速度可达250K/S(每秒钟25万次)18.通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件实现多串口。方案二:传统C51芯片,80C51芯片内部集成了CPU、RAM、ROM、定时/计数器和I/O口等各功能部件,并由内部总线把这些不见连接在一起,其内部包含以下一些功能部件:1.一个8位CPU;2.一个片内振荡器和时钟电路;3.4KBROM(80C51有4KB掩膜ROM,87C51有4KBEPROM,80C31片内有无ROM);4.128B内RAM;5.可寻址64KB的外ROM和外RAM控制电路;6.两个16位定时/计数器;7.21个特许功能寄存器;8.4个8位并行I/O口,共32条可编程I/O端线;9.一个可编程全双工串行口;10.5个中断源,可设置成2个优先级。STC12C5A60S2单片机明显比传统的C51单片机有独立的PWM模块和AD模块,且运算速度快,综合考虑采用方案一。2.2.2 驱动芯片选择方案一:采用功率三极管作为功率放大器的控制步进电机。线性型驱动的电路结构和原理简单,加速能力强,但是电路比较复杂。方案二:使用ULN2003作为驱动芯片,ULN2003是高耐压、7电路达林顿阵列,由七个硅NPN达林顿管构成,每一对达林顿都串连一个27K的基极电阻,在5V的工作电压下它能与TTL和COMS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态是承受50V的电压,输出还可以在高负载电流并运行。6方案三:采用L298驱动电路,适用于双极性两相步进电机或单极性四相步进电机的控制,可有半步、整步和波状三种驱动模式。片内PWM斩波电路允许开关式控制绕组电流。该驱动电路需要时钟、方向和模式等输入信号。由于本系统中选的是步进电机故采用方案三。2.2.3液晶显示器选择方案一:诺基亚5110LCD具有的特点:84x48的点阵LCD,可以显示4行汉字,采用串行接口与主处理器进行通信,接口信号线数量大幅度减少,包括电源和地在内的信号线仅有9条;支持多种串行通信协议(如AVR单片机的SPI、MCS51的串口模式0等),传输速率高达4Mbps,可全速写入显示数据,无等待时间;可通过导电胶连接模块与印制版,而不用连接电缆,用模块上的金属钩可将模块固定到印制板上,因而非常便于安装和更换;LCD 控制器/驱动器芯片已绑定到LCD 晶片上,模块的体积很小;采用低电压供电,正常显示时的工作电流在200μA以下,且具有掉电模式。方案二:1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,对于字符的显示相当方便。由于1602LCD帯字库,经济适用,并且本系统需要显示的数据很少,综合考虑方案二。2.3 硬件电路设计2.3.1 硬件设计总体方案硬件以升级版51芯片STC125A60S2为主控,运用了独立键盘作为输入设备,LCD1602为显示设备,用四路I/O口模拟时序脉冲控制步进电机转动。硬件总体设计方案如下: STC12单片机4路时序脉冲 LCD1602独立按键7图 2-2 硬件总体设计方案2.3.251单片机最小系统硬件设计单片机最小系统也叫最小应用系统,是指用最少的元件组成的单片机可以工作的系统. 对51系列单片机来说,最小系统一般该包括:电源电路、单片机、晶振电路、复位电路。其电路图如下:(1)电源电路电源电路设置了指示灯,提供5V的工作电压。图 2-3 电源电路(2)时钟电路单片机工作时,从取指令到译码再进行微操作,必须在时钟信号控制下才能有序地进行,时钟电路就是为单片机工作提供基本时钟的。单片机的时钟信号通常有两种产生方式:内部时钟方式和外部时钟方式。我们这里选用内部时钟方式,如下图。内部时钟是指在单片机XTAL1和XTAL2引脚上跨接上一个晶振和两个稳频电容,可以与单片机片内的电路构成一个稳定的自激振荡器。晶振的取值范围一般为0~24MHz。外接电容的作用是对振荡器进行频率微调,使振荡信号频率与晶振频率一致,同时起到稳定频率的作用,一般选用20~30pF的瓷片电容。图 2-4 时钟电路(3)复位电路无论是在单片机刚开始接上电源时,还是运行过程中发生故障都需要复位。复位电路用于将单片机内部各电路的状态恢复到一个确定的初始值,并从这个状态开始工作。单片机的复位条件:必须使其RST引脚上持续出现两个(或以上)机器周期的高电平。单片机的复位形式:上电复位,按键复位。这里我们最小系统所使用的是按键复位,按键复位电路如下,当按键没有按下时,对电容进行充电。如在单片机运行过程中,按下RESET键,已经充好电的电容会快速通过接地电阻的回路放电,从而使得RST引脚上的电位快速变为高电平,此高电平会维持到按键释放,从而满足单片机复8位的条件实现按键复位。 图 2-5 复位电路图2.3.3按键设计矩阵键盘是用4条I/O线作行线,4条I/O线作列线。在行线和列线的每个交叉点上,设置一个按键。键盘中的按键有16个,这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。但是本系统只需要3个按键,所以这里可以直接使用独立键盘。图2-6 独立键盘2.3.4显示单元硬件设计LCD1602是一款性能比较高的液晶产品。它广泛应用于各类便携式设备的显示系统中。实际上它是一块16*2的LCD字符型液晶显示屏,可以显示两行字符。采用5V电压供电。该显示器本身带有英文字库(ASCLL),它的工作电压是5.0V,采用并行通信方式。9图2-7 LCD电机驱动硬件设计(1)L298芯片L298是SGS公司产品,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥电路,可以用来驱动直流电机和步进电机,继电器线圈等感性负载:采用标准逻辑电平信号控制,具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作:可以外接检测电阻,将变化量反馈给控制电路,其可驱动46V,2A以下的电机,并可以直接连接单片机I/O提供信号可以很方便的利用PWM脉宽调制法进行控制。(2)H桥电路H桥式电机驱动电路包括4个三极管和一个电机,因其外形酷似H字母而得名,如下图。要使M运转,必须使对角线上的三极管导通,如当Q1管和Q4导通时,电流就从电源正极经Q1从左至右穿过电机,然后经Q4回到电源负极,电机顺时转动。当三极管Q2和Q3导通时,电流从右至左流过电机,驱动电机逆时针转动。10图 2-10H桥2.3.6 步进电机(1)步进电机概念:步进电机是一种步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。(2)28BYJ-48型减速步进电机原理图 2-12 四相步进电机原理示意图28BYJ-48型步进电机五线四相电机,工作电压为DC5v—DC12v,有一个减速比为64:1的减速齿轮箱。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距(共16齿)。四相步进电机可以在不同的通电方式下运行,常11见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A),双(双相绕组通电)四拍(AB-BC-CD-DA-AB),八拍(A-AB-B-BC-C-CD-D-DA-A)。因为四相八拍具有更大的转矩,所以我们选择四相八拍运行方式。电机型号 电压V 相数 减速比 步距角度28BYJ-48 5 4 1:64 5.625/64表一 28BYJ-48型步进电机主要参数(3)28BYJ-48型减速步进电机驱动方式28BYJ-48型步进电机八拍逆时针方向转动接线方式如下表接线端序 号 导 线颜色 分配顺序1 2 3 4 5 6 7 85 红 + + + + + + + +4 橙 - - -3 黄 - - -2 粉 - - -1 蓝 - - -表二 四相八拍驱动方式:(逆时针方向)若要电机顺时针转方向转动,则接通顺序由8到1。(4)步进电机控制由于步进电机的驱动电流较大,单片机不能直接驱动,我们使用L298N模块驱动模块驱动。28BYJ-48型减速步进电机与单片机I/O口联接方式:橙线接P2.0、黄线接P2.1、粉线接P2.2、蓝线接P2.3。则控制步进电机逆时针转动编码表为:ucharcodemotortable[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};顺时针转动的编码表为:ucharcodemotortable[]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};122.3.7 原理图与PCB板(1)原理图:图 2-19 原理图(2)PCB板13图 2-20 PCB 图2.4 程序设计2.4.1 程序流程开机之后首先进行各模块的初始化,包括LCD1602的初始化。等待开始信号确认,确认之后便开始执行角度控制,同时在显示模块上同步显示当前转角的事实数据。程序流程图如下:14图 2-21 程序流程图2.4.2LCD1602显示程序显示流程图如下:图 2-22 LCD1602 控制流程在LCD1602显示时要先进行初始化,初始化时需要将相应指令输入到LCD1602中,程序如下://*******************LCM初始化**********************//voidLCMInit(void){ LCM_Data=0;WriteCommandLCM(0x38);//三次显示模式设置,不检测忙信号Delay1ms(5);WriteCommandLCM(0x38);Delay1ms(5);WriteCommandLCM(0x38);Delay1ms(5);WriteCommandLCM(0x38);//显示模式设置,开始要求每次检测忙信号LCD初始化确定输入指令输入显示数据各模块初始化电机控制显示折合为脉冲数输入角度15WriteCommandLCM(0x08);//关闭显示WriteCommandLCM(0x01);//显示清屏WriteCommandLCM(0x06);// 显示光标移动设置WriteCommandLCM(0x0c);// 显示开及光标设置}显示字符时用到了显示字符串函数://**********************按指定位置显示一串字符*************************//voidDisplayListChar(unsignedcharX,unsignedcharY,unsignedcharcode*DData){ unsignedcharListLListLength=0;YX//限制X不能大于15,Y不能大于1while(DData[ListLength]>0x19)//若到达字串尾则退出{ if(X0;j--){ P2=motortable[j];delay(4);}}}17四、设计总结在这次课程设计中我担当了组长角色,在初期负责整个设计方案的设计构思,中期负责硬件系统的搭建,后期负责软件系统设计与各模块调试,在整个过程中得到了很好的锻炼,熟悉了整个开发流程,提升了我的动手能力与团队协作能力,在设计过程中遇到了各种困难例如传感器的选型与控制器控制的控制方式,但是我们都本着最好的设计结果来进行设计,从而我们的最终结果完成了要求的各项指标而且都控制的十分出色,从最初的理论分析进行数学模型建立,到后来精细的传感模块安装,合理的机械结构设计,到最后更加直观的上位机软件开发,我们组每个成员都倾尽全力,最后完成了设计,得到了老师的认可。感觉这种锻炼是平时在书本上学不到的,感谢这次课程设计让我学会了很多。18参考文献[1] 李先允.电力电子技术[M].北京:中国电力出版社,2006.[2] 李希文.传感器与信号调理技术[M].西安:西安电子科技大学出版社,2008[3] 向敏.微控制器原理及应用[M].北京.人民邮电出版社.第2版] 郭天祥.新概念51单片机C语言教程[J].北京:电子工业出版社,第2期.] 胡向东.传感器与检测技术[J].北京.机械工业出版社.第2版] 魏守山,莫以为,黄云奇.基于单片机和驱动芯片的步进电机控制系统设计[J].机床电器,]杨欣,张延强,张铠麟,实例解读51单片机完全学习与应用,电子工业出版社,北京,附录(源代码)附录一:主程序(main.c)#include#include“LCD1602display.h“#defineucharunsignedchar#defineuintunsignedintcharcodetable1[]={“SetAngle: ` “};charcodetable2[]={“NowAngle: ` “};ucharcodemotortable1[]={0x09,0x03,0x06,0x0c,0x0c,0x06,0x03,0x09};//ucharcodemotortable[]={0x01,0x02,0x04,0x08,0x08,0x04,0x02,0x01};ucharcodemotortable[]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90};sbitkey1=P3^6; //S4sbitkey2=P3^7; //S5sbitkey3=P3^5; //S5sbitma=P2^0;sbitmb=P2^1;sbitmc=P2^2;sbitmd=P2^3;intSetAngle=0;floatNowAngle=0;intchazhi=0;chargoflag=0;ucharkey_press_num=0;intchecknum=0;voiddelay(intz){ intj,i;for(j=0;j0){for(j=0;j360)NowAngle=0;Displaynum(10,1,(int)NowAngle);}elseif(checknum0;j--){ P2=motortable[j];delay(4);}checknum++;NowAngle=NowAngle-0.67;if(NowAngle#include//sbitLCM_RS=P3^5;//sbitLCM_E=P3^4;sbitLCM_RS=P1^5;sbitLCM_E=P1^6;#defineLCM_Data P0//****************写数据************************//voidWriteDataLCM(unsignedcharWDLCM){ Delay1ms(3);LCM_Data=WDLCM;LCM_RS=1;Delay10us(3);LCM_E=0;//若晶振速度太高可以在这后加小的延时Delay10us(2);LCM_E=0;//延时Delay10us(2);LCM_E=1;Delay10us(2);}//****************写指令*************************//voidWriteCommandLCM(unsignedcharWCLCM)//BuysC为0时忽略忙检测{ Delay1ms(3);LCM_Data=WCLCM;LCM_RS=0;Delay10us(3);LCM_E=0;Delay10us(2);LCM_E=0;24Delay10us(2);LCM_E=1;Delay10us(2);}//*******************LCM初始化**********************//voidLCMInit(void){ LCM_Data=0;WriteCommandLCM(0x38);//三次显示模式设置,不检测忙信号Delay1ms(5);WriteCommandLCM(0x38);Delay1ms(5);WriteCommandLCM(0x38);Delay1ms(5);WriteCommandLCM(0x38);//显示模式设置,开始要求每次检测忙信号WriteCommandLCM(0x08);//关闭显示WriteCommandLCM(0x01);//显示清屏WriteCommandLCM(0x06);// 显示光标移动设置WriteCommandLCM(0x0c);// 显示开及光标设置}//*********************按指定位置显示一个字符***********************//voidDisplayOneChar(unsignedcharX,unsignedcharY,unsignedcharDData){ YX//限制X不能大于15,Y不能大于1if(Y)X|=0x40;//当要显示第二行时地址码+0x40;X|=0x80;//算出指令码WriteCommandLCM(X);//发命令字WriteDataLCM(DData);//发数据}//**********************按指定位置显示一串字符*************************//voidDisplayListChar(unsignedcharX,unsignedcharY,unsignedcharcode*DData){ unsignedcharListLListLength=0;Y25X//限制X不能大于15,Y不能大于1while(DData[ListLength]>0x19)//若到达字串尾则退出{ if(X<=0xF)//X坐标应小于0xF{ DisplayOneChar(X,Y,DData[ListLength]);//显示单个字符ListLength++;X++;}}}voidDisplaynum(unsignedcharX,unsignedcharY,intnum){ chars[3],j;s[0]=num/100;s[1]=num%100/10;s[2]=num%10;YX//限制X不能大于15,Y不能大于1for(j=0;j<3;j++){ if(j==0else DisplayOneChar(X,Y,s[j]+0x30);//显示单个字符X++;}}voidDelay1ms(unsignedinti){unsignedcharj,k;do{j=44;do{k=100;do{_nop_();}while(--k);}while(--j);26}while(--i);}voidDelay10us(unsignedchari){do{j=30;do{_nop_();}while(--j);}while(--i);}
文档加载中……请稍候!
下载文档到电脑,查找使用更方便
15 元 &&0人已下载
还剩页未读,继续阅读
<a href="UserManage/CopyrightAppeal.aspx?bid=7131702" title="版权申诉" class="fLeft works-manage-item works-manage-report" target="_blank"
关&键&词: 控制步进电机 自动化 步进电机 .. 自动化控制 步进电机综合
& 我的文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
本文标题:自动化学院综合设计报告-步进电机角度控制报告_最终.pdf 链接地址:
当前资源信息
类型: 共享资源
格式: PDF
大小: 612.31KB
上传时间:

我要回帖

更多关于 步进电机和伺服电机 的文章

 

随机推荐