欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機串口+數碼管顯示程序問題 [打印本頁]

作者: wsxwsx    時間: 2020-5-12 23:26
標題: 單片機串口+數碼管顯示程序問題
我想串口發(fā)送20,數碼管就可以顯示20,但是現在它顯示的是32,求各位大佬指導代碼,代碼如下:
12M晶振,波特率1200.
#include<reg51.h>

#define  uchar unsigned char        //定義變量
#define  uint  unsigned int
uchar  sb,ss,sg;

uchar code table[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x807F,0x6F};        //0~F字模




void delay(uint z)          //延時子函數
{
        uint x,y;
        for(x=z;x>0;x--)
          for(y=110;y>0;y--);
}



       void display(uint i)          //顯示子函數
{
        uchar sb,ss,sg;

        sb=i/100;                         //分離數的百位
        ss=i%100/10;                 //分離數的十位
        sg=i%10;                     //分離數的個位


        P0=table[sb];
        P1=0x08;                  
        delay(5);
        P0=table[ss];         
        P1=0x04;                  
        delay(5);
        P0=table[sg];
        P1=0x02;                 
        delay(5);




}

void        Init_Uart(void)                 //定時器初始化(設置波特率)
{
        TMOD = 0x20;
        TH1 = 0xE6;
        TL1 = 0xE6;
        TR1 = 1;
        SCON = 0x50;
        PCON = 0;
        EA = 1;
}

void main(void)
{
        uchar i   ;
        Init_Uart();
        while(1)
                {

                        if(RI==1)      
                   {
                        RI = 0;
                        i = SBUF;

                        
                        }
                        else  display(i);                       

                }
}



作者: wulin    時間: 2020-5-13 05:29
串口在HEX模式下發(fā)送20是16進制0x20,轉換成10進制當然是32。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1