早教吧 育儿知识 作业答案 考试题库 百科 知识分享

unsignedchardiscode[]={0X03,0X9F,0X25,0X0D,0X99,0X41,0X1F,0X01,0X09};\x05\x05\x05unsignedcharconstpositon[3]={0xdf,0xbf,0x7f};\x05\x05\x05unsignedchardisbuff[4]\x05={0,0,0,};//voidDisplay(void)\x05\x05\x05\x05//扫描数码管\x05{\x05i

题目详情
unsigned char discode[] ={0X03,0X9F,0X25,0X0D,0X99,0X41,0X1F,0X01,0X09};
\x05\x05\x05unsigned char const positon[3]={ 0xdf,0xbf,0x7f};
\x05\x05\x05unsigned char disbuff[4]\x05 ={ 0,0,0,};
//
void Display(void)\x05\x05\x05\x05 //扫描数码管
\x05{
\x05 if(posit==0) //就是这句话
\x05 {P0=(discode[disbuff[posit]])&0x7f;} //就是这句话
\x05 else\x05\x05\x05\x05\x05\x05\x05\x05 //就是这句话
\x05 {P0=discode[disbuff[posit]];}\x05\x05 //就是这句话
P2=positon[posit];
\x05 if(++posit>=3)
\x05 posit=0;
\x05}
▼优质解答
答案和解析
unsigned char  discode[] ={0X03,0X9F,0X25,0X0D,0X99,0X41,0X1F,0X01,0X09};
unsigned char const positon[3]={ 0xdf,0xbf,0x7f};
unsigned char disbuff[4]={ 0,0,0,};
//
void Display(void)\x09\x09\x09\x09 //扫描数码管
{
    if(posit==0)     //如果是第一个位置,那么显示小数点
    {
        P0=(discode[disbuff[posit]]) & 0x7f; //这里是清除BIT7位的意思
    }     
    else\x09    //不是第一个位置,就不显示小数点了\x09\x09\x09\x09      {
        P0=discode[disbuff[posit]];    // 赋段码的值
    }\x09\x09                
    P2=positon[posit];    // 给P2端口赋位码值
    if(++posit>=3)        // 动态扫描,位置的值在0~3之间循环
        posit=0;
}