基于51单片机的光电编码器测速
基于51单片机的速度检测系统解析

基于51单片机的速度检测系统摘要在工程实践中,经常会遇到各种需要测量转速的场合,测量转速的方法分为模拟式和数字式两种。
模拟式采用测速发电机为检测元件,得到的信号是模拟量。
数字式通常采用光电编码器,霍尔元件等为检测元件,得到的信号是脉冲信号。
随着微型计算机的广泛应用,特别是高性能价格比的单片机的出现,转速测量普遍采用以单片机为核心的数字式测量方法。
本文便是运用单片机控制的智能化测量自行车转速。
自行车在运行过程中,需要对其进行监控,转速是一个必不可少的一个参数。
本系统就是对自行车转速进行测量,并显示转速,了解自行车运行的基本状况。
本设计主要用AT89C51作为控制核心,由霍尔传感器、LED数码显像管、及24C02构成。
详细介绍了单片机的测量转速系统及串行通讯。
充分发挥了单片机的性能。
本文重点是测量速度并显示在4位LED数码管上。
其优点硬件是电路简单,软件功能完善,测量速度快、精度高、控制系统可靠,性价比较高等特点。
关键字:MSC-51(单片机);计算机;传感器自动化测量Speed test brief introductionAbstract:In the bike practice, we will meet each kind to need frequently to survey the rotational speed the situation, the survey rotational speed method divides into the simulation type and the digital two kinds. The simulation type uses measured that the fast generator is the detecting element, obtains the signal simulates the the de graduated from the design of the issue is control of the intelligent use of speed measuring instrument.The aticle is the motor speed measurement, and basic situation. This topic describes the design steps and method of humidity measurement system which based on chipdesign a system which can measure temperature and humidity, show the measurement results and warming.This system uses AT89C51 as the main chip, use a new integrated digital temperature and humidity sensor DHT11 gather the temperature and humidity data.It uses C language to design system programming on development platform. The main design is divided .Key words:single chip; intelligence; computer; transimiter; test.目录第1章引言 (1)第2章系统介绍 (2)2.1 系统结构 (2)2.2 系统要求 (3)第3章硬件电路设计 (4)3.1 单片机模块 (4)3.2 霍尔传感器模块 (9)3.3 显示模块 (10)3.4 24C02存储器简介 (11)第4章软件设计 (14)4.1编译语言的选择 (14)4.2程序模块 (14)4.3集成开发环境Keil介绍 (17)第5章调试 (22)5.1系统硬件调试 (22)5.2 系统软件调试 (22)5.3 系统整体调试 (23)结论 (24)致谢 (25)参考文献 (26)附件1原理图 (27)附件2 PCB板 (28)附件3 实物 (29)附件4 程序 (29)第1章引言自行车被发明及使用到现在已有两百多年的历史,在这两百年间人类在不断的尝试与研发过程中,自行车发展的目的也从最早的代步工具转换成休闲娱乐的用途,随着生活水平的提高,人们希望自行车的功能更强大,比如说对行车信息的掌握,而里程计/速度计正满足了这个需求。
基于51单片机的光电编码器测速

摘要光电编码器是高精度位置控制系统常用的一种位移检测传感器。
在位置控制系统中,由于电机既可能正转,也可能反转,所以要对与其相连的编码器输出的脉冲进行计数,要求相应的计数器既能实现加计数,又能实现减计数,即进行可逆计数。
其计数的方法有多种,包括纯粹的软件计数和硬件计数。
文中分别对这两种常用的计数方法进行了分析,对其优缺点进行了对比,最后提出了一种新的计数方法,利用80C51单片机内部的计数器实现对光电编码器输出脉冲的加减可逆计数,既节省了硬件资源,又能得到较高的计数频率。
本设计就是由单片机STC89C52RC芯片,光电编码器和1602液晶为核心,辅以必要的电路,构成了一个基于51单片机的光电编码器测速器。
该系统有两个控制按键,分别用于控制每秒的转速和每分钟的转速,并将速度用1602液晶显示出来。
该测速器测速精准,具有实时检测的功能,操作简单。
关键词:光电编码器,51单片机,C语言,1602液晶目录一、设计任务与要求 (3)1.1 设计任务 (3)1.2 设计要求 (3)二、方案总体设计 (4)2.1 方案一 (4)2.2 方案二 (4)2.3 系统采用方案 (4)三、硬件设计 (6)3.1 单片机最小系统 (6)3.2 液晶显示模块 (6)3.3 系统电源 (7)3.4光电编码器电路 (7)3.5 整体电路 (8)四、软件设计 (9)4.1 keil软件介绍 (9)4.2 系统程序流程 (9)五、仿真与实现 (11)5.1 proteus软件介绍 (11)5.2 仿真过程 (11)5.3 实物制作与调试 (12)5.4 使用说明 (13)六、总结 (14)6.1 设计总结 (14)6.2 经验总结 (14)七、参考文献 (15)一、设计任务与要求1.1 设计任务1).对更多小器件的了解2).巩固51单片机和C语言的知识,熟悉单片机和C语言的实际操作运用3).掌握仿真软件的运用和原理图的绘制4).加深焊接的技巧,提高焊接的能力5).熟悉调试方法和技巧,提高解决实际问题的能力6).熟悉设计报告的编写过程1.2 设计要求1).两个按键控制显示每分钟和每秒钟的功能2).74LS74辅助光电编码器测转向3).光电编码器输出脉冲计数4).1602液晶显示转速二、方案总体设计设计一个基于51单片机的光电编码器测测速。
基于51单片机的高速公路测速系统和车牌识别分析

