基于AT89C51光电转速计设计 - 图文

更新时间:2024-05-22 12:57:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业设计(论文)

设计(论文)题目: 基于AT89C51光电转速计设计

下 达 日 期: 20011 年 11 月 21 日 开 始 日 期: 20011年 11 月 21 日 完 成 日 期: 20012 年 12 月 23 日 指 导 教 师: 学 生 专 业: 应用电子技术 班 级: 电子0902班 学 生 姓 名: 教研 室主任:

电气工程学院

1

陕西工业职业技术学院毕业设计(论文)任务书

一、设计(论文)内容及要求: (一)设计(论文)内容

转速计是日常生活中比较重要的计量仪表之一,在汽、电子、纺织、造纸等方面有广泛的应用。本设计要求采用89C51单片机完成光电转速计系统设计。

转速测量原理:

在固定的测量时间内,计取转速传感器产生的脉冲个数,从而算出实际转速。设固定的测量时间为Tc(min),计数器计取的脉冲个数m,假定脉冲发生器每转输出p个脉冲,对应被测转速为N(r/min),则f=pN/60Hz;另在测量时间Tc内,计取转速传感器输出的脉冲个数m应为m=Tcf,所以,当测得m值时, 就可算出实际转速值[1]:N=60m/pTc (r/min)

系统框图:

显示模块光电检测信号处理89C51键盘控制

(1)光电传感器原理及转换电路 (2)信号放大整形电路 (3)89C51芯片功能 (4)显示模块

(5)键盘控制模块 (二)要求

1.准备资料:

《单片机原理及应用技术》李全利 第二版 《模拟电子技术》卢庆林 第三版 《数字电子技术》卢庆林 第二版 《C语言程序设计》谭浩强 第三版 《自动检测与转换技术》 梁森 第二版 2.程序编写及调试

3.硬件电路安装与调试 4.整体系统调试 二、系统指标要求

1.系统基本功能:

(1) 测速范围0~5000转/分钟 (2) 测速采用光电传感器

(3) 显示采用4位LED数码管扩展功能 (4)键盘

2

2.扩展功能要求:

(1)显示采用液晶显示

(2)具有速度上下限报警设置 (3)电源模块的设计 三、完成设计报告:

1、说明书 2、摘要目录 3、设计说明书

4、电路图(计算机出图) 5、程序流程图 6、功能系统仿真 7、附录 程序 8、参考资料

3

陕西工业职业技术学院毕业设计(论文)任务书

进 程 计 划 表 序号 1 2 3 4 5 6 7 8

起止日期 计划完成内容 资料收集查阅 光电转换电路设计 放大整形电路设计 程序编写及调试 实际完成情况 检查签名 光电转速计系统安装及调试 书写设计报告 准备答辩 答辩

4

教师评语与成绩

指导教师评语:

指导教师签名: 毕业设计(论文)成绩: 毕业设计(论文)表现成绩: 毕业设计(论文)答辩:

1. 答辩组成员签名: 2. 答 辩 日 期: 年 月 日 3.答 辩 评 语:

4. 答 辩 成 绩: 毕业设计(论文)总成绩:

5

基于AT89C51的光电转速计设计

摘 要

在实际生产中,经常会遇到各种需要测量转速的场合,例如在电动机、发动机、卷扬机、机床主轴等旋转设备的实验、运转和控制中,常需要分时或连续测量和显示其转速和瞬时转速。为了能精确地测量转速外,还要保证测量的实时性,要求能测得瞬时转速方法。因此转速的测量具有重要的意义。

本文介绍一种基于AT89C51单片机,应用光电传感器使用测频的方法实施对电机进行转速测量仪器的设计。硬件系统包括信号的采集处理模块、单片机控制模块和显示模块,并采用用C语言进行编程,结果表明该方法具有简单、精确度较高、稳定好等优点,也更好满足了转速的测量要求。

关键字:转速的测量,单片机,光电传感器,电机

6

BASED ON AT89C51 PHOTOELECTRIC

SPEEDPROGRAM DESIGN

ABSTRACT

In 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 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 introduces 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 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

7

目 录

绪 论............................................................... 1 第一章 光电转速计的系统设计......................................... 2

1.1 光电转速计的系统框图 ....................................... 2 1.2光电转速计各系统模块的功能介绍 ............................. 2 1.3 光电转速计各系统模块的工作原理 ............................. 2 第二章 光电转速计设计的方案论证..................................... 4

2.1 电源模块 ................................................... 4 2.2 信号采集模块 ............................................... 4

2.2.1 信号的产生 .......................................... 4 2.2.2 信号的处理 .......................................... 5 2.3 单片机控制模块 ............................................. 6 2.4 液晶显示模块 ............................................... 9 第三章 电路原理和程序流程.......................................... 11

