发布网友 发布时间:2022-04-24 08:39
共1个回答
热心网友 时间:2022-06-18 02:34
是这个吗?unsigned
char
posit=0;unsigned
char
const
positon[]={
0xdf,0xef,0xf7};
unsigned
char
disbuff[4]
={
0,0,0,0,};
unsigned
char
const
discode[]
={
0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF,0xff/*-*/};
void
Display(void)
//扫描数码管
{
if(posit==0)
//原本=0
真往下执行
{P0=(discode[disbuff[posit]])&0x7f;}
//disbuff[posit]=0
;discode[0]=0xC0
P0=0xC0&0x7f=10100000
应是第一个数码管位子选择
&01111111
=00100000
else
{P0=discode[disbuff[posit]];}
//这里判断第二后面的数码港
P2=positon[posit];
//这里是P2数据显示的
if(++posit>=3)
//数码管位子加一选择
posit=0;
}