基于51单片机的高速公路测速系统和车牌识别分析添加时间: 2010-3-20 11:19:19 文章来源: 文章作者: 点击数:17688摘要鉴于高速公路限速牌不能很好地对司机起到警示作用的作用,本文设计了一套基于MCS-51单片机,包含光电探测装置和显示装置的电子屏幕。
它不仅能方便设置并显示该路段的限制速度,以完成普通电子限速牌的限速提示功能,同时能将测得的车速实时显示,并自动判断是否超速。
另外它低廉的造价和经计算证明较高的精度大大提高了它的可用性。
车辆牌照自动识别系统是近几年发展起来的基于图像和字符识别术的智能化交通管理系统,是目前国内外模式识别应用研究领域的一个热点。
本文对系统中区域提取、图像预处理、字符分割和字符识别等环节涉及的算法、设计做了一个比较详细的论述。
本文在图像预处理中重点介绍一种在图像获取阶段有目的定位关注的物体,讨论了灰度图像二值化的多种算法,利用它在原始图像形成的标识区域特性,在约束条件下,按照识别牌几何特征提出了一种特殊的二值化处理方法。
实验证明该图像识别系统具有较高的可靠性与稳定性,减小了进一步车牌识别中计算量大的问题,从而提高了车牌识别的准确性和快速性。
讨论了灰度图像二值化的多种算法基于数学形态学的图像去除噪声的方法。
基于数学形态学的图像去除噪声是通过对图像的开、闭操作有选择的去噪声。
可以去除直径小于字符笔划半径的孤立噪声点。
还详细地介绍了基于字符形态划分的字符识别方法。
基于字符形态划分的字符识别方法是在对数字字符结构进行充分分析的基础上,对基元检测,归纳字符形态特征,得到的快速字符识别方法。
关键词:光电检测;车速测量;单片机;电子限速牌;车辆牌照;图像处理;基元检测;字符识别基于51单片机的高速公路测速系统和车牌识别分析AbstractIn view of the highway speed limit unlicensed drivers should not very well serve as a warning to the role, this article has designed a single-chip based on the MCS-51, including the photoelectric detection devices and display devices of the electronic screen. It not only can easily set up and display the road speed limit in order to achieve common electronic speed limit signs prompt function, can be simultaneously measured real-time display of speed and automatically determine whether the speeding. In addition it is low cost and the higher the accuracy of calculations greatly enhance its usability. Vehicle License Plate Recognition system is developed in recent years based on the image and character recognition operation of the Intelligent Traffic Management System, the application of pattern recognition at home and abroad are currently a hot area ofresearch. In this paper, the system of regional extraction, image preprocessing, character segmentation and character recognition algorithm, such as aspect involved in the design to do a more detailed exposition. In this paper image pre-processing in the introduction of a focus at image acquisition phase has the purpose of positioning objects of concern, discussed the gray image binarization of a variety of algorithms, use it in the original logo image formation of regional characteristics, in binding conditions, identification card in accordance with the geometric characteristics of a particular binarization approach. Experiments prove that the image recognition system has high reliability and stability, further reduce the vehicle license plate recognition in the calculation of a large quantity of questions, thereby increasing the accuracy of license plate recognition and speed.Discussed the gray image binarization algorithm of multiple images based on mathematical morphology method to remove noise. Images based on mathematical morphology to remove the image noise is through the open and close operation has chosen to noise. Can remove the character strokes of a diameter less than the radius of the isolated noise points. Also detail the division of character-based form of character recognition methods. Morphological character-based division of Character Recognition on the figure are at a full analysis of character structure based on element detection, morphological characteristics summarized characters get Character Recognition Express.Key words:Photoelectric detection; speed measurement; Singlechip; electron speed licensing; vehicle license; image processing; motif detection; Character Recognition目录摘要................................................................................. (I)Abstract........................................................................... . (II)第1章绪论................................................................................. . (2)1.1 车牌字符识别研究课题的背景 (2)1.2 车牌字符识别研究的意义 (2)1.3 车牌字符识别研究的应用现状及发展 (3)1.4 本文主要内容.................................................................................第2章车牌图像预处理 (5)2.1 数字图像处理的相关介绍 (5)2.1.1 数字图像处理概念 (5)2.1.2 图像的数字化表示 (5)2.1.3 本文中图像处理所涉及的相关领域 (6)2.2 图像二值化................................................................................. . (6)2.2.1 彩色图像和灰度图像 (6)2.2.2 基于灰度的图像二值化 (7)2.2.3 图像二值化结果演示 (9)2.3 用数学形态学的方法去除噪声 (10)2.3.1 数学形态学的几种基本运算 (10)2.3.2 经开闭运算前后的图像对比显示 (16)2.4 单个字符图像的分割 (17)2.4.1 我国车牌的特点 (17)2.4.2 对所要识别的车牌的分析 (17)2.4.3 基于列扫描黑色像素积累的字符分割 (18)2.4.4 已经分割后的单个字符演示 (18)2.5 本章小结................................................................................. . (19)第3章基于字符形态划分的字符识别 (19)3.1 字符识别概述................................................................................3.1.1 目前字符识别的一些常规方法 (20)3.2 字符轮廓分析 (21)3.2.1 字符轮廓的划分 (21)3.2.2 字符四方向轮廓公式化表示 (21)3.3 字符轮廓的变化特征 (22)3.4 字符形态划分的结构基元 (22)3.4.1 字符结构基元划分原理 (22)3.4.2 字符形态划分方法的特点 (23)3.5 利用字符结构基元划分的字符识别原理 (24)3.5.1 基元的检测 (24)3.5.2 轮廓的统计特征 (25)3.5.3 用字符形态识别数字字符 (25)3.5.3.1 数字字符的特点 (25)3.5.3.2 数字字符的识别方法 (26)3.5.4 字符识别的matlab算法流程 (27)3.6 本课题整体流程 (29)3.6.1 对本课题流程的总体说明 (29)3.6.2 用MATLAB完成本课题的流程图 (30)3.7 基于字符形态划分的字符识别方法的特点和不足 (30)3.8 本章小节................................................................................. (31)结论................................................................................. . (32)参考文献................................................................................. (33)第1章绪论1.1 车牌字符识别研究课题的背景随着21世纪经济全球化和信息时代的到来,作为信息来源的自动检测、图像识别技术越来越受到人们的重视。
基于AT89C51的LCD数字测速仪的设计测量汽车速度

