产品计数器设计.docx
《产品计数器设计.docx》由会员分享,可在线阅读,更多相关《产品计数器设计.docx(10页珍藏版)》请在冰豆网上搜索。
产品计数器设计
一、设计任务要求
设计光电计数器,实现无接触计数,主要用于工厂生产线工件计数。
可采用遮光式光电传感器或者反射式光电传感器,要求使用红外发光二极管、光电管检测,要求光电发射管与接收管有30mm以上得间距,在制作实物可用导线引出长度,用LED数码显示器来显示0-999得范围计数,当数字超出999时,能够发出报警,并且能在报警后延时3秒钟自动关闭报警并自动重新计数同时可以手动清除报警,能够实现无接触计数,独立设计光电计数器电路原理图(包含电源部分),画出完整得电路原理图(包含电源部分)与PCB板图,查找资料,要求做出实物,可以使用万用板制作实物,独立完成。
二、方案设计
1、 方案
以89C51为核心得计数电路 基于单片机得光电计数器,使用89C51单片机,电路简单,需要编写程序,可通过编程实现各种各样得算术算法与逻辑控制,而且体积小,硬件实现简单,安装方便,可实现数码显示与键盘设定等多种功能。
采用遮光式光电传感器,将红外发光管与光电接收管相对安放,每当物体通过一次,红外光就被遮挡一次,光电接收管得输出电压就发生一次变化,这个变化得电压信号通过放大与处理后,形成计数脉冲,通过光电隔离耦合并行输入至89C51单片机得P1口,通过软件控制与键盘设定计数值并用LED加以显示,便可实现对物体得计数统计。
采用光电传感器,将红外激光发射管与接收管相相对安放,每当物体通过一次,红外光就被阻挡,光电接收管得输出电压就发生一次变化,输入至89C51单片机得P1口,通过软件控制与键盘设定计数值并用LED加以显示,便可实现对物体得计数统计。
本设计除了单片机外无其她芯片,在发射与接收电路中也只简单得用激光管与感光三极管组成检测部分。
接线排线有规律、整齐、增强电路板得艺术美感。
2、 方案系统结构图
电路
图1
如图1所示整个光电计数器系统主要由电源部分、光电发射与接收电路、计数电路、报警电路这几个部分组成。
当有物体经过时,红外发光二极管发出得红外信号被物体反射至光电接收管,并被光电接收管所接收,光电发射与接收电路把被计数得物体得变化转换成电信号,这时计数电路开始计数。
三、硬件构成及功能
AT89C51单片机
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:
来自反向振荡器得输出。
四、 硬件电路设计
1、发射与接收电路
激光与接收电路如图2所示,发射与接收电路主要得功能就是当有物体经过时,激光被物体遮挡,接收管不能接收到激光管发出得红外光线,这时计数电路开始计数。
将红外激光管与光电接收管相对安放,每当物体通过一次,红外光就被物体遮挡,光电接收管得输出电压就发生一次变化,输入至AT89C51单片机得P1口,通过软件控制与键盘设定计数值并用LED加以显示,便可实现对物体得计数统计。
在我们生活得环境里处处都暗藏着红外光线,太阳就是最常见得红外线发光体,还有火光、灯光、红外线遥控器与一些不可预知得光源。
那么,我们身边所处得环境中这么多红外线光源,传感器里得红外线光敏二极管如何分辨环境里得红外光与红外发射管发出来得红外光?
调制解调得办法:
把激光管以某一频率进行调制,即让它以固定得频率闪烁。
所以选用了激光调制电路,用特殊得接收管可以筛选出这一频率得红外光源。
这样便可以达到去除外界环境光得干扰。
因为环境里得红外光要么就是没有频率得,要么就就是有着自己固定得频率。
像收音机一样,传感器只要以自己得频率发射,再以自己得频率接收就可以过滤其她频率光源得干扰了。
图2
其中C11为胆电容,容值为1uf,jp11为调制管,jp12为接收管,她们长得差不多,都就是三条腿,但就是需要注意得就是,在购买得时候调制管与激光管一定要买相配得,应为她们之间必须频率必须匹配才可以正常工作。
L11就就是激光发射管,用5mw就够了。
图中得OUT1为控制信号,控制激光发射管就是否工作,IN1为信号输出,当有物体通过时输出低电平,当没有物体通过时,IN1输出为高电平。
2、计数与显示电路
如图3所示为计数及显示电路,其显示部分就是由4个8段LED管组成,而LED由三极管驱动显示。
其计数部分就是由单片机控制输出,由个位到千位依次进行。
图3
五、程序框图
否 就是
六、课程设计程序
NAMET10 ;产品计数器课程设计
PORTEQU0CFE8H
BUFEQU 24H
SECEQU21H
CSEGAT0000H
LJMPSTART
CSEGAT4003H
LJMPCLOCK
CSEG AT4100H
START:
MOVDPTR,#PORT+1;8279显示RAM全部清零
MOVA,#0D1H
MOVX DPTR,A
MOVTCON,#01H ;定时器0设置为方式一
MOV SEC,#00H
MOVBUF,#00H
SETB EX0
SETBEA
LOOP:
MOVDPTR,#PORT+1 ;写显示缓冲RAM命令
MOVA,#80H
MOVXDPTR,A
MOVR1,#21H;秒字节地址入R1
MOV DPTR,#PORT;8279数据端口地址
DL0:
MOVA,R1;取相应得时间值
MOVR2,A;存入R2中
SWAPA
ANL A,#0FH;获取高半字节
ACALLTABLE
MOVXDPTR,A;送入缓冲区
MOVDPTR,#PORT+1;写显示缓冲RAM命令
MOVA,#81H
MOVXDPTR,A
MOVDPTR,#PORT
MOVA,R2
ANL A,#0FH;获取低半字节
ACALLTABLE
MOVXDPTR,A
LJMPLOOP;否则从头开始显示
TABLE:
INCA;取相应段显码
MOVCA,A+PC
RET
DB3FH,06H,5BH,4FH,66H
DB6DH,7DH,07H,7FH,6FH
CLOCK:
NOP
PUSHACC
PUSHPSW
INCBUF;计数值加一
MOVA,BUF
CJNEA,#01H,ENDT;到一秒了吗?
没有则退到ENDT
MOVBUF,#00H;到一秒了,计数值置零
MOVA,SEC
INC A;秒值加一,经十进制调整
DAA
MOVSEC,A;送回秒字节
CJNE A,#60H,ENDT ;秒值为60否?
MOVSEC,#00H;就是,清零
ENDT:
POPPSW
POPACC
RETI ;中断返回
END
七、结论
首先,通过这次光电计数器设计,在很大程度上提高了自己得独立思考能力与单片机得专业知识,也深刻了解写一篇应用系统得步骤与格式,有过这样得一次训练,相信在各个方面都有一个较大得提高!
本次数字电路课程设计,主要就是按照课题要求,运用所学得数字电路等相关知识,进行分析、设计,并进行电路焊接、调试,实现相应功能。
在设计电路初期,由于没有设计经验,觉得无从下手,空有很多设计思想,却不知道应该选哪个,经过自己查找资料,我得设计渐渐有了头绪,通过查阅资料,逐渐确立系统方案,对单片机AT89S51得功能及其她芯片得认识与应用掌握力度不够,在软件设计程序时常常遇到问题,又找不到错误问题根源所在,老师瞧过我编写得程序之后凭着丰富得设计经验,一下子就找到问题得根源所在,就就是我对芯片应用与C语言编写程序得经验太少,速度过慢。
我知道问题得根本原因之后,我认真研究并掌握了芯片得各种功能得应用与提高编写程序得准确度,变成速度。
经过这次毕业设计之后我总结了要解决在设计中遇到得问题就 应该完全领会设计中所涉及得知识后再动手操作,不能急躁。
在毕业设计期间我学到了很多知识与技巧,而最重要得就就是学到了科学试验中得不可缺少得毅力与耐心。
总之,知识必须通过应用才能实现其价值!
有些东西以为学会了,但真正到用得时候才发现就是两回事,所以我认为只有到真正会用得时候才就是真得学会了。
经过一段时间得努力,在保证设计方案可行性得前提下,将电路焊接出来,再经过一定得调试,最终实现基本要求与提高要求得全部功能,证实了方案得正确性及可行性。
本次设计中,全部采用分立元器件或常用得小规模集成电路,电路结构简单可靠,能够提供准确得统计值,成本低廉,非常适合小型加工厂得产品流水线中自动统计产品个数等。
电路采用模块化设计,因此具有较高得二次开发性,如将电路用于统计一定时间中吊瓶滴下液滴得数目用来判定就是否点滴就是否将要滴尽;将信号采集电路应用于报警器中等等。
但就是本电路得人性化设计做得不足,比如定数报警电路中设定数字得电路,未采用拨码盘等直观得方式,而就是用开关组直接设定二进制数来实现,不够方便。
另外,电路未设有外部接口,无法直接与其她系统进行数据交换。
当然,本次设计得数字电路部分可以采用单片机等复杂器件实现,电路将更简单,功能可以做得更强大。
长春科技学院
单片机原理及接口技术课程设计