久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

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

51單片機的串口中斷設置

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

 首先,你要用軟件允許中斷,

即C語言中EA = 1; 允許總中斷ES = 1;
//允許串口中斷匯編中可用
SETB EA ;允許總中斷
SETB ES ;允許串口中斷
當單片機接收到一幀數據后,RI會置1,向CPU申請中斷,若之前有中斷允許,則產生了中斷,進入中斷服務程序。
當然,單片機發送完一幀數據,TI也會置1,同樣會產生中斷!
一般我們在發送數據時要關中斷,因為一般你不用在發送時不用處理數據;
接收數據時要開中斷,以便你在中斷服務程序中將接收到的數據進行存儲并處理。
補充:其實,不管你有沒有允許中斷,上位機(此時即給單片機發送信息的機器)只要給單片機發送數據,單片機就會自動接收數據,并把它放在數據緩沖器SBUF中,如果你之前有允許串行口中斷,RI就會置1,向單片機CPU申請中斷,并進入中斷服務程序,做完中斷函數后就會自動返回斷點。如果你沒有允許中斷,便不會產生串行中斷。其實,別的中斷都是某個I/O口電平變化產生。這只是外部中斷產生條件,不過,你之前也需要用軟件允許外部中斷。
另外,常見的51系列單片機有5個中斷源三種中斷5:
1、外部中斷0和1;
2、定時器/計數器溢出中斷0和1;
3、串行口中斷。
另外,STC51系列還有定時器/計數器T2中斷,A/D轉換中斷,PWM中斷,串行中斷2等等。你還有什么不懂的可以自己多翻一翻書,學到后面去了你就明白了。
中斷服務程序中,那條 RI=0;是不可少的,這是用軟件清零RI,準備再次接受一幀數據產生中斷,如果你沒有這條語句,就會進入死循環,出不來了。
void serial() interrupt 4
{ P1=SBUF;
RI=0;
}
 
關閉窗口

相關文章

主站蜘蛛池模板: 欧美日韩精品一区二区天天拍 | 国产91在线 | 中日 | 男女下面一进一出网站 | 亚洲精品自在在线观看 | 91国在线 | 天天操天天干天天透 | 国产女人与拘做受视频 | 欧美日韩在线一区二区 | 美女黄视频网站 | 久久99国产精品 | 亚洲欧美一区二区三区国产精品 | 久久777| 美日韩免费视频 | 97精品超碰一区二区三区 | 久久精品国产一区二区三区 | 亚洲国产小视频 | 91传媒在线观看 | 久久婷婷色 | 成人午夜影院 | 欧美精品成人影院 | 欧美日韩一区二区在线 | 成人精品一区二区三区 | 亚洲免费成人av | 久久一区二区视频 | 久久久久国产精品 | 性做久久久久久免费观看欧美 | 久久精品国产亚洲一区二区 | 精品免费国产一区二区三区四区 | 久久精品国产一区二区电影 | 在线播放中文字幕 | 亚洲天堂中文字幕 | 午夜视频在线 | 国产ts人妖系列高潮 | 99免费在线观看 | 色偷偷噜噜噜亚洲男人 | 欧美一区二区大片 | 亚洲精品免费视频 | 91精品国产乱码久久久久久 | 日韩视频一区二区三区 | 国产一区二区三区在线免费 | 欧美一级久久 |