Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Math 使用Arduino驱动双7段显示器_Math_Arduino - Fatal编程技术网

Math 使用Arduino驱动双7段显示器

Math 使用Arduino驱动双7段显示器,math,arduino,Math,Arduino,好的,我试着驱动一个基于7段的显示器,以摄氏度显示温度。所以,我有两个显示器,加上一个额外的LED指示正负数字 我的问题在于软件。我必须找到驱动这些显示器的方法,这意味着将给定的整数转换为引脚上的相关电压,这意味着对于两个显示器中的每一个,我需要知道整数中的十位数和1位数 到目前为止,我所提出的对arduino来说不是很好,因为它依赖于分区 tens = numberToDisplay / 10; ones = numberToDisplay % 10; 我承认还没有对此进行测试,但我认为我可

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

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

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

tens = numberToDisplay / 10;
ones = numberToDisplay % 10;
我承认还没有对此进行测试,但我认为我可以假设对于除法能力有限的微控制器来说,这不是一个最佳解决方案


我绞尽脑汁,四处寻找使用加法/减法/位运算的解决方案,但我想不出一个。这个分区是我能看到的唯一分区。

对于这个应用程序,它很好。你不必为简单温度计的性能而烦恼

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


请参阅此处的项目,例如:

您还可以尝试使用7段显示驱动芯片来简化输出并保存管脚。MC14511BCP(“4511”)是一款不错的产品。它将二进制编码十进制(BCD)转换为适当的7段配置。规格表可以在网上的电子零件店买到。

不要让部门吓到你。在合适的时候使用它。如果程序太慢,那么是时候考虑改进它了。这次我使用多路复用来保存管脚,但是下次用驱动芯片会更好。。。实际上,在这个项目中,我的实验板上可能没有空间放一个。