wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

單片機軟件UART的設計資料

作者:佚名   來源:本站原創   點擊數:  更新時間:2013年10月17日   【字體:

目前擴展串口的方法主要有以下方法, ①、采用串口擴展芯片實現,如ST16C550、ST16C554、SP2538、MAX3110等,雖然成本較高, 但系統的可靠性得到了保證,適用于數據量較大、串口需求較多的系統;②、采用分時切換的方法將一個串口擴展與多個串口設備通信,分時復用的方法成本低, 但只適用于數據量不大的場合, 并且只能由這個單片機主動和多個設備通信,實時性差;③、用軟件模擬的方法擴展串口,其優勢也是成本低、實時性好, 但要占用一些CPU時間。

一般的軟件模擬擴展串口方法,使用1個I/O端口、1個INT外部中斷和定時器,該方法擴展的串口有2個缺點,①、由于使用了INT外部中斷,故只能使用2個INT外部中斷擴展2個串口。②、文中的發送和接收數據的效率比較低,占用了CPU的大量時間,不能與其他任務同時進行,所以使用范圍有限。

本文提出的模擬串口方法,僅使用2個普通I/O和1個定時器,由于不需要INT的限制,可以擴展出多個串口,且帶FIFO的功能,該方法擴展模擬串口的收發數據在中斷服務中完成,所以非常效率高,一般的單片機都支持定時器中斷,所以所以該方法在大多數單片機上都可以應用。

對于低速度的單片機(如89S51)可以擴展出低速串口(9600、4800等),對于高速單片機(如AVR、PIC、C8051、STC12)可以擴展高速串口(如19200、28800、38400、57600等)。目前單片機的處理速度越來越高,而價格越來越便宜,本文使用的STC12C1052芯片就具有高速度和低價格,價格僅為每片人民幣3.8元。電子產品的開發設計時,要求在保證性能的情況下降低硬件成本,軟件模擬擴展串口提供了一種降低成本的好方法。

1、串口通訊原理

在串口的異步通信中,數據以字節為單位的字節幀進行傳送,發送端和接收端必須按照相同的字節幀格式和波特率進行通信,其中字節幀格式規定了起始位、數據位、寄偶效驗位、停止位。起始位是字節幀的開始,使數據線處于邏輯0狀態,用于向接收端表明開始發送數據幀,起到使發送和接收設備實現同步。停止位是字節幀的終止,使數據線處于邏輯1狀態,用于向接收端表明數據幀發送完畢。波特率采用標準速度,如4800、9600、19200、28800、38400、57600等。

2、軟件UART的設計思想

在本設計對硬件要求方面,僅僅占用單片機的任意2個I/O端口和1個定時器,利用定時器的定時中斷功能實現精確的波特率定時,發送和接收都在定時中斷的控制之下進行。

數據發送的思想是,當啟動字節發送時,通過TxD先發起始位,然后發數據位和奇偶數效驗位,最后再發停止位,發送過程由發送狀態機控制,每次中斷只發送1個位,經過若干個定時中斷完成1個字節幀的發送。

數據接收的思想是,當不在字節幀接收過程時,每次定時中斷以3倍的波特率監視RxD的狀態,當其連續3次采樣電平依次為1、0、0時,就認為檢測到了起始位,則開始啟動一次字節幀接收,字節幀接收過程由接收狀態機控制,每次中斷只接收1個位,經過若干個定時中斷完成1個字節幀的接收。

為了提高串口的性能,在發送和接收上都實現了FIFO功能,提高通信的實時性。FIFO的長度可以進行自由定義,適應用戶的不同需要。

波特率的計算按照計算公式進行,在設置最高波特率時一定要考慮模擬串口程序代碼的執行時間,該定時時間必須大于模擬串口的程序的規定時間。單片機的執行速度越快,則可以實現更高的串口通訊速度。

3、軟件UART設計的實現

本程序在宏晶科技(深圳)生產的STC12C1052高速單片機上進行運行測試,STC12C1052單片機是單時鐘/機器周期的MCS51內核單片機,與89C2051引腳完全兼容,其工作頻率達35MHz,相當與420MHz的89C2051單片機,每片人民幣3.8元。由于該單片機的高速度,使得軟件擴展串口的方法,更方便實現高速的串口。

