为什么在PICC里面就不能这样定义.const uchar table[]="为什么不能写中文&qu

2020-02-09 11:39发布

const uchar table[]="为什么不能写中文"

为什么在PICC里面就不能这样定义.const uchar table[]="为什么不能写中文"; 有没有知道的.

我用MPLAB IDE v8.20 自带的PICC9.60不能通过编译啊


#include<pic.h>
#define uint unsigned int
#define uchar unsigned char
__CONFIG(0X3B31);
#define RS RB1
#define RW RB2
#define EN RB3
#define PSB RB4
uchar const  table[]="你好!";          //里面写中文就编译不成攻.写英文就可以.
void delay(uint x)
{
        uint a,b;
        for(a=x;a>0;a--)
                for(b=110;b>0;b--);
}
void lcdwrite_dat(uchar dat)
{
        RS=1;
        RW=0;
        EN=0;
        PORTD=dat;
        delay(1);
        EN=1;
        delay(5);
        EN=0;
}
void lcdwrite_com(uchar com)
{
        RS=0;
        RW=0;
        EN=0;
        PORTD=com;
        delay(1);
        EN=1;
        delay(5);
        EN=0;
}
void usartinit()
{
        TXSTA=0x24;
        RCSTA=0x90;
        SPBRG=25;
        INTCON=0xc0;
        RCIE=1;
}
void portinit()
{
        TRISB=0;
        TRISD=0;
        TRISC=0xc0;
        TRISA5=1;
        TRISE=0x0f;
}
void lcdinit()
{
        PSB=1;
        lcdwrite_com(0x30);
        lcdwrite_com(0x0c);
        lcdwrite_com(0x01);
}
void main()
{
        uint i;
        portinit();
        lcdinit();
        usartinit();
        while(1);
        {
                delay(2);
                lcdwrite_com(0x82);
                for(i=0;i<12;i++)
                {
                        delay(2);
                        lcdwrite_dat(table);
                }
        }
}
void interrupt uasrt()
{
        if(RCIF)
        {
                RCIF=0;
                TXREG=RCREG;
                while(!TRMT);
        }
}
0条回答

一周热门 更多>