㈠ 51單片機串口接收數據亂碼
sendchar1=(LedNumVal1%10);
send_char(sendchar1);
改為
sendchar1=(LedNumVal1%10+『0』);
send_char(sendchar1+『0』);
要以字元串的形式進行發送
㈡ 單片機數碼管顯示亂碼
你應該是用的共陽的數碼管吧。。直接讓 P0 = led[k%10] 就可以了為什麼還要與上0x7f啊 或者改成P0 = led[k%10] &(~0x7f) 也沒錯
㈢ 單片機 串口接收時為什麼會顯示亂碼
#include <REG52.H>
bit Flag;
unsigned int ReData,SenData;
void main (void) {
SCON = 0x50; //REN=1允許串列接受狀態,串口工作模式1
TMOD|= 0x20; //定時器工作方式2
PCON= 0x00;
TH1 = 0xFD; //baud reload value 9600、數據位8、停止位1。效驗位無 (11.0592)
TL1 = 0xFD;
TR1 = 1;
ES = 1; //開串口中斷
EA = 1; // 開總中斷
while(1)
{
if (Flag==1)
{
SBUF=SenData; //SUBF接受/發送緩沖器
while(TI==0);
TI=0;
Flag=0;
}
}
}
void ser_int (void) interrupt 4 using 1
{
if(RI == 1) //RI接受中斷標志
{
RI = 0; //清除RI接受中斷標志
ReData = SBUF; //SUBF接受/發送緩沖器
SenData=ReData;
Flag=1;
}
}
試下這個程序,PC發什麼,它就回送什麼。
㈣ 單片機串口出現亂碼
因為是偶爾出現亂碼!所以我個人認為是硬體抗干擾能力差的原因。
㈤ 51單片機LCD12864顯示亂碼怎麼回事
/***********************************//* LCD12864初始化函數 *//***********************************/void LCD12864_Init(){ delay_ms_12864(45); LCD_PSB = 0; //0串口工作模式,1並口工作模式 delay_ms_12864(1); LCD_RES = 0; //復位 delay_ms_12864(1); LCD_RES = 1; //復位置高 delay_ms_12864(10); Write_12864(0x30,0); //8/4位介面選擇 delay_us_12864(15); //延時>100us Write_12864(0x30,0); //指令集選擇 delay_us_12864(5); //延時>37us Write_12864(0x08,0); //顯示關 delay_us_12864(15); //延時>100us Write_12864(0x10,0); //游標控制 delay_us_12864(15); //延時>100us Write_12864(0x0c,0); //顯示開 delay_us_12864(15); //延時>100us Write_12864(0x01,0); //清屏 delay_ms_12864(10); //延時>10ms Write_12864(0x06,0); //進入設定點}
㈥ 求助!單片機輸出亂碼……
單片機獨立了,和電腦又沒關系。怎麼在電腦上運行顯示?
㈦ 單片機減一出現亂碼
是你的數據類型定義錯了!你試試int型!去掉無符號的!
㈧ 自製STC89C52單片機燒完程序後屏幕顯示亂碼的原因
你好!
看你圖片上字母和數字都是好的,只能是漢字字模的問題了
㈨ 用keil給單片機編碼時出現亂碼怎麼辦
在keil編輯界面上有亂碼?
亂碼不是漢字的位置不對就是有空格符,猜你是復制的程序,直接刪掉亂碼就行了,編譯前跟原文核對下就好。
㈩ 單片機串口亂碼的原因
我的博客上有相關的說明,關鍵是你要搞清楚傳送的是ASII碼,