【问题标题】:Driving Dual 7 Segment Display Using Arduino使用 Arduino 驱动双 7 段显示器
【发布时间】:2013-03-02 16:38:15
【问题描述】:

好的,所以我正在尝试驱动基于 7 段的显示器,以便以摄氏度显示温度。所以,我有两个显示器,加上一个额外的 LED 来指示正数和负数。

我的问题在于软件。我必须找到一些驱动这些显示器的方法,这意味着将给定的整数转换为引脚上的相关电压,这意味着对于两个显示器中的每一个,我都需要知道整数中的十位数和 1 的数量。

到目前为止,我想出的东西对于 arduino 来说并不是很好,因为它依赖于除法。

tens = numberToDisplay / 10;
ones = numberToDisplay % 10;

诚然,我还没有对此进行测试,但我想我可以假设对于具有有限除法能力的微控制器来说,这不是最佳解决方案。

我绞尽脑汁,四处寻找使用加法/减法/按位的解决方案,但我根本想不出一个。这个部门是我唯一能看到的。

【问题讨论】:

  • 不要让分裂吓到你。在适当的时候使用它。如果程序太慢,那么是时候考虑改进它了。

标签: math arduino


【解决方案1】:

对于这个应用程序来说很好。您无需为简单的温度计的性能而烦恼。

但是,如果您确实需要比除法和取模更快的东西,那么按位运算会有所帮助。基本上,您将使用按位 & 运算符,将要显示的值与描述要在显示器上显示的数字的模式进行比较。

在此处查看项目,例如:http://fritzing.org/projects/2-digit-7-segment-0-99-counting-with-arduino/

【讨论】:

    【解决方案2】:

    您也可以尝试使用 7 段显示驱动芯片来简化输出并节省引脚。 MC14511BCP(“4511”)是一个不错的选择。它将二进制编码的十进制 (BCD) 转换为适当的 7 段配置。规格表可在here 获得,并且可以在网上电子零件商店中找到。

    【讨论】:

    • 这次我使用了多路复用来节省引脚,但下次驱动芯片会很好......实际上在这个项目中我的面包板上可能没有空间。
    猜你喜欢
    • 2018-12-20
    • 2012-06-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多