您的位置:網站首頁 > 電器維修資料網 > 正文 >
AVR單片機入門----C語言高效設計實踐(十六)
來源: 日期:2013-11-1 14:21:42 人氣:標簽:
usart的主要寄存器及設置1.usarti/0數據寄存器-udf:
usart發送數據緩沖寄存器和usart接收數據緩沖寄存器共享相同的i/0地址,稱為usart數據音存器或udr。特教捉寫入udr時實際操作的是發送數據緩沖器存器(txb),讀u-dr時實際返回的是接收數據緩沖寄存器(rxb)的內容。
在5、6、7比特字長模式下,未使用的高位被發送器忽略,而接收器則將它們設置為0。只有當ucsra寄存器的udre標志置位后才可以對發送緩沖器進行寫操作。如果udre沒有置位,那么寫入udr的數據會被usart發送器忽略。當數據寫入發送緩沖器后,若移位寄存器為空,發送器將把數據加載到發送移位寄存器。然后數據串行地從txd引腳輸出。
接收緩沖器包括一個兩級fifo,一旦接收緩沖器被尋址fifo就會改變它的狀態。因此不要對這一存儲單元使用讀-修改-寫指令(sbi和cbi)。使用位查詢指令(sbic和sbisi時也要小心)因為這也有可能改變fifo的狀態。
2.usart控制和狀態寄存器a-ucsra:
bit7-rxc:usart接收結束,接收緩沖器中有未讀出的數據時rxc置位,否則清零。接收器禁止時,接收緩沖器被刷新,導致rxc清零。rxc標志可用來產生接收結束中斷。
bit6-txc:usart發送結束,發送移位緩沖器中的數據被送出,且當發送緩沖器(udr)為空時txc置位。執行發送結束中斷時txc標志自動清零,也可以通過寫1進行清除操作。
txc標志可用來產生發送結束中斷。
bit5-udre:usart數據昔存器空,udre標志指出發送緩沖器(udr)是否準備好接收新數據。udre為1說明緩沖器為空,已準備好進行數據接收。udre標志可用來產生數據寄存器空中斷。復位后udre置位,表明發送器已經就緒。
bit4-fe:幀錯誤,如果接收緩沖器接收到的下一個字符有幀錯誤,即接收緩沖器中的下一個字符的第一個停止位為0,那么fe置位。這一位一直有效直到接收緩沖器(udr)被讀取。當接收到的停止位為1時,fe標志為o。對ucsra進行寫入時,這一位要寫0。
bit3-dor:數據溢出,數據溢出時dor置位。當接收緩沖器滿(包含了兩個數據),接收移位寄存器又有數據,若此時檢測到一個新起始位,數據溢出就產生了。這一位一直有效直到接收緩沖器(udr)被讀取。對ucsra進行寫入時,這一位要寫o。
bit2-pe:奇偶校驗錯誤,當奇偶校驗使能(upm1=1),且接收緩沖器中所接收到的下一個字符有奇偶校驗錯誤時upe置位。這一位一直有效直到接收緩沖器(udr)被讀取。對uc-sra進行寫入時,這一位要寫0。
bit1-u2x:倍速發送,這一位僅對異步操作有影響。使用同步操作時將此位清零。此位置1可將波特率分頻因子從16降到8,從而有效的將異步通信模式的傳輸速率加倍。
bit0-mpcm:多處理器通信模式,設置此位將啟動多處理器通信模式。mpcm置位后,usart接收器接收到那些不包含地址信息輸入幀都將被忽略。發送器不受mpcm設置的影響。
3.usart控制和狀態寄存器b-ucsrb:
bit7-rxcie:接收結束中斷使能,置位后使能rxc中斷。
當rxcie為1,全局中斷標志位sreg置位,ucsra寄存器的rxc亦為1時可以產生usart接收結束中斷。
bit6-txcie:發送結束中斷使能,置位后使能txc中斷。
當txcie為1,全局中斷標志位sreg置位,ucsra寄存器的的rxc亦為1時可以產生usart發送結束中斷bti5-usart數據寄存器空中斷使能,置位后使能udre中斷。當udrie為1,全局中斷標志位sreg置位,ucsra寄存器的udre亦為1時可以產生usart數據寄存器空中斷。
bit4-rxen:接收使能,置位后將啟動usart接收器。
rxd引腳的通用端口功能被usart功能所取代。禁止按收器將刷新接收緩沖器,并使fe、dor及pe標志無效。
bit3-txen:發送使能,置位后將啟動將啟動usart發送器。txd引腳的通用端口功能被usart功能所取代。txen清零后,只有等到所有的數據發送完成后發送器才能夠真正禁止,即發送移位寄存器與發送緩沖寄存器中沒有要傳送的數據。
發送器禁止后,txd引腳恢復其通用i/0功能。
bit2-ucsz2:字符長度,ucsz2與ucsrc寄存器的ucsz1:0結合在一起可以設置數據幀所包含的數據位數(字符長度)。
bit1-rxb8:接收數據位8,對9位串行幀進行操作時,rxb8是第9個數據位。讀取udr包含的低位數據之前首先要讀取rxb8。
bit0-txb8:發送數據位8,對9位串行幀進行操作時,txb8是笫9個數據位。寫udr之前首先要對它進行寫操作。
4.usart控制和狀態寄存器c-ucsrc: ucsrc寄存器與ubrrh寄存器共用相同的i/0地址。 bit-ursel:寄存器選擇,通過該位選擇訪問ucsrc寄存器或ubrrh寄存器。當讀ucsrc時,該位為1;當寫uc-src時,ursel為1。 bit6-umsel:usart模式選擇,通過這一位來選擇同步- 1
- 2
- 下一頁
【看看這篇文章在百度的收錄情況】
相關文章
- 上一篇: AVR單片機入門----C語言高效設計實踐(七)
- 下一篇: 液晶彩電工作過程簡析