4位数码管C程序共阴的程序改为共阳程序。

找到一个程序http://hi.baidu.com/do_sermon/item/6241afd995b960f092a9746f,但是大哥用的是共阴数码管,我只有4为共阳数码管,请问怎么改一下程序?谢谢!!
void display(void)
{
char code table[] = { //共阴段码
0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, //0~7
0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71}; //8~F
P0 = 0; P2 = 0xf7; P0 = table[ch]; delay(2);//通道号码
P0 = 0; P2 = 0xfb; P0 = table[num / 100] + 128; delay(2);//百位加上小数点
P0 = 0; P2 = 0xfd; P0 = table[num % 100 / 10]; delay(2);//十位
P0 = 0; P2 = 0xfe; P0 = table[num % 10]; delay(2);//个位
P0 = 0; //关闭显示器
}

注:程序转自做而论道的空间!

你要换成共阳数码管还需要改变电路,因为共阳数码管需要驱动。而共阴数码管不需要。驱动一般用三极管就可以。 程序怎么改还要看你驱动用的是什么三极管(NPN或PNP)。其实只要知道原理就很随意了。原理就是让那段数码管亮就先选通这个数码管的公共端,让其电流从阳极流到阴极就可以了。你再去网上好好查查 希望我说的可以帮到你!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-24
把table里面的data 全部换成反码就可以了本回答被提问者采纳
第2个回答  2012-09-22
行扫和列扫的逻辑变换一下,
相似回答