freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于avr單片機的通信系統(tǒng)設計-資料下載頁

2024-11-10 03:53本頁面

【導讀】在當前社會,通信技術已經(jīng)深入到各行各業(yè)中。在本次系統(tǒng)設計中,將通信技術與。計及系統(tǒng)測試工作,達到對整個通信系統(tǒng)的控制。本文以ATMEGA8單片機為控制核心,給上位機分析并保存。Keyword:AVR;ATMEGA8;collectvoltage;munication;MAX232

  

【正文】 入緩沖器,實現(xiàn)了連續(xù)發(fā)送多幀數(shù)據(jù)無 延時的通信。接收器是 USART 模塊中最復雜的部分、最主要的是時鐘和數(shù)據(jù)接收單元。數(shù)據(jù)接收單元用作異步數(shù)據(jù)的接收。除了接收單元、接收器還包括校驗位校驗器、控制邏輯、移位寄存器和兩級接收緩沖器(接收 UDR)。接收器支持與發(fā)送器相同的幀結構,同時支持幀錯誤、數(shù)據(jù)溢出和校驗錯誤的檢測。 ⑵ 、 串行時鐘發(fā)生 時鐘發(fā)生邏輯為發(fā)送器和接收器提供基本的時鐘, USART 支持 4 種時鐘工作模式,普通異步模式、兩倍速異步模式、主機同步模式和從機同步模式、 USART 控制和狀態(tài)寄存器 C( UCSRC)中的 UMSEL 位用于選擇同步或異步模式 。雙倍速模式(只有異步模式有效)由 UCSRA 寄存器中的 U2X 位控制,當使用同步模式時, XCK 引腳的數(shù)據(jù)方向寄存器 (DDR_xck)控制了時鐘源是來自內(nèi)部的(主機模式)還是由外部驅(qū)動(從機模式)。 XCK 引腳只在使用同步模式下有效。 內(nèi)部時鐘發(fā)生被用于異步模式和同步主機模式, USART 的波特率寄存器 UBRR 和預分頻向下計數(shù)器( DOWNCOUNTER)相連接,一起構成可編程的預分頻器或波特率發(fā)生器,向下計數(shù)器對系統(tǒng)時鐘計數(shù),當其計數(shù)到零或 UBRRL 寄存器被寫時,會自動裝入 UBRR 寄存器的數(shù)值,當計數(shù)到零時產(chǎn)生一 個時鐘,該時鐘作為波特率發(fā)生器輸出時鐘,輸出時鐘的頻率為 fosc/(UBRR+1)。發(fā)送器對波特率發(fā)生器的輸出時鐘進行 8或 16 的分頻,具體情況取決于工作模式。波特率發(fā)生器的輸出被直接用作接收器和數(shù)據(jù)接收單元的時鐘。然而,接收單元使用了一個 8 或 16 個狀態(tài)的狀態(tài)機,具體狀態(tài)由 UMSEL、 U2X 和 DDR_xck 位設定的工作模式?jīng)Q定。下表給出了計算波特率和計算每一種使用內(nèi)部時鐘源工作的模式的 UBRR 值的公式。 表 34 波特率和 UBRR值計算 使用模式 波特率的計算 UBRR 值的計算 異步正常模式 U2X=0 BAUD=fosc/16(UBRR+1) BARR=fosc/(16*BAUD) 異步倍速模式 U2X=1 BAUD=fosc/8(UBRR+1) BARR=fosc/(8*BAUD) 同步主機模式 BAUD=fosc/2(UBRR+1) BARR=fosc/(2*BAUD) ⑶ 、數(shù)據(jù)幀格式 遼寧科技大學信息技術學院 21 21 一個串行數(shù)據(jù)幀是由一個數(shù)據(jù)位字加上同步位(開始和結束位)以及作為檢錯的檢驗位三部分構成, ATMEGA8 的 USART 可以使用以下幾種有效組合的數(shù)據(jù)幀格格式: ○ 1 、 1 個起始位 ○ 2 、 8 或 9 位數(shù)據(jù)位 ○ 3 、 一個無、奇校驗或偶校驗 ○ 4 、 1 或 2 個停止位 一個數(shù)據(jù)幀是以起始位開始,緊接著是數(shù)據(jù)字的最低位,數(shù)據(jù)字最多可以是 9 個數(shù)據(jù)位,數(shù)據(jù)位以數(shù)據(jù)的最高位結束,如果使能了校驗位,校驗位將接著數(shù)據(jù)位,最后是結束位,當一個完整的數(shù)據(jù)幀傳輸后,可以直接跟著傳送下一個新的數(shù)據(jù)幀,或者使通信線路處于空閑狀態(tài)。 數(shù)據(jù)幀的結構由 UCSRB 和 UCSRC 寄存器中的 、 和 USBS 位設置和定義,接收和 發(fā)送使用同樣的定義設置,注意:任何這些設置的改變都會打斷正在進行的數(shù)據(jù)傳送和接收通信。 USART 幀的字長位( UCSZ2:0)確定了數(shù)據(jù)幀的數(shù)據(jù)位數(shù), USART 的校驗模式位( )用于使能和決定校驗的類型。選擇一位或兩位結束位由 USART 的 USBS 位設置。但接收器是忽略第二個停止位的。因此幀錯誤( FE)只會在第一個結束位為 “0”時被檢測到。 校驗位的計算是對數(shù)據(jù)位的各個位進行異或運算,其結果再同 “0”或 “1”進行異或運算。如在數(shù)據(jù)格式中定義使用校驗位,則校驗位值將出現(xiàn)在最后一個數(shù)據(jù)位和第一個停止位之 間。 ⑷ 、數(shù)據(jù)發(fā)送 USART 的數(shù)據(jù)發(fā)送是由 UCSRB 寄存器中的發(fā)送允許位 TXEN 設置,當被 TXEN使能時, TXD 引腳的通用 I/O 性能將被 USART 代替,作為發(fā)送器的品德輸出引腳。如果使用同步發(fā)送模式,內(nèi)部產(chǎn)生的發(fā)送器時鐘信號施加到 XCK 引腳上,作為串行數(shù)據(jù)發(fā)送的時鐘。 5 至 8 位數(shù)據(jù) : 發(fā)送是通過把將要傳送的數(shù)據(jù)放到發(fā)送緩沖器中來初始化的, CPU 通過寫入到UDR 發(fā)送數(shù)據(jù)寄存器來加載發(fā)送緩沖。當移位寄存器為發(fā)送下一幀準備就緒時,緩沖的數(shù)據(jù)將被移到移位寄存器中,如果移位寄存器外于空閑狀態(tài)或剛結束前一幀的最后一個 停止位的傳送,它將裝載新的數(shù)據(jù),一旦移位寄存器中的裝載了新的數(shù)據(jù),就會按照 遼寧科技大學信息技術學院 22 22 設定的數(shù)據(jù)幀模式和速率完成一幀數(shù)據(jù)的發(fā)送。 ⑸ 、 傳送標志位和中斷 : USART 的發(fā)送器有兩個標志, USART 數(shù)據(jù)寄存器空 UDRE 標志和傳送完成 TXC標志,兩個標志位都能發(fā)生中斷。 數(shù)據(jù)寄存器空 UDRE 標志位表示發(fā)送緩沖器是否就緒,可以接受一個新的數(shù)據(jù)。該位發(fā)送緩沖器空時被置 “1”,當發(fā)送緩沖區(qū)內(nèi)含有正在發(fā)送的數(shù)據(jù)時,該位為 “0”.為了和其他的器件兼容,建議在寫 UCSRA 寄存器時,該位寫為 “0”。 當 UCSRB 寄存器中的數(shù)據(jù)寄存器空中斷 允許位 UDRIE 為 “1”時,只要 UDRE 被置位,就將主生 USART 數(shù)據(jù)寄存器空中斷申請。 UDRE 位在發(fā)送寄存器 UDR 的寫入后被自動清零。當采用中斷方式的數(shù)據(jù)傳送時,在數(shù)據(jù)寄存器空中斷服務程序中必須寫一個新的數(shù)據(jù)到 UDR 中,以清零 UDRE,或者屏蔽掉數(shù)據(jù)寄存器空中斷標志,否則,一旦該中斷程序結束后,一個新的中斷將再次產(chǎn)生。 ⑹ 、 USART 的初始化 USART 接口在通信前,必須首先進行初始化,初始化過程通常包括波特率的設定,幀結構的設定和根據(jù)需要的接收器或發(fā)送器的使能,對于中斷驅(qū)動的 USART 操作,在初始化時, 全局中斷標志位應該先被零(全局中斷被屏蔽)然后再進行 USART 的初始化(如改變波特率或幀結構)。重新改變 USART 的設置應該在沒有有數(shù)據(jù)傳輸?shù)那闆r下進行, TXC 標志位可以用來檢驗一個數(shù)據(jù)幀的發(fā)送是否已經(jīng)完成, RXC 標志位可以用來檢驗是不在接收緩沖器中還有數(shù)據(jù)未讀出,在每次發(fā)發(fā)送前(在寫發(fā)送數(shù)據(jù)寄存器UDR 前), TXC 標志位必須清零。 初始化過程: ○ 1 、 波特率設定: UBRR 寄存器中的數(shù)值確定波特率的大小,取值為 0255。 例如:異步正常模式 (U2X=0), UBRR=fosc/(16*BAUD)。 ○ 2 、幀結構設定:由 UCSRB 和 UCSRC 寄存器中的 UCSZx、 和 USBS 位設置。 UCSZ0、 UCSZ UCSZ2 確定了數(shù)據(jù)幀的數(shù)據(jù)位數(shù), UPM0、 UPM1 用于使能和決定校驗的類型, USBS 位設置停止位位數(shù)。 ○ 3 、接收器或發(fā)送器的使能: USART 的數(shù)據(jù)發(fā)送是由 UCSRB 寄存器中的發(fā)送允許位 TXEN 設置,當被 TXEN 使能時, TXD 引腳的通用 I/O 性能將被 USART 代替,作為發(fā)送器的輸出引腳。如果使用同步發(fā)送模式,內(nèi)部產(chǎn) 生的發(fā)送器時鐘信號施加到 XCK引腳上,作為串行數(shù)據(jù)發(fā)送的時鐘。 遼寧科技大學信息技術學院 23 23 UCSRB 寄存器: RXCIE TXCIE UDRIE RXEN TXEN UCSZ2 RXB8 TXB8 RXCIE:接收結束中斷使能 置位后使能 RXC 中斷。當 RXCIE 為 1,全局中斷標志位 SREG 置位, UCSRA 寄存器的 RXC 亦為 1 時可以產(chǎn)生 USART 接收結束中斷。 TXCIE:發(fā)送結束中斷使能 置位后使能 TXC 中斷。當 TXCIE 為 1,全局中斷標志位 SREG 置位, UCSRA 寄存器的 TXC 亦為 1 時可以產(chǎn)生 USART 發(fā)送結束中斷。 UDRIE: USART 數(shù)據(jù)寄存器空中斷使能 置位后使能 UDRE 中斷。當 UDRIE 為 1,全局中斷標志位 SREG 置位, UCSRA寄存器的 UDRE 亦為 1 時可以產(chǎn)生 USART 數(shù)據(jù)寄存器空中斷。 RXEN:接收使能 置位后將啟動 USART 接收器。 RxD 引腳的通用端口功能被 USART 功能所取代。禁止接收器將刷新接收緩沖器,并使 FE、 DOR 及 PE 標志無效。 TXEN:發(fā)送使能 置位后 將啟動 USART 發(fā)送器。 TxD 引腳的通用端口功能被 USART 功能所取代。清零后,只有等到所有的數(shù)據(jù)發(fā)送完成后發(fā)送器才能夠真正禁止,即發(fā)送移位寄 存器與發(fā)送緩沖寄存器中沒有要傳送的數(shù)據(jù)。發(fā)送器禁止后, TxD 引腳恢復其通用 I/O 功能。 UCSZ2:字符長度 UCSZ2 與 UCSRC 寄存器的 UCSZ1:0 結合在一起可以設置數(shù)據(jù)幀所包含的數(shù)據(jù)位數(shù) (字符長度 )。 RXB8:接收數(shù)據(jù)位 8 對 9 位串行 數(shù)據(jù) 幀進行操作時, RXB8 是第 9 個數(shù)據(jù)位。讀取 UDR 包含的低位數(shù)據(jù)之前首先要讀取 RXB8。 TXB8:發(fā)送數(shù)據(jù)位 8 對 9 位串行 數(shù)據(jù) 幀進行操作時, TXB8 是第 9 個數(shù)據(jù)位。寫 UDR 之前首先要對它進行寫操作。 UCSRC 寄存器: URSEL UMSEL UPM1 UPM0 USBS UCSZ1 UCSZ0 UCPOL URSEL:寄存器選擇 遼寧科技大學信息技術學院 24 24 通過該位選擇訪問 UCSRC 寄存器或 UBRRH 寄存器。當讀 /寫 UCSRC 時,該位為1,當對 UBRRH 訪問時, URSEL 為 0; UMSEL: USART 模式選擇 通過這一位來選擇同步或異步工作模式。 表 35 UMSEL設置 UMSEL 模式 0 異步操作 1 同步操作 UPM UPM0:奇偶校驗模式 這兩位設置奇偶校驗的模式并使能奇偶校驗。如果使能了奇偶校驗,那么在發(fā)送數(shù)據(jù),發(fā)送器都會自動產(chǎn)生并發(fā)送奇偶校驗位。對每一個接收到的 數(shù)據(jù),接收器都會產(chǎn)生一 個 奇偶值,并與 UPM0 所設置的值進行比較。如果不匹配,那么就將 UCSRA 中的PE 置位。 表 36 UPM 設置 UPM1 UPM0 奇偶模式 0 0 禁止 0 1 保留 1 0 偶校驗 1 1 奇校驗 USBS:停止位選擇 通過這一位可以設置停止位的位數(shù)。接收器忽略這一位的設置。 表 37 USBS 設置 USBS 停止位位數(shù) 0 1 1 2 UCSZ1, UCSZ0:字符長度 UCSZ1,UCSZ0與 UCSRB寄存器的 UCSZ2結合在一起可以設置數(shù)據(jù)幀包含的 數(shù)據(jù)位數(shù) (字符長度 )。 遼寧科技大學信息技術學院 25 25 表 38 UCSZ 設置 UCSZ2 UCSZ1 UCSZ0 字符長度 0 0 0 5 0 0 1 6 0 1 0 7 0 1 1 8 1 0 0 保留 1 0 1 保留 1 1 0 保留 1 1 1 9 UCPOL: 時鐘極性 這一位僅用于同步工作模式。使用異步模式時,將這一位清零。 UCPOL 設置了輸出數(shù)據(jù)的改變和輸入數(shù)據(jù)采樣,以及同步時鐘 XCK 之間的關系。 表 39 UCPOL 設置 UCPOL 發(fā)送數(shù)據(jù)的改變 (TxD 引腳的輸出 ) 接收數(shù)據(jù) 的采樣 (RxD 引腳的輸入 ) 0 XCK 上升沿 XCK 下降沿 1 XCK 下降沿 XCK 上升沿 UCSRA 寄存器: RXC TXC UDRE FE DOR PE U2X MPCM RXC:置 1: USART 接收結束,否則為 0 TXC:置 1: USART 發(fā)送結束,否則為 0 UDRE: 置 1:發(fā)送緩沖器空,否則為 0 FE:置 1:幀錯誤 DOR:置 1:數(shù)據(jù)溢出,當接收緩沖器滿,接收移位寄存器雙有數(shù)據(jù),若此時檢測到一個新的起始位,則數(shù)據(jù)溢出。 PE:置 1:奇偶校驗錯誤 U2X:倍速發(fā)送,僅對異步操作有影響, 使用同步操作時將此位清零。此位置 1 可將波特率分頻因子從 16 降到 8,從而有效的將異步通信模式的傳輸速率加倍 MPCM:設置此位可啟動多處理器通信模式。發(fā)送器不受 MPCM 設置的影響。 遼寧科技大學信息技術學院 26 26 ATmega8 通用 I/O口 ⑴ 、
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1