为什么程序烧进单片机后数码管只亮中间

求大神帮助哇~~我的型号为STC89C548(普中科技)的单片机在烧进程序后~~~~~~数码管的数字只显示“8”的中间那一横~~~~~~~~~数码管是3位7段共阴极的~~~求大神指导~~

你能确定数码管是共阴的吗?如果真的确定,那你程序中的段码可是共阳数码管的段码,刚好相反,应该显示是要显示0,中间一横不亮,可是段码反了,就变成只亮中间一横了。
共阴数码管的段码表如下:
unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-03-16
你用的共阴极的数码管,程序却是共阳极的段码,{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xc6,0xa1,0xe3,0xab,0x8c,0x83,0x8b,0xc7,0xbf};//共阳极LED 0-9
在程序中取反就行了。 数码管扫描放定时中断中,效果比较好。本回答被提问者采纳

...的一个Led灯亮的程序烧入了之后反而是数码管亮了,是怎么回事_百度知 ...
先弄懂硬件电路原理,看数码管和单片机是怎么连接的,然后再看程序中你操作了哪些管脚。当然也有可能不进行任何操作数码管就会亮。

数码管只亮一半为什么
你这个板子上数码管的位选信号应该是通过杜邦线与单片机连接的,那么你检查一下不亮的那几个位的位选信号的线与单片机是否连接正常?单片机是否在输出正确的位选信号?

单片机四位数码管显示中间一行字母
51单片机(四位数码管的显示)程序基于单片机V1或V2实验系统,编写一个程序,实现以下功能:1)首先在数码管 上显示P ”个字符;2)等待按键,如按了任何一个键,则将这 4个字符清除, 改为显示0000”个字符(为数字的0)。E3最佳答案下面这个程序是4x4距阵键盘丄ED数码管显示,一共可以到0-F显示...

单片机数码管动态显示程序最后一位很亮是怎么回事?
因为在有参调用中,程序开头有一些计算过程,例如计算要显示的每一位数值,要占用较长的时间,动态扫描到最后一个数码管后重新循环时再次计算程序开头的计算过程,这段时间都是最后一个数码管在显示,所以最后一个数码管显示时间较其他数码管长,比较亮。或者是在主程序中,display()前有一段代码要执行...

关于单片机驱动数码管
这是动态显示用的电路,有2种情况会影响亮度:①软件的;②硬件的。如果是下载了程序(数据输出),进行显示时,发现亮度不足,应该考虑下软件的驱动时间。如果是下载了测试程序(全输出),查看数码管硬件时,发现亮度不足,那就是硬件的问题,硬件查看下列情况:①电源电压(这个情况很少会出现问题,...

单片机把一个变量分解为百、十、个送数码管扫描显示,为啥我的这个程序显...
个 十 百分离没问题, 显示顺序与硬件有关,你把百位和个位交换一下就 行了 即把第一段的 sbuf=ledsig(bai) 改成sbuf=ledsig(ge)再把第三段的sbuf=ledsig(ge) 改成sbuf=ledsig(bai)不行再交换

为何我的单片机数码管按照道理应该全亮,但无论怎么改程序只亮前面两个...
仔细检查跳线,看是否反了一个口对一口。。0xFE也不是全亮啊共阴极的,也是7个亮。0x77是会显示 4. 的

单片机的数码管怎么点亮的?
3、确认代码无误后,进入下一步,就是在这一行代码(箭头所指)的地方,将这四个字删去。4、然后如图所示,四个字已经删去,只要改成数字相应的代码即可。5、这里改成的是代表数字0的代码,如图所示。6、最后写好代码后,将生成的hex文件写进单片机,数码管显示的数字就变成0了。

单片机上当点亮一个数码管时,其他数码管也有微弱的点亮,为什么?
没看到电路、程序,完全是猜测:通常现在点亮数码管都用分时电路,也就是跟总线制的数据交换类似的,共用数据线+单独的片选信号构成分时复用。这种分时方式,适应高速CPU跟低速外围输入输出接口,可以减少I\/O口的占用,是比较划算的做法。本来这种方案是非常成熟的,但你说会干扰其它未片选的管子,我想原因...

数码管显示问题,在单片机没有程序时候,数码管全部显示8,为什么有一...
看你的数码管是共阴极还是共阳极 如果是共阳极 刚开始就会显示全8

相似回答