所有关于电路
项目

使用Picaxe 20m2构建一个2位上/下计数器

5月04日,2016年经过Charles R. Hampton.

使用7段LED的计数器是用于记分牌和其他数值显示器的有趣和有用的项目;这是一个你可以建立的。

使用7段LED的计数器是用于记分牌和其他数值显示器的有趣和有用的项目;这是一个你可以建立的。

背景

本文中的项目利用Picaxe 20M2微控制器。如果您熟悉这个家庭的μC的,请跳进,但如果您需要一点背景信息或进修培训,您可以找到一系列Picaxe文章(包括教程)这里

介绍

显示计数器是实验以及实际项目的流行,如记分牌和“现在服务”显示。本文详细介绍了一个价格低廉且相对简单的两位数上/下计数器,但还提供了适用于更全功能显示的硬件和软件技术的简介。Picaxe 20M2微控制器提供“马力”,以控制一对常见的阴极七段LED。两个触觉按钮提供人类界面。

显示组件是建立在perfboard和电路的其余部分是建立在一个无焊料面包板。电源可以是任何过滤良好、稳压的5VDC电源;本文提供了所示调节阀的结构细节这里。下面的照片显示了整个项目。


示意图

电路示意图如下所示。请注意,上述面包板照片中的组件指定和线颜色与下面的示意图中的那些相同。

示意图中红色盒子内的LED组件是通过九个线连接到无焊接面包板的单独的子组件:显示屏中的七个段中的每条线中的每根电线,并且每个用于两位数的阴极连接。显示器的七个片段中的每一个都配备有电流限制电阻(R3至R10。)注意,小数点设置有电阻器(R7),但在该项目中不使用小数点,因此电阻器可以是如果需要省略。

其余的电气设计是故意简单的,以减少部件数量和成本。J1,R1和R2构成了标准的Picaxe编程电路。SW1,SW2,R12和R13形成用于指示Picaxe是否递增或减少计数的人机界面。

Q1,Q2和R11将接地接通和关闭两个显示器的阴极。由于Scaxe的PinB.7被切换,关闭一个数字,另一个数字已打开。这种切换行动是非常迅速的,通过称为“POV”的现象(视力持久性,)两种显示器似乎同时点亮。如您所见,所使用的晶体管是N沟道MOSFET,但是在一个附加电阻器的成本下,可以如下所示使用NPN双极连接晶体管。

PICAXE 20M2的额定输出电压为每个输出引脚25mA,然而它的额定输出电压仅为80mA。为了保持在相当严格的要求内,每个LED段的电流被360欧姆电阻限制在10毫安以下。(记住,由于pin的切换操作,一次只有一个显示被点亮。)因此,显示器的亮度不如期望的那样高,但对于实验目的来说已经足够了。为了避免这一缺陷,可以在显示的每个部分添加一个简单的驱动晶体管电路。

部分要求

参考编号 描述 数量。 来源 零件号
j - 1 杰克,3.5mm,3个指挥 1 Digi-key. cp1 - 3533 - ng - nd
R1. 电阻,.25w,22kohms 1 Digi-key. 22 kqbk-nd
R2, R12, R13 电阻,.25W,10kohms 3. Digi-key. 10kqbk-nd.
R3-R10 电阻,.25W,360欧姆姆 8. Digi-key. 360qbk-nd.
R11 电阻,100年.25W kohms 1 Digi-key. 100kqbk-nd.
C1. 陶瓷电容器,50V, 0.1 uf 1 Digi-key. BC2665CT-ND
SW1,SW2. 开关,按钮,触觉,没有 2 Digi-key. 450 - 1650
Q1,Q2 晶体管,MOSFET,N沟道,BS170 2 Jameco. 256031
U1. 单片机PICAXE 20平方米 1 Phanderson.com. PICAXE-20M2
LED1, LED2 显示,LED,7段,常见阴极,红色 2 在线 LTS-6780R(可替代类似零件)
N/A 电缆,Picaxe,编程,USB 1 Phanderson.com. AXE027
N/A 面包板,无焊,400个位置 1 Digi-key. 377-2094-ND
N/A 电线,实体,AWG22,什锦颜色 1 Jameco. 2153705.
N/A Perfboard,Datak,12-602b 1 在线 12-602B(可以代替类似部分)

