![]() |
發布時間: 2020-7-4 22:52
正文摘要:如圖,為什么在燒寫程序通過串口助手輸入F2發送到開發板,開發板數碼管顯示3,輸入DA發送到開發板,開發板數碼管顯示2。我要顯示數字6或者其他數字要輸入什么 |
看原理圖引腳和斷碼屏A~G的對應關系; |
#include<AT89X51.H> main() { SCON=0X50;PCON=0X80; TMOD=0X20;TH1=0XF3;TL1=0XF3;TR1=1; //晶振 24M,波特率 9600 while(1) { if(RI) { RI=0;P0=SBUF; } if(P1_0==0) {TI=0;SBUF=0X17;while(!TI); TI=0;SBUF=0X53;while(!TI); TI=0;SBUF=0X40;while(!TI); TI=0;SBUF=0X03;while(!TI); TI=0;SBUF=0X26;while(!TI);while(P1_0==0); } } } 這是我程序 |
xxpp2011 發表于 2020-7-5 12:16 #include<AT89X51.H> main() { SCON=0X50;PCON=0X80; TMOD=0X20;TH1=0XF3;TL1=0XF3;TR1=1; //晶振 24M,波特率 9600 while(1) { if(RI) { RI=0;P0=SBUF; } if(P1_0==0) {TI=0;SBUF=0X17;while(!TI); TI=0;SBUF=0X53;while(!TI); TI=0;SBUF=0X40;while(!TI); TI=0;SBUF=0X03;while(!TI); TI=0;SBUF=0X26;while(!TI);while(P1_0==0); } } } |
依次輸入00至FF的數,16進制的數挨個實驗唄? |
這和單片機的程序有關,要看看程序咋寫的 |
以hex模式發送F2,實際上發送的是16進制數0XF2,具體顯示什么要看單片機接收數據的處理程序 |
這就得看單片機的程序了,由程序決定的 |
這要看單片機固件程序怎么寫的,要明白你要有固件程序。 |
根據你的描述,通過串口實現上下位機的通訊,上位機做通訊的主機,下位機做通訊的從機。你可以在程序里面判斷上位機下發的指令(HEX格式的下發指令與單片機里自建的指令庫,如F2對應0XF2),然后通過程序判斷的結果來控制開發板數碼管的顯示內容。![]() |