2位上/下计数器电路

通常情况下,你可以看到数字显示器显示分数时,按下按钮的记分板。这个记分板的主要中心是2位数字的计数器电路。2位数字显示在两个7段显示屏上。

在这个项目中,我将向您展示如何使用8051单片机和ATmega8单片机建立一个2位上下计数器电路。

2位上下计数电路原理

2位上下计数器电路的主要原理是通过按下按钮来增加7段显示器上的数值。当按钮1被按下时,显示的数值加1,当按钮1被按下时,显示的数值减1。

显示器上的值可以从0-99递增或递减,因为它只使用2个显示器。如果您想显示3位数字,应使用3个显示器,即3个7段显示器。有许多电路可用于2位上/下计数器,但使用微控制器减少了组件和电路板上的空间,但需要简单的编程。

2位向上向下计数器电路图像
2位上下计数器电路图2
2位上下计数器电路图3

请阅读相关文章频率计数器电路

两位数上下计数器电路图

电路1:采用8051单片机

2位上下计数器电路图8051

组件的要求

  • AT89C51单片机(8051单片机)
  • 2 X 7段显示器(共阳极)
  • 2 X 2N2222 NPN晶体管
  • 3 X按钮
  • 2 X 10KΩ电阻器
  • 2 X 470Ω电阻器
  • 8x 100Ω电阻器
  • 11.0592 MHz的水晶
  • 2 × 33pF电容
  • 10μF / 16 v电容器
  • 1KΩ X 8电阻包
  • 微型电路试验板
  • 5 v电源
  • 8051年程序员

电路2:采用ATmega8单片机

2位上下计数器电路图

组件的要求

  • ATmega8单片机
  • 2 X 7段显示器(共阳极)
  • 2 X 10KΩ电阻器
  • 2 X 330Ω电阻器
  • 2 X按钮

2位7段上下计数器的电路设计

2位上/下计数器由2个7段显示器连接到ATMEGA8微控制器。7段显示由8个引脚和一个公共引脚组成。

七段显示器主要有两种类型:1)共阴极2)共阳极。这里使用的显示器是普通阴极显示器。一般对于共阴极显示器,共引脚要接地,对于共阳极显示器,共引脚要接VCC。

在7段显示中,有7段,它们类似于7个led。七个引脚属于这七个部分,其中最后一个引脚是圆点在显示器的角。对于普通阴极,显示分配logic1到段引脚发光特定段。在共阳极的情况下,分段引脚应该分配logic0以便发光段。每个段都有一个名字,从' a '开始,最后一个段点是' h '。

在我们的电路中,7段显示器通过330欧姆的限流电阻连接到微控制器。下拉模式的两个按钮也被连接。

按下拉模式连接按钮的必要性是为了避免按钮的浮动状态,即未知状态。如果按钮以下拉模式连接,这将确保按钮最初处于logic0状态。

你知道8051单片机如何实现双向访问计数器电路?

两位数上下反电路仿真视频

2位上下计数器电路如何操作?

  1. 首先,给电路供电。
  2. 在7个分段上显示的值是' 00 '。
  3. 按下电路上的1号按钮。这7个段的值加1到01。
  4. 再次按1键。显示的值为“02”。
  5. 现在,按第二个按钮。您可以看到该值递减到01。
  6. 显示的值可以增加到99,99后,如果按钮1被按下,它开始从' 01 '增加。如果在递减到“00”后按下第二个按钮,则显示“00”。该值必须至少自增到“01”后才能修改。

算法编程

  1. 声明微控制器的相应端口为输入或输出。
  2. 声明一个包含7段代码的数组,即,如果要显示数字1,则应该传递的二进制值如下:

Dp g f e d c b a
1 1 1 1 1 0 0 1

这是因为b和c段应该分配逻辑0来显示' 1 ',我使用的是公共阳极7段显示器。因此,二进制值0b11111001或十六进制值0xf9被分配给要显示“1”的特定端口。数组应该由0-9个二进制或十六进制值组成。

  1. 使用if else循环检查按钮的状态。
  2. 如果第一次按下按钮1,前7段(左边)显示0,另一段显示1。所以输出是' 01 '
  3. 如果第二次按下按钮1,第二个按钮上的值应该加1。
  4. 如果按下第二个按钮,第一个段上的值应减一个值。

代码

8051单片机代码

ATmega8单片机代码

2位上下计数器电路使用ATmega8输出

2位上下计数器电路的应用

  1. 这个电路可以用在记分牌上。
  2. 上行/下行计数器用于计算通过某点的对象数量。
  3. 它被用来计算进入房间的人数。

本电路的局限性

这个特殊的上行/下行计数器电路被限制为2位,即0-99。如果需要超过3个数字,则应该使用另一个需要控制器更多引脚的显示器。

