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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1464|回復: 1
打印 上一主題 下一主題
收起左側

單片機串口+數碼管顯示程序問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:509085 發表于 2020-5-12 23:26 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
我想串口發送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);                       

                }
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:213173 發表于 2020-5-13 05:29 | 只看該作者
串口在HEX模式下發送20是16進制0x20,轉換成10進制當然是32。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表