本擴展串口的設計中,STC12C1052使用的晶振頻率為22.1184Mhz,以波特率的3倍計算定時時間,在接收過程中以此定時進行接收起始位的采樣,在發送和接收過程中再3分頻得到標準波特率定時,進行數據發送與接收。

3.1、數據定義

定義模擬串口程序所必須的一些資源,如I/O引腳、波特率、數據緩沖區等。

#define Fosc 22118400 //晶振頻率

#define Baud 38400 //波特率

#define BaudT (Fosc/Baud/3/12)

#define BufLong 16 //FIFO長度

sbit RxD1=P1^7; //模擬接收RxD

sbit TxD1=P1^6; //模擬發送TxD

bit Brxd1,Srxd1;//RxD檢測電平

BYTE Rbuf1[BufLong];//FIFO接收區

BYTE Rptr1,Rnum1;

BYTE Tbuf1[BufLong];//FIFO發送區

BYTE Tptr1,Tnum1;

BYTE TimCnt1A,TimCnt1B;

BYTE Mtbuf1,Mrbuf1,TxdCnt1,RxdCnt1;

3.2、數據接收子程序

數據接收過程中,依次存儲RxD的邏輯位形成字節數據,當數據接收完畢且停止位為1時,表示接收到了有效數據,就將結果存儲到接收FIFO隊列中去。

void Recv()

{

if(RxdCnt1>0) //存數據位8個

{

Mrbuf1>>=1;

if(RxD1==1) Mrbuf1=Mrbuf1|0x80;

}

RxdCnt1--;

if(RxdCnt1==0&& RxD1==1) //數據接收完畢

{

Rbuf1[Rptr1]=Mrbuf1; //存儲到FIFO隊列

if(++Rptr1>BufLong-1) Rptr1=0;

if(++Rnum1>BufLong) Rnum1=BufLong;

}

}

3.3、數據發送子程序

該程序過程中,當數據發送狀態結束時,檢測發送FIFO隊列是否為空,若非空則取出發送數據,然后啟動發送狀態;當處于發送狀態時,則按照狀態機的狀態進行起始位、數據位和停止位的發送。

void Send()

{

if(TxdCnt1!=0) //字節發送狀態機

{

if(TxdCnt1==11) TxD1=0;//發起始位0

else if(TxdCnt1>2) //發數據位

{ Mtbuf1>>=1; TxD1=CY;}

else TxD1=1; //發終止位1

TxdCnt1--;

}

else if(Tnum1>0) //檢測FIFO隊列

{

Tnum1--;

Mtbuf1=Tbuf1[Tptr1]; //讀取FIFO數據

if(++Tptr1>=BufLong) Tptr1=0;

TxdCnt1=11; //啟動發送狀態機

}

}

3.4、中斷程序

中斷定時時間為波特率定時的1/3,即以3倍的波特率對RxD進行采樣,實現起始位的判別,當起始位到達時啟動接收過程狀態機。將該定時進行3分頻再調用數據的發送和接收過程,進行準確波特率下的串口通信。

void Uart() interrupt 1 using 1

{

if(RxdCnt1==0 ) //接收起始識別

{

if(RxD1==0 && Brxd1==0 && Srxd1==1) { RxdCnt1=8; TimCnt1B=0;}

}

Srxd1=Brxd1; Brxd1=RxD1;

if(++TimCnt1B>=3 && RxdCnt1!=0) { TimCnt1B=0; Recv();}//數據接收

if(++TimCnt1A>=3) { TimCnt1A=0; Send();} //數據發送

}

3.5、串口初始化

打開定時器的中斷,將定時器的設置為自裝載模式,依照波特率設置定時中斷的定時間隔,啟動定時器,并進行UART各變量的初始化。

void IniUart()

{

IE="0x82"; TMOD="0x22";

TH0=-BaudT; TL0=-BaudT; TR0=1;

Rptr1=0;Rnum1=0;Tptr1=0;Tnum1=0;

}

4、結束語

