<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

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

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

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

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

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

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

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

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

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





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

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



3)倍速工作模式

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


上一頁(yè) 1 2 3 4 下一頁(yè)

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>