《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于AT90S8515的串行通信及其應(yīng)用
基于AT90S8515的串行通信及其應(yīng)用
摘要: 美國ATMEL公司推出的90系列單片機(jī)是增強(qiáng)RISC內(nèi)載Flash的高性能八位單片機(jī),通稱為AVR單片機(jī),設(shè)計(jì)上采用低功耗CMOS技術(shù),而且在軟件上有效支持C高級(jí)語言(用IAR系統(tǒng)的ICC90C編譯器編譯)及匯編語言(用ATP匯編器編譯)。
Abstract:
Key words :

  引 言

  美國ATMEL公司推出的90系列單片機(jī)是增強(qiáng)RISC內(nèi)載Flash的高性能八位單片機(jī),通稱為AVR單片機(jī)" title="AVR單片機(jī)">AVR單片機(jī),設(shè)計(jì)上采用低功耗CMOS技術(shù),而且在軟件上有效支持C高級(jí)語言(用IAR系統(tǒng)的ICC90C編譯器編譯)及匯編語言(用ATP匯編器編譯)。

  其中AT90S8515" title="AT90S8515">AT90S8515是功能較強(qiáng)的一種型號(hào),它有40引腳PDIP和44引腳PLCC、TQFP等多種封裝形式,具有120條功能強(qiáng)大的指令,而且大多數(shù)執(zhí)行時(shí)間為單時(shí)鐘周期,指令周期最短僅為125ns。它具有以下主要特征:片內(nèi)有8K字節(jié)可下載的Flash存儲(chǔ)器,程序下載采用其SPI串行接口,使用壽命為1000次;32條通用I/O線及32個(gè)通用8位寄存器R0~R31,64個(gè)I/O專用寄存器;512字節(jié)的EEPROM(使用壽命為10萬次)及512字節(jié)的內(nèi)部SRAM;供電電壓在VCC為4.0~6.0V內(nèi)可以全靜態(tài)工作范圍為0~8MHz;提供內(nèi)部及外部中斷源;帶片內(nèi)晶振器的可編程看門狗定時(shí)器;并有2種可通過軟件選擇的電源節(jié)電模式:閑置模式、掉電模式;可編程的全雙工串行通信" title="串行通信">串行通信接口UART" title="UART">UART;一個(gè)8位定時(shí)器/計(jì)數(shù)器T/C0,一個(gè)16位的帶預(yù)

 

分頻及比較模式、捕獲模式及雙工8位、9位或10位的PWM輸出的定時(shí)器/計(jì)數(shù)器T/C1。本文著重介紹其片內(nèi)UART在實(shí)際中的應(yīng)用。

