用Arduino驱动双7段显示器



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

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

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

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

我承认还没有测试过,但我认为我可以假设对于具有有限分割能力的微控制器来说,这不是最佳解决方案。

我绞尽脑汁,四处寻找使用加法/减法/位的解决方案,但我根本想不出一个。

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

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

查看这里的项目示例:http://fritzing.org/projects/2-digit-7-segment-0-99-counting-with-arduino/

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

最新更新