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

標題: 單片機與pc串口通信,虛擬端口發送1接收卻顯示q,發送2接收顯示r,求大佬幫幫 [打印本頁]

作者: XIBAYUE    時間: 2024-12-17 22:57
標題: 單片機與pc串口通信,虛擬端口發送1接收卻顯示q,發送2接收顯示r,求大佬幫幫
#include <REGX51.H>
#define uchar unsigned char
#define uint unsigned int


sbit RS = P2^0;
sbit RW = P2^1;
sbit E = P2^2;

sbit KEY = P3^7;

uchar received_data;


void delayms(uint ms)
{
    uchar i;
    while (ms--)
        for (i = 0; i < 123; i++);
}


void w_com(uchar com)
{


    RS = 0;
    RW = 0;
    E = 1;
    P0 = com;
    E = 0;
    delayms(1);

}


void w_dat(uchar dat)
{

    RS = 1;
    RW = 0;
    E = 1;
    P0 = dat;
    E = 0;
    delayms(1);
}


void lcd_ini(void)
{
    delayms(10);
    w_com(0x38);
    delayms(10);
    w_com(0x0c);
    delayms(10);
    w_com(0x06);
    delayms(10);
    w_com(0x01);
    delayms(10);
    w_com(0x80);
    delayms(10);
}


void send_data(uchar data_to_send)
{

    SBUF = data_to_send;
    while (TI == 0);
    TI = 0;
}


void uart_init()
{
    // 9600bps 11.0592MHz
    SCON = 0x50;        
    TMOD &= 0x0F;      
    TMOD |= 0x20;      
    TL1 = 0xFD;        
    TH1 = 0xFD;        
    ET1 = 0;           
    TR1 = 1;           
    EA = 1;            
    ES = 1;            
}


void main()
{
    uchar data_to_send[8] = "12345678";
    uchar i;
    lcd_ini();
    uart_init();
    while (1)
    {
        if (KEY == 0)
        {
            delayms(20);
            if (KEY == 0)
            {
                for (i = 0; i < 8; i++)
                {
                    send_data(data_to_send[ i]);
                }
                while (KEY == 0);
            }
        }
    }
}


void uart_interrupt() interrupt 4
{
    if (RI)
    {
        RI = 0;
        received_data = SBUF;


        w_dat(received_data);
    }
}

51hei.jpg (305.67 KB, 下載次數: 0)

仿真圖

仿真圖

作者: lzw991101    時間: 2024-12-18 08:27
發送的字符 +0x30 試試
作者: xzh5508    時間: 2024-12-18 09:28
兩邊的格式不一樣吧,都設置成16進制看看
作者: tyrl800    時間: 2024-12-18 15:34
單片機與虛擬終端是同一個設備
作者: lkc8210    時間: 2024-12-19 11:50
檢查一下單片機晶振設置,如果也是11.0592Mhz
那就可能是電腦太慢引致仿真速度不匹配現實
作者: zhang32568    時間: 2024-12-28 17:26
ASCII碼  0 的ASCII碼是 0X30  你發送 1   實際發送(1+0x30)試試




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