<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AVR單片機(jī)(學(xué)習(xí)ing)-ATMEGA16的USART與PC機(jī)串行通信

          AVR單片機(jī)(學(xué)習(xí)ing)-ATMEGA16的USART與PC機(jī)串行通信

          作者: 時(shí)間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
          五、ATMEGA16的USART與PC機(jī)串行通信

          五—(01)、PC機(jī)發(fā)送字符給單片機(jī)控制發(fā)光管亮,同時(shí)將其傳回PC機(jī),其中單片機(jī)的發(fā)送和接收都采用查詢方式(下一篇中有例程~)

          本文引用地址:http://www.ex-cimer.com/article/201611/322201.htm

          1、USART的主要特點(diǎn)

          通用同步和異步串行接收器和轉(zhuǎn)發(fā)器(USART) 是一個(gè)高度靈活的串行通訊設(shè)備。主要特
          點(diǎn)為:
          • 全雙工操作( 獨(dú)立的串行接收和發(fā)送寄存器)
          • 異步或同步操作
          • 主機(jī)或從機(jī)提供時(shí)鐘的同步操作
          • 高精度的波特率發(fā)生器
          • 支持5, 6, 7, 8, 或9 個(gè)數(shù)據(jù)位和1 個(gè)或2 個(gè)停止位
          • 硬件支持的奇偶校驗(yàn)操作
          • 數(shù)據(jù)過速檢測
          • 幀錯(cuò)誤檢測
          • 噪聲濾波,包括錯(cuò)誤的起始位檢測,以及數(shù)字低通濾波器
          • 三個(gè)獨(dú)立的中斷:發(fā)送結(jié)束中斷, 發(fā)送數(shù)據(jù)寄存器空中斷,以及接收結(jié)束中斷
          • 多處理器通訊模式
          • 倍速異步通訊模式

          2、異步串行收發(fā)器

          USART 分為了三個(gè)主要部分: 時(shí)鐘發(fā)生器,發(fā)送器和接收器??刂萍拇嫫饔扇?br />個(gè)單元共享。時(shí)鐘發(fā)生器包含同步邏輯,通過它將波特率發(fā)生器及為從機(jī)同步操作所使用
          的外部輸入時(shí)鐘同步起來。XCK ( 發(fā)送器時(shí)鐘) 引腳只用于同步傳輸模式。發(fā)送器包括一個(gè)寫緩沖器,串行移位寄存器,奇偶發(fā)生器以及處理不同的幀格式所需的控制邏輯。寫緩
          沖器可以保持連續(xù)發(fā)送數(shù)據(jù)而不會(huì)在數(shù)據(jù)幀之間引入延遲。由于接收器具有時(shí)鐘和數(shù)據(jù)
          恢復(fù)單元,它是USART 模塊中最復(fù)雜的。恢復(fù)單元用于異步數(shù)據(jù)的接收。除了恢復(fù)單
          元,接收器還包括奇偶校驗(yàn),控制邏輯,移位寄存器和一個(gè)兩級(jí)接收緩沖器UDR。接收
          器支持與發(fā)送器相同的幀格式,而且可以檢測幀錯(cuò)誤,數(shù)據(jù)過速和奇偶校驗(yàn)錯(cuò)誤。

          3、時(shí)鐘產(chǎn)生

          1)USART支持4種模式的時(shí)鐘

          時(shí)鐘產(chǎn)生邏輯為發(fā)送器和接收器產(chǎn)生基礎(chǔ)時(shí)鐘。USART 支持4 種模式的時(shí)鐘:正常的異
          步模式,倍速的異步模式,主機(jī)同步模式,以及從機(jī)同步模式。USART 控制位UMSEL
          和狀態(tài)寄存器C (UCSRC) 用于選擇異步模式和同步模式。倍速模式( 只適用于異步模式
          ) 受控于UCSRA 寄存器的U2X。使用同步模式 (UMSEL = 1) 時(shí),XCK 的數(shù)據(jù)方向寄存器
          (DDR_XCK)決定時(shí)鐘源是由內(nèi)部產(chǎn)生(主機(jī)模式)還是由外部生產(chǎn)(從機(jī)模式)。僅在同步模
          式下XCK 有效。





          2)內(nèi)部時(shí)鐘用于異步模式和同步主機(jī)模式(這里我也不是很懂~~,專業(yè)術(shù)語太多,不過說白了就是波特率的計(jì)算公式唄,不過好好看看肯定能明白的)

          USART 的波特率寄存器UBRR 和降序計(jì)數(shù)器相連接,一起構(gòu)成可編程的預(yù)分頻器或波特
          率發(fā)生器。降序計(jì)數(shù)器對(duì)系統(tǒng)時(shí)鐘計(jì)數(shù),當(dāng)其計(jì)數(shù)到零或UBRRL 寄存器被寫時(shí),會(huì)自動(dòng)
          裝入U(xiǎn)BRR 寄存器的值。當(dāng)計(jì)數(shù)到零時(shí)產(chǎn)生一個(gè)時(shí)鐘,該時(shí)鐘作為波特率發(fā)生器的輸出
          時(shí)鐘,輸出時(shí)鐘的頻率為fosc/(UBRR+1)。發(fā)生器對(duì)波特率發(fā)生器的輸出時(shí)鐘進(jìn)行2、8
          或16 的分頻,具體情況取決于工作模式。波特率發(fā)生器的輸出被直接用于接收器與數(shù)據(jù)
          恢復(fù)單元。數(shù)據(jù)恢復(fù)單元使用了一個(gè)有2、8或16個(gè)狀態(tài)的狀態(tài)機(jī),具體狀態(tài)數(shù)由UMSEL、
          U2X 與 DDR_XCK 位設(shè)定的工作模式?jīng)Q定。
          Table 60 給出了計(jì)算波特率(位/秒)以及計(jì)算每一種使用內(nèi)部時(shí)鐘源工作模式的UBRR值
          的公式。



          3)倍速工作模式

          通過設(shè)定UCSRA 寄存器的U2X 可以使傳輸速率加倍。該位只對(duì)異步工作模式有效。當(dāng)
          工作在同步模式時(shí),設(shè)置該位為"0”。
          設(shè)置該位把波特率分頻器的分頻值從16 降到8,使異步通信的傳輸速率加倍。此時(shí)接收
          器只使用一半的采樣數(shù)對(duì)數(shù)據(jù)進(jìn)行采樣及時(shí)鐘恢復(fù),因此在該模式下需要更精確的系統(tǒng)
          時(shí)鐘與更精確的波特率設(shè)置。發(fā)送器則沒有這個(gè)要求。


          上一頁 1 2 3 4 下一頁

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();