目录1、设计背景 (1)2、欲实现功能 (3)3、系统硬件设计 (4)3.1系统框图及测速原理 (4)3.2单片机AT89C52 (5)3.3 OPTC光电断续器 (6)3.4 液晶显示LM016L (7)3.5 三端稳压集成器LM7805 (8)3.6电源 (8)4 、软件设计 (9)4.1 程序流程图 (9)4.2 C语言编程 (9)5 、系统仿真及调试 (10)6 、元器件清单 (11)7 、结语 (11)8 、附录 (13)附录1 实验仿真电路 (13)附录2 源程序 (14)9 、参考文献 (23)10 、致谢 (24)内容摘要随着居民生活水平的不断提高,家用轿车开始普及为人们娱乐、休闲代步的工具。
汽车测速仪能够满足人们最基本的需求,让人们能清楚地知道当前的速度、里程、时间等物理量。
以便做出判断和采取必要的措施,以防止交通事故的发生。
测速仪作为汽车最基本、最重要的部件之一,在汽车的运行过程中起着至关重要的作用。
一个性能良好、测量精确、稳定的测速系统,从某种意义上说,直接影响着汽车乃至司乘人员的生命安全。
本论文主要阐述一种基于光电传感器的汽车测速仪的设计。
以 AT89C52 单片机为核心,OPTC 光断续器测转数,实现对汽车速度、时间的测量统计,并能将汽车的里程数及速度信息送单片机,并通过单片机输出驱动信号,用LCD实时显示。
文章详细介绍了汽车测速仪的硬件电路和软件设计。
硬件部分利用光电传感器组件将汽车每转一圈的脉冲数传入单片机系统,然后单片机系统将信号经过处理送显示。
软件部分用C语言进行编程,采用模块化设计思想。
该系统硬件电路简单,子程序具有通用性,完全符合设计要求。
关键词:速度;时间;光断续器;单片机;LCD显示The car speedometer design based on the AT89C51ABSTRACTWith the developing of people’s life, the car is becoming the universal tool of transportation and substitute for walking and becoming the first choice of entertainment and exercising. The car speedometer can fulfill the basic need of people’s life, so that they can learn the speed、the mileage 、the time of the car. For that people could take some necessary measures in case of any accident happened by a dangerous speed. As one of the most basic and important part of a ca r, speedometer is taking an important role during the car’s running. To some extent, an accurate and stable speedometer has a effect on the driver’s life directly.In this paper, the car speedometer design based on the photoelectric sensor element is elaborated. By AT89C52 as kernel, using photoelectric sensor element to measure revolution, the measure and statistic are achieved. The car speed can be displayed on LCD. In this article, the hardware circuit and software design of car speedometer instrument are introduced in detail. About the hardware, the pulse number is transmitted of one cycle of the car into Single Chip Microcomputer system. Then the signal processed by Single Chip Microcomputer system is sent to display scream. About the software, in C language; the program is designed in the mode of modules. The system has simple hardware, common sub-program, and meets the demand of design.KEY WORDS:Mileage / speed; Time;temperature;photoelectric sensor element; Single chip microcomputer; LCD基于AT89C51的LCD数字测速仪1设计背景随着人们生活水平的逐渐提高,人们对于生活质量的要求也日益增加,尤其是对出行的要求。
基于51单片机的自行车测速系统设计

