找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 7306|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

求助��!關(guān)于51單片機串口通信,漢字顯示亂碼問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:110744 發(fā)表于 2016-3-25 15:42 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
用51單片機寫了一個單片機給PC發(fā)送數(shù)據(jù)的程序。發(fā)送的是一段漢字,前一半的漢字顯示正常,后一半的漢字顯示為亂碼。代碼如下:
#include<reg51.h>
void uartconfig();
void delay10ms(unsigned int c) ;
unsigned char dat[26]="小明是仇橋鎮(zhèn)三門村六組人士";
void main()
{
        unsigned char i;
        uartconfig();
        while(1)
        {
                for(i=0;i<26;i++)
                {
                        SBUF=dat[i];
                        while(TI==0);
                        TI=0;
                }
                delay10ms(50);
         }
}
void uartconfig()
{
        SCON=0x40;
        TMOD=0x20;
        PCON=0x80;
        TL1=0xf3;
        TH1=0xf3;
        TR1=1;
}
void delay10ms(unsigned int c)   
{
    unsigned char a, b;
                      for (;c>0;c--)
                        for (b=38;b>0;b--)
                                for (a=130;a>0;a--);      
}
顯示的結(jié)果見附件

無標(biāo)題.jpg (130.91 KB, 下載次數(shù): 104)

無標(biāo)題.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:7485 發(fā)表于 2016-3-25 16:00 | 只看該作者
這是keil 的問題。有一個補丁可以解決。
漢字庫中每個區(qū)中都有一個字,區(qū)位碼的低位字節(jié)是“FDH”的,被KEIL過濾掉了。如“三”、“電”、“庚”等等。
也可以直接用這些字的區(qū)位碼,而不用漢字。
回復(fù)

使用道具 舉報

板凳
ID:110744 發(fā)表于 2016-3-26 09:50 | 只看該作者
ahshmj 發(fā)表于 2016-3-25 16:00
這是keil 的問題。有一個補丁可以解決。
漢字庫中每個區(qū)中都有一個字,區(qū)位碼的低位字節(jié)是“FDH”的,被KE ...

謝謝說明,確實是那個問題。不過網(wǎng)上的曉奇的補丁不知道為什么我用不了,一直是c51.exe haven't change.
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表