本文提出的模擬串口設計方法,其獨特之處在于:僅僅使用任意2個普通I/O引腳和1個定時中斷實現了全雙工串口,對硬件的占用較少,具有多可串口擴展能力;在串口接收的起始位判別時采用了連續3次采樣的判別方法,該方法實現簡單、準確率高;用定時中斷實現了串口數據的發送和接收,并實現了FIFO隊列,使串口發送和接收工作效率高。

關閉窗口

相關文章

国产欧美一区二区三区网站| www.成人三级视频| 亚洲欧洲av色图| 亚洲精品欧洲| av不卡一区| 在线免费观看a视频| 九色.com| 精品黑人一区二区三区国语馆| aaaaa一级片| 亚洲熟妇国产熟妇肥婆| 国产乱码精品一区二区三区日韩精品 | 亚洲香蕉久久| 日韩精品成人av| 色综合小说天天综合网| 男人插女人下面视频| 亚洲天堂日韩av| 午夜一区二区三区免费| 亚洲成熟丰满熟妇高潮xxxxx| 精品久久精品久久| 日本视频久久久| 中文字幕亚洲精品| 9191成人精品久久| 亚洲二区视频在线| 久久精品日韩一区二区三区| 蜜桃av一区二区三区电影| 国产大片一区| 天堂俺去俺来也www久久婷婷| 伊伊综合在线| 欧美xxxx视频| 成人好色电影| 国产极品美女在线| 日本中文字幕在线不卡| 免费av手机在线观看| 久久人人97超碰人人澡爱香蕉| 日本韩国在线不卡| 国产成人av一区二区三区在线观看| 国产精品美女久久久久久不卡| 欧美黄页免费| 亚洲一级少妇| 97天天综合网| 黄色大片在线播放| 国产精品四虎| 最新四虎影在线在永久观看www| 嫩草视频在线免费观看| 伦理天堂电影| 手机看片福利在线| 欧美狂猛xxxxx乱大交3| 日韩av在线中文| 欧美日韩福利在线| 中文字幕中文字幕一区三区| 久久人人九九| 另类视频在线观看+1080p| 成人在线激情视频| 国产精自产拍久久久久久| 91高清免费视频| 欧美激情综合色综合啪啪五月| xxxx欧美18另类的高清| 国产一区二区黄| 亚洲国产精品免费| 精品噜噜噜噜久久久久久久久试看 | 色爱av美腿丝袜综合粉嫩av| 亚洲美女视频网站| 精品无人区太爽高潮在线播放| 亚洲精品在线电影| 亚洲成avwww人| 亚洲成色999久久网站| 欧美tk—视频vk| 欧美大片在线观看一区二区| 欧美一级电影网站| 欧美成人精精品一区二区频| 日韩一区二区中文字幕| 日韩欧美一二三区| 亚洲福利在线播放| 亚洲裸体xxxx| 永久555www成人免费| 亚洲性av网站| 久久国产精品久久久| 美日韩精品免费观看视频| 欧美成人黑人xx视频免费观看| 久久久国产精彩视频美女艺术照福利| 日韩在线观看免费| 欧美国产在线观看| 久久影院午夜论| 国产午夜精品久久久久久免费视 | 欧美激情一级二级| 91精品国产高清久久久久久久久| 91a在线视频| 国产精品爽爽ⅴa在线观看| 成人激情视频网| 国产精品国产亚洲精品看不卡15| 国产高清在线一区| 亚洲一卡二卡三卡四卡无卡网站在线看| 亚洲欧洲中文| 亚洲熟妇无码一区二区三区| 自拍偷拍21p| 欧美高清性xxxx| 色婷婷在线视频观看| 中日韩黄色大片| 国产精品一区二区av白丝下载 | 日韩电影在线观看中文字幕 | 毛片在线免费| av美女在线观看| 久久久免费人体| 精品视频在线你懂得| 97精品在线| 亚洲一区二区三区免费在线观看| 男人的j进女人的j一区| 99久久久无码国产精品| 亚洲一区二区三区四区在线免费观看| 懂色av一区二区三区| 91麻豆精品国产91久久久| 日韩黄色在线免费观看| 久久人人爽人人爽人人片av高请| 亚洲人成电影网站色…| 久久久久久久久亚洲| 成人欧美一区二区三区黑人孕妇| 久久久久久欧美精品色一二三四| 亚洲国产一二三精品无码| 中文字幕亚洲乱码| 国产三级aaa| 一二三四区视频| 欧美另类videos粗暴黑人| www.1024| caoporn视频在线| 成人三级av在线| 激情亚洲网站| 经典一区二区| 一本一本久久| av一区二区三区| 黄色成人在线免费| 精品调教chinesegay| 日韩69视频在线观看| 九九久久99| 黄色国产小视频| a天堂中文字幕| 91丨九色丨蝌蚪丨对白| 99久久国产综合精品女小说| 在线免费视频福利| 欧美日韩激情电影| 久久影院100000精品| 激情国产一区二区| 亚洲另类在线视频| 亚洲成人久久久| 国产成一区二区| 精品免费久久久久久久| 久久久久久久久免费看无码| 中文字幕一区二区人妻痴汉电车| 国产精品一区牛牛影视| jizz在线免费观看| 亚洲成人偷拍| 美美哒免费高清在线观看视频一区二区| 综合久久给合久久狠狠狠97色| 精品成人佐山爱一区二区| 国产精品2018| 成人一区二区免费视频| 中国毛片直接看| 亚洲精品影视在线| 国产一级在线| 一道本一区二区三区| 国产东北露脸精品视频| 欧美日韩在线不卡| 国产999在线观看| 日韩精品视频在线观看视频| 日本成人精品视频| 国产中文字幕网| 乱人伦中文视频在线| 国产精品亚洲人成在99www| www.亚洲精品| 亚洲成色777777在线观看影院| 91网站在线看| 成人免费播放视频| 999av视频| 三级网站在线| 99re91这里只有精品| 国产精品一区免费视频| 日韩一区二区免费电影| 91久久久久久国产精品| 欧美体内she精高潮| 亚洲av无码国产综合专区| 在线成人动漫| 亚洲另类av| 国产性做久久久久久| 在线观看久久久久久| 亚洲一区3d动漫同人无遮挡 | 91网站在线观看视频| 亚洲精品在线观| 久久99国产精品| 波多野结衣av在线免费观看| 色吊丝中文字幕| 午夜伦理在线视频| 极品av少妇一区二区| 精品日本美女福利在线观看| 欧美亚洲另类制服自拍| 黄色av免费在线播放| 最新在线中文字幕| 一级在线视频| 精品久久成人| 亚洲美女一区二区三区| 久久理论片午夜琪琪电影网| 欧美日韩黄色一级片| 69视频免费看| 香蕉视频色版| 国产一区二区三区四区大秀| 亚洲精品久久嫩草网站秘色| 久久久亚洲成人| 国产又黄又猛又粗又爽的视频| 国产又大又黄的视频| 国产在线观看高清视频| 综合一区在线| 欧美日韩一区二区三区不卡| 韩国成人一区| 91插插插插插插| 天天综合网天天做天天受| 国产精品视屏| 亚洲精品你懂的| 国产精选久久久久久| 激情五月六月婷婷| 欧美性猛交xxxx乱大交hd| 香蕉视频免费在线| 欧美精品日本| 日韩一级大片在线观看| 亚洲v国产v在线观看| 日韩黄色在线播放| 猫咪在线永久网站| 亚洲伊人观看| 亚洲国产成人久久| 91免费国产精品| 国产一区二区在线播放视频| 污的网站在线观看| 国产一区三区三区| 美日韩在线视频| 91蝌蚪视频在线| 国产精品777一区二区| 高清国产一区二区三区四区五区| 欧美激情中文字幕一区二区| 日本午夜精品理论片a级appf发布| 水蜜桃av无码| 丁香婷婷激情| 一区二区中文| 亚洲第一视频网站| 九一国产精品视频| 男女作爱免费网站| 中文在线综合| 亚洲成人自拍网| 精品蜜桃传媒| 久久久久久无码精品大片| 国产在线69| 成人动漫一区二区在线| 91精品成人久久| 九九九视频在线观看| 少妇精品放荡导航| 久久裸体视频| 影音先锋欧美精品| 国产成人av片| 激情se五月| 99热这里只有精品8| 亚洲欧美日本另类| 免费欧美一级片| 色综合小说天天综合网| 99国产精品久久久久久久 | 免费看黄色aaaaaa 片| 亚洲国产成人久久| 动漫3d精品一区二区三区| 欧美成人三级视频| 懂色av蜜臀av粉嫩av分享吧最新章节| 亚洲一二三区精品| 亚洲国产精品久久久| 蜜桃一区二区三区四区| 色呦呦网站一区| 黄色免费高清视频| 午夜小视频免费| 乱中年女人伦av一区二区| 欧美午夜精品免费| a在线视频观看| 国产一起色一起爱| 色999国产精品| 亚洲网站在线观看| 国产xxxxxxxxx| 麻豆国产在线播放| 91亚洲永久精品| 亚洲第一福利在线观看| 色哟哟精品视频| 成人免费乱码大片a毛片软件| 最新国产乱人伦偷精品免费网站| 中文字幕亚洲第一| 永久免费观看片现看| av官网在线播放| 亚洲人成在线观看一区二区| 日本一区视频在线观看| www.中文字幕.com| 色天天综合网| 精品国产一区二区三区四区在线观看 | 一本色道久久综合狠狠躁篇怎么玩 | 91美女视频网站| 成人一区二区在线| 亚洲高清在线观看视频| 九九热hot精品视频在线播放| 欧美va日韩va| 日本黄色免费观看| 麻豆视频在线观看免费网站| 中文字幕一区av| 日本免费成人网| www.操.com| 韩国女主播成人在线观看| 91丨九色丨国产在线| 亚洲国产精品视频在线| 北条麻妃国产九九九精品小说| 在线亚洲国产精品网| 亚洲综合网在线| 91精品xxx在线观看| 制服丝袜av成人在线看| 黄色在线免费播放| 91在线中字| 色综合中文综合网| 国内av免费观看| 精品欧美色视频网站在线观看| 一区二区三区四区av| 欧美成人免费在线观看视频| av三级影院| 久久久美女毛片| avove在线观看| 免费高清成人| av一区二区三区| 成人高清dvd| 天堂影视av| 久久久精品黄色| 成人精品视频在线播放| 原千岁中文字幕| 欧美国产精品v| 日本韩国欧美在线观看| av超碰在线| 中文字幕佐山爱一区二区免费| 人人妻人人添人人爽欧美一区| 最近97中文超碰在线| 日韩久久一区二区| 能看的毛片网站| 幼a在线观看| 欧美日韩一区二区三区视频 | 亚洲第一综合网站| 超碰超碰97| 亚洲国产精品v| 日本999视频| a视频在线观看免费| 69堂国产成人免费视频| 99精品欧美一区二区| 欧美美女福利视频| 中文字幕日韩免费视频| 亚洲大尺度在线观看| 日韩毛片视频| 国产精品久久久久久五月尺| 爱福利一区二区| 九九热在线视频观看这里只有精品| 日韩福利一区二区三区| 91大神网址| 亚洲六月丁香色婷婷综合久久| 日批视频在线看| 天天综合网站| 久久中文字幕一区| 亚洲国产成人在线观看| 爽爽淫人综合网网站| 先锋影音欧美| 中文在线资源在线| 欧美制服丝袜第一页| 一二三四在线观看视频| 欧美人与动xxxxz0oz| 日韩**中文字幕毛片| 国产精品偷乱一区二区三区| 91影院在线观看| 国产又大又黄又猛| 天堂av在线| y97精品国产97久久久久久| 99久久婷婷国产一区二区三区| 乱码第一页成人| 韩国黄色一级大片| 日本最黄一级片免费在线| 欧美大黄免费观看| 中文在线观看av| 久久狠狠一本精品综合网| 亚洲精品国产系列| 美州a亚洲一视本频v色道| 日韩视频在线观看一区二区| 日韩欧美大片在线观看| 欧美日韩福利| 亚洲欧美日韩精品久久久 | caopon在线免费视频| 亚洲精品xxxx| 99草在线视频| 精品一区二区成人精品| 成人免费aaa| 性欧美gay| 91国产一区在线| 黄色三级视屏| 亚洲成人1区2区| 国产乱国产乱老熟300| 欧美成人tv| 国产系列第一页| 中中文字幕av在线| 久久久999精品免费| 韩国专线一区二三区| 亚洲一区二区综合|