基于单片机的直流电机速度测量系统设计_第1页
基于单片机的直流电机速度测量系统设计_第2页
基于单片机的直流电机速度测量系统设计_第3页
基于单片机的直流电机速度测量系统设计_第4页
基于单片机的直流电机速度测量系统设计_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、XXXX学院单片机课程设计报告题目:基于单片机的直流电机速度测量系统设计 学生姓名XXXX学 号09XXX34专 业电子信息工程班 级2021级1班指导教师张X学 部计算机科学与电气工程课程设计时间2012年6月25日基于单片机的直流电机速度测量系统设计摘要在工程实践中,经常会遇到各种需要测量转速的场合,测量转速的方法分为模拟式和数字式两种。模拟式采用测速发电机为检测元件,得到的信号是模拟量。数字式通常采用光电编码器,霍尔元件等为检测元件,得到的信号是脉冲信号。随着微型计算机的广泛应用,特别是高性能价格比的单片机的出现,转速测量普遍采用以单片机为核心的数字式测量方法。本文便是运用AT89C51

2、单片机控制的智能化转速测量仪。电机在运行过程中,需要对其进行监控,转速是一个必不可少的一个参数。本系统就是对电机转速进行测量,并可以和PC机进行通信,显示电机的转速,并观察电机运行的根本状况。本设计主要用AT89C51作为控制核心,由霍尔传感器、LED数码显像管、HIN232CPE电平转换、及RS232构成。详细介绍了单片机的测量转速系统及PC机与单片机之间的串行通讯。充分发挥了单片机的性能。本文重点是测量速度并显示在5位LED数码管上。其优点硬件是电路简单,软件功能完善,测量速度快、精度高、控制系统可靠,性价比拟高等特点。关键词: MSC-51单片机;直流电机; 转速; 传感器;脉冲;关键词

3、与摘要内容隔行书写,词条用小四号宋体字,词条间用分号;隔开,3-5个关键词小提示:当需要从网站或者文档复制到本文档时,先将文字复制到文本文档,然后再从文本文档复制到本文档的相应位置,这样就能够保证格式是正确的!此行不会被打印千万不要删除行尾的分节符,此行不会被打印。(在word菜单-工具-选项-视图标签中,格式标记局部请全部打对号,这样就可以看到隐藏的分节符和空格等信息了)目录 TOC o 1-3 h z u HYPERLINK l _Toc327810445 摘要 PAGEREF _Toc327810445 h I HYPERLINK l _Toc327810446 1绪论 PAGEREF

4、_Toc327810446 h 1 HYPERLINK l _Toc327810447 本设计的意义 PAGEREF _Toc327810447 h 1 HYPERLINK l _Toc327810448 工作原理 PAGEREF _Toc327810448 h 1 HYPERLINK l _Toc327810449 设计主要模块 PAGEREF _Toc327810449 h 2 HYPERLINK l _Toc327810450 本设计的功能 PAGEREF _Toc327810450 h 2 HYPERLINK l _Toc327810451 本设计的要求 PAGEREF _Toc327

5、810451 h 2 HYPERLINK l _Toc327810452 2本设计系统结构介绍 PAGEREF _Toc327810452 h 4 HYPERLINK l _Toc327810453 系统结构框图及工作流程介绍 PAGEREF _Toc327810453 h 4 HYPERLINK l _Toc327810454 PWM电路选择 PAGEREF _Toc327810454 h 4 HYPERLINK l _Toc327810455 检测装置电路的选择与实现方案 PAGEREF _Toc327810455 h 5 HYPERLINK l _Toc327810456 本章小结 PA

6、GEREF _Toc327810456 h 6 HYPERLINK l _Toc327810457 3系统硬件电路设计 PAGEREF _Toc327810457 h 7 HYPERLINK l _Toc327810458 单片机最小系统设计 PAGEREF _Toc327810458 h 7 HYPERLINK l _Toc327810459 单片机介绍 PAGEREF _Toc327810459 h 7 HYPERLINK l _Toc327810460 单片机AT89C51管脚说明 PAGEREF _Toc327810460 h 8 HYPERLINK l _Toc327810461 单

7、片机时钟电路介绍 PAGEREF _Toc327810461 h 10 HYPERLINK l _Toc327810462 单片机复位电路介绍 PAGEREF _Toc327810462 h 11 HYPERLINK l _Toc327810463 显示电路介绍 PAGEREF _Toc327810463 h 12 HYPERLINK l _Toc327810464 芯片功能介绍 PAGEREF _Toc327810464 h 12 HYPERLINK l _Toc327810465 芯片内部结构介绍 PAGEREF _Toc327810465 h 13 HYPERLINK l _Toc327

