基于单片机的光电计数器设计doc文档格式.docx
《基于单片机的光电计数器设计doc文档格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的光电计数器设计doc文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
这类器件包括各类半导体光敏电阻。
第三类是光生伏特效应,即在光线作用下,物体内产生电动势的现象此电动势称为光生电动势。
这类器件包括光电池、光电晶体管等。
电效应都是利用光电元件受光照后,电特性发生变化。
敏感的光波长是在可见光附近,包括红外波长和紫外波长。
数字式电子计数器有直观和计数精确的优点,目前已在各种行业中普遍使用。
数字式电子计数器有多种计数触发方式,它是由实际使用条件和环境决定的。
有采用机械方式的接触而触发的,有采用电子传感器的非接触式触发的,光电式传感器是其中之一,它是一种非接触式电子传感器。
采用光电传感器制作的光电式电子计数器。
这种计数器在统计公共产所人数、工厂生产流水线上的产品数量,有着其他计数器不可取代的优点。
该例光电触发式电子计数器只有四位数,但通过级联可以扩展至多位。
1.2光电计数的现状及发展前景
随着科学技术的发展,电子计数器的辅助功能也逐渐增加,现在已经出现了多功能计数器,多功能计数器产品的响应度较高,交直、流电两用、耗能低、价格低、无机械碰撞、无磨损、使用寿命长,既可计数,又可计算。
例如在毛衣编织机上运用,除可计数和计算外,还可实现断线报警。
通用计数器不仅可测频率、周期还可以测多周期平均、时间间隔、频率比和累计等。
频率计数器是专门用于测量高频和低频率的计数器。
微波计数器是以通用计数器和频率计数器为主配以测频扩展器而组成的微波频率计,它的测频上限已进入毫米波段,有手动、半自动、全自动3类,系列化微波计数器是电子计数器发展的一个重要方面。
第二章系统的设计原理
2.1系统的设计要求
设计一光控电路,放置在图书馆门的内外两侧。
当有人通过光电门时,都会触发光控电路,根据光控电路产生触发脉冲的先后顺序令计数器进行加计数或者是减计数,要求计数器的最大计数容量是9999个,并用四个数码管动态显示数字,如果大于预先设计好的人数容量时,报警电路开始就行报警,直到管理员就行相应的处理。
2.2系统的组成与结构
图(2-1)光电计数器系统结构图
整个光电计数器系统是由光电传感电路、运算放大电路、电压比较电路、AT89S51单片机系统电路、显示计数电路、报警,键盘电路,电源电路八个部分组成的,如图2-1所示。
光电传感电路把被计数的物体的变化转换成微弱的电压号,电压信号进行放大以后与基准电压进行比较,大于基准电压时输出高电平,小于基准电压时输出低电平,单片机根据INT0、INT1引脚的电平变化来进行相应的计数,再把计数结果送到数码管显示,当达到设定的报警值时,报警电路发出报警。
2.3主要芯片元器件引脚图及功能介绍
硅光电池是一种利用光生伏特效应直接把光能转换成电能的半导体器件。
它的结构如图1-1,核心部分是一个大面积的PN结,硅光电池的PN结面积要比二极管的PN结大得多,所以受到光照时产生的电动势和电流也大得多,N型层是受光层,上面制作有栅状负电极,而且在受光面上还均匀覆盖有抗反射膜,它是一层很薄的天蓝色一氧化硅膜,可以使电池对有效入射光的吸收率达到90%以上并使硅光电池的短路电流增加25%-30%。
当光照射在硅光电池的PN结区时,会在半导体中激发出光生电子一空穴对。
PN结两边的光生电子一空穴对,在内电场的作用下,属于多数载流子的不能穿越阻挡层,而少数载流子却能穿越阻挡层。
结果,P区的光生电子进入N区,N区的光生空穴进入p区,使每个区中的光生电子一空穴对分割开来。
光生电子在N区的集结使N区带负电,光生电子在p区的集结使P区带正电。
P区和N区之间产生光生电动势。
当硅光电池接人负载后,光电流从P区经负载流至N区,负载中即得到功率输出。
以硅材料为基体的硅光电池,可以使用单晶硅、多晶硅、非晶硅来制造.单晶硅光电池是目前应用最广的一种,它有2CR(具体参数见图1-2)和2DR两种类型,其中2CR型硅光电池采用N型单晶硅制造,2DR型硅光电池则采用P型单晶硅制造。
图(2-2)硅光电池结构图
表2-1硅光电池2CR参数
型号
开路电压(MV)
短路电流(MA)
输出电流
转换效率(%)
直径(mm)
2CR61
150~600
40~65
30~40
6~8
Ф17
2CR62
500~600
40~51
8~10
2CR63
550~600
51~65
51~61
10~12
2CR81
450~600
88~140
66~85
Ф25
2CR82
85~110
2CR83
110~140
110~132
2CR101
450~60
172~288
130~257
6
Ф35
图(2-3)
2.3.2AT89S52单片机
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:
40个引脚,8kBytesFlash片内程序存储器,256bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器
。
此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求,AT89S51的引脚图如图1-2所示。
主要功能特性:
兼容MCS-51指令系统、8k可反复擦写(>
1000次)ISPFlashROM、32个双向I/O口、4.5-5.5V工作电压、3个16位可编程定时/计数器、时钟频率0-33MHz、全双工UART串行中断口线、256x8bit内部RAM、2个外部中断源、低功耗空闲和省电模式、中断唤醒省电模式、3级加密位、看门狗(WDT)电路
、软件设置空闲和省电功能、灵活的ISP字节和分页编程、双数据寄存器指针。
图(2-4)AT89S52引脚图
2.3.3LM358芯片
LM358里面包括有两个高增益、独立的、内部频率补偿的双运放,适用于电压范围很宽的单电源,而且也适用于双电源工作方式,它的应用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运放的地方使用,其内部结构图如图1-4所示。
LM358封装有塑封8引线双列直插式和贴片式两种。
LM358的特点:
内部频率补偿;
低输入偏流;
低输入失调电压和失调电流;
共模输入电压范围宽,包括接地;
差模输入电压范围宽,等于电源电压范围;
直流电压增益高(约100dB);
单位增益频带宽(约1MHz);
电源电压范围宽:
单电源(3—30V);
双电源(±
1.5一±
15V);
低功耗电流,适合于电池供电;
输出电压摆幅大(0至Vcc-1.5V);
图(2-5)LM358内部结构图
第三章光电计数器的系统设计
3.1硬件电路设计
为使模块稳定工作,须有可靠电源。
我们考虑了两种电源方案:
方案一:
采用独立的稳压电源。
此方案的优点是稳定可靠,且有各种成熟电路可供选用;
缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。
方案二:
采用单片机控制模块提供电源。
改方案的优点是系统简明扼要,节约成本;
缺点是输出功率不高。
综上所述,我们选择第二种方案,电源的电路图如图3-1所示。
图(3-1)电源电路图
光电耦合器是以光为媒介传输电信号的一种电一光一电转换器件,它由发光源和受光器两部分组成。
为了能准确地远距离地感应到产品经过光电门,就必须选择敏感性高且稳定的信号感应器件,而光电耦合器满足这个条件。
光电耦合器是发光源和受光器件组装在同一密闭的壳体内,彼此间用透明绝缘体隔离。
发光源的引脚为输入端,受光器件的引脚为输出端,常见的发光源为发光二极管,受光器为光敏二极管、光敏三级管等,实际电路发光源选用高亮发光管和硅光电池。
光电传感器的电路图如图3-2所示。
图(3-2)光电传感器
该系统要求显示计数功能。
基于上述原因,我们考虑了三种方案:
完全采用LCD显示。
完全采用LCD显示可显示有限的符号和数码字苻,能满足设计的需要。
完全采用点阵式LCD显示。
这种方案实现复杂,且须完成大量的软件工作;
但功能强大,可方便的显示各种英文字符,汉字,图形等,也可满足设计的需要。
方案三:
采用LED显示,LED只显示数字输出。
这种方案既满足系统功能要求,又简单,成本有低。
权衡利弊,第三种方案的优缺点,决定采用方案三来实现数字显示。
系统中采用的数码管为共阴极数码管,显示电路图的电路如图3-3所示。
图(3-3)显示电路图
当计数器计数值大于最大设定值时,置位KEYBOARD,使KEYBOARD引脚为高电平,计数器停止计数。
SPEAKER就开始报警,若按下S1,计数器立即复位,同时停止报警。
报警电路的电路图如图3-4所示。
图(3-4)报警电路图
3.2软件程序的设计
本程序设计采用大家熟悉的C语言来进行程序的编写,C语言通俗易懂,易于模块化设计,同时也容易调试和修改,它不需要对单片机硬件有深入的了解,也能编写出正确实用的程序,是今后硬件程序设计的发展方向。
由于光电技术电路需要在数码管上显示通过光电门的人数数量,因此可以在内部存储器空间定义它的显示缓存区,用来暂存数码管显示的当前值。
系统在初始化程序之中,首先打开中断总允许位(EA=1),接着打开外部中断0、外部中断1允许位(IE0=1;
IE1=1),设置外部中断类型控制位(IT0=1;
IT1=1),当INT0、INT1引脚下降沿到来时进入中断程序,并设计数初始值为0,扫描键盘,等待工作人员设置最大人数值。
定义中断标志位INT0FLAG、INT1FLAG,当有外部中断产生时,在中断服务程序中分别置位INT0FLAG、INT1FLAG。
跳出中断程序检查中断标志位的值,若为真值,调用光电计数子程序,将显示暂存变量加1,读取数值各个数位上的值,调用CODE数码管显示代码,动态显示当前数值,当通过光电门的产品数量达到设计初始值,蜂鸣器响进行报警。
系统初始化流程图如图