数码管显示的问题
时间:10-02
整理:3721RD
点击:
现在我想把LED显示程序做一个子函数,在主程序中进行调用,要求是主函数读到的数据发生变化时,显示也要跟随发生变化,并且数据的显示为独到的最后一个数据,。现在我写的这个显示程序有些问题,在运行时可以完全显示,但是在读到最后一个数据时只显示这个数据的最后一位,下面不知道在怎么改了,请高手指点一下,附图是LED的原理图部分
unsigned char p2code=0;
count1m=0;
count1s=0;
delay1ms(1);
switch(dis_bitcount+1)
{
case 1:dis_bitdriver=0x01; break;/*display 1*/
case 2:dis_bitdriver=0x02; break;/*display 2*/
case 3:dis_bitdriver=0x04; break;/*display 3*/
default:dis_bitdriver=0x08; break;/*display 4 */
// p2code=P1;
p2code=p2code&0xF0;
p2code=p2code|dis_bitdriver;
// dcode=SEG[display_q[dis_bitcount]];
P0=SEG[display_q[dis_bitcount]];
P2=p2code<<4;
if(dis_bitcount>=3) dis_bitcount=0;
else dis_bitcount++;
count1s++;
if(count1s>=260)
{
count1m++;
count1s=0;
}
else
{
delay1ms(4);
}
display_q[3]=display_pf[3];
display_q[2]=display_pf[2];
display_q[1]=display_pf[1];
display_q[0]=display_pf[0];
}
PCB加工找华强电路 http://www.hqpcb.com 样板2天出货
unsigned char p2code=0;
count1m=0;
count1s=0;
delay1ms(1);
switch(dis_bitcount+1)
{
case 1:dis_bitdriver=0x01; break;/*display 1*/
case 2:dis_bitdriver=0x02; break;/*display 2*/
case 3:dis_bitdriver=0x04; break;/*display 3*/
default:dis_bitdriver=0x08; break;/*display 4 */
// p2code=P1;
p2code=p2code&0xF0;
p2code=p2code|dis_bitdriver;
// dcode=SEG[display_q[dis_bitcount]];
P0=SEG[display_q[dis_bitcount]];
P2=p2code<<4;
if(dis_bitcount>=3) dis_bitcount=0;
else dis_bitcount++;
count1s++;
if(count1s>=260)
{
count1m++;
count1s=0;
}
else
{
delay1ms(4);
}
display_q[3]=display_pf[3];
display_q[2]=display_pf[2];
display_q[1]=display_pf[1];
display_q[0]=display_pf[0];
}
PCB加工找华强电路 http://www.hqpcb.com 样板2天出货
数码管接线图