1 串行接口UART的主要特征和工作原理

  1.1 串行接口UART的主要特征

  AT90S8515帶有一個(gè)全雙工的通用異步收發(fā)器(UART),特征如下:

  (1)波特率發(fā)生器可以生成任何波特率;

  (2)在XTAL低頻率下有高的波特率;

  (3)8位和9位數(shù)據(jù);

  (4)噪聲濾波;

  (5)超越誤差的檢測(cè);

  (6)幀錯(cuò)誤檢測(cè);

  (7)錯(cuò)誤起始位檢測(cè);

  (8)3個(gè)獨(dú)立的中斷,即TX完成,TX數(shù)據(jù)寄存器空,RX完成。

  其數(shù)據(jù)發(fā)送通過把被傳送的數(shù)據(jù)寫入U(xiǎn)ART的I/O數(shù)據(jù)寄存器UDR來初始化,然后數(shù)據(jù)從UDR傳送到移位寄存器中。在波特率時(shí)鐘加載到移位寄存器的傳送操作時(shí),起始位從TXD引腳移出,然后是數(shù)據(jù)最低位在先。當(dāng)停止位被移出時(shí),如果在傳送中有新數(shù)據(jù)寫入U(xiǎn)DR中,則被裝入移位寄存器中,同時(shí),UART的狀態(tài)寄存器USR的UDRE位(UART狀態(tài)寄存器空)被設(shè)置,直到UDR被重寫。當(dāng)沒有新的數(shù)據(jù)被寫入時(shí),而且停止位在TXD上保持了一位的長度,USR的TX完成標(biāo)志位TXC被設(shè)置。

  當(dāng)UART的控制寄存器UCR中的TXEN位被置為1時(shí),允許UART發(fā)送,此時(shí)PD1被作為發(fā)送線。

  通過讀UDR寄存器,接收數(shù)據(jù)寄存器被訪問。接收器以16倍波特率采樣RXD引腳的信號(hào),當(dāng)線路閑置時(shí),一個(gè)邏輯0的采樣將被轉(zhuǎn)換為起始位的下降沿,并且起始位的探測(cè)序列被初始化,然后,接受器在第8、9和10個(gè)采樣點(diǎn)采樣中,如果得到兩個(gè)或兩個(gè)以上是邏輯1,則認(rèn)為起始位是噪聲尖峰而拒絕,繼續(xù)探測(cè)下一個(gè)1到0的轉(zhuǎn)換。如果起始位被發(fā)現(xiàn)后,開始采樣數(shù)據(jù)位,這些位也在第8、9和10個(gè)采樣點(diǎn)采樣,3取2作為該位的邏輯值,在采樣的同時(shí)被移入傳送寄存器。當(dāng)停止位為邏輯0,則USR的FE(幀錯(cuò)誤)標(biāo)志被置1,在讀UDR前,用戶應(yīng)檢查FE幀錯(cuò)誤標(biāo)志。在讀UDR后應(yīng)檢查OR位來檢測(cè)任何的超越錯(cuò)誤。

  當(dāng)UART的控制寄存器UCR中的RXEN位被置為1時(shí),允許UART數(shù)據(jù)接收,此時(shí)PD0被作為接收線。

  1.2 UART的主要寄存器及設(shè)置

  UART的I/O數(shù)據(jù)寄存器UDR是兩個(gè)物理分離的寄存器分享相同的I/O地址,當(dāng)寫入U(xiǎn)DR寄存器時(shí),UART的發(fā)送寄存器被寫入;當(dāng)讀UDR寄存器時(shí),讀的是UART的接收寄存器。

  UART的波特率寄存器UBRR是8位可讀/寫的寄存器,用以確定波特率。用戶進(jìn)行串行通信編程的重點(diǎn)是了解UCR及USR的使用。

  1.2.1 UART控制寄存器———UCR

UART控制寄存器———UCR

  位7——RXCIE:RX完成中斷使能,當(dāng)該位置1且SREG中的I位設(shè)為1時(shí),在USR中設(shè)置RXC位將導(dǎo)致接收完成中斷被執(zhí)行;

  位6———TXCIE:TX完成中斷使能,當(dāng)該位置1且SREG中的I位設(shè)為1時(shí),在USR中設(shè)置TXC位將導(dǎo)致發(fā)送完成中斷被執(zhí)行;

  位5———UDRIE:UART數(shù)據(jù)寄存器空中斷使能,當(dāng)該位置1且SREG中的I位設(shè)為1時(shí),在USR中設(shè)置UDRIE位將導(dǎo)致發(fā)送UART數(shù)據(jù)寄存器空中斷被執(zhí)行;

  位4———RXEN:接收使能,當(dāng)該位被設(shè)置時(shí)允許UART接收,當(dāng)接收器被禁止時(shí),TXC、OR、FE位的狀態(tài)標(biāo)志不能  設(shè)置,否則,在把RXEN關(guān)閉時(shí)不能消除它們;

  位3———TXEN:發(fā)送使能,當(dāng)該位被設(shè)置時(shí)允許UART發(fā)送,如在發(fā)送數(shù)據(jù)時(shí)禁止發(fā)送器,則在移位寄存器的數(shù)據(jù)和后續(xù)UDR中的數(shù)據(jù)被全部發(fā)送完成之前,發(fā)遂器不會(huì)被禁止;

 

  位2———CHR9:9位字符的發(fā)送或接收,發(fā)送和接收的數(shù)據(jù)是9位數(shù)據(jù)位和1位起始位、1位停止位。第9位通過UTP中的RXB8和TXB8位分別讀和寫;

  位1———RXB8:當(dāng)CHR9被設(shè)置時(shí),RXB8是收到數(shù)據(jù)的第9數(shù)據(jù)位;

  位0———TXB8:當(dāng)CHR9被設(shè)置時(shí),TXB8是發(fā)送數(shù)據(jù)的第9數(shù)據(jù)位。

  1.2.2 UART狀態(tài)寄存器———USR