3.1 电路原理 .................................................. 11

3.1.1 转速传感器电路 ..................................... 11 3.1.2 信号的放大整形电路 ................................. 11 3.1.3 AT89C51单片机最小系统电路 .......................... 12 3.1.4基于AT89C51单片机的光电转速计的整体电路 ............ 13 3.2软件流程 .................................................. 13

3.2.1 主程序的初始化 ..................................... 13 3.2.2程序流程图 .......................................... 15

参考文献........................................................... 16 附录............................................................... 17

附录一 ........................................................ 17 附录二 ........................................................ 18 致谢............................................................... 21

8

绪 论

转速是指每分钟内旋转物体转动的圈数。它的单位是r/min。在对转速进行测量时,机械式转速计和接触式电子转速计会影响被测物的旋转速度,已不能满足自动化的要求。光电式转速计属于反射式光电传感器,它可以在距被测物数十毫米外非接触地测量其转速。由于光电器件的动态特性较好,所以可以用于低、高转速的测量而又不干扰被测物的转动。

本设计中采用光电传感器采集信号,这种传感器是把旋转轴的转速变为相应频率的脉冲,然后用测量电路测出频率,由频率值就可以知道所测转速值。这种测量方法具有传感器结构简单、可靠、测量频率精确的特点。是目前常用的一种测量转速的方法。

再者基于单片机实现转速的测量,具有硬件电路简单,程序简单和运算速度快,测速范围广,抗干扰能力强等特点。可以提高转速测量的精确度,并加快了采样的速率,具有较好的实时性。本文介绍的测速方法使用于低、高转速的测量,测量精度与转速无关,因而具有较宽的应用范围和广阔的应用前景。

1

第一章 光电转速计的系统设计

1.1 光电转速计的系统框图

1.2光电转速计各系统模块的功能介绍

(1)信号采集模块:用来对信号采样,经过放大、整形电路对信号进行放大和整形,在送入单片机进行数据的处理和转换。

(2)单片机模块:对处理过的信号进行转换成转速的实际值,送入液晶显示模组。

(3)液晶显示模块:用来显示所测量到转速。

1.3 光电转速计各系统模块的工作原理 (1) 信号采集模块工作原理

检测转盘上周围均匀贴有12张反光纸,并被直接固定在被测轴上,安装时光电对管正对转盘上每张反光纸,当被测轴转动时带动反光纸转动,光电对管通过对转盘上反光纸进行耦合从而产生数字脉冲。脉冲经过整形放大送入单片机的计数端。

(2)单片机控制模块工作原理

本设计基于AT89C51,其内部有两个16位定时/计数器。在程序设计时T0定时/计数器作为1秒定时使用,将T1定时/计数器作为对脉冲的计数器使用。

2

单片机计数端在接收到脉冲对脉冲进行计数,每隔1秒提取TH1和TL1的计数数据,并进行相应的运算,对16进制数据进行处理,得到10进制数据,送显示缓存进行输出。

3

第二章 光电转速计设计的方案论证

2.1 电源模块

模块稳定工作,必须有可靠的电源。我们考虑了两种电源方案。

方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供使用;缺点是各模块都采用独立电源,会使系统更复杂,且可能影响电路电平。

方案二:采用单片机控制模块提供电源。此方案优点是系统简明扼要,节约成本:缺点是输出功率不高。 综上所述,我们选择第二种方案。

2.2 信号采集模块

该模块分为两个部分:信号的产生和信号的处理 2.2.1 信号的产生

信号的产生我们会用到传感器件,我们考虑了两种方案。

方案一:选用单光束反射式红外光电传感器(ST188),其特点是用高发射功率红外光电二极管和高灵敏度光电晶体管组成;其检测距离为4——13mm;采用非接触检测方式。

封装实物图AK为发光二极管,EC为光敏三极管。它具有很好的开关特性,使用于耦合电路,控制电路,及信号传递电路。

4

图2-1 ST188 图2-2 ST188原理图 方案二:选用光敏电阻(P1201)作为光电传感器。其特点是:采用硅光材料感光技术,敏度高,反应速度快,光谱特性及阻值一致性好等特点外,在高温,多湿的恶劣环境下,还能保持高度的稳定性和可靠性,其检测距离为3——20mm;缺点是阻值受温度影响甚大。

P1201实物封装如下图,光敏电阻广泛用于光源的检测,光照大小检测。

比较上述两种方案,利用光电对管ST188的开关特性,检测电机转速比较容易实现,因此选择方案一。

2.2.2 信号的处理

转速信号是脉冲信号,需要进一步放大、整形,才能是单片机更易识别。

我们考虑了两种方案。

5