摘要随着居民生活水平的不断提高,人们对于生活质量的要求也日益增加,尤其是对健身的要求。
自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。
自行车的速度里程表能够满足人们最基本的需求,让人们能清楚地知道当前的速度、里程等物理量。
而对于自行车运动员来说,最为关心的莫过于一段时间内的训练效果。
因为教练要根据一段时间内运动员的训练效果进行评估,从而进行适当的调整已使运动员达到最佳的状态。
因此爱好自行车运动的人十分学要一款能测速的装置,以知道自己的运动情况。
并根据外界条件,如温度,风速等进行适当的调节,已达到最佳运动的效果。
关键词:单片机、LED显示、里程/速度、霍尔元件第一章系统总方案分析与设计1.1 课题主要任务及内容本课题主要任务是利用霍尔元件、单片机等部件设计一个可用LED数码管实时显示里程和速度的自行车的速度里程表。
本文主要介绍了自行车的速度里程表的设计思想、电路原理、方案论证以及元件的选择等内容,整体上分为硬件部分设计和软件部分设计。
本文首先扼要对该课题的任务进行方案论证,包括硬件方案和软件方案的设计;继而具体介绍了自行车的速度里程表的硬件设计,包括传感器的选择、单片机的选择、显示电路的设计;然后阐述了该自行车的速度里程表的软件设计,包括数据处理子程序的设计、显示子程序的设计;最后对本次设计进行了系统的总结。
具体的硬件电路包括AT89C52单片机、霍尔元件以及LED显示电路等。
软件设计包括:中断子程序设计,里程计算子程序设计,显示子程序设计。
软件采用汇编语言编写,软件设计的思想主要是自顶向下,模块化设计,各个子模块逐一设计。
1.2 任务分析与实现本设计的任务是:以通用AT89C52单片机为处理核心,用传感器将车轮的转数转换为电脉冲,进行处理后送入单片机。
里程及速度的测量,是经过AT89C52的定时/计数器测出总的脉冲数和每转一圈的时间,再经过单片机的计算得出,其结果通过LED显示器显示出来。
使用单片机制作的测速表

