久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2649|回復: 4
收起左側

[已解決]關于單片機串口通訊的疑惑

[復制鏈接]
ID:214628 發表于 2017-11-8 09:21 | 顯示全部樓層 |閱讀模式
我按照老師給的程序運行了下,如下。
  1. #include <reg52.h>
  2. void ConfigUART(unsigned int baud);

  3. void main()
  4. {
  5.     EA = 1;   //使能總中斷
  6.     ConfigUART(9600);  //配置波特率為9600
  7.     while (1);
  8. }
  9. /* 串口配置函數,baud-通信波特率 */
  10. void ConfigUART(unsigned int baud)
  11. {
  12.     SCON  = 0x50;  //配置串口為模式1
  13.     TMOD &= 0x0F;  //清零T1的控制位
  14.     TMOD |= 0x20;  //配置T1為模式2
  15.     TH1 = 256 - (11059200/12/32)/baud;  //計算T1重載值
  16.     TL1 = TH1;     //初值等于重載值
  17.     ET1 = 0;       //禁止T1中斷
  18.     ES  = 1;       //使能串口中斷
  19.     TR1 = 1;       //啟動T1
  20. }
  21. /* UART中斷服務函數 */
  22. void InterruptUART() interrupt 4
  23. {
  24.     if (RI)  //接收到字節
  25.     {
  26.         RI = 0;   //手動清零接收中斷標志位
  27.         SBUF = SBUF;  //接收的數原路返回,左邊是發送SBUF,右邊是接收SBUF
  28.     }
  29.     if (TI)  //字節發送完畢
  30.     {
  31.         TI = 0;   //手動清零發送中斷標志位
  32.     }
  33. }
復制代碼
按理來說,我按照字符類發送0,接收是十六進制,他應該給我返回的是30,結果給我返回的是B0,我按照字符類發送1,接收是十六進制,他應該給我返回的是31,結果給我返回的是B1.
按照返回的值B0轉換為十進制是176,減128是48,48的ASCLL值是0.
按照返回的值B1轉換為十進制是177,減128是49,48的ASCLL值是1.
我有點理解不了他為什么給我返回的不是是30而是B0,為什么為這樣,求解答?



QQ截圖20171108092057.png
QQ截圖20171108092111.png

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:164602 發表于 2017-11-8 11:34 | 顯示全部樓層
看了你的電路圖,可能問題出在你的晶振上。
你程序用的時鐘11.0592MHz,但電路圖中用的是12M,而12M晶振情況下,要誤差小,最大波特率為4800加倍。你設置的9600,誤差6.99%。一般都不可能接收到正確的信息了。
另外,你的STC-ISP程序太老了吧,下載一個新的。新版的可以看到波特率設置的誤差。
1.jpg


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:214628 發表于 2017-11-8 13:56 | 顯示全部樓層
HC6800-ES-V2.0 發表于 2017-11-8 11:34
看了你的電路圖,可能問題出在你的晶振上。
你程序用的時鐘11.0592MHz,但電路圖中用的是12M,而12M晶振情 ...

晶振沒有錯誤,仿真設置里面我設置的是11.0592MHZ,只是沒有改外面的的標號。
回復

使用道具 舉報

ID:246841 發表于 2017-11-8 14:21 | 顯示全部樓層
仿真中單片機的晶振沒改,

評分

參與人數 1黑幣 +60 收起 理由
admin + 60 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:214628 發表于 2017-11-8 14:29 | 顯示全部樓層
問題已解決了,感謝長帆888,我重建了一個新的仿真用的12M來測試發現沒問題,然后檢查原來的仿真設計,發現我的串口設置跟晶振時鐘設置沒有問題,主要是單片機內部還有一個時鐘忘記設置了,所以出現了這個問題,謝謝長帆888。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 蜜臀久久99精品久久久久野外 | 精品美女 | 在线 丝袜 欧美 日韩 制服 | 狠狠操在线| 一区二区三区四区国产 | 国产亚洲精品久久久久动 | 免费午夜剧场 | 在线亚洲电影 | 91在线网 | 黄色片视频网站 | 久久久久久国产精品免费免费男同 | 日韩成人国产 | 久精品久久| 国产日产精品一区二区三区四区 | 国产成人精品一区二 | 亚洲成人av | 亚洲一区二区三区在线免费观看 | 国产激情在线看 | 日本久草| 亚洲综合中文字幕在线观看 | 中文字幕精品一区二区三区精品 | 成人毛片视频免费 | aaa大片免费观看 | 亚洲一区二区精品视频在线观看 | 99这里只有精品视频 | 日韩不卡一区二区 | 久久这里只有精品首页 | 欧美激情在线精品一区二区三区 | 欧美综合一区 | 天堂三级| 夜夜夜久久 | 欧美中文字幕一区二区三区亚洲 | 麻豆av一区二区三区久久 | 国产一区 在线视频 | 天堂视频免费 | 99国产精品久久久 | 99久热| 浴室洗澡偷拍一区二区 | 日本一区二区视频 | 久久久精品一区二区三区 | 日韩一区二区在线视频 |