资讯详情

基于单片机的光电计数器

基于单片机的光电计数器

一、设计题目:

基于单片机的光电计数器

二、设计要求:

1,数码管可以显示产品个数(0-99),自由设定产品报警个数(比如 ,10),当产品数量为10时,发出报警(蜂鸣器响)。

2.电路的独立设计应包括单片机小系统、红外光电开关和数字管显示 示部分。

摘 要

本文设计的计数器具有良好的抗干扰性和高可靠性。可用于测量商场、电影院、博物馆、展览、车站、码头、银行等公共场所的人员数量和人员流通,不侵犯被测人员的个人隐私。该产品应用广泛,通常用于测量装配线上的产品数量,并检查产品是否有缺陷。

本电路的指导思路是设计两电路光控电路,一路放在门外,另一门放在门内。当有人通过门(无论是进入还是走出房间)时,首先触发一个光控电路,然后触发另一个光控电路,根据光控电路触发脉冲的顺序,判断是进入还是离开,当有人进入季节性计数器时,当有人离开季节性计数器时,最大计数容量为99人,数字管显示。

该系统具有结构简单、成本低、计数准确的特点,适用于本设计的系统。光电计数器只有两位数。如果两位数不满足需要,也可以通过级联扩展到四位甚至多位。

关键词:单片机、外部中断、报警器

正 文

一、题目分析

本电路的指导思想是设计一个放置在装配线旁边的电路光控电路。当产品通过光电门时,首先触发光控电路,根据光控电路产生的触发脉冲使计数器进行额外计数,要求计数器的最大计数容量为99个,并用数字管显示数字。每次计数达到10点时报警。

二、整体构思

系统的组成与结构:

1b0d7ee5f747178fcaefc15c0b7b2b13.png

图2-1 光电计数器系统结构图

整个光电计数器系统由光电传感电路组成AT89C52单片机系统电路、显示计数电路和报警电路,如图2-1所示。光电传感器电路将计数对象的变化转换为电信号,由显示计数电路计数,然后由数字显示管显示。当达到设定的报警值时,报警电路发出报警。

三、具体实现:

1,光电开关

外部信号采集开关模拟光电传感器。

2,复位电路

单片机小系统采用上电自动复位和手动按键复位两种方式实现系统复位操作。上电复位要求电源接通后自动实现复位操作。手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。其结构如图所示R1、C3和K1。电容通过电容自动复位C实现充电。手动按钮通过按钮复位R3与VCC实现接通。如图所示,两种复位方法:

图 上电复位电路 手动复位电路图

3, 中断计数:

由于光电技术电路需要在数字管上显示通过光电门的产品数量,其显示缓存区可以定义为内部存储空间,以暂存数字管显示的当前值。

在初始化程序中,系统设置外部中断0产生中断标志T0,初始化值为0。外部产生时,相应的中断1。

当外部中断0中断时,扫描主程序T0是否为1。当T0为1时,调用光电计数子程序,将显示临时存储变量加1。每当通过光电门的产品数量达到10时,蜂鸣器就会响起,清除缓存并继续计数。

4, 显示部分:

该系统需要显示计数功能。由于上述原因,我们考虑了三种方案:

方案一:完全采用 LCD显示。完全使用 LCD有限的符号和数号和数傅,可以满足设计的需要。

方案二:完全采用点阵式 LCD显示。该方案很复杂,必须完成大量的软件工作;但功能强大,可以方便地显示各种英文字符、汉字、图形等,也可以满足设计的需要。

方案三:采用 LED显示,LED只显示数字输出。该方案既满足系统功能要求,又简单,成本低。

为了权衡利弊和第三种方案的优缺点,我们决定使用方案三来实现数字显示。系统中使用的数字管极数字管,显示电路图的电路如图3-3所示。

图3-3显示电路图

5.报警部分:

计数器计数到"00"计数器应复位并置数"99"。但此时不会显示"00",而计数器从"01"直接复位。由于"00"这是一个过渡期,不会显示,所以这个电路是用来的"10"作为计数器复位脉冲。当计数器由"00"跳变到"蜂鸣器发出报警声时,从输出低电平使计数器置数并继续计数。当产品通过光电门时,Rs计数器开始计数触发器翻转输出高电平。若按下S二、计数器立即复位。报警电路的电路图如图3-4所示。

图3-4 报警电路图

六、软件程序设计

系统初始化后,主程序不断扫描键盘和显示程序;判断外部中断标志是否有效。如果外部中断标志有效,则调用光电计数处理子程序刷新数字管的显示值

7.系统控制主程序设计

