单片机 键盘控制数字的加减 在数码管上显示出数据
主要功能存在问题。键盘扫描仪是具有返回值的函数。
返回的值是指功能的操作结果,而不是键盘变量。
因此,应将主函数修改为:while(1 ){uCharm; M = Keyscan(); bai = m/1 00; shi = m/1 0%1 0; ge = m%1 0; display(bai,shi,ge);}此外,请放开(temp!= 0xff); 并且应添加显示功能,即使不添加它,但在按键时不会显示它,从而导致显示器闪烁。
函数返回returnKeyCounts;它不再向下运行,因此最后一句p3 = 0xff; 是徒劳的,根本不会执行。
编写程序时,您需要缓慢练习并按句子理解它。
阅读他人写它后,请自己写。
不要害怕犯错,如果犯错误,您会更好地理解它。
当我第一次学习时,我写了一个时钟程序。
我写了一个星期。
除了上课时间,我每天只吃一顿饭。
后来,我写了5 6 0条线,但是老师说它太长了,没有读过。
后来,我读了别人写的东西,然后我写了什么。
确实非常糟糕,但它仍然使我受益匪浅。
后来,我练习缓慢并缩短了该程序。
练习很长时间后,您会发现上述显示功能可以使用for循环和一个数组完成,而无需一个一个一个。
关键是不要害怕错误,只需练习更多。
我只学习了几个月。
以上是我的建议,我希望它对您有所帮助。
c51单片机数码管显示0到99
C5 1 微控制器可以在编程级别控制数字管,以查看0到9 9 的值。这通常涉及微控制器的I/O门的功能,以及适当的延迟和扫描技术以显示多个数字管道的显示。
C5 1 微控制器是基于8 05 1 体系结构的微控制器,可广泛用于各种合并系统。
它具有更多的门I/O,可以直接连接到数字管的片段和位。
数字管是能够查看数字和一些特定字符的常见可视化设备。
要在数字管上查看从0到9 9 的值,我们必须做几件事:1 编码:首先,我们必须为每个数字创建一个唯一的段代码(0-9 )。
这是因为数字管的每个段(通常为7 或8 )可以以不同的组合打开以形成不同的数字或字符。
例如,“ 0”数字可能需要以照亮所有段,而数字“ 1 ”可能只需要两个。
2 这通常涉及SO称为“动态”或“多路复用”显示。
这是因为,如果我们同时照亮两个数字管的所有段,则它可能会超过微控制器的当前限制。
因此,我们交替,快速关闭每个数字管,由于人眼的视觉保留效果,我们将同时显示两个数字管。
3 .计划:最后,我们必须编写一个程序来控制这一切。
该程序将不断更新数字管的显示,以反映我们要查看的数字。
这通常意味着在周期中不断更新数字试管细分市场,并使用适当的延迟以确保数字管不会不幸。
例如,如果我们要查看数字“ 2 3 ”,则必须首先找到数字“ 2 ”和“ 3 ”的段代码。
因此,我们将这些段代码交替发送到两个数字管道,并使用适当的延迟来确保它们同时照亮它们。
通常,使用C5 1 微控制器来控制数字管以从0到9 9 查看值是一项相对简单的任务,但需要对I/或微控制器门,数字管的工作原理和适当的程序设计技术有一定的了解。
C语言单片机代码 数码管动态显示
在C -Microcontroller编程中,1 6 个元素代表来自十六进制数量0到9 的段代码,以及字母A,B,C,C,D,E,F。F.。
具体而言,这些段代码用于定义数字管上每个段的光条件。
例如,对应于表[1 ] 0x06 的元素,即十六进制数,该数字转换为二进制数,为000001 1 0B。
该二进制图对应于DP,G,F,E,D,C,B,并在数字管上的一根棍子。
因此,在通常的负数字管道上,两个片段的光B和C显示数字1 以相同的方式,其他段代码可以通过类似的转换方法确定它们在数字管道上对应的段。
例如,与表相对应的项目为[2 ] 0x09 ,在转换为二进制数字后,它是00001 001 B,对应于DP,G,F,F,D,C,B和A Stick。
这样,可以使用不同的段代码显示不同的数字或字母。
这种编程方法在微控制器项目中非常普遍。
例如,对应于表[3 ] 0x0d的项目,转换为二进制数量并且为00001 1 01 b,等效于DP,F,F,E,D,C,B,A Stick。
类比可以通过其他数字和字母的段代码来确定,从而实现了数字管道的动态视图。
应该注意的是,此处的段代码定义为通常的负数字管道。
在普通的积极数字管道中,开明的段将对应于低水平,而除非段将与高级别相匹配。
因此,在实际编程中,有必要根据所使用的数字管道调整段代码的定义。
为了总结,通过合理地定义矩阵中的段代码,可以实现数字管道的动态显示。
这不仅改善了程序的可读性和维护,而且还简化了数字管道的控制逻辑,从而使编程更有效和实用。
用51单片机,怎么让数码管显示一串矩阵键盘按下的键代表的数(0~f)?
此显示方法类似于通过调用手机时按键来显示数字的过程。按下第一个键时,将显示右数字管的数量。
当您继续按键时,它们将显示数字向左移动并依次显示它们。
如果您使用6 位数字管,则最多可以查看6 位数字。
特定的实现步骤如下:1 首先,必须将数字管连接到I/O端口到5 1 个微控制。
通常,段选择线和数字管的位选择线分别连接到微控制器中的不同棍棒。
2 初始化微控制器的I/O门并将其设置为退出模式。
此步骤是确保数字管道正确显示数字。
3 编写一个程序以读取矩阵键盘上的键值。
矩阵键盘由几行和列组成,并通过扫描行中的更改来检测键。
4 转换相应图的键值。
例如,按下“ 1 ”键时,相应的数字0x01 存储在变量中。
5 在数字管道上显示数字。
通过控制数字管道的段线选择,相应的片段被点亮并显示数字。
6 为了实现数字的滚动视图,必须使用循环变量记录显示的数字位置。
每次按键时,都会更新循环变量,以移动左侧的数字显示。
7 检查每击击球后显示的位置是否超过数字管中的最大视频数字数量。
在这种情况下,删除了左数并显示一个新号码。
通过上述步骤,可以表示使用5 1 个微控制器和数字管道的功能(0〜F)用按下矩阵稳定器上的按压表示。
该方法不仅简单易懂,而且在各种数字管道和键盘配置中也很好地工作。
应当指出的是,特定的实现细节可能会根据硬件配置和软件环境而有所不同。
因此,在实际开发过程中,可能有必要根据特定情况调整代码。