使用单片机制作的测速表测速是工农业生产中经常遇到的问题,学会使用单片机技术设计测速仪表具有很重要的意义。
要测速,首先要解决是采样的问题。
在使用模拟技术制作测速表时,常用测速发电机的方法,即将测速发电机的转轴与待测轴相连,测速发电机的电压高低反映了转速的高低。
使用单片机进行测速,可以使用简单的脉冲计数法。
只要转轴每旋转一周,产生一个或固定的多个脉冲,并将脉冲送入单片机中进行计数,即可获得转速的信息。
一、脉冲信号的获得可以有多种方式来获得脉冲信号,这些方法有各自的应用场合。
下面逐一进行分析。
1.霍尔传感器霍尔传感器是对磁敏感的传感元件,常用于开关信号采集的有CS3020、CS3040等,这种传感器是一个3端器件,外形与三极管相似,只要接上电源、地,即可工作,输出通常是集电极开路(OC)门输出,工作电压范围宽,使用非常方便。
如图1所示是CS3020的外形图,将有字面对准自己,三根引脚从左向右分别是Vcc,地,输出。
图1 CS3020外形图使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的圆周上粘上一粒磁钢,让霍尔开关靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。
如果在圆周上粘上多粒磁钢,可以实现旋转一周,获得多个脉冲输出。
在粘磁钢时要注意,霍尔传感器对磁场方向敏感,粘之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试。
这种传感器不怕灰尘、油污,在工业现场应用广泛。
2.光电传感器光电传感器是应用非常广泛的一种器件,有各种各样的形式,如透射式、反射式等,基本的原理就是当发射管光照射到接收管时,接收管导通,反之关断。
以透射式为例,如图2所示,当不透光的物体挡住发射与接收之间的间隙时,开关管关断,否则打开。
为此,可以制作一个遮光叶片如图3所示,安装在转轴上,当扇叶经过时,产生脉冲信号。
当叶片数较多时,旋转一周可以获得多个脉冲信号。
图2光电传感器的原理图图3遮光叶片3.光电编码器光电编码器的工作原理与光电传感器一样,不过它已将光电传感器、电子电路、码盘等做成一个整体,只要用连轴器将光电传感器的轴与转轴相连,就能获得多种输出信号。
51单片机PID调增量式光电编码器测速

编码器输出的A向脉冲接到单片机的外部中断INTO, B向脉冲接到I/O端口P1.0。
当系统工作时,首先要把INTO设置成下降沿触发,并开相应中断。
当有有效脉冲触发中断时,进行中断处理程序,判别B脉冲是高电平还是低电平,若是高电平则编码器正转,加1计数;若是低电平则编码器反转,减1计数。
基于51单片机的直流电机PID闭环调速系统原理详解与程序(2013-08-04 01:18:15)转载▼标签:分类:单片机51单片机直流电机pidpcf8591基于51单片机的直流电机PID闭环调速系统1. 电机转速反馈:原理:利用光电编码器作为转速的反馈元件,设电机转一周光电编码器发送N个PWM波形,利用测周法测量电机转速。
具体实现:将定时器0设置在计数模式,用来统计一定的时间T内接受到的脉冲个数M个,而定时器0置在计时模式,用来计时T时间。
则如果T时间接受到M 个PWM波形,而电机转一圈发出N个PWM波形,则根据测周法原理,电机的实际的转速为:real_speed=M/ ( N*T),单位转/秒。
若将定时器1置在计数模式,则PWM波形应该由P3A3脚输入。
代码实现://定时器0初始化,用来定时10msvoid Init_Timer0(void){TMOD |= 0x01; // 使用模式 1,16位定时器 ,且工作在计时模式TH0=(65536-10000)/256; // 定时 10msTL0=(65536-10000)%6;//计数器1初始化,用来统计定时器1计时250ms 内PWM 波形个数 voidInit_Timer1(void){ TMOD |= 0x50; // 使用计数模式 1, 16位计数器模式TH1=0x00; // 给定初值,由 0往上计数TL1=0x00;EA=1; // 总中断打开ET1=1; // 定时器中断打开TR1=1; }// 定时器开关打开// 定时器0的中断服务子函数, 主要完成脉冲个数的读取, 实际转速的计算和 控制以及控制结// 果输出等工作void Timer0_isr(void) interrupt 1 { unsigned char count;TH0=(65536-10000)/256; // 重新赋值 10msTL0=(65536-10000)%6;count++;if (count==25)// 如果达到250ms,则计算一次转速并进行一次控制运算{ EA=1; // ET0=1; // TR0=1; // }总中断打开定时器中断打开定时器开关打开PIDcount=0;// 清零以便于定时下一个250msTR1=0;// 关闭定时器1,统计脉冲个数real_speed=(256*TH1+TL1)*4/N;//250ms 内脉冲个数并由此计算转速TH1=0x00; // 计数器1清零,重新开始计数TL1=0x00;TR1=1;OUT=contr_PID();// 进入PID 控制 , PID 控制子函数代码在后面给出write_add(0x40,OUT);〃进行DA转换,将数字量转换为模拟量,后面会介绍到}}2. PID 控制:PID 的基本原理在这里不作具体讲解,这里主要给出PID 算法的实现,通过调节结构体中比例常数( Proportion )、积分常数( Integral )、微分常数 ( Derivative )使得转速控制达到想要的精度。
基于MCS-51单片机的车辆测速仪的设计与制作

