这段代码是用来显示数码管上的数字的。函数名为display,没有返回值(void)。

首先,代码将P2设置为0x00,P1设置为0xFF,这是为了控制数码管的显示。

然后,根据变量ScanTime的值进行判断。如果ScanTime的值为1,表示显示数码管的第一位数字,代码将Num除以10得到的商作为索引从SEG_Tab数组中获取对应的数码管段码,并将其赋值给P2。同时,将P1的值设置为0xFE,表示选中数码管的第一位。

如果ScanTime的值为2,表示显示数码管的第二位数字,代码将Num除以10得到的余数作为索引从SEG_Tab数组中获取对应的数码管段码,并将其赋值给P2。同时,将P1的值设置为0xFD,表示选中数码管的第二位。

最后,如果ScanTime的值不是1或2,则不执行任何操作。

接着,代码将ScanTime自增1,并进行判断。如果ScanTime的值大于2,则将其重新设置为1,实现循环扫描。

总结起来,这段代码根据ScanTime的值选择要显示的数码管位,并将对应的数码管段码输出到P2,同时选中对应的数码管位。然后,通过不断增加ScanTime的值,实现数码管的循环扫描显示

对以下代码进行解释void display	P2=0x00;	P1=0xFF; switchScanTime			-----------数码管第1位-------------				case 1 			P2=SEG_TabNum10;								 	P1=0xFE;		break;		-----------数码管第2位-------------				case 2 			P2=SEG_T

原文地址: https://www.cveoy.top/t/topic/hUhX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录