MCS-51單片機控制字詳解
寄存器地址D0H,位尋址D7H~D0H。
位地址 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
位符號 | CY | AC | F0 | RS1 | RS0 | OV | - | P |
CY——進位標(biāo)記
AC——半進位標(biāo)記
F0——用戶設(shè)定標(biāo)記
RS1、RS0——4個工作寄存器區(qū)的選擇位。
VO——溢出標(biāo)記
P——奇偶校驗標(biāo)記
PCON:電源控制器及波特率選擇寄存器
字節(jié)地址=87H,不可位尋址
SMOD | - | - | POF | GF1 | GF0 | PD | IDL |
SMOD——波特率倍增位
GF1、GF0——用戶通用標(biāo)記
PD——掉電方式控制位,PD=1時進入掉電模式
IDL——空閑方式控制位,IDL=1時進入空閑方式
在AT89S51中PCON.4是電源斷電標(biāo)記位POF,上電是為1
SCON:串行口控制寄存器
寄存器地址98H,位尋址9FH~98H。
位地址 | 9F | 9E | 9D | 9C | 9B | 9A | 99 | 98 |
位符號 | SM0 | SM1 | SM2 | REN | TB8 | RB8 | TI | RI |
SM0、SM1:串行口工作方式選擇位
SM2:多機通信控制位
REN:允許/禁止串行口接收的控制位
TB8:在方式2和方式3中,是被發(fā)送的第9位數(shù)據(jù),可根據(jù)需要由軟件置1或清零,也可以作為奇偶校驗位,在方式1中是停止位。
RB8:在方式2和方式3中,是被接收的第9位數(shù)據(jù)(來自第TB8位);在方式1中,RB8收到的是停止位,在方式0中不用。
TI——串行口發(fā)送中斷請求標(biāo)志位
當(dāng)發(fā)送完一幀串行數(shù)據(jù)后,由硬件置1;在轉(zhuǎn)向中斷服務(wù)程序后,用軟件清0。
RI——串行口接收中斷請求標(biāo)志位
當(dāng)接收完一幀串行數(shù)據(jù)后,由硬件置1;在轉(zhuǎn)向中斷服務(wù)程序后,用軟件清0。
TMOD:工作方式控制寄存器
寄存器地址89H,不可位尋址。
位序 | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
位符號 | GATE | C/T | M1 | M0 | GATE | C/T | M1 | M0 |
GATE——門控位
當(dāng)=0時,以TR0(或TR1)狀態(tài)決定定時器/計數(shù)器的啟動或禁止
當(dāng)=1時,以TR0與INT0(或TR1與INT1)狀態(tài)決定定時器/計數(shù)器的啟動或禁止
C/T=0 定時/計數(shù)工作方式選擇位 0為定時器 1為計數(shù)器。
M1M0——工作方式選擇位
M1M0=00 方式0:是13位計數(shù)結(jié)構(gòu)的工作方式,其計數(shù)器由TH全部8位和TL的低5位構(gòu)成。
M1M0=01 方式1:是16位計數(shù)結(jié)構(gòu)的工作方式,計數(shù)器由TH全部8位和TL全部8位構(gòu)成。
M1M0=10 方式2:自動裝入8位計數(shù)器。
M1M0=11 方式3:定時器/計數(shù)器0被拆成兩個獨立的8位計數(shù)器TL0和TH0。其中TL0既可以計數(shù)使用,又可以定時使用,定時器/計數(shù)器0的各控制位和引腳信號全歸它使用。
T2MOD:工作方式控制寄存器
寄存器地址0C9H,不可位尋址
- | - | - | - | - | - | T2OE | DCEN |
T2OE:定時器2輸出允許位,當(dāng)=1時,P1.0/T2引腳輸出連續(xù)脈沖信號
DCEN:當(dāng)=1時,T2配置成向上向下計數(shù)器
P3口的代替功能
寄存器地址B0H,位尋址B7H~B0H。
引腳 | P3.0 | P3.1 | P3.2 | P3.3 | P3.4 | P3.5 | P3.6 | P3.7 |
代替功能 | RXD | TXD | /INT0 | /INT1 | T0 | T1 | /WR | /RD |
TCON:定時器控制寄存器
寄存器地址88H,位尋址8FH~88H。
位地址 | 8F | 8E | 8D | 8C | 8B | 8A | 89 | 88 |
位符號 | TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 |
TF0(TF1)——計數(shù)溢出標(biāo)志位,當(dāng)計數(shù)器計數(shù)溢出時,該位置1。
TR0(TR1)——定時器運行控制位
當(dāng)TR0(TR1)=0停止定時器/計數(shù)器工作
當(dāng)TR0(TR1)=1啟動定時器/計數(shù)器工作
IE0(IE1)——外中斷請求標(biāo)志位
當(dāng)CPU采樣到P3.2(P3.3)出現(xiàn)有效中斷請求時,此位由硬件置1。在中斷響應(yīng)完成后轉(zhuǎn)向中斷服務(wù)時,再由硬件自動清0。
IT0(IT1)——外中斷請求信號方式控制位
當(dāng)IT0(IT1)=1 脈沖方式(后沿負跳有效)
當(dāng)IT0(IT1)=0 電平方式(低電平有效)此位由軟件置1或清0。
TF0(TF1)——計數(shù)溢出標(biāo)志位
當(dāng)計數(shù)器產(chǎn)生計數(shù)溢出時,此位由硬件置1。當(dāng)轉(zhuǎn)向中斷服務(wù)時,再有硬件自動清0。計數(shù)溢出的標(biāo)志位的使用有兩種情況:采用中斷方式時,作中斷請求標(biāo)志位來使用;采用查詢方式時,作查詢狀態(tài)位來使用。
T2CON:定時器控制寄存器
寄存器地址0C8H,位尋址0C8H~0CFH。
位地址 | CF | CE | CD | CC | CB | CA | C9 | C8 |
位符號 | TF2 | EXF2 | RCLK | TCLK | EXEN2 | TR2 | C/T2 | CP/RL2 |
TF2:T2溢出標(biāo)記
當(dāng)T2溢出時TF2=1,TD2只能用軟件清除
當(dāng)RCLK=1或TCLK=1時,TF2將不置位
EXF2:T2外部標(biāo)記
當(dāng)EXEN2=1時,T2EX/P1.1引腳上的負跳變引起T2的捕捉/重裝操作,此時EXF2=1。在T2中斷允許時,EXF2=1將引起中斷,EXF2只能用軟件清除。在T2的向上、向下計數(shù)模式下(DCEN=1)EXF2的置位將不引起中斷。
RCLK:接收時鐘允許
當(dāng)RCLK=1時,T2的溢出脈沖可用作串行口的接收時鐘信號,適于串行口模式1、3當(dāng)RCLK=0時,T1的溢出脈沖用作串行口接收時鐘信號
TCLK:發(fā)送時鐘允許
EXEN2:T2外部事件(引起捕捉/重裝的外部信號)允許
當(dāng)EXEN2=1時,如果T2沒有作串行時鐘輸出(即RCLK+TCLK=0),則在T2EX/P1.1引腳跳變將引起T2的捕捉/重裝操作;
當(dāng)EXEN2=0時,在T2EX引腳的負跳變將不起作用
TR2:T2的啟動/停止控制
C/T2:計數(shù)定時
CP/RL2:捕捉/重裝選擇
當(dāng)CP/RL2=1且EXEN2=1時,T2EX/P1.1引腳的負跳變將引起捕捉操作
當(dāng)CP/RL2=0且EXEN2=1時,T2EX/P1.1引腳的負跳變將引起重裝操作
當(dāng)CP/RL2=0且EXEN2=0時,T2的溢出將引起T2的自動重裝操作
當(dāng)RCLK+TCLK=1時,CP/RL2控制位不起作用,T2被強制工作于重裝方式。重裝方式發(fā)生于T2溢出時,常用來作波特率發(fā)生器。
IE:中斷允許控制寄存器
寄存器地址A8H,位尋址AFH~A8H。
位地址 | AF | AE | AD | AC | AB | AA | A9 | A8 |
位符號 | EA | / | ET2 | ES | ET1 | EX1 | ET0 | EX0 |
EA:中斷允許總控制位
當(dāng)EA=0時,中斷總禁止。
當(dāng)EA=1時,中斷總允許后中斷的禁止與允許由各中斷源的中斷允許控制位進行設(shè)置。
EX0( EX1):外部中斷允許控制位
當(dāng)EX0( EX1)=0 禁止外中斷
當(dāng)EX0( EX1)=1 允許外中斷
ET0(EX1):定時/計數(shù)中斷允許控制位
當(dāng)ET0(ET1)=0禁止定時(或計數(shù))中斷
當(dāng)ET0(ET1)=1允許定時(或計數(shù))中斷
ET2:定時器2中斷允許控制位,在AT89S52、AT89C52中
ES:串行中斷允許控制位
當(dāng)ES=0禁止串行中斷
當(dāng)ES=1允許串行中斷
IP:中斷優(yōu)先級控制寄存器
寄存器地址B8H,位尋址BFH~B8H。
位地址 | BF | BE | BD | BC | BB | BA | B9 | B8 |
位符號 | / | / | PT2 | PS | PT1 | PX1 | PT0 | PX0 |
PX0——外部中斷0優(yōu)先級設(shè)定位
PT0——定時中斷0優(yōu)先級設(shè)定位
PX1——外部中斷1優(yōu)先級設(shè)定位
PT1——定時中斷1優(yōu)先級設(shè)定位
PS——串口中斷優(yōu)先級設(shè)定位
PT2——定時器2優(yōu)先級設(shè)定位
AUXR:輔助寄存器
字節(jié)地址=8EH,不可位尋址
- | - | - | WDIDLE | DISRTO | - | - | DISALE |
WDIDLE:WTD在空閑模式下的禁止/允許位
當(dāng)WDIDLE=0時,WDT在空閑模式下繼續(xù)計數(shù)
當(dāng)WDIDLE=1時,WDT在空閑模式下暫停計數(shù)
DISRTO:禁止/允許WDT溢出時的復(fù)位輸出
當(dāng)DISRTO=0時,WDT定時器溢出時,在RST引腳輸出一個高電平脈沖
當(dāng)DISRT0=1時,RST引腳為輸入腳
DISALE :ALE禁止/允許位
當(dāng)DISALE=0時,ALE有效,發(fā)出恒定頻率脈沖
當(dāng)DISALE=1時,ALE僅在CPU執(zhí)行MOVC和MOVX類指令時有效,不訪問外寄存器時,ALE不輸出脈沖信號
AUXR1:輔助寄存器1
字節(jié)地址=A2H,不可位尋址
- | - | - | - | - | - | - | DPS |
DPS:數(shù)據(jù)指針寄存器選擇位
當(dāng)DPS=0時,選擇數(shù)據(jù)指針寄存器DPRT0
當(dāng)DPS=1時,選擇數(shù)據(jù)指針寄存器DPRT
評論