8、810466 芯片引脚功能介绍 PAGEREF _Toc327810466 h 13 HYPERLINK l _Toc327810467 芯片应用电路介绍 PAGEREF _Toc327810467 h 14 HYPERLINK l _Toc327810468 本章小结 PAGEREF _Toc327810468 h 15 HYPERLINK l _Toc327810469 4系统软件调试环境介绍 PAGEREF _Toc327810469 h 16 HYPERLINK l _Toc327810470 编程软件介绍 PAGEREF _Toc327810470 h 16 HYPERLINK l

9、_Toc327810471 软件功能 PAGEREF _Toc327810471 h 16 HYPERLINK l _Toc327810472 软件应用流程 PAGEREF _Toc327810472 h 16 HYPERLINK l _Toc327810473 程序下载软件介绍 PAGEREF _Toc327810473 h 17 HYPERLINK l _Toc327810474 软件功能 PAGEREF _Toc327810474 h 17 HYPERLINK l _Toc327810475 软件应用流程 PAGEREF _Toc327810475 h 17 HYPERLINK l _T

10、oc327810476 本章小结 PAGEREF _Toc327810476 h 17 HYPERLINK l _Toc327810477 5系统程序设计 PAGEREF _Toc327810477 h 18 HYPERLINK l _Toc327810478 系统程序设计流程图 PAGEREF _Toc327810478 h 18 HYPERLINK l _Toc327810479 XX程序模块详细流程图 PAGEREF _Toc327810479 h 18 HYPERLINK l _Toc327810480 程序流程图对应程序代码 PAGEREF _Toc327810480 h 18 HY

11、PERLINK l _Toc327810481 XX程序模块详细流程图 PAGEREF _Toc327810481 h 18 HYPERLINK l _Toc327810482 程序流程图对应程序代码 PAGEREF _Toc327810482 h 18 HYPERLINK l _Toc327810483 本章小结 PAGEREF _Toc327810483 h 18 HYPERLINK l _Toc327810484 6 系统调试 PAGEREF _Toc327810484 h 19 HYPERLINK l _Toc327810485 6.1 硬件调试 PAGEREF _Toc3278104

12、85 h 19 HYPERLINK l _Toc327810486 6.2 软件调试 PAGEREF _Toc327810486 h 20 HYPERLINK l _Toc327810487 6.3 综合调试 PAGEREF _Toc327810487 h 22 HYPERLINK l _Toc327810488 6.4 故障分析与解决方案 PAGEREF _Toc327810488 h 22 HYPERLINK l _Toc327810489 6.5 结论与经验 PAGEREF _Toc327810489 h 23 HYPERLINK l _Toc327810490 结论 PAGEREF _

13、Toc327810490 h 26 HYPERLINK l _Toc327810491 参考文献 PAGEREF _Toc327810491 h 27 HYPERLINK l _Toc327810492 附录 PAGEREF _Toc327810492 h 29 HYPERLINK l _Toc327810493 正文文字字体格式说明此页到最后不需要打印,打印前删除 PAGEREF _Toc327810493 h 30千万不要删除行尾的分节符,此行不会被打印。在目录上点右键“更新域,然后“更新整个目录单片机课程设计题目 绪论本设计的意义智能化转速测量可以对电机的转速进行测量,电机在运行的过程中

14、,需要对其平稳性进行监测,适时对转速的测量有效地可以反映电机的状况。特别是对于生产加工上电机的转速是一个特别重要的指标,只有知道点击的转速可以选择适宜的直流电机应用在各自的领域。在现今高速开展的时代对电机的速度要求越来越高,但其测量工作也变的复杂与困难基于此考虑,我们特意应用单片机技术进行开发设计一套可以科学的进行测量直流电机速度的工程。单片机的英文名称是Micro Controller unit,缩写为MCU,又称为微控制器,它是一种面向控制的大规模集成电路芯片。它具有功能强、体积小、可靠性高、应用简单灵活,因而使用非常广泛,有力地推动各行业的技术开展和更新换代。同时作为单片机开发与研究的学

15、习者更应该充分的利用好科学技术来改变生活,创新开展,本次设计不仅仅是对电机速度的测量,更是对单片机的诠释,启示广阔单片机爱好者积极探索在其他方面有更佳出色成绩。本系统主要由传感器,单片机AT89C51构成。可以对大范围转速进行测量,测量的转速精度高,还可以和PC机时时通信,实现对电机转速的测量。工作原理本设计使用AT89S51,基于51内核的单片机,外接12MHZ晶振,给单片机提时钟脉冲,机器周期与晶振周期之间成12倍的关系。通过给51单片机编程,使单片机输出,两相反的PWM波形,PWM的周期是0.1s,初始占空比设置为50%,利用中断输出每0.1ms中断一次,设置两按键,通过按键促发,一个键