毕业设计说明书(论文)作者: 学号:系:专业:题目: 基于MCS-51单片机的车辆测速仪的设计与制作指导者:(姓名) (专业技术职务)评阅者:(姓名) (专业技术职务)年月毕业设计(论文)评语学生姓名:班级、学号题目:基于MCS-51单片机的车辆测速仪的设计与制作综合成绩:毕业设计(论文)评语毕业设计说明书(论文)中文摘要毕业设计说明书(论文)外文摘要目次1 绪论 (1)1.1 课题的背景与意义 (1)1.2 单片机发展概况 (2)1.3 主要研究内容 (3)2 雷达测速仪原理 (4)2.1 车辆测速技术简介 (4)2.2 多普勒效应 (5)2.3 多普勒信号的提取 (6)3 系统硬件设计思想以及原理框图 (8)3.1 方案论证 (8)3.2 系统总体设计框图 (8)3.3 单片机AT89C52介绍 (8)3.4 复位电路 (11)3.5 晶振电路 (13)3.6 放大整形电路 (14)3.7 数据显示 (15)4 系统软件设计 (21)4.1 测频方法的选择 (21)4.2 主程序流程图 (23)4.3 中断服务子程序流程图 (25)4.4 1602液晶初始化流程图 (27)5 系统仿真及调试 (28)5.1 Proteus (28)5.2 Keil C51 (29)5.3 仿真与调试的步骤 (29)5.4 功能的检测 (30)5.5 仿真结果 (31)结论 (34)致谢 (35)参考文献 (35)附录 ................................................... 错误!未定义书签。
1 绪论1.1 课题的背景与意义随着雷达技术的发展,雷达的任务不仅是测量目标的距离、方位和仰角,而且还包括测量目标的速度,以及从回波中获取更多有关目标的信息。
飞机、导弹、人造卫星、各种舰艇、车辆、兵器、炮弹以及建筑物、山川、云雨等等,都可能作为雷达的探测目标,这要根据雷达用途而定[1]。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要光电编码器是高精度位置控制系统常用的一种位移检测传感器。
在位置控制系统中,由于电机既可能正转,也可能反转,所以要对与其相连的编码器输出的脉冲进行计数,要求相应的计数器既能实现加计数,又能实现减计数,即进行可逆计数。
其计数的方法有多种,包括纯粹的软件计数和硬件计数。
文中分别对这两种常用的计数方法进行了分析,对其优缺点进行了对比,最后提出了一种新的计数方法,利用80C51单片机内部的计数器实现对光电编码器输出脉冲的加减可逆计数,既节省了硬件资源,又能得到较高的计数频率。
本设计就是由单片机STC89C52RC芯片,光电编码器和1602液晶为核心,辅以必要的电路,构成了一个基于51单片机的光电编码器测速器。
该系统有两个控制按键,分别用于控制每秒的转速和每分钟的转速,并将速度用1602液晶显示出来。
该测速器测速精准,具有实时检测的功能,操作简单。
关键词:光电编码器,51单片机,C语言,1602液晶目录一、设计任务与要求 (3)1.1 设计任务 (3)1.2 设计要求 (3)二、方案总体设计 (4)2.1 方案一 (4)2.2 方案二 (4)2.3 系统采用方案 (4)三、硬件设计 (6)3.1 单片机最小系统 (6)3.2 液晶显示模块 (6)3.3 系统电源 (7)3.4光电编码器电路 (7)3.5 整体电路 (8)四、软件设计 (9)4.1 keil软件介绍 (9)4.2 系统程序流程 (9)五、仿真与实现 (11)5.1 proteus软件介绍 (11)5.2 仿真过程 (11)5.3 实物制作与调试 (12)5.4 使用说明 (13)六、总结 (14)6.1 设计总结 (14)6.2 经验总结 (14)七、参考文献 (15)一、设计任务与要求1.1 设计任务1).对更多小器件的了解2).巩固51单片机和C语言的知识,熟悉单片机和C语言的实际操作运用3).掌握仿真软件的运用和原理图的绘制4).加深焊接的技巧,提高焊接的能力5).熟悉调试方法和技巧,提高解决实际问题的能力6).熟悉设计报告的编写过程1.2 设计要求1).两个按键控制显示每分钟和每秒钟的功能2).74LS74辅助光电编码器测转向3).光电编码器输出脉冲计数4).1602液晶显示转速二、方案总体设计设计一个基于51单片机的光电编码器测测速。
设计一个电路来实现光电编码器测量;利用单片机内部精确到微妙的定时计数器来实现一个周期的时间来统计脉冲数;74LS74作为辅助芯片来完善光电编码器测转向的功能;P0和P2口控制1602液晶显示转速;利用P1^1和P1^2来实现液晶显示每秒钟和每分钟转速的功能;利用复位按键功能来实现复位操作。
调节蓝白滑动变阻器来调节液晶亮度。
2.1 方案一51单片机的定时/计数器工作在模式2时是一个可以自动重装载的8位定时/计数器。
工作时高八位和低八位装入相同的初值,当低八位装满时,高八位的值自动装入到第八位中,从而可以省去用户软件中重装初值常数的语句,可产生相当精确的定时时间。
由于只有八位参与计数,所以其计数周期最大为256微妙。
采用初值装入0x38,每个200微妙进入一次中断,5000次中断为100毫秒,即实现周期为1秒的脉冲计数。
光电编码器的A相接在单片机的外部中断,光电编码器的B相接在单片机的P1^0。
A相发出的脉冲每触发一次中断就就计数一个脉冲,并且再对P1^0的高低电平进行检测,如果为高电平则为反转,如果是低电平则为正转。
反向器中的两个作为放大作用。
再接两个三极管作为开关作用,组成一个直流电机的驱动电路。
P1^1和P1^2分别控制液晶显示每分钟的转速和每秒钟的转速。
P2口控制1602液晶的数据口,P0的三个引脚控制1602液晶的数据/命令选择端、读/写选择端、使能端来显示速度。
2.2 方案二51单片机的定时/计数器工作在模式0时是一个16位位定时/计数器。
工作时高八位和低八位各装入初值,当低八位装满时,高八位加1。
由于是16位参与计数,所以其计数周期最大为65536微妙。
采用初值高八位装入0xfc,初值低八位装入0x18,每个1000微妙进入一次中断,1000次中断为1秒,即形成周期为1秒的脉冲计数。
本方案在方案1的基础上外接一个74LS74的芯片。
光电编码器的A相接在单片机的P3^4的引脚,利用单片机的计数器1进行脉冲计数,同时接在74LS74的时钟信号接口。
光电编码器的B相接在74LS74的D接口。
Q端接在P3^2引脚,Q非端接在P3^3引脚。
利用两个外部中断来判断正反转。
P1^1和P1^2分别控制液晶显示每分钟的转速和每秒钟的转速。
P2口控制1602液晶的数据口,P0的三个引脚控制1602液晶的数据/命令选择端、读/写选择端、使能端来显示速度。
2.3 系统采用方案1)总体设计图1为设计总体框架图,通过该图大致的介绍了一下整个光电编码器测速系统的各个主要部分。
图1 系统总体框架2)总体工作原理由于定时器工作模式2是八位,可装入的值太小,每进行一个周期的脉冲统计需要进入5000次定时器中断,由于进入中断的次数太多,所以很容易出现在低八位装满本应触发而程序还在中断子程序中运行,而无法触发中断的情况,所以不采用工作模式2。
工作模式0只需要进入定时中断1000次就可以进行一个周期的脉冲统计,所以选择功能模式0。
方案一中用,用纯软件计数虽然电路简单,但是计数速度慢,难以满足实时性要求,而且容易出错。
我们可以用单片机内部的计数器来实现加减计数。
单片机片内有两个16位定时计数器都可以用来脉冲计数,用两个外部中断来检测正反转,避免了每一个脉冲都要进行高低电平检测的步骤。
控制按键,液晶和复位方面的设计在方案一和方案二中一样。
综上考虑,最终方案确定为方案二。
三、硬件设计3.1 单片机最小系统单片机要正常工作,首先要产生片内时钟信号。
在单片机内部的振荡器的输入端XTAL1和输出端XTAL2之间接一个石英晶振就可以够成一个自激振荡器。
再在两端之间串联接个电容并且在两个电容之间接地以便于稳定频率还对振荡频率有微调作用。
电容通常选30PF 左右,振荡脉冲频率范围为0~24MHZ。
该电路中选用12MHZ晶振。
时钟电路图如下:图2 时钟电路图单片机在启动时与其他微处理器一样,要让CPU及系统各部件处于确定的初始状态,并从初始开始工作。
这就需要复位操作。
复位电路有两种方式:上电自动复位和按键自动复位。
上电自动复位只是在开始接通电源瞬间复位,接下来想要再次复位就需要断电重启,不方便。
按键自动复位不仅可以在开始接通电源瞬间复位还可以通过按下按键复位随时复位。
所以选择按键复位方式。
复位电路如下:图3 复位电路图3.2 液晶显示模块该可调直流电机最大速度为每分钟1200转,采用1602液晶显示。
控制1602液晶亮度的是蓝白滑动变阻器。
1602液晶有16个管脚。
编号为1,2管脚为电源正负极管脚,15,16为背光源正负极管脚;7~14为dataI/O管脚与单片机的P0口相连,负责液晶与芯片之间的信息传送;4,5,6分别为数据/命令选择端、读/写选择端、使能端,与单片机的, P2^0、P2^1、P2^2相连,负责控制液晶与芯片之间数据命令的读写操作;3为液晶显示偏压信号端,用于调整液晶显示对比度。
1602液晶显示原理图如下:G N D 1V C C 2V O 3R S 4R W 5E N 6D B 07D B 18D B 29D B 310D B 411D B 512D B 613D B 714B L A 15B L K161602液晶GNDVCC GNDVCC112233RV1P 0.0V O P 0.1P 0.2P 2.0P 2.1P 2.2P 2.3P 2.4P 2.5P 2.6P 2.7图4 液晶显示系统图3.3 系统电源为了方便控制系统的上电与断电,系统电源中连接了一个蓝白自锁开关。
此开关两边各有三个引脚,不同的连接方式,开关的控制方法就不同。
电源的正负极各接在此开关的两边。
为了方便观察电源是否接上,在电路中的VCC 与GND 之间接一个发光二极管并且加一个限流电阻防止发光二极管烧坏,电源通电时发光二极管亮,断电时,则暗。
再接四个排针便两边的两个排针用于外部电源给系统上电,中间的两个排针是用于单片机烧录程序。
如图所示:图5 系统电源图3.4光电编码器电路这是一张光电编码器部分的电路原理图。
图上的74LS74芯片上就是两个D 触发器。
A 相接在P3^4的引脚用于计数器0采集脉冲。
A 相同时接在CLK 端,B 相接在D 端,Q 接在P3.2引脚,外部中断0检测和Q 非接在P3.3外部中断1来检测。
另外A 相和B 相各需接一个上拉电阻,阻值为1K 。
这样输出的脉冲就可以直接接在单片机上,进行检测了。
另外74LS74芯片的SET 引脚,CLR 引脚,VCC 引脚都接电源,GND 引脚接地。
整个电路就连接完成了。
图6 光电编码器电路3.5 整体电路这是采用网络标号的画出的以一张整体电路图。
它将整张可调直流电机的电路原理图分为七个部分:电源模块,P0口上拉电阻,1602液晶模块,51单片机,复位晶振电路,控制按键和光电编码器电路。
整张原理看起来美观,明了并且根据标号很容易找到与之对应的引脚。
基于51单片机的光电编码器测速设计四、软件设计4.1 keil软件介绍Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。
Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种Keil软件图标是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。
机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。
运行Keil 软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。