51单片机动态数码管显示时间+protues仿真

项目场景:

纯小白 第一次写文章 写的不好请见谅

做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时间短,修改后发现问题没解决,加入延时函数反而正常了


解决方案&

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值