16、增加脉冲宽度,一个键减小脉冲宽度,调整单片机输出PWM脉冲的脉宽占空比可实现0%-100%调整。利用C51单片机输出PWM脉冲,简单方便,易于实现。C51输出的PWM脉冲输入L298全桥驱动,控制L298的输出来控制电机的转速L298N为SGS-THOMSONMicroelectronics所出产的双全桥步进电机专用驱动芯片(DualFull-BridgeDriver),内部包含4信道逻辑驱动电路,是一种二相?和四相步进电机的专用驱动器,可同时驱动2个二相或1个四相步进电机,内含二个H-Bridge的高电压、大电流双全桥式驱动器,接收标准?TTL逻辑准位信号,可驱动46V、2A以下的步进电机,

17、且可以直接透过电源来调节输出电压;此芯片可直接由单片机的IO端口来提供模拟时序信号。L298芯片是一种高压、大电流双H桥式驱动器。298加驱动器组成的步进电机控制电路具有以下优点:使用元件少,组件的损耗低,可靠性高体积小,软件开发简单,并且计算机(或单片机)硬件费用大大减少。PWM信号经过L298处理之后,驱动电动机。PWM脉冲为正负脉冲,电机可以实现 正、反转通过调节占空比来控制输出电压,从而控制电机的转速。初始占空比50% PWM脉冲正负各一半,相当于输出的电压为0大于50%时正转,小于50%时反转。四个二极管都是保护作用上面接电源那个 当Vs断电后 电机的产生的磁场产生很大的电动势保护电

18、机(因为电机可能正传或者反转 所以两个方向均要设计二极管) 接地那个作用在于保护单片机等元件 原理是一样的可以试想一下 如果没有上面两个二极管 或者没有下面两个二极管 都可能因为电机产生的顺势电动势 烧毁元件的 不过一般小电机是没有问题的 如果功率大电的电机影响就严重了设计主要模块控制电机正反转模块上拉电阻下载模块电源数码管显示模块单片机核心模块本设计的功能这次设计就是实现直流电机的转速测量,这个设计可以和电机速度控制结合起来做成一个完整的系统,通过L298芯片这个模块可以实现电机的正反转控制,通俗得讲就是H电路正向接通电机正传反向接通电机反转,按键控制模块可以设置几个状态,例如K1|K2键控

19、制电机正传反转,K3|K4键控制电机快进慢进等等。最主要的是利用光敏二极管测试电机速度电机上有标记每转一圈记一个数,电机的具体转速就直接通过数码管显示出来。本设计的要求1在系统中扩展直流电动机控制驱动电路L298,驱动直流测速电动机。2使用定时器产生可控的PWM波,通过按键改变PWM占空比,控制直流电动机的转速。3设计一个4个按键的键盘。K1:“启动/停止。K2:“正转/反转。K3:“加速。K4:“减速。4手动控制。在键盘上设置两个按键直流电动机加速和直流电动机减速键。在手动状态下,每按一次键,电动机的转速按照约定的速率改变。5*测量并在LED显示器上显示电动机转速rpm.6实现数字PID调速

20、功能。章 本设计系统结构介绍系统结构框图及工作流程介绍系统结构 数字式直流电机转速控制系统设计有控制器、PWM驱动器、转速检测电路、按键设定、显示输出五局部。PWM驱动器、转速检测电路、按键设定、显示输出都是由控制器控制实施的。总体框图1-1所示:单片机转速测量PWM驱动转速显示按键接口供电电源直流电机 图2-1电机转速是通过光电传感器检测产生触发脉冲经过触发器分频触发单片机中断计数,经定时计数得到标准计数值,由单片机对数据的计算、处理,建立了时间和脉冲的关系式,得到每分中电机的转速。将转速与给定转速作差得到偏差量,再由PID进行调节,使转速趋近给定转速实现控制。电机的速控是通过PWM方式控制

21、的。PWM是由三角波发生电路、比拟器、反响电路。反响是由单片机输入偏差量给高速的DA,由DA输出反响值作用PWM中到达闭环反响控制。电机是由集成H桥芯片驱动,为了防止电压的扰动控制中增,加了型滤波电路平直电流。电机正反转是由电压的正负方向控制的。当切换方向时电路中型滤波电路的电感会产生反电动势会影响系统供电,严重会使系统无法正常工作。所以切换使用了继电器作为切换开关。按键功能可以设定转速,控制电机的转动的正反方向。显示电路是用了高亮数码管显示。系统是以高精度和实时性相协调的原那么的根底上设计的。PWM电路选择直流电机是利用PWM进行调速,PWM可以由软件编程实现,也可由硬件电路实现,但在设计要

