proteuw中七段共阳极数码管的应用问题?

来源:百度知道 编辑:UC知道 时间:2024/06/03 23:30:52
六位七段共阳极数码管(带公共端得),有段选(a-g,dp),为选(1-6),但是要是用C语言编程时这六位都是显示的是一样的数字,请问各位怎么控制数码管,让他们每一单个数码管显示不同的数字呀?请高手赐教!!谢谢!
我做的是有一个按键,按一下,数码管加一,一个数码管显示没问题,,就是超过九,再按一下按键,显示十以上的数字显示不出,用的是六位七段共阳极数码管,程序如下:u为按键
void main()
{
P1=0xc0;
P2=0x40;
while(1)
{
if(u==0)
{
delay(200);
a++;
P1=table[a];
if(a>9)
{
a=0;
P1=0xc0;
P2=0x20;
P1=0xf9;
delay(300);
}
}
if(u==1)
delay(250);
}
我贴的只是主程序,我用的是六位七段数码管,无论我怎么调就是调不出同时显示两个不同的数字,望指教,谁有类似这样的程序,我的邮箱是mike0816@126.com,不胜感激!

首先说明:我不是高手。
你的显示每位都一样,说明段选和位选没有协调好。应该是发段码同时发位选,然后关断,再发下一位,如此循环。比如:
P0=0xc0;//段
P2=0xfe;//位
P2=0xff;//关显示
把它放到循环里,可以是显示子函数,可以是定时中断里

你就是循环没有操作好,把你写的程序拿来看看怎么样?
看我能不能给你改

看了下
你的这个得看你完整的做法,单看你这个看不出什么
而且我觉得你的这个主程序也有些问题,不知道是什么原因

要不看我什么时候有时间给你做个仿真 你去看看

你这个程序存在很多问题。你应该先给出一个段代码表,然后每次只开一个位再判断一下进位。数码管是有分段选跟位选的,段选控制输出的数字,位选控制输出在那个表上,具体还要看你是怎么接线的~!我电脑里有以前做的仿真有需要可以给你!