㈠ 光电计数器 电路图
光电计数器 (2008-06-03 21:42:32)转载▼
标签: 学术论文 单片机 红外发射接受管 杂谈 分类: 论文
设计要求:
1、实现0―999范围计数,能在超出最大值后溢出报警;
2、要求使用红外发光二极管、光电管检测;
3、能在设定值报警,能在报警后延时3秒钟自动关闭报警并自动重新计数;可以手动清除报警;
4、要求光电发射管与接收管有1米以上的间距;
5、画出完整的电路原理图(包含电源部分)和PCB板图。
摘要 数字式电子计数器有直观和计数精确的优点,目前已在各种行业中普遍使用。数字式电子计数器有多种计数触发方式,它是由实际使用条件和环境决定的。有采用机械方式的接触式触发的,有采用电子传感器的非接触式触发的,光电式传感器是其中之一,它是一种非接触式电子传感器。这种计数器在工厂的生产流水线上作产品统计,有着其他计数器不可取代的优点。该例光电触发式电子计数器只有两位数,但通过级联可以扩展为四位,甚至多位。本文针对光电计数器的设计要求,翻阅了一些资料,基本能实现其所要求的功能。
关键词 光电计数器,protel ,555计时器,电源部分,发射部分,接受部分,数码显示与报警部分
1·总体设计
首先是想出一个大致的整体规划:
想到红外发射管与接受管之间相距要 1米,所以在实际成品中考虑分成两大部分:
2·单元电路分析
2.1 电源部分
220V交流电经过变压器降压成10V,经过桥式整流器整流,C1滤波,成为约14V直流电,再经三端稳压集成电路7809稳压,形成9V稳定直流电,作为发射,接受电路和显示报警电路的工作电源。如下图所示:
2.2发射部分
发射部分由LM555CJ时基集成电路及外围元件构成。555及R3,R4,C3构成多谐振荡器,振荡频率约为5KHz。这个振荡信号由555的3脚输出,经R1加到Q1放大。随着Q1的导通与截止,红外发射管发出频率为5KHz的断续红外信号。R2为限流电阻。
如下图所示:
2.3接受部分
接收电路中红外接收管Q2接收红外信号,再经C4耦合后加到U3B的5脚,由运放U3B放大后从7脚输出。R6,R7决定U3B的5脚直流电平,R8,R9为这一级的负反馈电阻,同时又和C5构成高通滤波器,以有效滤除杂散光干扰。这一级主要起电流放大作用。U3B的7脚输出5KHz间歇信号经过由C6,D5,D6构成的二倍压整流电路倍压整流,在C7两端得到双倍于信号峰值的电压。这个电压使U3A同相端3脚电压超过2脚,U3A的1脚输出高电平,加在四位BCD计数器SN74160N的时钟端,同时,经R11使发光二极管DS1发光。
电路如下图所示:
2.4计数译码显示电路
把脉冲送给SN74160N,由两片SN74160N组成两位数,SN74160N送给译码驱动器MC54HC4511J,驱动数码管。把U18的进位连到报警部分就能使系统在超出最大值后溢出报警。用另一个两位数与计数器做比较,若数值相等就报警,这就能实现定值报警。用S2控制三态门来切换定值部分与计数部分的显示。用开关按钮Ten,Entries来设定数值。
电路图见附录3
2.5报警器
一个脉冲给报警器,由JK触发器构成T触发器,接高电平,当脉冲过来时,T触发器Q’由高电平变成低电平,是三态门截止,这时555的外围元件C2充电,过了时间T,555的3管脚由高电平变低电平。时间T就是设计所需要的报警器延时时间。如果直接把555的3脚接蜂鸣器,会发现一开始蜂鸣器就响,不符合要求,所以考虑到实际操作,把3脚接RS触发器的R端,报警脉冲信号接S端。这样就能实现报警器延时3秒后自动关闭。开关S1可以手动关闭蜂鸣器。
电路图如下:
(回复之后再考虑要不要告诉你)
附录:
发射部分PCB
接受部分PCB
http://blog.sina.com.cn/s/blog_4b7106b301009ej0.html
㈡ 单片机控制光电计数器计数的问题
刚把上面的程序在Keil 4 中软件仿真了一下,没有任何问题!
建议你测试一下硬件电路,看看光电计数器输出是否正常,直接在P3.2(即外部中断0输入端口)测试看看有无电压跳变
建议中断函数做如下测试
void interrupt_exter() interrupt 0
{
num3++;
P1_0^=0x01; //进入一次中断 电平状态切换一次
if(num3==20) //先试试小的数值,正常之后再修改
{
P1_1=0;
EA=0;
}
}
㈢ 用51单片机设计一个简易定时/计数器
定时器的运用,我博客上有类似的定时程序,只是显示要改一改,按键可以用外部中断来做。
㈣ 求光电计数器课程设计
回答:myxiaowenzi3.
学弟
6月16日 14:07 http://www.chinalunwen.com
http://www.zwye.com
㈤ 基于51单片机的光电传感器的计数器设计
你好哦楼主~
很高兴看到你的问题。
但是又很遗憾到现在还没有人回答你的问题。也可能你现在已经在别的地方找到了答案,那就得恭喜你啦。
可能是你问的问题有些专业了,没人会。或者别人没有遇到或者接触过你的问题,所以帮不了你。建议你去问题的相关论坛去求助,那里的人通常比较多,也会比较热心,能快点帮你解决问题。
希望我的回答能够帮到你!
祝你好运。。
㈥ 基于51单片机的简易计数器设计c程序
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code ledtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0-9
uchar scanled;
uchar disdat[4];
uint ss,time;
sbit led=P1^0;
void dischg()
{
disdat[3]=ss%10;
disdat[2]=(ss/10)%10;
disdat[1]=(ss/100)%10;
disdat[0]=(ss/1000)%10;
}
void t0isr() interrupt 1
{
ss++;
dischg();
}
void t1isr() interrupt 3//显示
{
TH1=(65536-5000)/256;
TL1=(65536-5000)%256;
P2=1<<scanled;
P0=~ledtab[disdat[scanled]];
scanled++;
scanled%=4;
time++;
if(time>100){time=0;led=~led;}
}
main()
{
TMOD=0x16;
TH0=0xff;
TL0=0xff;
TH1=(65536-5000)/256;
TL1=(65536-5000)%256;
TR1=1;
TR0=1;
ET0=1;
ET1=1;
EA=1;
led=0;
scanled=0;
ss=0;
dischg();
while(1);
}
㈦ 怎么用单片机设计一个计数器
把T0设为计数器模式,初值为FFFFH,来一个脉冲即中断,定义一个变量放在中断函数里加1,这个变量即计数值
㈧ 51单片机设计两位计数器C语言
#include "reg52.h"
#define uchar unsigned char
#define uint unsigned int
#define dataport P1
sbit s1=P2^0;
sbit s2=P2^1;
sbit s3=P2^2;
sbit wei1=P2^4;
sbit wei2=P2^5;
signed char a=0;
uchar TABLE[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//延时子程序
void delay1ms(uint t)
{
uint i;
uint j;
for(i=0;i<t;i++)
for(j=0;j<116;j++);
}
//显示子程序
void display(uchar n)
{
wei1=1;
dataport=TABLE[n/10];
delay1ms(1);
wei1=0;
wei2=1;
dataport=TABLE[n%10];
delay1ms(1);
wei2=0;
}
void main(void)//主程序
{
while(1)
{
if(s1==0)
{
delay1ms(20);
if(s1==0)
{
a++;
}
}
if(a=100)a=0;
if(s2==0)
{
delay1ms(20);
if(s2==0)
{
a--;
}
}
if(a<0)a=99;
if(s3==0)
{
delay1ms(20);
if(s3==0)
{
a=0;
}
}
display(a);
}
}
㈨ 基于单片机的光电传感器的计数器设计
计数显示电路可完成对上述脉冲信号的计数和显示。图3是由单片机构成的计数系统框图。 计数系统以MCS-51系列单片机的8031为核心,8013单片机的外围扩展了程序存储器27C256和数据存储器WM0016DRH,此外,用8255扩展了I/O口,同时具有时钟单元、掉电保护、看门狗单元、通信单元以及LED(发光二极管)显示器、键盘等。 1)8031单片机及存储器 8031内含4kb EEPROM程序存储器,具有功耗低、抗干扰能力强的特点,可安置于监测现场,数据存储器WM0016DRH是一种多功能非易失性SRAM,特点如下:高速高抗干扰自保持,不怕掉电,上下电百万次数据无丢失,断电保护10年有效,既可高速连续读写,也可任意地址单字节操作,无需拼凑页面,随机读写不需等待,立即有效,输入输出TTL/CMOS兼容,上电复位输出,掉电保护,内置看门狗,电源监测,不用外加电路和电池,且引脚与标准SRAM兼容。 2)计数及显示 多车道车流量数对应的脉冲通过光电隔离耦合并行输入至8031单片机的P1口,通过软件控制和键盘设定计数值并用LED加以显示,可自动循环显示或定点显示两种方式,且两者相互间可任意切换[4]。 当热释电传感器安装位置固定后,输入脉冲的脉宽和占空比均取决于高速公路上车辆的车速和车距(脉宽对应车辆传感器有效监视方位内的时间,车速和车距有限定),占空比q小于50%,为了准确拾取车流量信息,通过软件可实现单片机对每一路并行输入数据的读取周期小于脉宽,且将每路各自相邻的两读取周期读取的数据进行运算(暂存前一个周期读取的数据),若两数据为01,则自动计1,否则计0。其中0为前一个周期的读取数据,此时脉冲为低电平,1为后一个周期的读取数据,此时脉冲为高电平,从而避免了对脉冲的漏计和重复计数,再把4路的读数每一周期进行一次加运算,累加后的和就是总的车流量。 将8031单片机内的定时器/计数器设定为工作方式1,构成16位二进制计数器[5],采用动态扫描方式直接驱动5位十进制计数器[5]。采用动态扫描方式直接驱动5位十进制LED显示,最大计数值达到65536,可记录4车辆的车流量并显示一个月内的日流量,累计4车道一个月内的日流量总和,计数器内数据保护时间可达一个月之久。当计数器达到设定值时,声光报警,可存储数据,并手动复位。 3)时钟单元 采用DS12C887实时时钟芯片,具有显示具体时间信息的功能,若设计调整和设置按键,可方便地对时间进行调整和设置,从而为车流量的统计提供准确的时间数据。 4)串行通信单元 由于单片机系统的数据存储能力和数据处理能力有限,以及现场实时性要求较高,故单片机现场只能暂时存储采集到的数据和对数据进行简单处理,至于大量的数据存储和后续复杂的数据处理可交给上位机完成,由于大型机具有RS-232标准串行口,所以通过8031单片机TTL电平全双工串行口,附加RS-232电平转换电路MAX3232可与上位机实现数据通信。 3 软件设计 计数系统的程序主要包括系统自检程序、系统初始化程序、键盘扫描程序、按键处理程序、显示程序以及数据采集处理程序等,图4所示为主程序流程。 4 安装与调试