以下是原代码
#include <REGX52.H>
#include<INTRINS.H>
unsigned char nixietable[]={0x3f, 0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//共阴极数码管
void Delay(unsigned xms) //@11.0592MHz
{
unsigned char i, j;
while(xms){
_nop_();
i = 2;
j = 199;
do
{
while (--j);
} while (--i);
}
xms--;
}
void led(unsigned char location,int number)
{
switch(location)
{
case 8: P2_2=1;P2_3=1;P2_4=1;break;
case 7: P2_2=0;P2_3=1;P2_4=1;break;
case 6: P2_2=1;P2_3=0;P2_4=1;break;
case 5: P2_2=0;P2_3=0;P2_4=1;break;
case 4: P2_2=1;P2_3=1;P2_4=0;break;
case 3: P2_2=0;P2_3=1;P2_4=0;break;
case 2: P2_2=1;P2_3=0;P2_4=0;break;
case 1: P2_2=0;P2_3=0;P2_4=0;break;
}
P0=nixietable[number];
}
void main()
{
while(1){
led(1,1);
Delay(2000);
led(2,2);
Delay(2000);
}
}
我使用的是普中科技单核A2板,我想让他多位显示但是只能显示出1,单独显示都没问题
Delay延时太久,达到2000ms,人眼已经能辨识出来,你把2000依次改成200,100,50,20感受下。20左右看着就能显示2个数字了。
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y
C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html
不知道你这个问题是否已经解决, 如果还没有解决的话:请问你解决了吗?