集会

制作面包板很容易;只要遵循原理图和/或之前提供的照片。

LED组件的结构不复杂,但它确实需要了解所使用的7段LED。上图所示的组件使用两个LTS6780R显示器,其中一个显示在下面。数字1-10表示从显示屏的后部突出的连接销;销7连接到显示器上的段的阳极,销6连接到B段的阳极,等等。销3和8都连接到所有段的阴极,因此描述“公共阴极”,以指使用这种布置的显示。(如果您不记得的情况下,正电压连接到阳极,并将“接地”连接到阴极以点亮LED。当然,必须与每个段一起使用合适的电流限制电阻以避免LED损坏。)

This project uses two LTS6780R displays with like-lettered segments wired in parallel, i.e., the A segment in one display is wired in parallel with the A segment in the other display, the B with the B, etc. Note that the cathode pins are not wired in parallel.

物理上,两个显示器并排排列,并连接在一起,如下面的后视图所示。注意,照片中十位在右边,个位在左边。有关此布线方案的图形表示,请参阅原理图。

一旦连线如上所示,两位数的子装配安装在一个perfboard和连线如下所示的照片。为了清晰起见,顶部照片显示了正在进行的布线,底部照片显示了已完成的布线。当然,只要按照所示的原理图进行布线,你可以使用你选择的任何物理安排。

虽然连接器的使用使它更方便地连接LED组件到无焊料面包板,他们不是必需的。你可以直接把电线焊接到LED组件上,然后把电线插到无焊锡面包板上。请注意,上面照片中显示的金属丝颜色不再正确;按照示意图上的颜色代码和整个项目的组装照片进行操作。

编码

与硬件设计一样,这个项目的代码是用易于理解,实施和修改的目标写的。为此,它被大量评论,在本文的文本中不会详细解释。但是,将介绍代码结构和操作的概述和一般讨论。建议您下载代码,在Picaxe编辑器6(PE6)中打开它,然后跟随。

picaxe-20m2_2-digit_updown_counter.zip.

第1行到第8行是注释,记录了代码的名称和用途,并标识了相关的原理图。

第10行到第27行只在启动时或重置后运行。

第10行到第22行是分配变量和将所有pinsB设置为输出的设置行。

第24到27线24至27用于将显示输出设置为上次关闭的计数。请注意,程序运行第一次,显示屏将是空白的,因为没有存储段数据。

第29行到第41行构成程序的主要部分。第32行到第41行构成一个重复循环,持续运行,直到按下递增或递减按钮。led灯不断更新。注意,单位数字在第37和38行中点亮5毫秒,然后熄灭。十位数字在第39行和第40行中点亮5毫秒,然后熄灭。循环继续,直到按下递增或递减按钮,这将把执行指示到第43行或第63行。

第43到59行原因计数增加1并存储,以及要调用和存储单位的分段数据和数量数。

第63到79行原因将计数减少1并存储,以及要调用和存储单位的段数据和数量的分段数据。

第85到88行构成了一个子程序,并允许正确的LED片段被调用为基于计数的单位数字。

线90到93构成子程序,并允许基于计数调用要调用的正确LED段。

线95到99构成子程序,如果计数为0到9,则导致数十位要消隐。

怎么办?

这个项目应该为您为自己的项目设计和编写代码提供一个起点。它可以是一个全功能的计分板,你最喜欢的运动或一些更奇异的东西。至少,它应该会激起你对更大更好的PICAXE项目的兴趣。玩得开心!

为自己提供这个项目!BOM。

2的评论
  • 李兰克莱顿 2016年11月04

    而不是按钮如何加入锅以控制计数器?

    喜欢的。 回复
  • D.
    DVM23577. 2017年7月22日

    你好,
    你能告诉我如何调整代码以包括单独的输入(从按钮)来重置计数器到零吗?

    非常感谢任何回应-谢谢。

    大卫·米

    喜欢的。 回复