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

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

關于串行口控制寄存器SCON

作者:玉另符   來源:本站原創   點擊數:  更新時間:2013年12月03日   【字體:

在具體操作串口之前需要對單片機的一些與串口有關的特殊功能寄存器進行初始化設置,主要是設置產生波特率的定時器1、串行口控制和中斷控制。具體步驟如下:

1.         確定T1的工作方式(編程TMOD寄存器)

2.         計算T1的初值,載入TH1、TL1

3.         啟動T1(編程TCON中的TR1位)

4.         確定串行口工作方式(編程SCON寄存器)

5.         串行口工作在中斷方式時,要進行中斷設置(編程IE,IP)

 


在第4步初始化當中:
REN=-1;
SM0=0;
SM1=1;

這三位都是串行口控制寄存器SCON里的,單片機剛上電時SCON被清零,因為串口方式為0,穿行口為同步移位寄存器的輸入/輸出方式,當執行完REN = 1這條語句后,它便直接開始從RXD引腳接收數據,并不管它連接的系統有無發送數據這是SM0和SM1還未被操作,可單片機串口寄存器已經收到數據,并且已經產生了串口中斷。
當運行完SM0=0;SM1=1這兩條指令后,串口方式才被設置為工作方式1,這時才終止串口接收數據。

修改方法:
先設置串口模式,再允許串口接收,這樣就可以避開串口方式0接收數據。
SM0=0;
SM1=1;
REN=1;

ES是中斷允許位。如果你ES=0的話

TI 和RI為1,都不會去執行串口中斷函數。


TI是發送標志位。發送完成,該位置1,他跟ES沒關系。

RI是接收標志位,接收完成,該位置1,也跟 ES沒直接關系。

一般來說,ES就是當有TI或RI事件發生時,是否跳出當前所在執行的函數到中斷函數里去處理。

 

REN:允許接收位。

REN用于控制數據接收的允許和禁止,REN=1時,允許接收,REN=0時,禁止接收。


EA (IE.7):

EA=0時,所有中斷禁止(即不產生中斷);EA=1時,各中斷的產生由個別的允許位決定


ES (IE.4):

串行口中斷充許(ES=1充許,ES=0禁止)

不是執行REN激活的串口中斷4,而是ES =1打開的串口中斷4

REN是和中斷無關的參數,只是控制串口接收的數據進入到BUFFER中,并不產生數據中斷

 
最后來看看位于IE寄存器中的ES位,如表12.4所示。

表12.4  中斷允許寄存器IE


IE
 D7 D6    D5  D4    D3   D2   D1        D0
EA - ET2 ES ET1     EX1       ET0      EX0
 S是串行口中斷允許位,位于地址為0XA8的中斷允許寄存器IE中的第4位。
ES位用來控制單片機串行口的使能。當ES = 0時,不允許串口中斷,當ES = 1時,則允許串口產生中斷。

串口的中斷同時還受到單片機的總中斷控制位EA的控制。當EA=0時,單片機屏蔽所有的中斷請求,只有當EA=1,且ES=1時才允許產生串口中斷。

關閉窗口

相關文章

主站蜘蛛池模板: 全免费a级毛片免费看视频免费下 | 国产一级在线观看 | 久久精片 | aa级毛片毛片免费观看久 | 国产精品3区 | 中文字幕高清一区 | 99国内精品久久久久久久 | 欧美在线一区二区三区 | 国产精品久久久久久久久久久久冷 | 九九综合 | www.色午夜.com | 福利精品在线观看 | 精品免费国产一区二区三区 | 中文字幕一区二区在线观看 | 亚洲天堂av在线 | 亚洲成人综合网站 | 九九色综合 | 欧美99| 久久久久成人精品免费播放动漫 | 亚洲欧美在线免费观看 | 精品国产乱码一区二区三区 | 亚洲精品中文字幕在线观看 | 91精品国产综合久久久久久蜜臀 | 国产欧美精品一区二区三区 | 精品乱码一区二区 | 日日骚av| 中国一级毛片免费 | 91免费在线视频 | 国产男女视频 | 新91| 久久精品亚洲 | 搞黄视频免费看 | 久久人人爽人人爽 | 亚洲视频欧美视频 | 国产精品久久久久久久久久了 | 成人精品一区二区 | 在线观看视频亚洲 | 色综合一区二区三区 | 精品国产区 | 国产精品久久久久久久免费大片 | 亚洲精品免费视频 |