|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
請(qǐng)教關(guān)于80C51波特率問題 |
| 作者:發(fā)霉的味道 欄目:單片機(jī) |
80C51中的串口波特率計(jì)算公式中的T1計(jì)數(shù)值,是否用 256-初始計(jì)數(shù)值= 每BIT位的發(fā)送時(shí)間啊?就是說每溢出一次就會(huì)發(fā)送一個(gè)BIT位.如果是這樣的話是否只要確定了發(fā)送來(lái)的BIT位時(shí)間,就能計(jì)算出波特率來(lái)呢? |
| 2樓: | >>參與討論 |
| 作者: maychang 于 2007/2/1 10:11:00 發(fā)布:
還差一個(gè)因數(shù),16或8 溢出16次或8次發(fā)送一個(gè)bit位。 只要知道bit位時(shí)間,就可以計(jì)算波特率,這二者互為倒數(shù)。 |
|
| 3樓: | >>參與討論 |
| 作者: 發(fā)霉的味道 于 2007/2/1 11:03:00 發(fā)布:
!! 那就是說 256 - 每BIT的時(shí)間/32(OR16) = T1的定時(shí)初始值 啦. 是這樣嗎? |
|
| 4樓: | >>參與討論 |
| 作者: szzhengjin 于 2007/2/1 16:32:00 發(fā)布:
給你個(gè)宏,全齊了 //外晶振值定義 #define OSC_FREQ 22118400L //串行通訊波特率定義 #define UART_BAUD_115200 256 - (OSC_FREQ/192L)/115200L // 255 #define UART_BAUD_57600 256 - (OSC_FREQ/192L)/57600L // 254 #define UART_BAUD_38400 256 - (OSC_FREQ/192L)/38400L // 253 #define UART_BAUD_28800 256 - (OSC_FREQ/192L)/28800L // 252 #define UART_BAUD_19200 256 - (OSC_FREQ/192L)/19200L // 250 #define UART_BAUD_14400 256 - (OSC_FREQ/192L)/14400L // 248 #define UART_BAUD_9600 256 - (OSC_FREQ/192L)/9600L // 244 #define UART_BAUD_7200 256 - (OSC_FREQ/192L)/7200L // 240 #define UART_BAUD_4800 256 - (OSC_FREQ/192L)/4800L // 232 #define UART_BAUD_2400 256 - (OSC_FREQ/192L)/2400L // 208 #define UART_BAUD_1800 256 - (OSC_FREQ/192L)/1800L // 192 #define UART_BAUD_1200 256 - (OSC_FREQ/192L)/1200L // 160 #define UART_BAUD_600 256 - (OSC_FREQ/192L)/600L // 64 |
|
| 5樓: | >>參與討論 |
| 作者: duanhnhy 于 2007/2/1 16:35:00 發(fā)布:
RE 應(yīng)該是T1的溢出率才是每BIT位的發(fā)送時(shí)間, T1的溢出率=1/[(256-初始計(jì)數(shù)值)*12/所使用晶振的頻率] 如果工作在串行口方式1和方式3下溢出32次才發(fā)送一個(gè)bit位.所以再除以32就得到了串行口方式1和方式3下的波特率.其它方式下計(jì)算方法可不一樣哦. 以上就是我的見解,歡迎大家指正. |
|
| 6樓: | >>參與討論 |
| 作者: xwj 于 2007/2/1 16:37:00 發(fā)布:
不同模式下公式有差異, LS的是波特率加倍的,僅作參考 LZ自己去仔細(xì)看書,就那么1、2頁(yè)內(nèi)容 |
|
| 7樓: | >>參與討論 |
| 作者: 發(fā)霉的味道 于 2007/2/1 18:26:00 發(fā)布:
!! 我是想知道每個(gè)BIT位和波特率的時(shí)間關(guān)系,然后用截取串口單個(gè)脈沖的方式來(lái)自動(dòng)設(shè)定通迅波特率. |
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |