Ⅰ 單片機中的位定址誰能詳細的給講解一下啊
在單片機中集成有一位處理器,而不同的CPU有屬於自己不同的指令,所以在單片機中有部分專門的位處理指令,其中部分位處理指令採用的定址方式就為位定址方式.
而所謂的位定址和一般的存儲單元定址本質上是一樣的,只不過它的每個單元只能存儲一個二進制位,每個位單元有一個位地址,要訪問某個位單元,必須先找到該單元的位地址,找它的方式就叫位定址方式了.
比如在MCS51單片機里,它把內部RAM區的20H~2FH的16個位元組作為位定址區,每個位元組8位,共有128個位單元,從20H位元組單元的最低位開始位編址,而一般的起始地址都是從0開始,所以位地址為00~7FH.具體指令如MOVC,04H中的源操作數
為位定址方式,訪問的是位元組單元20H的D4位也就是20H.4
Ⅱ 51單片機串口是什麼工作方式
51 單片機內部有一個全雙工串列介面。什麼叫全雙工串口呢?一般來說,只能接受或只能發送的稱為單工串列;既可接收又可發送,但不能同時進行的稱為半雙工;能同時接收和發送的串列口稱為全雙工串列口。串列通信是指數據一位一位地按順序傳送的通信方式,其突出優點是只需一根傳輸線,可大大降低硬體成本,適合遠距離通信。其缺點是傳輸速度較低。
串口可以有底下四種工作方式
1、方式0
串列介面的工作方式0為移位寄存器I/O方式。在串列口外接移位寄存器以擴展I/O介面,也可以外接串列同步I/O的設備。
(1)方式0輸出
串列口以方式0發送時,數據以RXD端串列輸出,TXD端輸出同步信號。當一個數據寫入串列口發送緩沖器以後,就啟動串列口發送器以振盪頻率的十二分之一的波特率,將數據從RXD端串列輸出。
(2)方式0輸入
當串列口定義為方式0並置位REN後,便啟動串列口以方式0接收數據,此時RXD端為數據輸入端,TXD端為同步脈沖信號輸出端。接收器以振盪率的十二分之一的波特率接收RXD端輸入的數據信息。但接收器接收到8位數據時,置1中斷標志RI。
2、方式1
串列介面定義為工作方式1時,則被控制為8位的非同步通訊介面,傳送一幀信息為10位,其中1位為起始位,8位數據位(先低位後高位),1位停止位。
(1)方式1輸出
串列介面以方式1發送時,數據由TXD端輸出。CPU執行一條數據寫入發送緩沖
器SBUF的指令(例如,MOVSBUF,A),數據位元組寫入SBUF後,便啟動串列口發送器發送,發送完一幀信息,置1放送中斷標志TI。
(2)方式1輸入
串列口以方式1接收時,數據從RXD端輸入。在REN置1以後,就允許接收器接收。接收器以所建立的波特率的16倍分頻計數器,以便實現時間同步。計數器的16個狀態把一位的時間等分成16份,在每位時間的第7、8和9個計數狀態,位檢測器采樣RXD的值,接收的值是3次采樣中取至少二次相同的值,以排除雜訊的干擾。如果在起始接收的值不是0,則起始位無效,復位接收電路。在檢測到另一個1到0的跳變時,再重新啟動接收器。如果接收到值為0,起始位有效,則開始接收本幀的其餘信息。當RI=0並且接收到的停止位為1(或SM2=0)時,停止位進入RB8,接收到的8位數據進入接收緩沖器SBUF,置位RI中斷標志。接著接收便搜索另一幀信息的起始位。
3、方式2和方式3
串列介面工作方式2和方式3時,則被定義為9位的非同步通信介面。傳送一幀信息為11位,其中1位起始位,8位數據位(從低位至高位),1位是附加的可程式控制為1或0的第9位數據,1位停止位。
方式2和方式3的差別僅僅在於波特率不一樣,方式2的波特率是固定的,波特率為2SMOD/64(振盪頻率);方式3的波特率是可變的,波特率=2SMOD/32(T1的溢出率)。
方式2和方式3在發送和接收時唯一的區別就是波特率不同。
(1)方式2和方式3發送
方式2或方式3發送時,數據由TXD端輸出,發出一幀信息為11位,附加的第9位數據是SCON中的TB8,CPU執行一條數據寫入發送緩沖器SBUF的指令,就啟動發送器發送,發送完一幀信息,置「1」TI中斷標志。
(2)方式2和方式3接收
串列口被定義為方式2或方式3接收時,數據從RXD端輸入,置REN=1以後,開始接收過程。當檢測到RXD端從高到低的負跳變時,確認起始位有效,開始接收本幀的其餘信息。在接收完一幀信息後,在RI=0、SM2=0時,或接收到第9位數據為「1」時,8位數據裝入接收緩沖器,第9位數據裝入SCON中RB8,並置RI=1。若不滿足上述的兩個條件,接收到的信息將會丟失,也不置位RI
Ⅲ 51單片機串列通信起始位和停止位的電平狀態
非同步串列數據的一般格式是:起始位+數據位+停止位,起始位值為0,是一位時間的低電平;停止位值為1,是高電平。
Ⅳ 要設置51系列單片機串口工作於所需工作方式,應是對哪個專用寄存器進行操作
控制51單片機串列口的控制寄存器共有兩個:特殊功能寄存器SCON和PCON。下面對這兩個寄存器各個位的功能予以詳細介紹。
1.串列口控制寄存器SCON
串列口控制寄存器SCON的格式如表4.4:
SM0、SM1:串列口4種工作方式的選擇位。
SM2:允許方式2和3的多機通訊控制位。在方式2或3中,如果SM2置為l,則接收到的第9位數據(RB8)為0時不激活RI。在方式1時,如果SM2=1,則只有收到有效的停止位時才會激活RI。在方式0時,SM2必須清0。
REN:允許串列接收位。由軟體置1或清0。REN=l允許接收,REN=O則禁止接收。
TB8:是工作在方式2和3時,要發送的第9位數據。需要時由軟體置1或清0。在許多的通訊協議中該位是奇偶校驗垃。在多機通訊中用來表示是地址幀或是數據幀,TB8=1為地址幀,TB8=0為數據幀。
RB8:當工作在方式2和3時,為接收到的第9位數據。在多機通訊中為地址幀或數據幀的標識位。在方式1,如果SM2=0,RB8是接收到的停止位。在方式0,不使用RB8。
D7 D6 D5 D4 D3 D2 D1 D0
SM0 SM1 SM2 REN TB8 RB8 TI RI
T1:發送中斷標志位,在方式O串列發送第8位數據結束時由硬體置1,或在其它方式串列發送停止位的開始時置1。TI=1時,申請中斷,CPU響應中斷後,發送下一幀數據。TI必須由軟體清0。 表4.4 串列口控制寄存器SCON的格式
RI:接收中斷標志位,在方式O串列接收到第8位數據結束時,由硬體置1。在其它方式中,串列接收到停止位的中間點時置1。RI=1時申請中斷,要求CPU取走數據。但在方式1中,SM2=1時,若未收到有效的停止位,不會對RI置1。RI必須由軟體清0。
SCON的所有位都能由軟體清0。
2.特殊功能寄存器PCON
特殊功能寄存器PCON沒有位定址功能。PCON的格式如表4.5:
表4.5 特殊功能寄存器PCON的格式
D7 D6 D5 D4 D3 D2 D1 D0
SMON × × × × × × ×
SMOD:波特率系數選擇位。
3.串列口工作方式
方式0:8位移位寄存器輸入/輸出方式。在擴展I/O埠外接移位寄存器時常用,其波特率固定為Fosc/12, Fosc為時鍾頻率;
方式1:10位非同步通信方式。其中1個起始位,8個數據位和一個停止位,其波特率計算公式為:波特率=2的SMOD次方/32*(定時器T1的溢出率);
方式2,3:11位非同步通信方式,其中一個起始位,8個數據位,1個附加的第9位和1個停止位,方式2和方式3僅只有波特率不同,方式2的波特率=2的SMOD次方/64*Fosc,方式3的波特率=2的SMOD次方/32*(定時器T1的溢出率)。
此次系統串列口工作方式是:01。
SM0、SM1兩位為01時,串列口以方式1上作,方式1時串列口被控制為波特率可變的8位非同步通訊介面。方式1的波特彩由下式確定:
方式l波特率=2的(SMOD-5)次方*定時器1的溢出率
式中SMOD為PCON寄存器的最高位的值(0或1)。
因為串列口用於連接列印機,所以這里只介紹串列口輸出情況。
串列口以方式1輸出時,數據位由TXD端輸出,發送—幀信息為10位,1位起始位0,8位數據位(先低位)和1位停止位1,CPU執行一條數據寫發送緩沖器SBUF的指令,就啟動發送。當發送完數據位,置「1」中斷標志TI。
Ⅳ 51單片機的串口接收一幀數據有幾位
發送的位數跟工作方式有關。51單片機的發送和接受,只有10位和11位兩種。
先說單片機串口的工作方式:
單片機串口的工作方式共4種,方式0--方式3.
方式0:用移位脈沖。RXD做輸入/輸出,TXD進行移位。收發的數據為八位。
方式1:傳送一幀信息為10位,即1位起始位(0),8位數據位(低位在先)和1位停止位(1)。數據位由TXD發送,由RXD接收
方式1:一幀信息也是10位;即 1位起始位,8位數據位(先低位),1位停止位。在起始位到達移位寄存器的最左位時,它使控制電路進行最後一次移位。
方式2和方式3:發送(通過TXD)和接收(通過RXD)一幀信息都是 11位: 1位起始位(0), 8位數據位(低位在先),1位可編程位(即第9位數據)和1位停止位(1)。
可見:不論單片機串口接收還是發送一幀數據是多少位,實際有效位數據位都是8位,其餘位是為了奇偶校驗、做起始位或終止位用的。
以前所述有誤,特修正。
Ⅵ 51單片機串列通信起始位和停止位的電平狀態
非同步串列數據的一般格式是:起始位+數據位+停止位,其中起始位1 位,數據位可以是5、6、7、8位,停止位可以是1、1.5、2位。
起始位是一個值為0的位,所以51單片機,起始位是一位時間的低電平;停止位是值為1的位,所以對於51單片機,停止位是高電平。