文档库 最新最全的文档下载
当前位置:文档库 › 产品计数器设计

产品计数器设计

产品计数器设计
产品计数器设计

一、设计任务要求

设计光电计数器,实现无接触计数,主要用于工厂生产线工件计数。可采用遮光式光电传感器或者反射式光电传感器,要求使用红外发光二极管、光电管检测,要求光电发射管和接收管有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

五、程序框图

六、课程设计程序

NAME T10 ;产品计数器课程设计

PORT EQU 0CFE8H

BUF EQU 24H

SEC EQU 21H

CSEG AT 0000H

LJMP START

CSEG AT 4003H

LJMP CLOCK

CSEG AT 4100H

START: MOV DPTR,#PORT+1 ;8279显示RAM全部清零MOV A,#0D1H

MOVX @DPTR,A

MOV TCON,#01H ;定时器0设置为方式一

MOV SEC,#00H

MOV BUF,#00H

SETB EX0

SETB EA

LOOP: MOV DPTR,#PORT+1 ;写显示缓冲RAM命令MOV A,#80H

MOVX @DPTR,A

MOV R1,#21H ;秒字节地址入R1

MOV DPTR,#PORT ;8279数据端口地址

DL0: MOV A,@R1 ;取相应的时间值

MOV R2,A ;存入R2中

SW AP A

ANL A,#0FH ;获取高半字节

ACALL TABLE

MOVX @DPTR,A ;送入缓冲区

MOV DPTR,#PORT+1 ;写显示缓冲RAM命令

MOV A,#81H

MOVX @DPTR,A

MOV DPTR,#PORT

MOV A,R2

ANL A,#0FH ;获取低半字节

ACALL TABLE

MOVX @DPTR,A

LJMP LOOP ;否则从头开始显示

TABLE: INC A ;取相应段显码

MOVC A,@A+PC

RET

DB 3FH,06H,5BH,4FH,66H

DB 6DH,7DH,07H,7FH,6FH

CLOCK: NOP

PUSH ACC

PUSH PSW

INC BUF ;计数值加一

MOV A,BUF

CJNE A,#01H,ENDT ;到一秒了吗?没有则退到ENDT

MOV BUF,#00H ;到一秒了,计数值置零

MOV A,SEC

INC A ;秒值加一,经十进制调整

DA A

MOV SEC,A ;送回秒字节

CJNE A,#60H,ENDT ;秒值为60否?

MOV SEC,#00H ;是,清零

ENDT: POP PSW

POP ACC

RETI ;中断返回

END

七、结论

首先,通过这次光电计数器设计,在很大程度上提高了自己的独立思考能力和单片机的专业知识,也深刻了解写一篇应用系统的步骤和格式,有过这样的一次训练,相信在各个方面都有一个较大的提高!本次数字电路课程设计,主要是按照课题要求,运用所学的数字电路等相关知识,进行分析、设计,并进行电路焊接、调试,实现相应功能。在设计电路初期,由于没有设计经验,觉得无从下手,空有很多设计思想,却不知道应该选哪个,经过自己查找资料,我的设计渐渐有了头绪,通过查阅资料,逐渐确立系统方案,对单片机AT89S51的功能及其他芯片的认识和应用掌握力度不够,在软件设计程序时常常遇到问题,又找不到错误问题根源所在,老师看过我编写的程序之后凭着丰富的设计经验,一下子就找到问题的根

源所在,就是我对芯片应用和C语言编写程序的经验太少,速度过慢。我知道问题的根本原因之后,我认真研究并掌握了芯片的各种功能的应用和提高编写程序的准确度,变成速度。经过这次毕业设计之后我总结了要解决在设计中遇到的问题就应该完全领会设计中所涉及的知识后再动手操作,不能急躁。在毕业设计期间我学到了很多知识和技巧,而最重要的就是学到了科学试验中的不可缺少的毅力和耐心。总之,知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。经过一段时间的努力,在保证设计方案可行性的前提下,将电路焊接出来,再经过一定的调试,最终实现基本要求和提高要求的全部功能,证实了方案的正确性及可行性。本次设计中,全部采用分立元器件或常用的小规模集成电路,电路结构简单可靠,能够提供准确的统计值,成本低廉,非常适合小型加工厂的产品流水线中自动统计产品个数等。电路采用模块化设计,因此具有较高的二次开发性,如将电路用于统计一定时间中吊瓶滴下液滴的数目用来判定是否点滴是否将要滴尽;将信号采集电路应用于报警器中等等。但是本电路的人性化设计做的不足,比如定数报警电路中设定数字的电路,未采用拨码盘等直观的方式,而是用开关组直接设定二进制数来实现,不够方便。另外,电路未设有外部接口,无法直接与其他系统进行数据交换。当然,本次设计的数字电路部分可以采用单片机等复杂器件实现,电路将更简单,功能可以做的更强大。

长春科技学院

单片机原理及接口技术课程设计产品计数器设计

学院汽车机械工程学院

专业班级11级机械二班

姓名朱海

学号15

指导教师李玉春

起止日期2014-5-12——2014-5-15

目录

一设计任务要求—————————————1 二方案设计———————————————1 三硬件构成及功能————————————3 四硬件电路设计—————————————4 五程序框图———————————————8 六课程设计程序—————————————9 七结论—————————————————12

相关文档