基于AT89C51光电转速计的设计论文_第1页
基于AT89C51光电转速计的设计论文_第2页
基于AT89C51光电转速计的设计论文_第3页
基于AT89C51光电转速计的设计论文_第4页
基于AT89C51光电转速计的设计论文_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、 . . . 毕业设计(论文)设计(论文)题目: 基于AT89C51光电转速计设计 摘 要 在实际生产中,经常会遇到各种需要测量转速的场合,例如在电动机、发动机、卷扬机、机床主轴等旋转设备的实验、运转和控制中,常需要分时或连续测量和显示其转速和瞬时转速。为了能精确地测量转速外,还要保证测量的实时性,要求能测得瞬时转速方法。因此转速的测量具有重要的意义。本文介绍一种基于单片机,应用光电传感器使用测频的方法实施对电机进行转速测量仪器的设计。硬件系统包括信号的采集处理模块、单片机控制模块和显示模块,并采用用C语言进行编程,结果表明该方法具有简单、精确度较高、稳定好等优点,也更好满足了转速的测量要求。

2、关键字:转速的测量,单片机,光电传感器,电机BASED ON AT89C51 PHOTOELECTRICSPEEDPROGRAM DESIGNABSTRACTIn practical production, often will encounter all sorts of need to measure the speed situations, such as in the motor, engine, hoist, spindle and rotating equipment experiment, operation and control, often need points or

3、continuous measurement and display their speed and instantaneous speed. In order to accurately measure the speed, it also ensures that the real-time measurement, the requirements to the transient rotation speed method. So the rotational speed of measurement is of great significance. This paper intro

4、duces a based on AT89C51 single-chip microcomputer, the application of the photoelectric sensor use frequency measurement method of implementation on motor speed measuring instrument design. Hardware system including signal acquisition and processing module 、Single-chip microcomputer control module

5、and display module, and using C language program, and the results show that the method is simple, accurate, and the advantages of high stability and also better meet the speed measurement requirements.KEYWORDS:Speed measurement, microcontroller, photoelectric sensor, the motor目 录绪论1第一章光电转速计的系统设计21.1

6、 光电转速计的系统框图21.2光电转速计各系统模块的功能介绍21.3 光电转速计各系统模块的工作原理2第二章光电转速计设计的方案论证32.1 电源模块32.2 信号采集模块32.2.1 信号的产生32.2.2 信号的处理52.3 单片机控制模块52.4 液晶显示模块8第三章电路原理和程序流程103.1 电路原理103.1.1 转速传感器电路103.1.2 信号的放大整形电路103.1.3 AT89C51单片机最小系统电路113.1.4基于AT89C51单片机的光电转速计的整体电路123.2软件流程123.2.1 主程序的初始化123.2.2程序流程图14参考文献15附录16附录一16附录二17

7、致205 / 28绪 论转速是指每分钟旋转物体转动的圈数。它的单位是r/min。在对转速进行测量时,机械式转速计和接触式电子转速计会影响被测物的旋转速度,已不能满足自动化的要求。光电式转速计属于反射式光电传感器,它可以在距被测物数十毫米外非接触地测量其转速。由于光电器件的动态特性较好,所以可以用于低、高转速的测量而又不干扰被测物的转动。本设计中采用光电传感器采集信号,这种传感器是把旋转轴的转速变为相应频率的脉冲,然后用测量电路测出频率,由频率值就可以知道所测转速值。这种测量方法具有传感器结构简单、可靠、测量频率精确的特点。是目前常用的一种测量转速的方法。再者基于单片机实现转速的测量,具有硬件电

8、路简单,程序简单和运算速度快,测速围广,抗干扰能力强等特点。可以提高转速测量的精确度,并加快了采样的速率,具有较好的实时性。本文介绍的测速方法使用于低、高转速的测量,测量精度与转速无关,因而具有较宽的应用围和广阔的应用前景。第一章 光电转速计的系统设计1.1 光电转速计的系统框图1.2光电转速计各系统模块的功能介绍(1)信号采集模块:用来对信号采样,经过放大、整形电路对信号进行放大和整形,在送入单片机进行数据的处理和转换。(2)单片机模块:对处理过的信号进行转换成转速的实际值,送入液晶显示模组。(3)液晶显示模块:用来显示所测量到转速。1.3 光电转速计各系统模块的工作原理(1) 信号采集模块

