最新南京信息工程大学光电计数器课程论文.docx
《最新南京信息工程大学光电计数器课程论文.docx》由会员分享,可在线阅读,更多相关《最新南京信息工程大学光电计数器课程论文.docx(25页珍藏版)》请在冰豆网上搜索。
最新南京信息工程大学光电计数器课程论文
滨江学院
课程报告
题目反射式光电计数器设计
院系滨江学院
专业电子科学与技术
学生姓名***
学号
指导教师常建华
职称副教授
二0一三年十一月二十一日
第1章绪论
1.1光电计数器原理·······································1
1.2国内外研究现状·······································2
1.3本文主要研究内容·····································2
第二章光电计数器设计方案论证
2.1遮光式光电计数器·····································3
2.2反射式光电计数器·····································3
2.3方案选择·············································4
第3章硬件电路设计
3.1STC89C52简介·········································5
3.2电源电路·············································7
3.3传感器部分···········································8
3.3.1E18-D50NK反射式红外传感器······················8
3.3.2发射与接收电路··································9
3.4复位电路·············································11
3.5晶振电路·············································12
3.6显示电路·············································12
3.6.1线段的显示······································13
3.6.2字符的显示······································13
3.6.3汉字的显示······································13
3.6.41602字符型LCD简介·····························13
3.6.51602LCD的基本参数及引脚功能·····················14
3.6.61602LCD主要技术参数····························14
3.6.71602LCD的指令说明及时序·························15
第4章反射式光电计数器的软件设计
4.1显示程序·············································17
第五章系统调试···········································23
参考文献··················································23
致谢······················································24
附录······················································24
反射式光电计数器设计
***
南京信息工程大学滨江学院电子科学与技术,南京210044
摘要:
本文基于STC89c52单片机设计了一个结构简单、性能稳定的工业流水线用反射式光电计数器,可实现产品流水线产品的实时计数功能。
该系统采用型号为E18-D50NK的红外传感器为信号采集装置,将光信号转换成电信号。
以电磁继电器、三极管构成放大电路,放大后的信号经单片机处理后显示在数码管上。
当系统出现锁死情况时可以通过复位键调整,直至系统正常工作。
该系统优点是硬件电路简单,控制系统可靠,具有很强的实用价值。
该系统拓展后,可用于生产流水线的工件计数,具有很好的应用前景。
关键词:
STC89c52单片机E18-D50NK红外传感器实时计数
第1章绪论
1.1光电计数器原理
光电式传感器就是基于光电效应的理论基础用于光电信号之间的相互转换的一种传感器。
其中光电效应可以分为三类。
1.外光电效应:
能使电子在光照射条件下逸出物体表面。
光电倍增管,真空光电管等就是利用了外光电效应。
2.内光电效应:
能使物质的电阻率在光线照射条件下改变。
半导体光敏电阻这类的器件就是利用了内光电效应。
3.光生伏特效应:
物体在光线作用下产生电动势的现象即光生电动势。
光电晶体管、光电池等就是利用了光生伏特现象。
由于敏感的光波长是在可见光附近,包括红外波长和紫外波长。
因此,当光电元件受光照后,电特性就会发生变化这就是光电效应。
光电计数器通常采用的光电传感器有摄像头、光电管等,采用的光的种类有普通光和激光,可见光和不可见光等。
组成光电传感器的三部分为光源、光学通路和光电元件。
光电式传感器是以光电器件作为转换元件的传感器,光电检测方法具有精度高、应用快、非接触等优点,而可测参数多,光电传感器的结构简单,形式灵活多变因此,光电式传感器在检测和控制中应用非常广泛。
1.2国内外研究现状
光自动化的计数提高了工业生产上的效率以及准确性计数的自动化和智能化最终能加速实现现代化的工业。
随着生产自动化、设备数字化和机电一体化的发展,对光电计数器的需求日益增多。
提高自动计数器的实时性、稳定性是现在国内外自动计数生产研究的主要课题。
产品自动计数主要用于工厂的流水线,往往是处于高温等环境中所以单片机的功耗一定要低。
恰巧的是,STC89c52单片机符合这一要求。
1.3本文主要研究内容
本文的研究方向就是基于STC89c52单片机设计出一个简易但是性能稳定且灵敏度高的工业流水线用反射式光电计数器,能够实时的计数产品流水线上产品的数量。
该系统采用STC89c52单片机为处理芯片,对红外传感器采集的信号进行处理。
采用发射式型号E18-D50NK的红外传感器,它能够灵敏实时的采集光信号,由于工件的遮挡导致光信号的变化从而导致电信号的变化。
借由继电器实现小电流控制大电流的功能。
用E18-D50NK的红外传感器可确保系统的灵敏性、稳定性。
可以实现工业流水线计数器实时计数的功能。
设计光电计数器,实现无接触计数,主要用于工厂生产线工件计数。
采用反射式光电传感器,要求使用红外发光二极管、光电管检测,要求光电发射管和接收管相邻放置,在制作实物可用导线引出长度,能够实现无接触计数,独立设计光电计数器电路原理图,画出完整的电路原理图(包含电源部分)和PCB板图,查找资料,要求做出实物,可以使用万用板或者PCB板制作实物,独立完成。
第二章光电计数器设计方案论证
2.1遮光式光电计数器
遮光式光电计数器工作原理:
从红外发光管和红外接收器在产品生产流水线的两边。
红外发光管发射出的红外光线能够直射在如光敏电阻和光电管等光电元件上。
当有产品经过遮光式计数器的时候红外光线就会被该产品遮挡(比如瓶装啤酒)。
那么这时候光电元件的电信号必然会因为此时光信号的改变而改变,从而生成脉冲通过放大器可计数记下被遮挡的次数,通过数字显示显示具体的数量。
图2.1遮光式光电计数器
2.2反射式光电计数器
反射式光电计数器工作原理:
红外发光管和红外接收器在同一边。
当产品流水线没有产品经过的时候红外发光管发出的红外线不会被发射。
反之,当有产品经过的时候红外发光管发出的红外线就会被产品反射,反射光并被接收器接收。
这时候因为光信号的变化必然导致光电元件电信号的变化。
从而形成计数脉冲,光电隔离耦进行合并行输入至STC89c52单片机。
并用数码管显示具体数值便可实现物体的数量统计。
发射与接收电路可以用一个集成好的红外传感器。
集成焊接后的电路显得简单明了。
图2.2反射式光电计数器
方案选择
单片机
STC89c52系统
电源
电路
计数显示电路
发射接收电路
图2.3光电计数装置的原理
在工业生产中肯定会考虑到设备成本,设备所占用的空间以及接线的方便程度。
最重要的当然是设备工作的稳定性。
结合上文对两种光电计数器的介绍反式光电计数器的优点不难被发现。
由于发光管和接收器在同一边无疑会大大的节省空间。
将发光管和接收器集成在一起可以带来接线和操作上的简便。
再者反射式光电计数器带来的良好光路对齐,不受产品颜色和材质的影响的特点都会给设备提供更佳的稳定性。
因此,在工业流水线用的光电计数器方案选择上将采用反射式的光电计数器。
第3章STC89C52简介
3.1芯片简介
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能:
8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。
另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35MHz,6T/12T可选。
STC89c52共有4个(P0、P1、P2、P3口)8位并行I/O端口,共32个引脚。
P0口双向I/O口,用于分时传送低8位地址和8位数据信号;P1、P2、P3口均为准双向I/O口;其中P2口还用于传送高8位地址信号;P3口每一引脚还具有特殊功能,用于特殊信号的输入输出和控制信号。
其引脚图:
其中引脚说明为:
3.2STC89c52引角功能
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/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口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口作为AT89C51的一些特殊功能口,
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
3.2电源电路
本文将直接采用笔记本电脑的USB给电板提供5V的直流电。
同时,为了显示电板是否通电在电板中添加一个电源指示灯,这个电源指示灯将采用发光二极管。
发光二极管工作在正常工作状态时,通过LED的电流10毫安就足矣了。
因此,在电路中采用白发蓝高亮的LED,所以可以取10mA左右的电流值,图3.2中的R16是为了保护系统电路的限流电阻。
图3.2电源电路
3.3红外传感器
3.3.1E18-D50NK反射式红外传感器
光电开关电路主要由光电开关管,即光电传感器是采用光电元件作为检测元件的传感器。
它首先把被测量的变化转换成光信号的变化,然后借助光电元件进一步将光信号转换成电信号。
光电传感器一般由光源、光学通路和光电元件三部分组成。
电检测方法
具有精度高、反应快、非接触等优点,而且可测参数多,传感器的结构简单,形式灵活样因此,光电式传感器在检测和控制中应用非常广泛。
如下图示为本次课程设计所采用的光电开关,其型号为E18-D50NK的反射红外传感器。
图3.3反射红外传感器
下图为红外传感器输出端的原理图:
图3.4红外传感器信号输入端
红外传感器感受到外界信息时,产生高低电平,通过软件程序设置单片机内部寄存器,当传感器的高低脉冲被单片机接收到时,单片机产生中断,中断产生后进入中断服务程序,通过设置中断服务程序,进行计数。
并通过P22,P23,P24,P25 口将计数信息传送至数码管,数码管显示计数的个数。
当需要置位是按下复位开关,则计数器清零,数码管显示清零,重新开始计数。
3.3.2发射与接收电路
红外发光管和红外接收器在同一边。
当产品流水线没有产品经过的时候红外发光管发出的红外线不会被发射。
反之,当有产品经过的时候红外发光管发出的红外线就会被产品反射,反射光并被接收器接收。
这时候因为光信号的变化必然导致光电元件电信号的变化。
从而形成计数脉冲,光电隔离耦进行合并行输入至STC89c52单片机。
并用数码管显示具体数值便可实现物体的数量统计。
发射与接收电路可以用一个集成好的红外传感器。
然而,在自然光里面红外线那是到处都有的,打个很简单的比方太阳光里面就有红外,除掉太阳光这个随处可见的自然光外人工光源里面也是有许多的红外,比如说火源,白炽灯光等等。
既然这样,在我们的身边暗藏了如此之多的红外线,接收装置除了接收发射装置发射的红外线外肯定会受到其他光源的干扰。
那么如何规避这个问题理所当然的成了要解决的问题。
通过查阅相关的资料可以知道虽然这些都是红外线,但是同是红外线它们的波长也是不同的。
这时候就可以用调制解调来解决这个问题。
具体点说就是将红外线发射装置以固定的频率来发射红外线,再让接收装置来“认出”这些固顶频率的红外线。
如此一来便可以规避相关光源的干扰。
因为那些可以构成干扰光源中的红外线的频率要不是杂乱无章要不就是拥有其固定的频率,将红外线发射装置调制成迥异与这些干扰光源的频率就可以规避这个问题。
3.4复位电路
复位就是给RESET引脚加上2个机器周期以上的高电平信号来实现单片机的初始化操作。
除了进入系统的正常初始化之外,最实用的地方就是当程序运行出错或是操作失误使系统处于死锁状态,为了摆脱死锁状态,需要按复位键重新复位。
单片机小系统采用上电自动复位和手动按键复位两种方式实现系统的复位操作。
上电复位要求接通电源后,自动实现复位操作。
当系统得到工作电压的时候,复位电路工作在上电自动复位状态,通过外部复位电路的电容充电来实现,只要Vcc的上升时间不超过1ms就可现自动上电复位功能。
手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。
其结构如图 中R15、C3和S1。
上电自动复位通过电容C1充电来实现。
手动按键复位是通过按键将R15与VCC接通来实现。
本设计将采用按键的手动复位方式。
如图示两种复位方式:
图3.8复位电路(a)手动复位(b)自动复位
3.5晶振电路
单片机内部具有一个高增益反相放大器,用于构成振荡器。
通常在引脚XTAK1和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器,结构如图中Y1、C1、C2。
可以根据情况选择6MHz或24MHz等频率的石英晶体,补偿电容通常选择30pF左右的瓷片电容。
晶振电路可以为单片机提供单片机工作用的时钟频率。
晶振电路在单片机系统中显得至关重要,它为单片机工作提供固顶的工作频率。
就像马路口的红绿灯一样,红绿灯为车辆提供通行的时间,红绿灯停止之后马路将乱糟糟的。
一样的,假如没有了晶振电路单片机将不能正常的有节奏的工作。
除此之外,晶振的频率对单片机工作的快慢有着直接的影响。
一个稳定的晶振电路可以为单片机提供可靠的工作频率,单片机运行将更为稳定。
如图3.7所示,本文中采用内部时钟方式电路。
其中补偿电容通常选择30pF左右的瓷片。
图中电容C1,C2的大小将会影响到晶振的稳定和速度,C1,C2都将采用22Pf的电容。
选择6MHz或24MHz等频率的石英晶体,电容来产生时钟脉冲。
如此来提供稳定的时钟频率。
图3.9晶振电路
3.6显示部分
液晶显示器各种图形的显示原理:
3.6.1线段的显示
点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。
例如屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。
这就是LCD显示的基本原理。
3.6.2字符的显示
用LCD显示一个字符时比较复杂,因为一个字符由6×8或8×8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。
这样一来就组成某个字符。
但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。
3.6.3汉字的显示
汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5……右边为2、4、6……根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节……直到32B显示完就可以LCD上得到一个完整汉字。
3.6.41602字符型LCD简介
字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。
下面以长沙太阳人电子有限公司的1602字符型液晶显示器为例,介绍其用法。
一般1602字符型液晶显示器实物如图:
3.6.51602LCD的基本参数及引脚功能
1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图10-54所示:
图10-541602LCD尺寸图
3.6.61602LCD主要技术参数:
显示容量:
16×2个字符
芯片工作电压:
4.5—5.5V
工作电流:
2.0mA(5.0V)
模块最佳工作电压:
5.0V
字符尺寸:
2.95×4.35(W×H)mm
引脚功能说明
1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表10-13所示:
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
数据
3
VL
液晶显示偏压
11
D4
数据
4
RS
数据/命令选择
12
D5
数据
5
R/W
读/写选择
13
D6
数据
6
E
使能信号
14
D7
数据
7
D0
数据
15
BLA
背光源正极
8
D1
数据
16
BLK
背光源负极
表10-13:
引脚接口说明表
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15脚:
背光源正极。
第16脚:
背光源负极。
3.6.71602LCD的指令说明及时序
1602液晶模块内部的控制器共有11条控制指令,如表10-14所示:
序号
指令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
1
清显示
0
0
0
0
0
0
0
0
0
1
2
光标返回
0
0
0
0
0
0
0
0
1
*
3
置输入模式
0
0
0
0
0
0
0
1
I/D
S
4
显示开/关控制
0
0
0
0
0
0
1
D
C
B
5
光标或字符移位
0
0
0
0
0
1
S/C
R/L
*
*
6
置功能
0
0
0
0
1
DL
N
F
*
*
7
置字符发生存贮器地址
0
0
0
1
字符发生存贮器地址
8
置数据存贮器地址
0
0
1
显示数据存贮器地址
9
读忙标志或地址
0
1
BF
计数器地址
10
写数到CGRAM或DDRAM)
1
0
要写的数据内容
11
从CGRAM或DDRAM读数
1
1
读出的数据内容
表10