22、求精度和实时性都比拟高的情况下,单独使用二者之一是不能完全实现的。因此我们选择了两种典型电路来实现PWM,方案如下。由单片机直接控制的PWM 检测装置电路的选择与实现方案光电传感器是主要利用光电效应原理集成的传感器。它具有响应速度快、结构简单、可靠性高等优点。其内部结构是由发光二极管和光敏三极管组成。其相对的平面各开有小玻璃窗口。电路结构如图示四所示:光敏三极管只伸出集电极和发射极、基极是受光面,当有光照时三极管导通,OUT输出低电平,无光照时三极管截止,OUT输出高电平。图2-2其响应速度是微秒级,足以跟踪电机的转速。它不受外界电磁的干扰,很适应电机近距离工作,不受电机磁场的影响。设计的电路

23、图如图2-5所示:发光二极管始终通电,发光二极管与光敏三极管之间是电机的叶轮。通过叶轮的遮挡和缺口给定光敏三极管基极光源。使三极管产生脉冲送出去。 本章小结本章简诉了本实验电机调速和测速的方案。参考L298说明书,在系统中扩展直流电动机控制驱动电路。,并通过调整PWM波占空比,实现调速;选择光电传感器。因其响应速度快而且不受电磁干扰,得到更优的控制效果。注意:除第一章绪论外,其他每一章都应该有一个本章小结 系统硬件电路设计 单片机最小系统设计 图31单片机最小系统 单片机介绍单片机我们采用AT89C51(其引脚图如图11),相较于INTEL公司的8051它本身带有一定的优点。AT89C51是一

24、种带4K字节闪烁可编程可擦除只读存贮器FPEROMFalsh Programmable and Erasable Read Only Memory的低电压,高性能CMOS 8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器, AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。主要特性:与MCS-51 兼容4K字节可编程闪烁存储器 寿命:1000写/擦循环 数据保存图3-2 AT89C51引脚图时间:10年全

25、静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 单片机AT89C51管脚说明管脚说明:1.VCC:供电电压;2.GND:接地;3.P0口:P0口为一个8位漏极开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。4.P1口:P1口是一个内部提供上拉电阻的8位双向

26、I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。5.P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储

27、器进行读写时,P2口输出其特殊功能存放器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。6.P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流ILL这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表12所示:7.RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。8.ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉

28、冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。P3口同时为闪烁编程和编程校验接收一些控制信号。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 9./PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 10./EA

29、/VPP:当/EA保持低电平时,那么在此期间外部程序存储器0000H-FFFFH,不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用12编程电源VPP。 11.XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 12.XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石英振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽

30、无任何要求,但必须保证脉冲的上下电平要求的宽度。芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 P3口第二功能表3-3 P3口的第二功能Tab.3-2 The second

31、 feature I P3引 脚第二功能信 号 名 称RXDTXDINT0INT1T0T1WRRD串行数据接收串行数据发送外部中断0请求外部中断1请求定时器/计数器0计数输入定时器/计数器1计数输入外部RAM写选通外部RAM读选通 单片机时钟电路介绍时钟电路是计算机的心脏,它控制着计算机的工作节奏。MCS-51单片机允许的时钟频率是因型号而异的典型值为12MHZMCS-51内部都有一个反相放大器,XTAL1、XTAL2分别为反相放大器输入和输出端,外接定时反响元件以后就组成振荡器,产生时钟送至单片机内部的各个部件。AT89C51是属于CMOS8位微处理器,它的时钟电路在结构上有别于NMOS型的

32、单片机。CMOS型单片机内部如AT89C51有一个可控的负反响反相放大器,外接晶振或陶瓷谐振器和电容组成振荡器,图42为CMOS型单片机时钟电路框图。振荡器工作受/PD端控制,由软件置“1”PD即特殊功能存放器PCON.1使/PD0,振荡器停止工作,整个单片机也就停止工作,以到达节电目的。清“0”PD,使振荡器工作产生时钟,单片机便正常运行。图中SYS为晶振或陶瓷谐振器,振荡器产生的时钟频率主要由SYS参数确定晶振上标明的频率。电容C1和C2的作用有两个:其一是使振荡器起振,其二是对振荡器的频率f起微调作用C1、C2大,f变小,其典型值为30pF。图3-4 CMOS型单片机时钟电路框图 单片机

33、复位电路介绍计算机在启动运行时都需要复位,使中央处理器CPU和系统中的其它部件都处于一个确定的初始状态,并从这个状态开始工作。MCS-51单片机有一个复位引脚RST,它是史密特触发输入(对于CHMOS单片机,RST引脚的内部有一个拉低电阻),当振荡器起振后该引脚上出现2个机器周期(即24个时钟周期)以上的高电平,使器件复位,只要RST保持高电平,MCS-51保持复位状态。此时ALE、PSEN、P0、P1、P2、P3口都 输出高电平。RST变为低电平后,退出复位,CPU从初始状态开始工作。单片机采用的复位方式是自动复位方式。对于MOS(AT89C51)单片机只要接一个电容至VCC即可(见图43)

