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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7461|回復: 1
收起左側

51通訊問題

[復制鏈接]
ID:10641 發表于 2009-4-1 12:33 | 顯示全部樓層 |閱讀模式
單片機使用串口通訊時,怎么設定波特率啊,
TMOD = 0x20;   // 定時器1工作于8位自動重載模式, 用于產生波特率
TH1 = 0xFD;    // 波特率9600
TL1 = 0xFD;
 
SCON = 0x50;   // 設定串行口工作方式
PCON &= 0xef; 
程序中波特率9600怎么來的?
用晶振怎么計算啊?
回復

使用道具 舉報

ID:6481 發表于 2009-4-5 10:41 | 顯示全部樓層
TMOD = 0x20;   // 定時器1工作于方式2 8位自動重載模式 為什么用這種模式。答:這種模式特別適合用于把T1 用做串行口撥特率發生器
TH1 = 0xFD;
TL1 = 0xFD;  // 波特率9600:
為什么這里設置成 0XFD 就是撥特率 9600呢?
我們先說 T1方式2的情況下。 為什么TH1 TL1 都被設置為0XFD 是因為 T1 在方式2時  當TL1計數溢出時 自動 把TH1的內容重裝載到 TL1中 這也是為什么 它叫做自動重載模式
也許剛開始大家會想 明明是8位的定時計數器 為什么 TH1  TL1 都要定義。就是 這個原因。下面我們再說 為什么要用T1 并且初值為 0XFD
SCON = 0x50;   // 設定串行口工作方式 :SCON 串行口控制寄存器 為 01010000 定為方式1 (為什么是方式1  。。。。這個 應該能看懂吧  )
PCON &= 0xef;    //這條語句  PCON 特殊功能寄存器 被給定為 0XEF=01111111 也就是最高位為0 就是SMOD 為0   那么SMOD   干什么的呢 撥特率選擇位 為1時 撥特率加倍 為0時就是普通 后面有個公式 2的SMOD次方 就要用到這個 這里 定義為 0了  那么后面公式里就直接可以不要這個了 因為 2的0次方 為1 了
好了 上面都設置好了 下面我們來看看 計算公式
  當SMOD 等于0時 我們直接寫成 FOSC/[32X12(2*8-T1初值)] =11059260/[32X12(256-253)=11059260/1152=9600.052083333333333333
(為什么是這個公式 。。。。。書上有 網上有  自己翻翻。。。。。)
 OK不?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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