Board logo

标题: 请高手帮忙 [打印本页]

作者: goldenfish    时间: 2006-9-14 13:44     标题: 请高手帮忙

现在使用QY4芯片想在数码管上显示,但是数码管4位都是8,不知道错误在哪里?请高手指教
作者: seuafu2005    时间: 2006-9-14 14:16

这样说太模糊了,硬件怎么接的?软件怎么写的?
不然无从下手帮你啊
作者: goldenfish    时间: 2006-9-14 15:25

const unsigned char sgcode[10]={0x3f,6,0x5b,0x4f,0x66,0x6d,0x7d,7,0x7f,0x6f};
unsigned char dspbf[4]={0,0,0,0};

void main(void) {
unsigned char i,j;
unsigned char k;
unsigned char m;
SYS_Init();

while(1) {

for(j=0;j<10;j++)
for(m=0;m<4;m++)

{dspbf[m]=sgcode[j];


}


for(i=0;i<255;i++)
{
for(k=0;k<255;k++){}
for(k=0;k<255;k++){}
}


}

}
这是主函数
作者: goldenfish    时间: 2006-9-14 15:28

const unsigned char sgcode[10]={0x3f,6,0x5b,0x4f,0x66,0x6d,0x7d,7,0x7f,0x6f};
unsigned char dspbf[4]={0,0,0,0};

void main(void) {
unsigned char i,j;
unsigned char k;
unsigned char m;
SYS_Init();

while(1) {

for(j=0;j<10;j++)
for(m=0;m<4;m++)

{dspbf[m]=sgcode[j];
display(dspbf[m],m);

}


for(i=0;i<255;i++)
{
for(k=0;k<255;k++){}
for(k=0;k<255;k++){}
}


}

}

作者: strongchen    时间: 2006-9-14 15:29

你的程序好像和硬件没有任何关系。
作者: goldenfish    时间: 2006-9-14 16:20

需要子函数的程序?
作者: strongchen    时间: 2006-9-14 17:10

你可以先用示波器看一下口线上是否有信号输出。
作者: goldenfish    时间: 2006-9-14 17:57

有的
现在是数码管的4位全部都亮显示是8888
作者: goldenfish    时间: 2006-9-14 17:59

现在想调数组中的数显示
是不是延时有问题?
作者: strongchen    时间: 2006-9-15 10:02

数码管是怎么接的,驱动是动态的还是静态的?

[此贴子已经被strongchen于2006-9-15 10:02:08编辑过]


作者: goldenfish    时间: 2006-9-15 14:59

我的问题已经解决
谢谢版主strongchen和版主seuafu2005的关心和帮助
作者: goldenfish    时间: 2006-9-15 16:16

现在又发现一个问题
我的数码管是4位,第一位显示是A,其余3位显示是传感器的温度值
如果把我的显示程序放到主程序中,怎么没有显示了呢
第一位不受温度传感器de影响,显示A也显示不出来
这是怎么回事?
作者: goldenfish    时间: 2006-9-15 16:36

我的数码管驱动是动态驱动的
作者: goldenfish    时间: 2006-9-15 16:38

也不知道版主什么时候有时间
我想同你交流一下




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0