34、。在加电瞬间,电容通过电阻充电,就在RST端出现一定时间的高电平,只要高电平时间足够长,就可以使MCS-51有效的复位。RST端在加电时应保持的高电平时间包括VCC的上升时间和振荡器起振的时间,Vss上升时间假设为10ms,振荡器起振的时间和频率有关。10MHZ时约为1ms,1MHZ时约为10ms,所以一般为了可靠的复位,RST在上电应保持20ms以上的高电平。RC时间常数越大,上电RST端保持高电平的时间越长。假设复位电路失效,加电后CPU从一个随机的状态开始工作,系统就不能正常运转。 图3-5 上电复位电路 显示电路介绍显示电路采用LED数码管动态显示,LEDLight-Emitting

35、Diode是一种外加电压从而渡过电流并发出可见光的器件。LED是属于电流控制器件,使用时必须加限流电阻。LED有单个LED和八段LED之分,也有共阴和共阳两种。 芯片功能介绍主要显示器结构:常用的七段显示器的结构如图44所示。发光二极管的阳极连在一起的称为共阳极显示器,阴极连在一起的称为共阴极显示器。1位显示器由八个发光二极管组成,其中七个发光二极管ag控制七个笔画段的亮或暗,另一个控制一个小数点的亮和暗,这种笔画式的七段显示器能显示的字符较少,字符的开头有些失真,但控制简单,使用方便。此外,要画出电路图,首先还要搞清楚他的引脚图的分布,在了解了正确的引脚图后才能进行正确的字型段码编码。才能显

36、示出正确的数字来,如图4-5所示,为七段数码管的管脚图。图3-6 七段发光显示器的结构 芯片内部结构介绍七段发光显示其内部由七段发光二极管组成,由图可知ag分别代表七个引脚的状态,由此显示出来。 芯片引脚功能介绍采用的数码管驱动为7407,它的全名为7407 TTL 集电极开路六正相高压驱动器,其结构简单,使用方便,图4-6为7407的图以及各个引脚的分布功能介绍。图3-8 7407管脚的结构 芯片应用电路介绍显示方式:为了节省I/O口线,我们采用的动态显示方式。所谓动态显示,就一位一位地轮流点亮各位显示器扫描,对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮

37、时间和间隔时间的比例有关。调整电流和时间参数,可实现亮度较高较稳定的显示。假设显示器的位数不大于8位,那么控制显示器公共极电位只需8位口称为扫描口,控制各位显示器所显示的字形也需一个8位口称为段数据口。本次设计要求的转速测量范围60r/min-36000r/min,所以只需要5位数码管即可。5位共阴极显示器和AT89C51的接口逻辑如图4-7所示。AT89C51的P0口作为段数据口,接上拉电阻到显示器的各个段;P2口作为扫描口,经同相驱动器7407接显示器公共极。对于图4-7中的5位显示器,在AT89C51RAM存贮器中设置五个显示缓冲器单元30H35H,分别存放5位显示器的显示数据,AT89

38、C51的P2口扫描输出总是只在一位为低电平,即5位显示器中仅有一位公共阴极为低电平,其它位为高电平,AT89C51的P0口相应位阴极为低的显示数据的段数据,使该位显示出一个字符,其它们为暗,依次地改变P2口输出为高的位,P0口输出对应的段数据,5位显示器就显示出由缓冲器中显示数据所确定的字符。 本章小结注意:除第一章绪论外,其他每一章都应该有一个本章小结 系统软件调试环境介绍 编程软件介绍 HYPERLINK :/baike.baidu /albums/942051/942051/0/0.html l 0$5af4d7eabd8badecd539c9a2 o 查看图片 t _blank Kei

39、l C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境uVision将这些局部组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。其优点如下:Keil C51生成的目标代码效

40、率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能表达高级语言的优势。 与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。 图 41 Keil编译环境 软件功能Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能表

41、达高级语言的优势。 软件应用流程Keil 51 编译指南:第1步: 翻开Keil51软件,首先弹出一个开机启动画面。如图4-2:图4-2 开机启动画面第2步: 然后进入Keil51的开发界面。下面简要介绍一下Keil51开发环境中各个区域的功能。Keil51开发环境可以分为四个区域,分别为:菜单条、工程文件管理窗口、代码编译窗口和代码编译信息窗口四个局部。菜单条分为十项,所有的命令都可以在这里找到。下面的命令是一些常用的菜单命令,如文件的翻开、关闭及保存。其中编译命令最为常用。中间靠左是工程文件管理窗口,这里可以看到当前工程中所包含的所有带编译的文件。工程文件管理窗口的右侧是代码编译窗口,这事

