关于STC51单片机按键影响数码管亮度的问题

我用按键控制10秒倒计时,按键一段直接接地,当有低电平输入时开始,可是当按键按下去的时候两位数码管亮度的第二位亮度变得很低,松开按键又恢复正常,跪求大神解决一下这个问题。

不知道你的是汇编语言写的程序还是用C语言写的,问题出在当按下按键时,你的程序是在等待按键释放吧,不再去执行显示子程序了,所以,才出现这种情况。你可以在等待按键释放的同时调用显示子程序。假设按键定义为ins1,显示子程序是display(),可以这么写:
if(ins1==0)
{
想要写的语句;
while(ins1==0) display(); //等待按键释放时调用显示子程序
}追问

十分感谢你,数码管显示亮度问题终于解决,还有一个为什么我做压力倒计时的时候,从01到00的时候不显示00而是单独在各位显示1,十位什么也没有

追答

这应该是显示子程序的问题了,是不是有意灭掉了十位的0了。查看一下显示子程序吧,因不知道你的显示子程序是怎么写的,不好确定具体是什么原因。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-28
延时程序造成的,解决之道在于数码管的控制,不能放在主循环里用延时来控制,你可以用定时器来控制数码管的显示。
第2个回答  2013-09-28
等待按键释放,此期间,显示程序,出了问题。

关于STC51单片机按键影响数码管亮度的问题
不知道你的是汇编语言写的程序还是用C语言写的,问题出在当按下按键时,你的程序是在等待按键释放吧,不再去执行显示子程序了,所以,才出现这种情况。你可以在等待按键释放的同时调用显示子程序。假设按键定义为ins1,显示子程序是display(),可以这么写:if(ins1==0){ 想要写的语句;while(ins1=...

面包板单片机数码管灯亮不起来,程序求改错!
先检查一下单片机的电路,看有没有接错或漏接的地方。1.看程序你用的是51单片机,不知你p0口接上拉电阻了没。没接上拉的话接上试试,像STC的51单片机复位后默认p0,p1口是弱上拉,无法很好驱动数码管。若用的是STC的51,修改p0m0、p0m1和p1m0、p1m1寄存器的值也可以修改p0,p1口的输出方式。把...

请高手帮个忙!51单片机两位数码管显示问题
如果有清屏指令的话也就没有重影了,2)如果你用的是其他51系列的单片机,比如STC SST等单片机的话可以亮,不过效果还是不好,因为这单片机都有一定的负载能力,可以驱动功率不是很大的负载,重影的情况跟上述相同。

STC51学习板!!求大神!!
STC51学习板!!求大神!! 利用按键进行流水灯模式选择:①S16键模式:8个LED同时闪烁,频率为1HZ(即0.5s亮,0.5s灭)蜂鸣器不停地响,第一个数码管显示1。②S17键模式:8个LED从左至右流水灯,蜂鸣器间断地响... 利用按键进行流水灯模式选择:① S16键模式:8个LED同时闪烁,频率为1HZ(即0.5s亮,0.5s灭)蜂鸣器不...

使用单片机驱动4位数码管,亮度不一样,第一位很亮,其他很暗,为什么...
程序里没有做鬼影处理。你每次显示一位数码管之后,在delay之后都将P1和P3口清空,当然是按照你的电路来写,目的就是让数码管什么也不显示。然后再次赋值显示下一位的值。建议使用定时器来显示,这样能保证每一位的亮度完全相同。

请大位大神指教一下,单片机控制的数码管不亮问题
没有电路图什么,不好说。说个思路吧,既然只是数码管不亮,从数码管开始,1.先测试数码管本身有没有问题.2.根据数码管共阴,共阳,查看电路是不是有问题(电路图判别,硬件用万用表检测)3.以上都没有问题,看看代码是不是有问题。如果上面都没有问题。额,换个单片机试试。

数码管显示全亮并且该亮的竟然和不亮的一样亮按住按键才能显示
看不清楚单片机是什么型号的,但看样子,肯定不是STC的。估计是AT89S51吗?问题就在这,AT89S51是不能直接驱动数码管的,就是这个亮度。不知你的数码管是共阳的还是共阴的。再说,关键的问题,你这样接,那数码管肯定是不动态扫描的显示方式,就算是亮了,也显示不出四位数的。仿真的时候好使,那只是...

数码管 亮度不够
1、共阳数码管,肯定要将公共端接到Vcc,七段引脚接到单片机I\/O口,这样电流从电源流向I\/O口,此种方式称为“灌电流”方式,这样不用担心亮度的问题,肯定会很亮的。电阻的话一般参考学习板就行,一般接470欧或者510欧姆就行。2、共阴数码管,肯定要将公共端接到GND,七段引脚接到单片机I\/O口,...

51控制舵机问题,为什么把舵机信号线一接上单片机控制线上,数码管显示就...
应该是单片机的驱动能力弱、你的输出不稳定,同时舵机内的电动机往复动作产生干扰造成的。幸好你使用的是STC单片机,你可以把输出设置成推挽输出,提高输出能力。如果可能,在单片机的输出口与舵机之间增加一级推动电路,一则放大推动能力,二则起到隔离、减少干扰的作用。在舵机的5V电源与单片机的电源之间加...

数码管显示程序有问题,不知为何三位数码管某一位的a段总是不亮?_百度...
51系统利用数码管显示需要需要设置显示字模库。就是根据数码管接到单片机或者数字电路的每个管脚而设置好的。所以显示的问题一般是字模库设置有问题造成的 为了解决问题。可以先让数码管把数字从头到尾显示一下。看有没有问题。如果有问题调整一下字模库。然后在显示正常的情况下。再调试其他的部分。

相似回答