定义蜂鸣器接口P3.7.初始状态为0,蜂鸣器不报警,高电平触发P3.7点,蜂鸣器开始报警。下一个脉冲是1点外部中断T0中断,计数器停止加计数。

8.系统初始化子程序设计:

设置外部中断T0的标志位置0中断处于关闭状态,蜂鸣器控制标志位置0也处于关闭状态,系统初始化流程图如图3-5所示。

图3-5 系统初始化流程图

九、显示子程序设计

定义数字管的段码表和位选码,定义计数器的显示缓存区。在统计过程中,当信号传输到单片机时,系统调用延迟子程序进行延迟。计数器对十位和个位进行计数判断,并通过数字管显示数据。显示子程序的电路图如图3-6所示。

图3-6 动态显示电路流程图

光电计数处理子程序设计

外部中断T初始化后处于关闭状态,中断标志有效时加计数,外部中断T0加计数,判断计数器是否达到10,如果等于10KEYBOARD=蜂鸣器报警。最后,通过数字管显示计数值,如图3-7所示。

SHAPE \* MERGEFORMAT

3-7 光电计数处理子程序流程图

四、系统调试

4.电路的优缺点

1.以单片机为核心系统的设计有点容易实现自动控制和精确的计数。电路采用数字管动态显示电路直观性好,具有一定的抗干扰能力,易于实现级联,扩大计数范围,实用性强。

2.由亮光管和硅光电池组成的信号导致电路灵敏度稍差,影响实际环境中光线的接受,导致电路反应有点慢。

3.电路刚开始有些地方考虑的欠佳,线路排布个人觉得并不十分完美。

4.2电路改进方法

1、断电检查:硬件电路及对照原理图检查硬件电路。

2.整个调试过程分层进行,先调试单元电路,再调试模块电路,最后系统联调。

3、电源检查:进入正常电压,观察各模块的工作波形和工作电压是否异常。

4、单元电路调试:各单元电路的工作状态采用信号源或其元电路的工作状态。

5、整机联调:从前端到末级统调,检查各级动态信号工作情况,分析是否符合设计要求。

6、参数计算和器件选择:

五、系统程序设计

用C语言编程:

#include

#define uchar unsigned char

#define uint unsigned int

uchar code tab[]={

0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

sbit SPK=P3^7;

sbit key1=P1^0;

sbit key2=P1^1;

uchar n,a,b;

void delay(uchar z)

{

uchar x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}void scan()

{

if(key1==0)

{

delay(5);

if(key1==0)

{

while(!key1);

n ;

if(n==100)

n=0;

}

}

if(key2==0)

{

delay(5);

if(key2==0)

{

while(!key2);

n=0;

}

}

void display()

{

a=n%10;

b=n/10;

P2=0xfe;

P0=tab[b];

delay(5);

P2=0xfd;

P0=tab[a];

delay(5);

}

void alarm(uchar t)

{

uchar i,j;

for(i=0;i<200;i++)

{

SPK=~SPK;

for(j=0;j

}

}

void main()

{

while(1)

{

scan();

display();

if((a==0)&&(b!=0))

{

alarm(30);

alarm(50);

}

}

}

六、仿真

用proteus画好电路图,仿真结果如下:

1,计数显示如下图:

2,当计数到‘10’时,报警器报警,仿真结果如下图:

3,按下清零键,数码管恢复到‘00’,仿真结果如下图:

七、设计心得体会

本次课程设计是利用光电传感器对通过光电门的产品数量计数。在设计电路初期,由于没有设计经验,觉得无从下手,空有很多设计思想,经过自己查找资料,我的设计渐渐有了头绪,通过查阅资料,逐渐确立系统方案。发现自己对单片机AT89C52的功能的认识和应用掌握力度不够,在软件设计程序时常常遇到问题,又找不到错误问题根源所在。究其原因是我对芯片应用和C语言编写程序的经验太少,速度过慢。我知道问题的根本原因之后,我认真研究并掌握单片机的应用并提高编写程序的准确度,变成速度。在设计期间有什么不懂的可以问指导老师,也可以和同学们互相探讨,也可以通过网络查询。在课程设计期间我学到了很多知识和技巧。并把以往老师教的理论知识用于实践。总之,知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。

八、参考文献

1,康华光  《电子技术基础》数字部分.高等教育出版社,2006

2,康华光  《电子技术基础》模拟部分.高等教育出版社,2006

3,倪晓军,章韵  《单片机原理与接口技术》清华大学出版社,2009

4,郭天祥    《51单片机C语言教程》 电子工业出版社,2009

标签: 电源自由电源型光电传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台