42、我们最主要的工作区域。最底层显示了代码编译的信息。当代码有语法错误时,可以在这里轻松的找到问题的所在。第3步:下面以建立一个简单的工程为例,来说明Keil51开发工程的一般方法。单击Project菜单项,选择New Project项。如图4-3:选择新建工程图4-3 新建工程第4步:此时弹出Create New Project对话框,选择适宜的路径口,在文件名一栏中填入新工程的名字。单击保存。如图4-4:新建工程新建文件并命名保存图 4-4 新建文件并命名第5步: 根据所用的器件,选择CPU的型号,单击确定。如图4-5:点击确定选择CPU型号图 4-5 选择CPU型号第6步:Keil51询问是

43、否生成默认的配置文件,这个可选可不选,这里选定。单击Yes,观察工程文件管理窗口的变化。第7步:在File菜单下单击New选项,新建文件。此时在代码窗口出现一“Text1空白文档。如图4-6:选择新建图 4-6 新建文件第8步: 在“Text1中编辑完代码后,单击File菜单中的保存项,弹出保存对话框。保存名写为text.c。单击保存。注意在对文件命名时必须加扩展名。如图4-7:点击保存文件名图 4-7 命名文件并保存第9步: 在工程导航栏中Source Group 上单击右键,选Add File to Group Source Group 1。如图4-8:选择这项图 4-8 增加文件到组第1

44、0步: 此时弹出Add File 对话框。选中刚刚保存的text.c文件。单击Add。此时在工程文件管理窗口中就会出现刚刚所添加的文件text.c。如图4-9:点击add图 4-9 添加文件第11步: 单击快捷菜单栏中的编译按钮,可以编译程序。第12步: 单击Project菜单项,选择Option for Target Target 1选项。在弹出的对话框中可以对Project进行总体配置。如图4-10:图 4-10 进行总体配置第13步: 选择Output 选项卡,单击Create HEX File ,代码输出格式应为HEX-80 。如图4-11:选择HEX-80选择生成图 4-11 建立H

45、EX文件第14步: 单击确定后,并重新编译。可以看到编译成功之后,Build 选项卡里又多了一项。这是生成的HEX 文件。第15步: 单击Debug 菜单项中的Start/Stop Debug Session 命令或工具栏中的进入调试界面。如图4-12:选择进入调试图 4-12 进行调试第16步: 单击调试界面Debug 菜单项中的Go命令或工具栏中的运行程序,单击Stop Running 命令或来结束程序。观察运行结果,假设结果正确,便可通过下载软件将它烧写到目标板上去。 这样,一个简单的Keil 51下的工程就完成了。注:Keil 51 对汇编语言文件的编译调试步骤和对C语言的编译调试根本

46、上是一样的,只是在第八步中用汇编语言进行代码的编写,并在保存文件时将扩展名加成 . asm。本系统中,最初采用把9个状态分别设置成一个子函数的方法。在每个子函数中对在此状态中需要点亮的LED单独赋值,延时程序采用定时器延时,在主函数中设置调用子函数。但是在调试过程中遇到很多问题,比方,LED并未按照理想的方式点亮或熄灭,也没有状态变化。在经过分析后,采用了另一种更为简单的方法,即给P1口和P2口整体赋值,如P1=0 xff、P2=0 xff即表示所有LED不点亮。每个状态只需赋一个或两个值,需要延时时只需调用延时程序。此外,对延时程序也进行了修改,把原有方案改为用CPU延时,这样,程序变得较为

