使用8051微控制器的对象计数器。
本文是一个使用8051微控制器的简单对象计数器/访问者计数器。AT89S51属于8051系列是这里使用的微控制器。该电路可以计算通过一行的物体数量,通过门/门的人数等。可以简单地分为两个部分,即传感器部分和显示部分。
传感器。
传感器部分由超亮LED(带焦点)和LDR,OPAMP LM324和相关的无源元件组成。LED放置在门的一侧,LDR放置在另一侧,使LED的光直接落在LDR.as上,您知道,LDR的电阻与强度有反向关系光落在它上面。预设电阻器R14调整为LDR两端的电压在照明时低于1.5V。该电压(在电路图中的标记为A)连接到opamp的反相输入,作为具有参考电压1.5V的比较器(使用R15和R16设置).Capacitor C1旨在绕过噪音或类似的东西可能导致错误触发.Resistor R13是指通过LED控制电流。
当光在LDR上落在LD上时,它的电压将小于参考电压,因此opamp的输出仍然很高。当光束中断时,LDR两端的电压转到参考电压之上,因此opamp输出变低,表示通过。
显示部分。
opamp的输出被馈送到微控制器的INTO(中断0)管脚。通过编程使单片机计数INT0引脚接收到的负边脉冲数,并将其显示在三位七段显示器上。
线路图。
程序。
ORG 000H SJMP INIT ORG 003H //中断服务程序(ISR)的起始地址ACALL ISR //调用中断服务程序RETI INIT:MOV P0,#00000000B MOV P3,# 111111b MOV P1,#00000000B MOV R6,#00000000B MOV DPTR,#LUT SETB IP.0 //设置中断INT0的最高优先级SETB TCON.0 //由INT0引脚下降沿信号产生的中断SETB IE.0 //启用外部中断SETB IE.7 //启用全局中断控制MAIN: MOV a,R6,#00000000B
MOV B, # 100 d DIV AB驱使着显示SETB P1.0驱使着延迟驱使着延迟MOV A, B MOV B, # 10 d DIV AB驱使着显示CLR P1.0 SETB P1.1驱使着延迟驱使着延迟MOV A, B驱使着显示CLR P1.1 SETB P1.2驱使着延迟驱使着延迟CLR P1.2 SJMP主要ISR:公司R6 / /中断服务例程RET显示:MOVC A,@A+DPTR // display子例程CPL A MOV P0,A RET DELAY: MOV R3,#255D // 1mS DELAY LABEL: DJNZ R3,LABEL RET LUT: DB 3FH DB 06H DB 5BH DB 4FH DB 66H DB 6DH DB 7DH DB 07H DB 7FH DB 6FH结束
关于这个项目。
编写程序的写入方式,它不断在三位数七个段显示器上显示寄存器R6中的当前值。当Int0引脚有一个有效的负脉冲(中断)时,程序分支到中断服务例程(子例程ISR)。子程序ISR递增寄存器R6中的值,然后跳回主循环,显示屏通过新值进行更新。
笔记。
整个电路可以由5V直流电源供电。
LDR必须放置在一个封闭的地方,这样LED的光就可以单独照射到LDR上。
27.评论
我使用红外传感器,我的项目是自动计数任何物体,当功率被给予,你能告诉我可能的错误吗
哪个软件可用于编译代码
哪种类型的七个段IT OS ??阳极或阴极?
你可以为我提供这个项目的框图
谁能简要地解释一下电路图,说明一下所用元件的功能,特别是电阻器。我会非常感激的。问候
你好助手。我想知道使用的具体组件,例如7段显示类型,以及使用的编程语言类型
谢谢,它正在工作。
我已经使用了常见的阳极7段。只有问题我面临的问题,在PIN9上重置函数。当我从8051的PIN9删除所有连接时,项目开始工作。
再次感谢。
如果从引脚9删除连接,那么您在哪里连接重置按钮?
我能看看你的代码吗
PLZ帮助我将此程序转换为C语言......
你好,先生,我正在使用Proteus isis 7模拟器。
我的计数器不工作,显示000,请给我一些建议
SIR,Plzzz建议这个计划的软件。
使用哪个七个SEG显示屏?常见的阳极或阴极
我可以用红外传感器吗?
ITZ不起作用......请求帮助
这很好
SIR PLZ告诉我,我可以在项目公共阳极或共同阴极中使用哪个7段显示器
哪种类型的七个段IT OS ??阳极或阴极?
使用什么类型的7段显示?尽快请告诉。我真的需要它。
如果有人做了这个电路,请发送一份报告?
非常感谢. .它运行得很好。
真的??你怎么能这样做?我需要你的最后一年项目的帮助。我可以在Posibble尽快回复我的amail,真的2夸张它。谢谢
哪种类型的LED ...常见的阳极或阴极
它不工作…比较器不改变其状态从低到高或从高到低..请尽快帮助……
我在编程方面相对较新,你用什么类型的编译器来编写这个程序,因为我试图用mid51构建它,但给出了9个错误?
谢谢.Which软件可用于编译代码
尊敬的先生,
它是一个有趣的回路,练习谢谢,但我想了解如何完成编程并加载它。还要学习如何编程它,这样我们就可以创建自己的。
感谢和问候
Safoor