色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > AVR單片機(學習ing)-ATMEGA16的USART與PC機串行通信

          AVR單片機(學習ing)-ATMEGA16的USART與PC機串行通信

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

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

          本文引用地址:http://cafeforensic.com/article/201611/322201.htm

          1、USART的主要特點

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

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

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

          3、時鐘產生

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

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





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

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



          3)倍速工作模式

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


          上一頁 1 2 3 4 下一頁

          評論


          技術專區(qū)

          關閉