48反应

  1. 你好,我正在制作与本文相同功能的项目,但我只使用74ls192和7447。我想用arduino改变它。但我只是个初学者。有没有可能有你的代码。。

    非常感谢
    致以最亲切的问候

  2. 你好,谢谢的
    项目标题是我的项目之一,我需要它来修改我的
    顺便说一下,我是用VHDL(硬件描述语言)来做这个的。
    祝你工作愉快

  3. 我想要这个代码,我只是想知道上下计数器的想法。因为我需要把它应用到我的家庭作业中。我希望你能帮我。谢谢。.

  4. 你好,我需要为我的微控制器类做项目。它和这个有点不同,因为我们试着用3个7段。但是您的代码真的可以帮助我和我的队友。谢谢。

  5. 我需要这个为我的微控制器迷你项目。这是同一个项目。(我们真的需要你的帮助。)谢谢。致以最亲切的问候。

  6. 你好,
    我在为我快两岁的小男孩做一艘宇宙飞船。这将是一个帐篷式的安排,有一个控制台和一个操纵杆,他将坐在后面,他将是船长,在我们的睡前故事/冒险中控制这艘船。我们在里面整合了Skype和Facetime,这样我们就可以和任何假装是地面控制人员的人通话。我们将使用耳机和麦克风驱动各种LM3914作为频谱分析仪,控制台上有一排闪烁的led。你的计数器电路将是武器系统,向上按钮将在我的一边“加载”弹药和火箭,向下按钮将从操纵杆路由。树莓派会触发所有的音效。我认为对你的代码稍加修改,另一个计数器电路也可以代表一个燃料表,它将在计时器循环中递减。所有这些都是教他基本算术的好方法。我也希望随着他的成长,他可能会有足够的兴趣去学习这些东西。
    如果您能给我提供您的代码,我将非常感激。我以前从未写过任何C语言,但我对Perl还行,并理解代码结构,因此我将能够遵循它并做出必要的更改。

    1. Hai你能展示一下逻辑计数器的组件吗?我能要一个带按钮的逻辑驱动器吗?我在我们的项目中需要
      我是工业电工,需要您的帮助

  7. 你好,我需要编程代码真的很快,我有一个考试在微控制器,我需要呈现的代码,我“写”这个电路。我只在这个目的下使用

  8. -我需要代码来做一个小项目
    -因为这是第一次我要做一个小项目,我将使相同的项目在你的网站。
    谢谢你!

  9. 我想用它做我的课堂作业。
    它有点不同。我必须显示和下降计数,然后停止在一个特定的值,即我的类

  10. 你好,我真的需要我们学校项目的代码。我们的任务是做柜台出纳员。我不太懂电路。你的代码真的会对我们的项目有很大帮助…

    -谢谢

    1. 在模拟视频下面有一个下载代码的链接....如果你在那里找不到,也可以去文章的顶部。。

  11. 我正在做sum odr微控制器项目,但只是为了得到编码的sum想法,我需要编码部分的dis项目

  12. 你好,我想看看你的MC代码。我是个软件菜鸟,硬件我能搞定。我想把这个项目作为我最后一年的一部分(开发几个节能紧凑型设备),但对你的计数器做一个小调整;我将使用两个PIR传感器作为输入…我希望这个项目能在本周完成,如果您愿意的话。

  13. 你好,

    如果我使用Atmega16-8ML,代码会工作吗?
    另外,如果我使用4个显示器,我该怎么做?

  14. 我发现这个项目很有趣,有想法使用这个概念和即兴开发我自己的项目,请提供代码。

  15. 你好。我正在做对象计数器使用88s52uC作为我最后一年的项目,但我不能帮助它,因为我已经尽了我最大的努力。如果能得到您的帮助,我们将不胜荣幸。注意,我用的是keil idea .regards.期待你的回复尽快

  16. 你好先生/女士,
    我是Kishan &现在我正在寻找小项目。我在做电机绕线机,这是不同于市场的机器。因为市场上的机器需要时间高达16-17分钟{理想的},但我的机器需要时间高达3-4分钟{理想的},绕组线的主要和次要。有时我只做了7410和7411,但有一些错误发生。所以我需要这种类型的计数器电路,其中包括一个选项为#预置计数回合的值。
    希望你能帮我制作这台机器。因为它不是任何类型的项目,而是爱好。

  17. 嗨. .
    能告诉我你的密码吗?
    我想作为我的迷你项目的参考。
    我使用红外传感器作为输入..
    一个用来计数,另一个用来倒数。

  18. 我正在做一个项目,只需要一个两位数的LED显示显示数字状态的音频混音器音效模块。这将很好地工作,并节省我的时间,因为它的简单性。如果您能寄给我这个设备所需的代码,我将不胜感激。谢谢你!

留下一个回复

您的电子邮件地址将不会被公布。必填字段被标记*