UART狀態(tài)寄存器———USR

  USR提供各種狀態(tài)信息,其格式如下:

  位7——RXC:UART接收完成,當(dāng)使用中斷數(shù)據(jù)接收時(shí),接收完成中斷子程序必須讀UDR而消除RXC,否則在子程序完成時(shí)又引起新的中斷;

  位6———TXC:UART發(fā)送完成,當(dāng)發(fā)送移位寄存的全部數(shù)據(jù)被移出后且沒有新的數(shù)據(jù)寫入U(xiǎn)DR時(shí),該位置1,TXC在執(zhí)行相應(yīng)的中斷向量時(shí)被硬件清除;

  位5———UDRE:UART數(shù)據(jù)寄存器空,當(dāng)寫入U(xiǎn)DR的字符被傳送到發(fā)送移位寄存器中時(shí)該位被設(shè)置,表示發(fā)送器準(zhǔn)備新的數(shù)據(jù)發(fā)送。

  位4———FE:幀出錯(cuò),當(dāng)收到的

 

數(shù)據(jù)的停止位為0時(shí),該位置1,F(xiàn)E在收到的數(shù)據(jù)的停止們?yōu)?時(shí)被清除;

 

  位3———OR:超越出錯(cuò),當(dāng)UDR寄存器的數(shù)據(jù)沒有在新的數(shù)據(jù)被移入到接收移位寄存器之前被讀走,該位置1,即OR位被緩沖。意味著移入移位寄存器的最后數(shù)據(jù)字節(jié)不能被送到UDR中而丟失。

  1.2.3 波特率發(fā)生器

  依據(jù)以下等式的分頻器產(chǎn)生波特率: BAUD=f/[16(UBRR+1)]

  BAUD表示波特率,f為晶振頻率;UBRR表示UART波特率寄存器的值(0~255)。例如,波特率確定為9600波特時(shí),選用標(biāo)準(zhǔn)的晶振頻率1.8432MHz(誤差為0),則可計(jì)算出UBRR的初始化值為11;波特率確定為9600波特時(shí)選用晶振頻率為3.6864MHz,UBRR的初始化值為23。

  2 AT90S8515與上位PC機(jī)的串行通信應(yīng)用

  2.1 與上位PC機(jī)的硬件連接

  AT90S8515與上位PC機(jī)通信采用RS485總線,通過RS-485接收/發(fā)送器連接,使用MAXIM公司的MAX3080CPD芯片,為了使電磁干擾及終端末匹配的連接所產(chǎn)生的反射最小,MAX3080適合速率為115Kbps以下的應(yīng)用,而且具有平衡發(fā)送,差分接收,抑制共模干擾和故障保護(hù)的特點(diǎn),適合遠(yuǎn)距離傳送。為提高系統(tǒng)可靠性,在MAX3080與CPU之間還可增加光電耦合器6N137,更好地與上位機(jī)電氣隔離。硬件連接原理圖如圖1所示。

硬件連接原理圖

 

  2.2 與PC機(jī)的串行通信軟件設(shè)計(jì)

  應(yīng)用AT90S8515的串行接口UART與PC機(jī)進(jìn)行串行通信軟件設(shè)計(jì)可以采用中斷接受與查詢發(fā)送的方式,通過判斷UART中的UDR發(fā)送數(shù)據(jù)寄存器是否為空決定是否發(fā)送,并激活接收完成中斷。

  下面的程序采用查詢方式向上位PC機(jī)發(fā)送數(shù)據(jù),采用中斷方式接收數(shù)據(jù),字符數(shù)據(jù)位為8位,接受數(shù)據(jù)塊將包含數(shù)據(jù)幀幀頭及幀尾(各占一個(gè)字節(jié)),還有符合本節(jié)點(diǎn)的標(biāo)識(shí)碼(地址),從而提高數(shù)據(jù)接收的安全性及可靠性,并適合多個(gè)AVR微控制器與PC機(jī)通信。

  選用標(biāo)準(zhǔn)的晶振頻率3.864MHz(誤差為0),波特率確定為19200波特,且用PD7引腳控制MAX3080發(fā)送的開啟與關(guān)閉。

