HC138 芯片 做的是双数码管0-15的显示,但是现在只停在0就不动了 求解

雨雨雨雨田~ 2019-06-25 12:38:28
#include "reg52.h"
#include<intrins.h>


typedef unsigned int u16;
typedef unsigned char u8;

u8 code Tab[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};


sbit ledA=P2^2;
sbit ledB=P2^3;
sbit ledC=P2^4;

void delay1ms(u16 i)
{
u8 y;
while(i--)
{
for(y=0;y<115;y++)
{

}
}
}

void noon()
{
u8 t;
u8 g;
for(g=0;g<16;g++)
{
for(t=6;t<8;t++)
{
switch(t)
{
case 6: ledA=0;ledB=1;ledC=1; break;
case 7: ledA=1;ledB=1;ledC=1; break;
}
if(t=6)
{P0=Tab[g/10];
delay1ms(80);
P0=0x00;
}
else if(t=7)
{P0=Tab[g%10];
delay1ms(50);
P0=0x00;
}
}
t=6;
}
}

void main()
{

while(1)
{
noon();
}

}
...全文
314 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fly 100% 2019-07-02
  • 打赏
  • 举报
回复
确认delay1ms 的不会被优化啊
ManGo CHEN 2019-06-28
  • 打赏
  • 举报
回复
可以试试!!! void noon() { u8 t; u8 g; for(g=0;g<16;g++) { for(t=6;t<8;t++) { switch(t) { case 6: ledA=0;ledB=1;ledC=1;P0=Tab[g/10];delay1ms(80); P0=0x00; break; case 7: ledA=1;ledB=1;ledC=1;P0=Tab[g%10];delay1ms(80);P0=0x00; break; } } delay1ms(80); } }
yanliansuo 2019-06-26
  • 打赏
  • 举报
回复
好长时间不玩了 还能看懂一点
nhwdb 2019-06-25
  • 打赏
  • 举报
回复
void noon()
{

u8 t;
u8 g;
u8 aa;
for(g=0;g<16;g++)
{

for(aa=0;aa<20;aa++)
{

for(t=6;t<8;t++)
{
switch(t)
{
case 6: ledA=0;ledB=1;ledC=1; break;
case 7: ledA=1;ledB=1;ledC=1; break;
}
if(t=6)
{P0=Tab[g/10];
delay1ms(20);

}
else if(t=7)
{P0=Tab[g%10];
delay1ms(20);

}
}


}
}
}

27,374

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