9、工作原理检测转盘上周围均匀贴有12反光纸,并被直接固定在被测轴上,安装时光电对管正对转盘上每反光纸,当被测轴转动时带动反光纸转动,光电对管通过对转盘上反光纸进行耦合从而产生数字脉冲。脉冲经过整形放大送入单片机的计数端。(2)单片机控制模块工作原理本设计基于AT89C51,其部有两个16位定时/计数器。在程序设计时T0定时/计数器作为1秒定时使用,将T1定时/计数器作为对脉冲的计数器使用。单片机计数端在接收到脉冲对脉冲进行计数,每隔1秒提取TH1和TL1的计数数据,并进行相应的运算,对16进制数据进行处理,得到10进制数据,送显示缓存进行输出。第二章 光电转速计设计的方案论证2.1 电源模块 模

10、块稳定工作,必须有可靠的电源。我们考虑了两种电源方案。 方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供使用;缺点是各模块都采用独立电源,会使系统更复杂,且可能影响电路电平。 方案二:采用单片机控制模块提供电源。此方案优点是系统简明扼要,节约成本:缺点是输出功率不高。 综上所述,我们选择第二种方案。2.2 信号采集模块 该模块分为两个部分:信号的产生和信号的处理2.2.1 信号的产生信号的产生我们会用到传感器件,我们考虑了两种方案。方案一:选用单光束反射式红外光电传感器(ST188),其特点是用高发射功率红外光电二极管和高灵敏度光电晶体管组成;其检测距离为413mm;采

11、用非接触检测方式。封装实物图AK为发光二极管,EC为光敏三极管。它具有很好的开关特性,使用于耦合电路,控制电路,与信号传递电路。图2-1 ST188 图2-2 ST188原理图方案二:选用光敏电阻(P1201)作为光电传感器。其特点是:采用硅光材料感光技术,敏度高,反应速度快,光谱特性与阻值一致性好等特点外,在高温,多湿的恶劣环境下,还能保持高度的稳定性和可靠性,其检测距离为320mm;缺点是阻值受温度影响甚大。P1201实物封装如下图,光敏电阻广泛用于光源的检测,光照大小检测。比较上述两种方案,利用光电对管ST188的开关特性,检测电机转速比较容易实现,因此选择方案一。2.2.2 信号的处理

12、 转速信号是脉冲信号,需要进一步放大、整形,才能是单片机更易识别。我们考虑了两种方案。方案一:信号经LF353发大后,再经电压比较器LM311,对光脉冲信号进行整形,得到一个较好的脉冲信号,在经过714s14进行二次整形,以便达到理想的处理效果。此外,加一个电容进行滤波。方案二:信号经LF353放大后,再经电压比较器LM393,对光脉冲信号进行整形,再由两个与非门74LS00构成RS触发器对信号进行滤波与二次整形。对比两种方案,方案一较为经济,且实现方便,因此选择方案一。2.3 单片机控制模块本设计是基于AT89C51单片机的基础上完成的,我们下面对其做一个介绍。AT89C51(如图2-4所示

13、)是一种带4K字节闪烁可编程可摖除只读储存器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能COMS 8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的CMS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。80C51有40个引脚,4个8位并行I/O口,1个全双工串行口(UART)同时含5个中断源,2个优先级,2个16位定时/计时器,4K的程序存储

14、(ROM/EPROM/Flash,可扩展至64KB);128B的数据存储器(ROM,可在扩展64KB),特殊功能寄存器SFR。(如图2-6所示)图2-6 80C51单片机的组成AT89C51单片机的功能:1. 主要特性:与MCS-51 兼容4K 字节可编程闪烁存储器寿命:1000 写/擦循环数据保留时间:10 年全静态工作:0Hz-24Hz三级程序存储器锁定 128*8 位部RAM32 可编程I/O 线两个16 位定时器/计数器5 个中断源可编程串行通道低功耗的闲置和掉电模式片振荡器和时钟电路2管脚说明(图2-5):VCC:供电电压,GND:接地。P0 口:P0 口为一个8 位漏级开路双向I/

15、O 口,每脚可吸收8TTL门电流。当P1 口管脚第一次写1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH 编程时,P0 口作为原码输入口,当FIASH 进行校验时,P0 输出原码,此时P0 外部必须被拉高。P1 口:P1 口是一个部提供上拉电阻的8 位双向I/O 口,P1 口缓冲器接收输出4TTL 门电流。P1 口管脚写入1 后,被部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于部上拉的缘故。在FLASH 编程和校验时,P1 口作为第八位地址接收。P2 口:P2 口为一个部上拉电阻的8 位双向I/O 口,P2

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

