项目场景:
纯小白 第一次写文章 写的不好请见谅
做51单片机数码管显示时间实验的时候protues 仿真出现了问题
问题描述
做51单片机数码管显示时间实验的时候protues 仿真出现了问题
仿真数码管不显示时间 暂停仿真却显示当前单个数码管正常值
错误代码:
static unsigned char i = 0;
if(++i == 9) i = 1;
//消重影
P0 = 0x0;
switch(i)
{
case 1: P2=wei[0]; P0=~SMG[0]; break;
case 2: P2=wei[1]; P0=~SMG[1]; break;
case 3: P2=wei[2]; P0=~SMG[2]; break;
case 4: P2=wei[3]; P0=~SMG[3]; break;
case 5: P2=wei[4]; P0=~SMG[4]; break;
case 6: P2=wei[5]; P0=~SMG[5]; break;
case 7: P2=wei[6]; P0=~SMG[6]; break;
case 8: P2=wei[7]; P0=~SMG[7]; break;
//delay(1); 延时1ms
}
原因分析:
开始以为是定时器1时间短,修改后发现问题没解决,加入延时函数反而正常了