数码管扫描显示中的清屏操作

注意:
在以扫描的方式显示多位数码管时,在切换到下一位数码管的显示之前,要做清屏操作,即让数码管熄灭。否则刚刚被被显示的图样会在下一位数码管上被短暂显示。导致显示不正常。
以下面的代码为例,在切换位之间的P1=0x00实现清屏操作。

void Display()
{ 
	   P1=dispbitcode[dispbuf[3]];
		 dis1=0;
		 dis2=1;
		 dis3=1;
		 dis4=1;
		 Delay(10);
	//	 P1=0x00;
		 P1=dispbitcode[dispbuf[2]];
		 P17=1;
		 dis1=1;
		 dis2=0;
		 dis3=1;
		 dis4=1;
		 Delay(10);
	//	 P1=0x00; 
		 P1=dispbitcode[dispbuf[1]];
		 dis1=1;
		 dis2=1;
		 dis3=0;
		 dis4=1;
		 Delay(10);
	//	 P1=0x00;
		 P1=dispbitcode[dispbuf[0]];
		 dis1=1;
		 dis2=1;
		 dis3=1;
		 dis4=0;
		 Delay(10);
	//	 P1=0x00;
}

假使P1=0x00被注释,则在proteus中的仿真现象如图所示。
在这里插入图片描述
但如果消除注释加上清屏操作后,仿真结果便恢复正常。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值