程序

程序

程序

程序

程序

程序

程序

程序

程序

程序

  3 結(jié)束語

  以上的程序模塊已經(jīng)在作者的課題項(xiàng)目開發(fā)中加以應(yīng)用,同時(shí)對(duì)AT908535、AT90S2313等其它型號(hào)AVR單片機(jī)也完全通用。

  總之,相對(duì)以往的AT89系列單片機(jī),以AT90S8515作為嵌入式高效微控制器,在性能上要強(qiáng)得多,程序的效率高而且運(yùn)行速度大大提高,開發(fā)手段也更方便。

  另外,AVR單片機(jī)的內(nèi)部又有硬件看門狗電路即看門狗定時(shí)器和看門狗定時(shí)器的控制寄存器WDTTP相相應(yīng)的看門狗指令控制,大大提高了系統(tǒng)的可靠性及安全性,因此,目前應(yīng)用高檔ATP系列單片機(jī)更適合組成工業(yè)現(xiàn)場(chǎng)總線控制系統(tǒng)的智能檢測(cè)及采集處理節(jié)點(diǎn)。

  參考文獻(xiàn)

  1 AVR8-Bit RISC-Data Sheets.ATMELCorporation[M].1997

  2 AVREnhanced Risc Microcontroller Data Book[M]1997

  3 宋建國.AVR單片機(jī)原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,1998

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品一级久久久| 在线观看视频一区| 麻豆freexxxx性91精品| 欧美一级久久久| 亚洲制服av| 亚洲一区二三| 亚洲午夜女主播在线直播| 9l视频自拍蝌蚪9l视频成人| 亚洲精品乱码久久久久久| 亚洲国产第一| 亚洲国产高清一区| 亚洲国产精品高清久久久| 久久精品毛片| 亚洲激情av| 亚洲精品资源美女情侣酒店| 亚洲三级色网| 一区二区三区国产精华| 亚洲视频 欧洲视频| 亚洲视频免费在线| 亚洲男人影院| 欧美在线免费观看亚洲| 欧美在线国产| 久久香蕉国产线看观看av| 久久久久久久网站| 免费一区视频| 欧美理论视频| 国产精品福利在线观看| 国产精品乱子乱xxxx| 国产精品一区二区三区四区| 国产色产综合色产在线视频| 国产一二精品视频| 亚洲第一福利视频| 最新成人av网站| 在线亚洲观看| 欧美一区二区三区另类| 亚洲国产成人av| 一本大道av伊人久久综合| 亚洲综合色激情五月| 久久国产高清| 欧美激情视频一区二区三区在线播放| 欧美剧在线观看| 国产精品美女久久久| 国内精品久久久久影院薰衣草| 在线观看亚洲| 一区二区三区你懂的| 欧美亚洲免费高清在线观看| 亚洲激情小视频| 亚洲午夜国产成人av电影男同| 羞羞色国产精品| 免费看亚洲片| 国产精品theporn88| 韩国精品一区二区三区| 亚洲精品日韩综合观看成人91| 亚洲一区免费在线观看| 亚洲成色精品| 亚洲性xxxx| 久久亚洲一区| 欧美日韩综合另类| 国产亚洲精品自拍| 亚洲精品国久久99热| 午夜精品久久久久久久久| 最新亚洲激情| 欧美一区二区成人6969| 欧美国产日韩精品| 国产精品一级| 91久久线看在观草草青青| 亚洲综合另类| 亚洲美女在线视频| 久久精品国产亚洲一区二区三区| 欧美啪啪一区| 国产亚洲观看| 夜色激情一区二区| 久久精品国产亚洲精品| 亚洲欧美另类综合偷拍| 欧美成熟视频| 国产午夜精品麻豆| 一区二区三区四区五区在线| 亚洲第一偷拍| 欧美一区1区三区3区公司| 欧美精品123区| 国内精品视频在线播放| 一本色道久久综合精品竹菊 | 99国产精品久久久久老师| 欧美一级大片在线观看| 欧美日韩国语| 在线欧美不卡| 欧美一区二区精品久久911| 亚洲天天影视| 欧美精品一区二区久久婷婷| 国模吧视频一区| 亚洲砖区区免费| 亚洲一区日韩在线| 欧美日韩精品不卡| 亚洲国产人成综合网站| 久久精品国产一区二区三区免费看| 午夜在线不卡| 欧美视频在线视频| 亚洲三级影院| 亚洲精品网站在线播放gif| 久久久久久久激情视频| 国产精品热久久久久夜色精品三区| 最新国产乱人伦偷精品免费网站| 久久精品国产欧美激情| 久久爱www| 国产精品一区二区三区四区五区 | 国产自产v一区二区三区c| 亚洲欧美另类中文字幕| 亚洲天堂网站在线观看视频| 欧美精品午夜| 亚洲精品久久久蜜桃| 亚洲精品一区二区三区四区高清| 美国十次成人| 国内视频精品| 久久精品国产欧美激情| 久久亚洲欧美国产精品乐播| 国产一区自拍视频| 午夜一区在线| 久久久久成人网| 极品少妇一区二区三区精品视频| 久久成人综合视频| 久久免费视频在线| 韩国av一区二区三区| 亚洲大胆美女视频| 蜜臀av一级做a爰片久久| 在线看日韩av| 亚洲精品欧美日韩| 欧美精品乱人伦久久久久久| 亚洲国产日韩欧美综合久久| 亚洲精品日日夜夜| 欧美高清免费| 亚洲精品视频在线观看免费| 夜夜嗨av色一区二区不卡| 欧美日韩免费在线视频| 一区二区三区欧美亚洲| 亚洲欧美日韩国产一区二区三区| 国产精品日韩电影| 欧美一区二区三区视频| 久久免费少妇高潮久久精品99| 韩国久久久久| 亚洲美女区一区| 欧美午夜电影完整版| 亚洲欧美日韩一区二区在线| 久久电影一区| 在线精品视频一区二区| 亚洲人午夜精品| 欧美日韩欧美一区二区| 亚洲影院免费观看| 久久午夜电影| 亚洲精品久久久久久久久| 亚洲一区二区毛片| 国产午夜久久久久| 亚洲免费av观看| 国产精品户外野外| 久久国产精品免费一区| 欧美日韩1080p| 中日韩美女免费视频网站在线观看 | 亚洲人成艺术| 欧美午夜寂寞影院| 欧美在线视频一区二区三区| 欧美成人自拍视频| 亚洲网站在线播放| 久久午夜精品一区二区| 亚洲精品孕妇| 久久国产福利| 亚洲精品免费网站| 久久av在线| 亚洲免费成人av| 久久精品电影| 亚洲理论在线观看| 久久久www成人免费精品| 亚洲精品视频二区| 久久久久久噜噜噜久久久精品 | 一区二区日韩免费看| 久久免费高清视频| 一本色道婷婷久久欧美| 久久久免费观看视频| 日韩亚洲欧美成人| 久久亚洲私人国产精品va媚药 | 欧美一级专区免费大片| 欧美精品www在线观看| 亚洲欧美成人在线| 欧美激情亚洲| 午夜在线电影亚洲一区| 欧美精品系列| 久久国产高清| 国产精品久久久久久久一区探花| 亚洲国产精品久久久久| 国产精品永久免费在线| 亚洲美女性视频| 国模精品一区二区三区| 亚洲在线第一页| 亚洲国产精品成人精品| 欧美一区二区三区视频在线| 亚洲黄色免费| 久久久国产一区二区三区| 一区二区日韩欧美| 欧美国产精品劲爆| 欧美尤物巨大精品爽| 国产精品r级在线| a4yy欧美一区二区三区|