47、简单易行。 程序下载软件介绍 STCISP是一款单片机下载编程烧录软件,是针对STC系列单片机而设计的,可下载STC89系列的STC单片机,使用简便,现已被广泛使用。 软件功能通过Keil软件编程,编译后会生成一个hex文件,STC软件就是把生成的hex文件写入单片机,从而在单片机上实现一些实验现象 软件应用流程 软件应用流程先用编程软件调试好程序并编译生成HEX文档,如图4-12: 图 4-12 生成HEX文档9JC!R )02. 把下载器放到实验板的零插拔座上仿真器下面有双排40脚的插针并卡紧,注意不要放反,有与PC连接口的那一边朝下。 (uKoJ1R(w qV03. 把下载器所配的下载线

48、上的DB9接头电脑的9针串口连接好,与DB9接头一边的USB接头插到电脑USB接口上用来取电。另一头接到下载器USB接口上。中国电子顶级开发网-电子设计论坛、博客、超人气的电子工程师资料分享平台oTkW2P_6i 4. 根据你的下载器上的STC单片机类型选择程序下载模式,可通过按下电容旁边的锁定开关来切换如是C系列的不用按下开关,如STC89C58 RD+、如是LE系列的请按下开关,如STC89LE54 AD。注意:如是LE系列的在下载完程序后需要把开关弹上来才能进行正常仿真,检查SB接口旁边的POWER1开关是否处于弹起状态。如图4-13、4-14: 图 4-14 选择串行口图 4-15 下

49、载程序中国电子顶级开发网-电子设计论坛、博客、超人气的电子工程师资料分享平台px!Fm(P5. 运行随光盘所带的STC下载软件,出现下列图4-16:中国电子顶级开发网-电子设计论坛、博客、超人气的电子工程师资料分享平台uO.PG0g6y LK5G*#O)O8GbX图 4-16 下载成功中国电子顶级开发网-电子设计论坛、博客、超人气的电子工程师资料分享平台8S2|do_w&X?C-Uf.ZtB7k60先按图中标示按1选择好你的下载器上所用的单片机类型,选好单片机类型后,就可以按2找到源HEX文件并存入缓冲器里,接下来就可以按3,最后按下下载器上的POWER1开关,就可以看到下载器上的LED灯亮了

50、,同时屏幕上的程序下载进度条在显示进度,很快,程序就被下载到下载器上的单片机里了,这是自动转到实验板上演示程序内容了,看,实验板上的流水灯在闪烁了吧。如是在下载程序前按下下载器电容旁边的那个开关的,此时要把弹起来就可以了。 本章小结注意:除第一章绪论外,其他每一章都应该有一个本章小结 系统程序设计 系统程序设计流程图 XX程序模块详细流程图 程序流程图对应程序代码 XX程序模块详细流程图 程序流程图对应程序代码 本章小结据以上设计思路和各个模块的流程图即可编写出本次毕业设计的程序,注意其中各个模块间的参数传递以及堆栈指针等问题,程序设计的任务即可完成,开始30HR0,表首地址DPTR,R1=0

51、FEHR0赋值给AR1=0DFH?A+DPTR赋值给P0R1=P1,R1=A,RL AINC R0 ,A=R1N 结束图 56显示程序流程图注意:除第一章绪论外,其他每一章都应该有一个本章小结6 系统调试电路调试是整个系统功能否实现的关键步骤,我们将整个调试过程分为三大局部:硬件调试、软件调试和综合调试。6.1 硬件调试硬件调试主要是针对我的转速测量系统的单片机硬件电路分别进行调试。这一局部硬件调试主要分成两大块:上电前的调试和上电后的调试。上电前的调试在上电前,我们必须确保电路中不存在断路或短路情况,这一工作是整个调试工作的第一步,也是非常重要的一个步骤。在这局部调试中主要使用的工具是万用表

52、,用来完成检测电路中是否存在断路或者短路情况等。特别是数码管的连接局部,有PROTEL制作的PCB确保要和原理图上的图一致,有些在电路板上没法连接的线路,要用短接线把接好,对照着原理图局部,一局部一局部地用万用表测量,注意焊点之间,确保焊点没有短接在一起,同时注意焊点的美观,确保没有开路以及短路的现象出现。上电后的调试在确保硬件电路正常,无异常情况(断路或短路)方可上电调试,上电调试的目的是检验电路是否接错,同时还要检验原理是否正确,在本次课程设计中,上电调试主要只转速测量系统的单片机控制局部、数码管点亮局部、和上位机通信是的电平转换和串口通信局部的硬件调试。1、单片机控制局部硬件调试:这一局

53、部调试主要是检查时钟电路、复位电路是否接对,单片机的电源以及地是否接好,以及其他的一些管脚的接法。看单片机通电后能否可以正常工作等这一系列问题。2、数码管LED电路调试:由于数码管采用的是动态扫描的方式点亮的。数码管的公共端COM接在7407驱动再接到单片机的P2口作为位选信号,字型是接在P0口。电路上电检查7407是否接上电源和地让其正常工作。在这一前提下,查看数码管能否点亮。只需要接仿真机上编写一个小程序让5位LED全亮,或者让它们其中的某位点亮,也可以显示不同的数字,根据要求给P0口,P2口分别赋值。即可检查数码管的硬件电路是否正确,即可判断显示驱动电路整个完整,首先排除这里的故障。3、

54、发送局部硬件电路调试:这一局部电路硬件调试主要完成任务是使得通过HIN232CPE电平转换器转换前后的电平关系。可以用示波器和万用表检查电平转换前后的关系,这里不在赘述。6.2 软件调试单片机程序调试思路:单片机局部调试工作的完成主要应用LCA51软件来完成,这一局部工作首先将转速测量系统中的各个模块计算程序中的除法程序、双字节的二-十进制数制转换程序,压缩BCD码十进制数转换为非压缩BCD码的程序以及显示局部程序调试好,不断调试,不断修改直到正确为止。LCA51软件是一种非常实用的多窗口编辑、调试软件。 LCA51软件全面支持汇编语言,C51语言,PL/M51语言的编译/连接、调试。软件支持

55、单文件方式和工程化管理两种模式。用户可自定义各种语言的关键词.软件完全支持源语句级在线调试。高级语言还支持源文件调试和汇编语言指令行对照调试。用户可同时翻开多个窗体编辑、调试、变量观察.用户可在线对原文件直接编辑、编译、连接、加载和调试,软件支持编译错误源文件定位。调试时用户可动态观察、修改设定变量包括CPU片内存放器、特殊存放器及外部存放器、内存的值。调试主要方法和技巧: 通常一个调试程序应该具备至少四种性能:跟踪、断点、查看变量、更改数值。1.跟踪调试 调试应用程序所提供的重要性能也许就是跟踪应用程序。跟踪应用程序使用户能够在运行应用程序时,看到PC指针在应用源代码程序中确实切位置,LCA

56、51提供以下方法对程序的执行进行跟踪。 跟踪型单步执行一条源语句程序。但是,如果调用一函数,那么进入函数中,再执行函数的第一条源语句行前停止。 通过型单步仅执行下一条源语句程序,然后又停止。如果是调用一函数,运行完整个函数并停止在函数返回处。2.断点调试 如果程序中某块代码实际运行正常的情况下,仍用跟踪调试方法,将大大浪费时间,而且很枯燥,因此调试中第二个重要工具是在源代码中预定处设置断点,大多数调试程序通过使用断点中止程序执行。注意:如果用户调试高级语言,因为系统要占用2个断点,所以可设置的断点数为最大断点个数减2。 LCA51调试软件还提供一次性断点:执行到光标所在行。如果用户按热键F4,

57、调试程序继续执行程序代码,直到它到达光标行处或调试程序遇到另一个断点。3.查看变量 显然,通过一系列指令查看应用程序,了解导致某一错误的执行也是一种非常有效的方法。LCA51软件提供了以下几种方法对变量进行查看。 通过添加观察项菜单可以将用户希望观察的变量添加到观察窗口中,长期进行观察。用户程序在单步或断点停下时,将更新变量的取值。 用户可以直接移动鼠标到相应的变量名上,点击鼠标左键,将出现一个提示窗口,显示这个变量的当前值。 用户还可以翻开程序空间窗口、内部数据窗口、外部数据窗口进行数据块观察。 如果用户在调试过程中了解到变量的内容超值、未定义等会对程序性能产生影响或引起异常时,立即更改变量

58、的内容是很有效的方法,以确保该值在正确范围内不会产生错误。LCA51软件提供一系列更改变量数值的方法,以便用户能检查程序对整个变量值范围的反响,而无需为设置每个值而重新加载调试。在更改对话框中用户输入要更改的取值,点击确定按钮。用户可以在输入框中输入十六进制或十进制数据。程序调试过程: 整个程序是一个主程序调用各个子程序实现功能的过程,要使主程序和整个程序都能平稳运行,各个模块的子程序的正确与平稳运行必不可少,所以在软件调试的最初阶段就是把各个子程序模块进行分别调试。首先要对计算程序进行调试,其中关键就是那个四字节除三字节的程序显得尤为重要,在整个程序中,四字节的被除数是确定的常数,而除数是测

59、量记数的值,当各个模块调试时,我们可以先对除数先赋不同的值,利用查看内部数据的数据窗口观察出计算出来的结果和用计算器算得的结果是否一致,可以举例屡次数据,确保程序正确,才能得到想得到的数据。其次、二进制到十进制的转换,我们依然可以利用上述列举的方法,屡次给出数据,然后运行程序,可以设置观察变量,观察出程序转换的结果。最后、拆分压缩BCD码十进制以及最后的显示程序,可以利用上述提到的各种方法,观察30-34H内部的数据,缓冲数据的观察检查完毕后,调用显示程序,观察数码管上显示的数据是否是内存缓冲中需要显示的数据。6.3 综合调试在硬件和软件单独调试成功后进行软硬件综合调试,它可以分成以下几个步骤

60、:1.使霍尔传感器有方波信号输出;2.使单片机获得中断信号,计算出转速值并存储;3.通过LED数码管把测量的数据显示出来。4.通过通信使得PC机与单片机之间的通信成功。6.4 故障分析与解决方案故障出现情况:1、霍尔传感器不能产生有效的TTL电平,产生波形不稳2、单片机的中断效劳程序不能执行,不管是定时中断还是外部中断;3、中断执行低速情况也就是软件记数功能不对;4、测得的转速不准确,而且在波形频率变化下显示转速却不变5、单片机显示局部无法工作,显示不稳定;6、信号发生器模拟转速测量正确,接电机不稳定7、通信时单片机接收显示数据不正常,PC机接收乱码;解决方案针对上述故障一一对应的解决方案:1

温馨提示

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

最新文档

评论

0/150

提交评论