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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

51單片機串口通信問題(輸入什么字符或數(shù)字返回顯示程序)

查看數(shù): 6689 | 評論數(shù): 8 | 收藏 1
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2019-4-9 15:40

正文摘要:

程序目的:輸入什么字符或數(shù)字返回顯示 主要問題:向單片機發(fā)送0時,返回80.麻煩能幫忙看下嗎? 單片機源程序如下: #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define ...

回復

ID:440482 發(fā)表于 2019-4-10 10:21
飛云 發(fā)表于 2019-4-10 08:33
你這里應該仍然是串口初始化問題,你這里的波特率設置4600,那串口調(diào)試助手那里也是設置為4600嗎?你的單 ...

謝謝,謝謝問題解決了。找到問題了上邊波特率我打錯了它是加倍下的4800,后來在普中(賣開發(fā)板的帶的串口調(diào)試工具)改了,問題就出現(xiàn)上述發(fā)送CC后串口不停返回值,之后又用了其他串口調(diào)試軟件,顯示就正常了
ID:506093 發(fā)表于 2019-4-10 08:33
lizzz 發(fā)表于 2019-4-9 21:20
后來發(fā)現(xiàn)和波特率的設置有問題,硬件單片機的晶振是12MHZ的。
修改后傳一些數(shù)沒問題,但傳某些數(shù)如CC就會 ...

你這里應該仍然是串口初始化問題,你這里的波特率設置4600,那串口調(diào)試助手那里也是設置為4600嗎?你的單片機型號是什么?我?guī)湍阈薷囊幌麓诔跏蓟绦颍阍僭囋嚢桑?/td>

評分

參與人數(shù) 1黑幣 +20 收起 理由
lizzz + 20 回帖助人的獎勵!

查看全部評分

ID:440482 發(fā)表于 2019-4-9 21:22
求指點呀,調(diào)了一下午加晚上了    頭疼
ID:440482 發(fā)表于 2019-4-9 21:20
后來發(fā)現(xiàn)和波特率的設置有問題,硬件單片機的晶振是12MHZ的。
修改后傳一些數(shù)沒問題,但傳某些數(shù)如CC就會出現(xiàn)端口不停傳一些不知道的數(shù).求指點呀
代碼如下
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar a,flag;

  5. void init()
  6. {
  7.         //串口輸ru
  8.                 SCON=0X50;
  9.                 ES=1;//允許串口中斷
  10.                 //定時器設置
  11.                 TMOD=0X20;//定時器工作模式選擇方式2        自動裝填
  12.                 TH1=0XF3; //TH1與TL1為定時器中T1寄存器的高8低8位;設置波特率用
  13.                 TL1=0XF3;//波特率4600
  14.                 PCON=0X80;
  15.                 EA=1;//允許總中斷
  16.                 TR1=1;//開啟T1定時器
  17. }
  18. void main()
  19. {         
  20.         init();
  21.         while(1);
  22. }
  23. void ya() interrupt 4
  24. {

  25.          a=SBUF;
  26.          RI=0;
  27.          ES=0;
  28.          SBUF=a;
  29.          while(!TI);
  30.          TI=0;
  31.          ES=1;
  32.         }
  33.        


復制代碼
ID:506093 發(fā)表于 2019-4-9 17:04
你這里可能是串口初始化有問題 ,你看看用的是什么型號的單片機,然后在STC-ISP那個下載程序軟件里面可以找到對應型號的串口初始化程序,你修改一下應該就可以的了
ID:508043 發(fā)表于 2019-4-9 16:56
等待大佬
ID:440482 發(fā)表于 2019-4-9 16:22
不要沉呀
ID:213173 發(fā)表于 2019-4-9 15:40
lizzz 發(fā)表于 2019-4-9 21:22
求指點呀,調(diào)了一下午加晚上了    頭疼

程序本身沒有什么問題,主要是因為晶振頻率不合適,導致波特率誤差太大,需要設置加倍。
void UartInit(void)                //4800bps@12.000MHz
{
        PCON |= 0x80;                //使能波特率倍速位SMOD
        SCON = 0x50;                //8位數(shù)據(jù),可變波特率
        TMOD = 0x20;                //設定定時器1為8位自動重裝方式
        TL1 = 0xF3;                //設定定時初值
        TH1 = 0xF3;                //設定定時器重裝值
        TR1 = 1;                       //啟動定時器1
        ET1 = 0;                        //禁止定時器1中斷
        EA=1;                       //允許總中斷
        ES=1;                    //允許串口中斷
}

評分

參與人數(shù) 1黑幣 +10 收起 理由
豬腳 + 10 贊一個!

查看全部評分

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

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

快速回復 返回頂部 返回列表