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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5310|回復: 0
收起左側

解決12M晶振52單片機串口通信波特率設置誤差問題

[復制鏈接]
ID:719007 發表于 2020-4-4 17:24 | 顯示全部樓層 |閱讀模式


問題:用定時器1進行串口通信時結果不正確,如下圖,原程序是把接收的數據返回主機,但是接收的數據不準確。
MA`ZOIS]2]Q$JJT{MEFW@)D.png
原因為用定時器1計算波特率時誤差較大,當波特率大時,串口通信結果不正確。
STC89C52單片機中含有定時器2,可當做串行口波特率發生器使用。
如圖中7.2.3
51hei截圖20200404170928.png
51hei截圖20200404171019.png
51hei截圖20200404171039.png
按上圖配置定時器2RCLK+TCLK1TR21
波特率計算公式:
51hei截圖20200404171109.png
自動重裝值可由下式得到:
RCAP2H,RCAP2L= 65536 /[SYSclk/(n X波特率) ]

例如:9600bpsSMOD=1:
代入公式:
           9600bps=12000000/[32X(65536-RCAP2HRCAP2L)]
算得(65536-RCAP2H RCAP2L=39
用該方式也有誤差,但誤差相對定時器1小的多,所以使用該方式能解決用定時器1波特率計算誤差大的問題。
  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar flag=0,a;
  5. void usarinit();
  6. void main()
  7. {
  8.         usarinit();
  9.         while(1)
  10.         {
  11.                 if(flag==1)
  12.                 {
  13.                         ES=0;
  14.                         flag=0;
  15.                         SBUF=a;
  16.                         while(!TI);
  17.                         TI=0;
  18.                         ES=1;
  19.                 }
  20.         }
  21. }
  22. void usarinit()//設置波特率為9600bps
  23. {
  24.         SCON=0X50;
  25.         T2CON=0X34; //RCLK=1,TCLK=1,TR2=1               
  26.         PCON=0X80;   
  27.         RCAP2H=(65536-39)/256;
  28.         RCAP2L=(65536-39)%256;
  29.         ES=1;
  30.         EA=1;
  31. }
  32. void usar() interrupt 4
  33. {
  34.         RI=0;
  35.         P2=SBUF;
  36.         a=SBUF;
  37.         flag=1;
  38. }
復制代碼
stc89c52用戶手冊:http://www.zg4o1577.cn/bbs/dpj-82368-1.html

評分

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

查看全部評分

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲成人精品 | 精品国产视频 | 欧美综合久久久 | 一区二区三区四区国产 | 视频在线一区二区 | 中文字幕一区二区三区四区五区 | 91精品国产99久久 | 亚洲国产自产 | 先锋资源网站 | 国产一级视频免费播放 | 成人1区2区 | 一区二区精品 | 国产精品区二区三区日本 | caoporn国产精品免费公开 | 91在线最新 | 久久久高清 | 日韩精品一区二区三区视频播放 | 国产精品久久毛片av大全日韩 | 国产激情精品 | 国产一区二区三区高清 | 成人欧美一区二区三区黑人孕妇 | 性做久久久久久免费观看欧美 | h片免费在线观看 | 视频在线观看亚洲 | 亚洲精品日韩一区二区电影 | 精品一区二区三区在线观看国产 | 国产高清一区二区 | 91麻豆精品国产91久久久更新资源速度超快 | 天天干狠狠操 | 免费xxxx大片国产在线 | 久久久久久久久久久91 | 亚洲一区二区在线播放 | 亚洲欧美一区二区三区国产精品 | 欧美综合一区二区 | 国产中文在线观看 | 日本免费一区二区三区视频 | 午夜视频在线播放 | 亚洲一区二区三区四区在线观看 | 一片毛片 | 午夜视频在线观看视频 | 中文字幕亚洲欧美 |