

免费预览已结束,剩余14页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
仅供参考# 光电传感器脉冲计数电路设计 摘 要 本文基于 AT89C51 单片机设计了一个结构简单、性能稳定反射式光电计数器,可 实现脉冲实时计数功能。系统采用型号为 E18-D50NK 的红外传感器为信号采集装置, 将光信号转换成电信号,经单片机处理后显示在数码管上。当系统出现锁死情况时可 以通过复位键调整,直至系统正常工作。 关键词:AT89C51, 光电计数器, E18-D50NK 仅供参考# 目 录 1 绪论.1 1.1 课题描述 .1 1.2 基本工作原理及框图 .1 2 相关芯片及硬件电路设计.2 2.1 AT89C51 芯片.2 2.1.1 AT89C51 的功能特性.3 2.1.2 AT89C51 的主要性能参数.3 2.2 E18-D50NK 反射式红外传感器.4 2.3 单片机最小系统电路 .5 2.4 光电传感器电路 .5 2.5 显示电路.6 3 系统软件设计.6 3.1 系统的软件运行流程图 .7 3.2 程序设计 .7 4 仿真.10 总 结.12 致 谢.13 参考文献.14 仅供参考# 1 绪论 1.1 课题描述 在当今社会飞速发展的今天,越来越多的流水线上的产品和各种公共场所需要进 行实时的、有效的、精确的自动计数。传统的机械式或电子式计数器(主要是用数字 电路集成组件组成)电路比较复杂,元器件数量较多,故障率较高,维修比较困难,而 设置预定数值不太方便,功能不易更改且功能过于单一,适用范围较窄。而基于单片 机构成的产品自动计数器有直观和计数精确的优点,目前已在各种行业中得到广泛应 用。数字计数器有多种形式,总体来说有接触式和非接触式两种,在科技发展的今天, 非接触式光电计数器得到了广泛的应用,光电式传感器是其中之一。 1.2 基本工作原理及框图 本系统是以单片机AT89C51为核心的脉冲计数器。采用光电式传感器,每当物体 通过一次,红外光就被物体反射,光电接收管接收一次,光电接收管的输出电压就发 生一次变化,这个变化的电压信号通过放大和处理后,通过接收头输出相应的电信号1。 当有物体穿越光路时,接收头输出为低电平,反之则为高电平,接收头接单片机P3.4 端口,当电信号变化时,启动计数器开始计数,并将计数后所得的数据送给数码管显 示。系统的基本原理如图1所示。 图 1 基本工作原理框图 系统的电路图如图 2 所示。 红外检测电路 单片机 AT89C51 数码管显示 电源 仅供参考# P1.0 V CC P1.1 P0.0 P1.2 P0.1 P1.3 P0.2 P1.4 P0.3 P1.5 P0.4 P1.6 P0.5 P1.7 P0.6 RESET P0.7 P3.0EA P3.1 ALE P3.2PSEN P3.3 P2.7 P3.4 P2.6 P3.5 P2.5 P3.6 P2.4 P3.7 P2.3 X T AL2 P2.2 X T AL1 P2.1 V SSP2.0 AT 89C51 V CC C1 30P C2 30P C0 1U Y1 S0 R0 100K V CC V CC a b c d efg c a bf g de c a bf g de c a bf g de c a bf g de 2 3 41dp DPY_4-SEG E18-D50NK V CC R1 1k 1 2 3 4 5 6 7 8 16 15 14 13 12 11 10 9 220 P0.4 P0.5 P0.7 P0.6 P2.1 P2.2 P2.3 P2.0 P2.4 P2.5 P2.6 P2.7 P0.5 P0.7 P0.6 P2.1 P2.2 P2.3 P2.0 P2.4 P2.5 P2.6 P2.7 P0.4 图 2 光电脉冲计数器原理图 2 相关芯片及硬件电路设计 2.1 AT89C51 芯片 图 3 3 种常见单片机及引脚图 AT89C51 是一种带 4K 字节 FLASH 存储器(FPEROMFlash Programmable 仅供参考# and Erasable Read Only Memory)的低电压、高性能 CMOS 8 位微处理器,俗称单片 机。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容2。由于将多功能 8 位 CPU 和闪速存储器组合在单个芯片中, ATMEL 的 AT89C51 是一种高效微控制器,AT89C051 是它的一种精简版本。 AT89C51 单片机为很多嵌入式系统提供了一种灵活性高且价廉的方案。 2.1.1 AT89C51 的功能特性 AT89C51 提供以下标准功能:4K 字节 Flash 闪速存储器,128 字节内部 RAM,32 个 I/O 口线,两个十六位定时/计数器,一个 5 向量两级中断结构,一个全双工串行通 信口,片内振荡器及时钟电路。同时,AT89C51 可降至 0Hz 的静态逻辑操作,并支持 两种软件可选的节电工作模式3。空闲方式停止 CPU 的工作,但允许 RAM,定时/计 数器,串行通信口及中断系统继续工作。掉电方式保存 RAM 中的内容,但振荡器停止 工作并禁止其他所有部件工作直到下一个硬件复位。 2.1.2 AT89C51 的主要性能参数 AT89C51 主要性能参数如下: (1)与 MCS-51 兼容 (2)4K 字节可编程 FLASH 存储器 (3)寿命:1000 写/擦循环 (4)数据保留时间:10 年 (5)全静态工作:0Hz-24MHz (6)三级程序存储器锁定 (7)288 位内部 RAM (8)32 可编程 I/O 线 (9)两个 16 位定时器/计数器 (10)5 个中断源 (11)可编程串行通道 (12)低功耗的闲置和掉电模式 (13)片内振荡器和时钟电路 仅供参考# 2.2 E18-D50NK 反射式红外传感器 光电开关电路主要由光电开关管,即光电传感器是采用光电元件作为检测元件的 传感器。它首先把被测量的变化转换成光信号的变化,然后借助光电元件进一步将光 信号转换成电信号。光电传感器一般由光源、光学通路和光电元件三部分组成4。电 检测方法具有精度高、反应快、非接触等优点,而且可测参数多,传感器的结构简单, 形式灵活样因此,光电式传感器在检测和控制中应用非常广泛。如下图示为本次课程 设计所采用的光电开关,其型号为 E18-D50NK 的反射红外传感器。 图 4 反射红外传感器 红外传感器输出端的原理图如下: 图 5 红外传感器信号输入端 红外传感器感受到外界信息时,产生高低电平,通过软件程序设置单片机内部寄 存器,当传感器的高低脉冲被单片机接收到时,单片机产生中断,中断产生后进入中 断服务程序,通过设置中断服务程序,进行计数。并通过 P2.4,P23,P2.5,P2.6,P2. 仅供参考# 口计数信息传送至数码管,数码管显示计数的个数。当需要时按下复位开关,则计数 器清零,数码管显示清零,重新开始计数。 2.3 单片机最小系统电路 P1.0 V CC P1.1 P0.0 P1.2 P0.1 P1.3 P0.2 P1.4 P0.3 P1.5 P0.4 P1.6 P0.5 P1.7 P0.6 RESET P0.7 P3.0EA P3.1 ALE P3.2PSEN P3.3 P2.7 P3.4 P2.6 P3.5 P2.5 P3.6 P2.4 P3.7 P2.3 X T AL2 P2.2 X T AL1 P2.1 V SSP2.0 AT 89C51 V CC C1 30P C2 30P C0 1U Y1 S0 R0 100K V CC P0.4 P0.5 P0.7 P0.6 图 6 单片机最小系统 单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以 工作的系统.对 51 系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位 电路。 单片机的晶振电路是一种典型起振电路,分为内部时钟方式和外部时钟方式两种。 本次设计所采用的为内部时钟方式。典型的晶振取 11.0592MHz(因为可以准确地得到 9600 波特率和 19200 波特率,用于有串口通讯的场合)/12MHz(产生精确的 uS 级时 歇,方便定时操作)5。 单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按 钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境 干扰 出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。 2.4 光电传感器电路 本设计使用的光电接受部分是红外光电式传感器,它是采用光电元件作为检测元 件信号转换成电信号,光电传感器一般由光源、光学通路和光电元件三部分组成,其 仅供参考# 中光电传感器是型号 1E8-B03M 封装的红外反射传感器,E18-DS30NK 光电传感器, 其工作电压为 5V,其传感器有三条引脚,一条接+5V,一条接 GND,另一条则是数据 输出接口,正常情况下输出为高电平,当有物体遮挡时输出为低电平,本课题就是利 用该传感器的这种工作原理实现的。将数据输出端与单片机进行通信,进而实现计数 功能。 2.5 显示电路 P1.0 V CC P1.1 P0.0 P1.2 P0.1 P1.3 P0.2 P1.4 P0.3 P1.5 P0.4 P1.6 P0.5 P1.7 P0.6 RESET P0.7 P3.0EA P3.1 ALE P3.2PSEN P3.3 P2.7 P3.4 P2.6 P3.5 P2.5 P3.6 P2.4 P3.7 P2.3 X T AL2 P2.2 X T AL1 P2.1 V SSP2.0 AT 89C51 V CC a b c d efg c a bf g de c a bf g de c a bf g de c a bf g de 2 3 41dp DPY_4-SEG 1 2 3 4 5 6 7 8 16 15 14 13 12 11 10 9 220 P0.4 P0.5 P0.7 P0.6 P2.1 P2.2 P2.3 P2.0 P2.4 P2.5 P2.6 P2.7 P0.5 P0.7 P0.6 P2.1 P2.2 P2.3 P2.0 P2.4 P2.5 P2.6 P2.7 P0.4 图 7 显示电路 本课题采用四位八段数码管,该数码管动态显示接口是单片机中应用最为广泛的 一种显示方式之一,动态驱动是将所有数码管的 8 个显示笔划 “a,b,c,d,e,f,g,dp”的同名端连在一起,另外为每个数码管的公共极 COM 增加位选通控制电路,位选通由各自独立的 I/O 线控制,当单片机输出字形码时,所 有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机 对位选通 COM 端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该 位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的 COM 端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位 数码管的点亮时间为 12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管 仅供参考# 实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳 定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的6,能够节省大量 的 I/O 端口,而且功耗更低。其四位八段数码管显示电路图 7。 3 系统软件设计 3.1 系统的软件运程图 本次软件的流程图如下: 图 7 系统的软件流程图 3.2 程序设计 #include 仅供参考# #include #define uchar unsigned char void timer1_init(); void smg_dis(); void Delay1ms(uchar ms); sbit P34=P34; unsigned int num=0; uchar smg_duanma10 =0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90; segbuf4=0,0,0,0; uchar dspcom,i; /*主函数*/ void main(void) timer1_init(); P3=0 xff; while(1) if(P34=0); Delay1ms(20); if(P34=0) +num; if(num=9999) num=0; while(P34); void timer1_init() 仅供参考# TMOD=0 x10; / TMOD=0000 0110B,使用计数器T1的模式2 TH1=(65536-5000)/256; TL1=(65536-5000)%256; EA=1; /开总中断 ET1=1; /允许定时器T1的中断 TR1=1; /启动T1 void Key_counter() interrupt 3 TH1=(65536-5000)/256; TL1=(65536-5000)%256; smg_dis(); void smg_dis() segbuf0=num/1000; segbuf1=num/100% 10; segbuf2=num/10%10; segbuf3=num%10; P0=0 xff; P0=smg_duanmasegbufdspcom; P2=0 x10dspcom; if(+dspcom = 4) dspcom = 0; void Delay1ms(uchar ms) 仅供参考# unsigned int k; for(k=0;kms;k+) unsigned char i, j; _nop_(); _nop_(); _nop_(); i = 11; j = 190; do while (-j); while (-i); 4 仿真 仅供参考# XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 R1 100 R8 图 8 仿真结果 在 Keil uvision3 下新建工程,在工程下新建文件,完成程序的编写,并生成 hex 文件,在 Proteus 中画出电路图,进行仿真。由于光传感器在仿真过程中无法接受光信 号,不能产生相应的电信号,所以在仿真中是将光电传感器电路改为一个开关按键。 开关按键一端接地,一端接 P3.4 端口。将 P3.4 端置为高电平,按下开关按键时,P3.4 变为低电平。从而达到光传感器接收光的效果。仿真结果如图 8 所示。 仅供参考# 总 结 本文介绍了一种基于 AT89C51 单片机的光电脉冲计数器系统的设计,主要包括单 片机的最小系统电路、显示电路和光电传感器电路。本文利用软件编程、这样做占用 硬件资源少,成本较低
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-广西-广西垃圾清扫与处理工二级(技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广东-广东堤灌维护工四级(中级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-安徽-安徽管道工五级(初级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-安徽-安徽工程测量员一级(高级技师)历年参考题库典型考点含答案解析
- 烹饪基础知识培训课件
- 2025年事业单位工勤技能-北京-北京收银员五级(初级工)历年参考题库典型考点含答案解析
- 2025年驾驶证考试-教练员资格证-教练员资格证历年参考题库含答案解析(5套)
- 2025年银行金融类-金融考试-银行业专业人员初级(法规+银行管理)历年参考题库典型考点含答案解析
- 热处理基础知识培训大纲
- 烫伤急救课件
- tgnet中文使用手册
- 射线检测焊缝返修通知单
- 病历书写规范培训(修改)
- DL T774-2015规程试题库(含答案)
- 2023年电气工程师职称评审个人业务自传
- CB/T 3780-1997管子吊架
- 青少年运动员 运动损伤的预防 课件
- 物资供应投标书范本
- 2022年十部经典的三级片电影
- 眼震视图结果分析和临床意义
- 2011-2017国民经济行业分类标准转换对照表
评论
0/150
提交评论