17、输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。P3 口也可作为AT89C51 的一些特殊功能口。P3 口管脚备选功能:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0 外部输入)P3.5 T1(记时器1 外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3 口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST 脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地

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

19、时,这两次有效的 /PSEN 信号将不出现。 EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有部程序存储器。注意加密方式1 时,/EA 将部锁定为RESET;当/EA 端保持高电平时,此间部程序存储器。 在FLASH 编程期间,此引脚也用于施加12V 编程电源(VPP)。XTAL1:反向振荡放大器的输入与部时钟工作电路的输入。XTAL2:来自反向振荡器的输入。3振荡器特性:XTAL1 和XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置为片振荡器。石晶振荡和瓷振荡均可采用。如采用外部时钟源驱动器件, XTAL2应不接。有余输入至部

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

21、在测量转速方面具有体积小、性能强、成本低等特点,可以保证测量的精度,我们这里的设计便基于AT89C51。2.4 液晶显示模块显示模块是输出设备,是人机交流的重要环节方案一:选用开发板上的串行LED显示转速,四位数码管显示的数据制约性比较大,无法实现显示多个信息。方案二:选用开发板上的选用LCD1602显示信息,LCD1602可显示2*16个字符。(如图2-7所示),其特点是:轻薄短小、耗电量低、无辐射危险,平面直角显示以与影像稳定不闪烁等。综合上述两种方案,因此选择方案二进行信息输出。如图2-7 LM016LLM016L引脚介绍: Vss(1脚):一般接地。 Vdd(2脚):接电源。 Vee(

22、3脚):液晶显示器对比度调整端,接电源对比度最弱,接地时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。RS(4脚):RS为寄存器选择高电平1时选择数据寄存器、低电平0时选择指令寄存器。R/W(5脚):R/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。E(6脚):E或(EN)端为使能端,下降沿使能。DB0(7脚):低4位三态、双向数据总线0位(最低位)。DB1(8脚):低4位三态、双向数据总线1位。DB2(9脚):低4位三态、双向数据总线2位。DB3(10脚):低4位三态、双向数据总线3位。DB4(11脚):高4位三态、双向数据总线4

23、线。 DB5(12脚):高4位三态、双向数据总线5线。 DB6(13脚):高4位三态、双向数据总线6位。DB7(14脚):高4位三态、双向数据总线7位(最高位)(也是busy flang)。综合以上,论证的各个模块方案,进行系统电路的搭建,与程序的编写和实现。第三章 电路原理和程序流程3.1 电路原理3.1.1 转速传感器电路图3-1 转速传感电路3.1.2 信号的放大整形电路如图3-2中,信号放大的只是幅度而不会改变频率,运算器放大的倍数为(R3+R4)/R3.图3-2 信号的处理电路 图中D1-D4为肖特基二极管(DIODE),本设计中选用IN4I48.D5为稳压二极管,本设计采用的稳压二

24、极管IN4625,其中R1、R2、R5、R6为10K,R4为150K,R3为500K的电位器。3.1.3 AT89C51单片机最小系统电路图3-2 AT89C51单片机最小系统3.1.4基于AT89C51单片机的光电转速计的整体电路图3-3 基于AT89C51单片机的光电转速计的整体电路3.2软件流程3.2.1 主程序的初始化(1).定时器的初始化AT89C51 有两个定时器/计数器T0 和T1,每个定时器/计数器均可设置成为16位,也可以设置成为13 位进行定时或计数。计数器的功能是对T0 或T1 外来脉冲的进行计数,外部输入脉冲负跳变时,计数器进行加1。定时功能是通过计数器的计数来实现的,

25、每个机器周期产生1 个计数脉冲,即每个机器周期计数器加1,因此定时时间等于计数个数乘以机器周期。定时器工作时,每接收到1 个计数脉冲(或机器周期)则在设定的初值基础上自动加1,当所有位都位1时,再加1 就会产生溢出,将向CPU 提出定时器溢出中断身请。当定时器采用不同的工作方式和设置不同的初值时,产生溢出中断的定时值和计数值将不同,从而可以适应不同的定时或计数控制。定时器有4 种工作方式:方式0、方式2、方式2 和方式3,在此对工作方式不做具体介绍。工作方式寄存器TMOD 的设定: GATE C/T M1 M0 GATE C/T M1 M0TMOD 各位的含义如下:GATE:门控位,用于控制定

26、时/计数器的启动是否受外部中断请求信号的影响。C/T:定时或计数方式选择位,当C/T=1 时工作于计数方式;当C/T=0 时工作于定时方式。M1、M0 为工作方式选择位,用于对T0 的四种工作方式,T1 的三种工作方式进行选择,选择情况如下表3-1:表3-1 M1、M0 为工作方式选择位 M1 M0 工作方式 方式说明00110101012313位定时/计数器16位定时/计数器 8位自动重置定时/计数器两个8位定时计数器(只有T0有)(2)中断允许控制MCS-51 单片机中没有专门的开中断和关中断指令,对各个中断源的允许和屏蔽是由部的中断允许寄存器IE 的各位来控制的。中断允许寄存器IE 的字

27、节地址为A8H,可以进行位寻址.(中断寻址如表3-2所示)表3-2 中断位寻址表 IE D7 D6 D5 D4 D3 D2 D1 D0 (A8H) EA ET2 ES ET1 EX1 ET0 EX0EA:中断允许总控位。EA=0,屏蔽所有的中断请求;EA=1,开放中断。ET2:定时器/计数器T2 的溢出中断允许位ES:串行口中断允许位。ET1:定时器/计数器T1 的溢出中断允许位。EX1:外部中断INT1 的中断允许位。ET0:定时器/计数器T0 的溢出中断允许位。EX0:外部中断INT0 的中断允许位。3.2.2程序流程图图3-4 程序流程图参考文献1梁森,王侃夫,黄杭美.<<自

28、动检测与转换技术>>-2版.:机械工业,2005.1(2010,8 重印)2全利.<<单片机原理与技术应用技术>>3版.:高等教育,2009,1(2010重印)3卢庆林,晓红.电子线路CAD设计.:大学,2004,84谭浩强.<<C 语言程序设计>>.:清华大学,2000,1附录附录一附录二#include<reg51.h>#define uchar unsigned char#define unit unsigned intuchar I,lb1,hb1;uchar code t0=”Round=”;uchar code

29、 t1=”r/min”;uchar code js=”wqbsg”#define lcd_IO P2/定义单片机接口Sbit lcd_rs=P10;Sbit lcd_rw=P11;Sbit lcd_en=P12;Sibt sign =P35;void init_danpianji()/单片机初始化 TMOD=OX51;/T0定时工作在方式1;T1计数工作在方式1 TH0=OXDC; TL0=OXB0;/T0赋初值 TH1=OX00; TL1=OX00;/T1赋初值 ET0=1;/T0定时开中断 ET1=0;/T1计数关中断 TR0=1;/T0定时运行 TR1=1;/T1计数运行 EA=1;/总

30、中断开void int_time()/50ms中断一次,20次为一秒 TH0=OXDC;/T0重置初值 TL0=OXB0;count+;if(count=20) count=0;szcz();TR1=0;/T1停止计数Lb1=TL1;Hb1=TH1;TL1=OX00;/T1重置初值TH1=OX00;TR1=1;/*液晶显示*/void Delay(uint z)/延时程序uint x,y;for(x=100;x>0;x-);for(y=z;y>0;y-);void write_(uchar )/LCD写指令函数根据指令时序写lcdrs=0;P2=;Delay(5);lcden=1;

31、Delay(5);/持续时间是根据写指令时序定的lcden=0;void write_date(uchar date)/LCD写数据函数用于液晶显示容lcdrs=1;P2=date;Delay(5);lcden=1;Delay(5);lcden=0;void init_lcd()/初始化函数lcden=0;lcdrw=0;write_(OX38);/设置1062显示、点阵、接口write_(OX01);/显示清零(清屏)数据指针清零write_(OX0c);/显示开关与光标设置、不显示光标write_(OX06);/当读或写一个字符后地址加指针一write_(OX80+OX40);/设置数据指

32、针从第二行开始显示for(i=0;i<6;i+)write_date(t0i);/显示“Round=”Delay(0);Write_(OX80+OX40+12);for(i=0;i<5;i+)write_date(t1i);/显示“r/min”Delay(0);unsigned int redjs()unsigned char a=0,b=0;unsigned int t=0;a=lb1;b=hb1;t=(lb1+hb1*256)*5;/r=N*60/nT(n=12;T=1s)void display();unsigned int w,q,b,s,g;w=t/10000;q=t/1

33、000%10;b=t/100%10;s=t/10%10;g=t%10;write_(OX80+OX40+7);write_date(jzw);write_(OX80+OX40+8);write_date(jzq);write_(OX80+OX40+9);write_date(jzb);write_(OX80+OX40+7);write_date(jzs);write_(OX80+OX40+7);write_date(jzg);Void main() init danpianji(); int_lcd();while(1) display(); 致经过几个月的忙碌,本次毕业设计已经接近尾声,通过这次学校组织的毕业设计,端正了自己学习的态度,锻炼了自己独立动手的能力,在此,我要感每一个帮助过我的人。首

温馨提示

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

评论

0/150

提交评论