方案一:信号经LF353发大后,再经电压比较器LM311,对光脉冲信号进行整形,得到一个较好的脉冲信号,在经过714s14进行二次整形,以便达到理想的处理效果。此外,加一个电容进行滤波。

方案二:信号经LF353放大后,再经电压比较器LM393,对光脉冲信号进行整形,再由两个与非门74LS00构成RS触发器对信号进行滤波及二次整形。

对比两种方案,方案一较为经济,且实现方便,因此选择方案一。

2.3 单片机控制模块

本设计是基于AT89C51单片机的基础上完成的,我们下面对其做一个介绍。

AT89C51(如图2-4所示)是一种带4K字节闪烁可编程可摖除只读储存器(FPEROM—Falsh 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的程序存储

(ROM/EPROM/Flash,可扩展至64KB);128B的数据存储器(ROM,可在扩展64KB),特殊功能寄存器SFR。(如图2-6所示)

6

图2-6 80C51单片机的组成

AT89C51单片机的功能: 1. 主要特性:

◆与MCS-51 兼容

◆4K 字节可编程闪烁存储器 ◆寿命:1000 写/擦循环 ◆数据保留时间:10 年 ◆全静态工作:0Hz-24Hz ◆三级程序存储器锁定 ◆128*8 位内部RAM ◆32 可编程I/O 线

◆两个16 位定时器/计数器 ◆5 个中断源

◆可编程串行通道

◆低功耗的闲置和掉电模式 ◆片内振荡器和时钟电路 2.管脚说明(图2-5):

●VCC:供电电压, ●GND:接地。

●P0 口:P0 口为一个8 位漏级开路双向I/O 口,每脚可吸收8TTL门电流。当P1 口管脚第一次写1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH 编程时,P0 口作为原码输入口,当FIASH 进行校验时,P0 输出原码,此时P0 外部必须被拉高。 ●P1 口:P1 口是一个内部提供上拉电阻的8 位双向I/O 口,P1 口缓冲器

7

附录二

#include

#define uchar unsigned char #define unit unsigned int uchar I,lb1,hb1;

uchar code t0[]=”Round=”; uchar code t1[]=”r/min”; uchar code js[]=”wqbsg”

#define lcd_IO P2//定义单片机接口 Sbit lcd_rs=P1^0; Sbit lcd_rw=P1^1; Sbit lcd_en=P1^2; Sibt sign =P3^5;

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;//总中断开 }

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; }

18

}

/*液晶显示*/

void Delay(uint z)//延时程序 {

uint x,y;

for(x=100;x>0;x--); for(y=z;y>0;y--); }

void write_com(uchar com)//LCD写指令函数根据指令时序写 {

lcdrs=0; P2=com; Delay(5); lcden=1;

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_com(OX38);//设置1062显示、点阵、接口

write_com(OX01);//显示清零(清屏)数据指针清零 write_com(OX0c);//显示开关及光标设置、不显示光标 write_com(OX06);//当读或写一个字符后地址加指针一 write_com(OX80+OX40);//设置数据指针从第二行开始显示 for(i=0;i<6;i++) {

write_date(t0[i]);//显示“Round=” Delay(0);

Write_com(OX80+OX40+12); for(i=0;i<5;i++)

write_date(t1[i]);//显示“r/min” Delay(0);

19

}

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/1000; b=t/100; s=t/10; g=t;

write_com(OX80+OX40+7); write_date(jz[w]);

write_com(OX80+OX40+8); write_date(jz[q]);

write_com(OX80+OX40+9); write_date(jz[b]);

write_com(OX80+OX40+7); write_date(jz[s]);

write_com(OX80+OX40+7); write_date(jz[g]); }

Void main() {

init danpianji(); int_lcd();

while(1) {

display(); }

}

20

致谢

经过几个月的忙碌,本次毕业设计已经接近尾声,通过这次学校组织的毕业设计,端正了自己学习的态度,锻炼了自己独立动手的能力,在此,我要感谢每一个帮助过我的人。

首先,我要感谢的是我的导师兰羽老师。兰羽老师平日里工作繁多,但在我做毕业设计的每个阶段,都给予我们悉心的指导和帮助。

再次,我要感谢的就是我们本组组员在我们毕业设计期间,他们给了我不少的关心和帮助。理论与实践的结合,是对知识较好牢固掌握的一种方法,这次的毕设就有这种理念.基于改变高分低能的现状.对于即将毕业的我们,社会更迫切需要的就是能力而不是以往的高分.学校看出了这种现状,所以安排了毕业生的最后一门课:理论实践相结合.

所以作为毕业生的我表示深切感谢.这次真的是机不可失,失不在来.

21

本文来源:https://www.bwwdw.com/article/nov7.html

Top