搜档网
当前位置:搜档网 › 单片机特殊功能寄存器及相应功能

单片机特殊功能寄存器及相应功能

单片机特殊功能寄存器及相应功能
单片机特殊功能寄存器及相应功能

SPECIAL FUNCTION REGISTER ??

Register (MSB) (LSB) Byte

Symbol b7 b6 b5 b4 b3 b2 b1 b0 Address

P0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 80H(128)

SP 81H(129)

DPL 82H(130)

DPH 83H(131)

PCON SMOD - - - GF1 GF0 PD IDL 87H(135)

*PCON SMOD - - WLE GF1 GF0 PD IDL 87H(135)

TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 88H(136)

TMOD GATE C/T M1 M0 GATE C/T M1 M0 89H(137)

TL0 8AH(138)

TL1 8BH(139)

TH0 8CH(140)

TH1 8DH(141)

P1 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 T2EX T2 90H(144)

*P1 SDA SCL RT2 T2 CT3I CT2I CT1I CT0I 90H(144)

SCON SM0 SM1 SM2 REN TB8 RB8 TI RI 98H(152)

SBUF 99H(153)

P2 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 0A0H(208)

IE EA - ET2 ES ET1 EX1 ET0 EX0 0A8H(168)

*IEN0 EA EAD ES1 ES0 ET1 EX1 ET0 EX0 0A8H(168)

+CML0 0A9H(169)

+CML1 0AAH(170)

+CML2 0ABH(171)

+CTL0 0ACH(172)

+CTL1 0ADH(173)

+CTL2 0AEH(174)

+CTL3 0AFH(175)

P3 RD WR T1 T0 INT1 INT0 TXD RXD 0B0H(176)

IP - - PT2 PS PT1 PX1 PT0 PX0 0B8H(184)

*IP0 - PAD PS1 PS0 PT1 PX1 PT0 PX0 0B8H(184)

+P4 CMT1 CMT0 CMSR5 CMSR4 CMSR3 CMSR2 CMSR1 CMSR0 0C0H(192)

+P5 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 0C4H(196)

+ADCON ADC.1 ADC.0 ADEX ADCI ADCS AADR2 AADR1 AADR0 0C5H(197)

+ADCH 0C6H(198)

T2CON TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RL2 0C8H(200)

*TM2IR T2OV CMI2 CMI1 CMI0 CTI3 CTI2 CTI1 CTI0 0C8H(200)

+CMH0 0C9H(201)

RCAP2L 0CAH(202)

*CMH1 0CAH(202)

RCAP2H 0CBH(203)

*CMH2 0CBH(203)

TL2 0CCH(204)

*CTH0 0CCH(204)

TH2 0CDH(205)

*CTH1 0CDH(205)

+CTH2 0CEH(206)

+CTH3 0CFH(207)

PSW CY AC F0 RS1 RS0 OV F1 P 0D0H(208)

+S1CON ENS1 STA STO SI AA CR1 CR0 0D8H(216)

+S1STA SC4 SC3 SC2 SC1 SC0 0 0 0 0D9H(217)

+S1DAT 0DAH(218)

+S1ADR SLAVE ADDRESSGC 0DBH(219)

ACC ACC.7 ACC.6 ACC.5 ACC.4 ACC.3 ACC.2 ACC.1 ACC.0 0E0H(224)

+IEN1 ET2 ECM2 ECM1 ECM0 ECT3 ECT2 ECT1 ECT0 0E8H(232)

+TM2CON T2IS1 T2IS0 T2ER T2B0 T2P1 T2P0 T2MS1 T2MS0 0EAH(234) +CTCON CTN3 CTP3 CTN2 CTP2 CTN1 CTP1 CTN0 CTP0 0EBH(235) +TML2 0ECH(236)

+TMH2 0EDH(237)

+STE TG47 TG46 SP45 SP44 SP43 SP42 SP41 SP40 0EEH(238)

+RTE TP47 TP46 RP45 RP44 RP43 RP42 RP41 RP40 0EFH(239)

B B.7 B.6 B.5 B.4 B.3 B.2 B.1 B.0 0F0H(240)

+IP1 PT2 PCM2 PCM1 PCM0 PCT3 PCT2 PCT1 PCT0 0F8H(248)

+PWM0 0FCH(252)

+PWM1 0FDH(253)

+PWMP 0FEH(254)

+T3 0FFH(255)

Notes: 1. * denotes the difference between 80C552 and 8051

2. + denotes the addition of 80C552

/*--------------------------------------------------------------------------

W77C32.H - preliminary release

Header file for Winbond microcontroller W77C32

Based on the Preliminary Release form March 1999

Copyright (c) 1988-1999 Keil Elektronik GmbH and Keil Software, Inc. All rights reserved.

--------------------------------------------------------------------------*/

/* BYTE Registers */

sfr P0 = 0x80;

sfr P1 = 0x90;

sfr P2 = 0xA0;

sfr P3 = 0xB0;

sfr P4 = 0xA5;

sfr PSW = 0xD0;

sfr ACC = 0xE0;

sfr B = 0xF0;

sfr SP = 0x81;

sfr DPL = 0x82;

sfr DPH = 0x83;

sfr PCON = 0x87;

sfr TCON = 0x88;

sfr TMOD = 0x89;

sfr TL0 = 0x8A;

sfr TL1 = 0x8B;

sfr TH0 = 0x8C;

sfr TH1 = 0x8D;

sfr IE = 0xA8;

sfr IP = 0xB8;

sfr SCON = 0x98;

sfr SBUF = 0x99;

sfr T2CON = 0xC8;

sfr T2MOD = 0xC9;

sfr RCAP2L = 0xCA;

sfr RCAP2H = 0xCB;

sfr TL2 = 0xCC;

sfr TH2 = 0xCD;

/* W77C32 extensions */

sfr DPS = 0x86;

sfr CKCON = 0x8E;

sfr EXIF = 0x91;

sfr SADDR = 0xA9;

sfr SADDR1 = 0xAA;

sfr SADEN = 0xB9;

sfr SADEN1 = 0xBA;

sfr SCON1 = 0xC0;

sfr SBUF1 = 0xC1;

sfr ROMMAP = 0xC2;

sfr PMR = 0xC4;

sfr STATUS = 0xC5;

sfr TA = 0xC7;

sfr WDCON = 0xD8;

sfr EIE = 0xE8;

sfr EIP = 0xF8;

/* BIT Registers */ /* P0 */

sbit P0_7 = P0^7; sbit P0_6 = P1^6; sbit P0_5 = P0^5; sbit P0_4 = P1^4; sbit P0_3 = P0^3; sbit P0_2 = P1^2; sbit P0_1 = P0^1; sbit P0_0 = P1^0;

/* TCON */

sbit TF1 = TCON^7; sbit TR1 = TCON^6; sbit TF0 = TCON^5; sbit TR0 = TCON^4; sbit IE1 = TCON^3; sbit IT1 = TCON^2; sbit IE0 = TCON^1; sbit IT0 = TCON^0;

/* P1 */

sbit P1_7 = P1^7; sbit P1_6 = P1^6; sbit P1_5 = P1^5; sbit P1_4 = P1^4; sbit P1_3 = P1^3; sbit P1_2 = P1^2;

sbit P1_0 = P1^0;

/* SCON */

sbit SM0 = SCON^7; sbit SM1 = SCON^6; sbit SM2 = SCON^5; sbit REN = SCON^4; sbit TB8 = SCON^3; sbit RB8 = SCON^2; sbit TI = SCON^1; sbit RI = SCON^0;

/* P2 */

sbit P2_7 = P2^7; sbit P2_6 = P2^6; sbit P2_5 = P2^5; sbit P2_4 = P2^4; sbit P2_3 = P2^3; sbit P2_2 = P2^2; sbit P2_1 = P2^1; sbit P2_0 = P2^0;

/* IE */

sbit EA = IE^7; sbit ES1 = IE^6; sbit ET2 = IE^5; sbit ES = IE^4; sbit ET1 = IE^3; sbit EX1 = IE^2; sbit ET0 = IE^1; sbit EX0 = IE^0;

/* P3 */

sbit RD = P3^7; sbit WR = P3^6; sbit T1 = P3^5; sbit T0 = P3^4; sbit INT1 = P3^3; sbit INT0 = P3^2; sbit TXD = P3^1; sbit RXD = P3^0;

/* IP */

sbit PT2 = IP^5;

sbit PS = IP^4;

sbit PT1 = IP^3;

sbit PX1 = IP^2;

sbit PT0 = IP^1;

sbit PX0 = IP^0;

/* SCON1 */

sbit SM0_1 = SCON1^7; // alternative FE_1 sbit SM1_1 = SCON1^6;

sbit SM2_1 = SCON1^5;

sbit REN_1 = SCON1^4;

sbit TB8_1 = SCON1^3;

sbit RB8_1 = SCON1^2;

sbit TI_1 = SCON1^1;

sbit RI_1 = SCON1^0;

/* T2CON */

sbit TF2 = T2CON^7;

sbit EXF2 = T2CON^6;

sbit RCLK = T2CON^5;

sbit TCLK = T2CON^4;

sbit EXEN2 = T2CON^3;

sbit TR2 = T2CON^2;

sbit C_T2 = T2CON^1;

sbit CP_RL2 = T2CON^0;

/* PSW */

sbit CY = PSW^7;

sbit AC = PSW^6;

sbit F0 = PSW^5;

sbit RS1 = PSW^4;

sbit RS0 = PSW^3;

sbit OV = PSW^2;

sbit F1 = PSW^1;

sbit P = PSW^0;

/* WDCON */

sbit SMOD_1 = WDCON^7;

sbit POR = WDCON^6;

sbit WDIF = WDCON^4;

sbit WTRF = WDCON^3;

sbit EWT = WDCON^1;

sbit RWT = WDCON^0;

/* EIE */

sbit EWDI = EIE^4;

sbit EX5 = EIE^3;

sbit EX4 = EIE^2;

sbit EX3 = EIE^1;

sbit EX2 = EIE^0;

/* EIP */

sbit PWDI = EIP^4;

sbit PX5 = EIP^3;

sbit PX4 = EIP^2;

sbit PX3 = EIP^1;

sbit PX2 = EIP^0;

w77858或80c302的c51头文件

w77858或80c302的c51头文件

内有详细寄存器介绍

/*--BYTE Registers-------------------------------------------------*/

sfr P0 = 0x80;

sfr P1 = 0x90;

sfr P2 = 0xA0;

sfr P3 = 0xB0;

#define p0 P0

#define p1 P1

#define p2 P2

#define p3 P3

sfr PSW = 0xD0;

sfr ACC = 0xE0;

sfr B = 0xF0;

sfr SP = 0x81;

sfr DPL = 0x82;

sfr DPH = 0x83;

sfr PCON = 0x87;//PCON.7(SMOD)拨特率加倍,PCON.1(PD)掉电方式,PCON.0(IDL)冻结方式

//PCON.6(SMOD0)帧错检测允许,PCON.3(GF1)PCON.2(GF0)

sfr TCON = 0x88;//定时控制寄存器

sfr TMOD = 0x89;//"gate,c/t,m1,m0"x2定时器方式GATE=1时只有intx=1时才可以开放定时器x;//c/t =1时计书数方式,=0时定时方式。m1m0=00时13位计数,=01时16位=10时自装入8位,

//11时定时器0分两个,定时器1停止。

sfr TL0 = 0x8A;

sfr TL1 = 0x8B;

sfr TH0 = 0x8C;

sfr TH1 = 0x8D;

sfr IE = 0xA8;

sfr IP = 0xB8;//中断优先级

sfr SCON = 0x98;//串口控制与状态

sfr SBUF = 0x99;

/*--W77E58 Extensions---------------------------------------------*/

sfr T2CON = 0xC8;

sfr T2MOD = 0xc9;//HC5,HC4,HC3,HC2,T2CR,-,T2OE,DCEN

//hc5-hc2 =1时外中断5-2标志硬件自动清除。

//t2cr=1 捕获完成时自动复位

//t2oe=1 定时器2输出允许

//dcen=1 减计数允许,结合外部输入t2ex使用,16位自装入模式

sfr RCAP2L= 0xCA;//重装的预置数,捕获的输出

sfr RCAP2H= 0xCB;

sfr TL2 = 0xCC;

sfr TH2 = 0xCD;

sfr DPL1 = 0x84;

sfr DPH1 = 0x85;

sfr DPS = 0x86;

sfr CKCON = 0x8e;//wd1,wd0,t2m,t1m,t0m,md2,md1,md0

//wd1wd0:看门狗计数00=2^17,01=2^20,10=2^23,11=2^26

//t2m,t1m,t0m等于1时时钟4分频

//md2,md1,md0 MOVX执行机器周期000=2,001=3。。。111=9

sfr EXIF = 0x91;//ie5,ie4,ie3,ie2,XT/RG,RGMD,RGSL,-

//ie5,ie3=1外中断下跳变中断标志

//ie4,ie3=2外中断上跳变中断标志

sfr P4 = 0xa5;//低四位有效

sfr SADDR = 0xa9;//从机串口0地址

sfr SADDR1= 0xaa;//从机串口1地址

sfr SADEN = 0xb9;//串口0地址屏蔽,等于0时所有地址都会引起中断

sfr SADEN1= 0xba;//串口0地址屏蔽,等于0时所有地址都会引起中断

sfr SCON1 = 0xc0;

sfr SBUF1 = 0xc1;

sfr ROMMAP= 0xc2;//ROMMAP.7为等待信号使能,用movx指令时,wait脚为p4.0 sfr PMR = 0xc4;//CD1,CD0,SWB,-,XTOFF,ALE-OFF,-DME0

//cd0cd1=0时钟不变,=1-1/4,=2-1/64,=3=1/1024

//swb=1强制4分频,外中断或串口中断唤醒

//aleoff =1时ale信号终止,外部内存访问时自动唤醒

//dme0 =1时内部1kram使能

sfr STATUS= 0xc5;//-,HIP,LIP,XTUP,SPTA1,SPRA1,SPTA0,SPRA0

//hip=1正在处理高优先级中断

//lip=1正在处理低优先级中断

//spta1串口0正在发送数据

//spra1串口0正在接收数据

//spta0串口0正在发送数据

//spra0串口0正在接收数据

sfr TA = 0xc7;//保护位

sfr WDCON = 0xd8;//SMOD_1,POR,-,-,WDIF,WTRF,EWT,RWT

//smod1 加倍串口1的拨特率,pro电源复位标志

//por 电源复位标志

//wdif看门狗定时中断标志,软清

//wtrf看门狗定时器复位标志,看门狗引起复位后,该位置1

//ewt 允许看门狗定时器自动复位

//rwt复位看门狗定时器,如果看门狗溢出还没有被复位计数器,将会引起中断,再过512周期将复位sfr EIE = 0xe8;//-,-,-,EWDI,EX5,EX4,EX3,EX2

//ewdi=1,允许看门狗中断?

//ex5-ex2;外部中断允许

sfr EIP = 0xf8;//-,-,-,pwdi,px5,px4,px3,px2

//pwdi=1 看门狗中断优先

//px5-px2=1 外部中断优先

/*--BIT Registers-------------------------------------------------*/

/* PSW */

sbit CY = 0xD7;

sbit AC = 0xD6;

sbit F0 = 0xD5;

sbit RS1 = 0xD4;

sbit RS0 = 0xD3;

sbit OV = 0xD2;

sbit P = 0xD0;

/* TCON */

sbit TF1 = 0x8F;//定时器1溢出标志,自动清零

sbit TR1 = 0x8E;//timer1运行控制位

sbit TF0 = 0x8D;//定时器0溢出标志,自动清零

sbit TR0 = 0x8C;//timer0运行控制位

sbit IE1 = 0x8B;//外中断1跳变中断请求标志,自动清零

sbit IT1 = 0x8A;//中断1跳变检测使能

sbit IE0 = 0x89;//外中断0跳变中断请求标志,自动清零

sbit IT0 = 0x88;//中断0跳变检测使能

/* IE */

sbit EA = 0xAF;//

sbit ES = 0xAC;

sbit ET1 = 0xAB;

sbit EX1 = 0xAA;

sbit ET0 = 0xA9;

sbit EX0 = 0xA8;

/* IP */

sbit PS = 0xBC;//串口0中断优先设定

sbit PT1 = 0xBB;//定时器1中断优先

sbit PX1 = 0xBA;//外中断1

sbit PT0 = 0xB9;//定时器0中断优先

sbit PX0 = 0xB8;//外中断0

/* P3 */

sbit RD = 0xB7;

sbit WR = 0xB6;

sbit T1 = 0xB5;

sbit T0 = 0xB4;

sbit INT1 = 0xB3;

sbit INT0 = 0xB2;

sbit TXD = 0xB1;

sbit RXD = 0xB0;

/* SCON */

sbit SM0 = 0x9F;//SM0/FE 串口0方式0选择或帧错标志,人工清零

sbit SM1 = 0x9E;//串口1工作方式选择0-4/12tclk同步,1-10位可设bps异步,2-64/32tclk异步,3-11位可变bps异步

sbit SM2 = 0x9D;//允许方式2和3的多机通讯控制位。方式2、3中=1时接收到的第9位为0时不启动接收中断ri标志

//方式1中,=1时只有收到有效停止时才启动ri,方式0中=1将拨特率提高3倍。

sbit REN = 0x9C;//允许接收标志

sbit TB8 = 0x9B;//方式23中要发送的第9位。

sbit RB8 = 0x9A;//方式23中接收到的第9位。

sbit TI = 0x99;//发送中断标志

sbit RI = 0x98;//接收中断标志

/*--W77E58 Extensions--------------------------------------------*/

/* PSW */

sbit F1 = 0xd1;

/* IE */

sbit ET2 = 0xAD;//定时器2允许

sbit ES1 = 0xae;//串口1优先

/* IP */

sbit PT2 = 0xBD;//定时器2优先

sbit PS1 = 0xbe;//串口1优先

/* P1 */

sbit T2 = 0x90;//计数器2输入端口

sbit T2EX = 0x91;//计数器捕获触发

sbit RXD1 = 0x92;//串口1入

sbit TXD1 = 0x93;//串口2出

sbit INT2 = 0x94;//外中断2,上跳变触发

sbit INT3 = 0x95;//外中断3,下跳变触发

sbit INT4 = 0x96;//外中断4,上跳变触发

sbit INT5 = 0x97;//外中断5,下跳变触发

/* T2CON */

sbit TF2 = 0xCF;//定时器2溢出标志,软清除

sbit EXF2 = 0xCE;//定时器2外部标志,当exen2=1且t2ex引脚负跳变引起捕获或重载时置位,软清。sbit RCLK = 0xCD;//接收时钟标志,=1时串口0用定时器2溢出做时钟。

sbit TCLK = 0xCC;//发送时钟标志,=1时串口0用定时器2溢出做时钟。

sbit EXEN2 = 0xCB;//定时器2外部允许标志,=1时若未用作拨特率发生器,t2ex脚的负跳变引起捕获sbit TR2 = 0xCA;//定时器2运行控制位

sbit C_T2 = 0xC9;//计数/定时选择,=1时计数

sbit CP_RL= 0xC8;//捕获/重载标志,=1时,外部允许时,vt2ex负跳变发生捕获

//=0时溢出或外部允许时,vt2ex负跳变发生重载

/* SCON1 */ //注释参考SCON

sbit SM0_1 = 0xC7;

sbit SM1_1 = 0xC6;

sbit SM2_1 = 0xC5;

sbit REN_1 = 0xC4;

sbit TB8_1 = 0xC3;

sbit RB8_1 = 0xC2;

sbit TI_1 = 0xC1;

sbit RI_1 = 0xC0;

/* WDCON */

sbit SMOD_1= 0xDF; //加倍串口1的拨特率,pro电源复位标志

sbit POR = 0xDE; //电源复位标志

sbit WDIF = 0XDB; //看门狗定时中断标志,软清

sbit WTRF = 0xDA; //看门狗定时器复位标志,看门狗引起复位后,该位置1

sbit EWT = 0xD9; // 允许看门狗定时器自动复位

sbit RWT = 0xD8; //复位看门狗定时器,如果看门狗溢出还没有被复位计数器,将会引起中断,再过512周期将复位

/* EIE */

sbit EWDI = 0xec; //允许看门狗中断

sbit EX5 = 0xeb; //ex5-ex2;外部中断允许

sbit EX4 = 0xea;

sbit EX3 = 0xe9;

sbit EX2 = 0xe8;

/* EIP */

sbit PWDI = 0xfc; //pwdi=1 看门狗中断优先

sbit PX5 = 0xfb; //px5-px2=1 外部中断优先

sbit PX4 = 0xfa;

sbit PX3 = 0xf9;

sbit PX2 = 0xf8;

单片机特殊功能寄存器及相应功能

T0/T1控制位

TL0/TL1:设置定时器低8位

TH0/TH1:设置定时器高8位

TR0/TR1:启动位

ET0/ET1:中断允许位

TF0/TF1: 溢出位

TO/T1: 计数位

定时器模式选择

TMOD:GATE C/T M1 M0 GATE C/T M1 M0

GATE:选择是否由INT1*TR1/INT0*TR0控制开启(1:由INT1*TR1/INT0*TR0开启)

C/T: 选择用作计数器/定时器(1:用作计数器;0:用作定时器)

M1 M0:定时器工作模式选择

定时器控制

TCON:TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

TF1/TF0:定时器溢出位

TR1/TR0:定时器启动位

IE0/IE1:外部中断INT0/INT1中断标志位

IT1/IT0:外部中断模式选择位(0:电平触发 1:边沿触发)

串行控制

SMOD:波特率加倍控制位(0:不加倍;1:加倍)

SCON:SM0 SM1 SM2 REN TB8 RB8 TI RI

SM0 SM1:串行工作方式选择

SM0 SM1 工作方式波特率操作

0 0 方式0 fosc/12 8位同步移位寄存器

0 1 方式1 可变 10位异步UART

1 0 方式

2 fosc/32 11位异步UART

fosc/64

1 1 方式3 可变 11位异步UART

SM2:多机控制位。

方式0:应置0。

方式1:如SM2=0,表明RB8是接收到的停止位;如SM2=1,表明只有接收到有效停止位才能激活RI,将RI置1。

方式2、3:如SM2=1,则接收到的第9位数据RB8必须是1,接收中断才有效。

REN:串行接收允许位。(0:禁止接收;1:允许接收)

TB8:方式2、3中发送端发送的第9位数据,可用位指令置0或1

RB8:方式2、3中接收端接收的第9位数据,TB8,RB8可用作奇偶校验位

TI:发送中断标志,用软件清零

RI:接收中断标志,用软件清零

中断允许控制(1:允许 0:禁止)

EA:总中断

ES:串行中断

ET1/ET0: T1/T0中断

EX1/EX0: INT1/INT0中断

中断优先级控制(1为高级;0为低级)

默认顺序:

INT0 T0 INT1 T1 RI TI

IP: 00 00 00 PS PT1 PX1 PT0 PX0

PS:串行

PT1/PT0:定时器T1/T0

PX1/PX0:INT1/INT0

电源控制及波特率选择

PCON: SMOD 00 00 POF GF1 GF0 PD IDL

SMOD:波特率加倍控制位(0:不加倍;1:加倍)

POF:上电标志位。

GF1/GF0:通用标志位,有用户置0或置1,作位寄存用

PD/IDL:运行状态标志位,有用户设置。

PD IDL 单片机运行状态电压/V 工作电流功耗/mW

0 0 正常操作 5 16mA 80

0 1 节电操作 5 3.7mA 18.5 //低耗模式

1 0 掉电操作

2 50uA 0.1 //低耗模式

1 1 掉电操作(掉电方式优先节电方式)

2 50uA 0.1

EA/VPP:片外程序ROM有效/编程电源。

作EA时: EA=0时,片外程序有效;EA=1时,片内程序有效。

作VPP时:用作电源输入,21V

波特率设置

方式0 固定 Fosc/12 12M HZ 1*10e6位/s

方式1 可变为T1的溢出率 2eSMOD *T1溢出率/32 T1溢出率

=Fosc/(12*(256-X))【T1选工作方式2,X为定时器初值】

256-X=Fosc/(384*2eSMOD*波特率)

方式2 2eSMOD/(32*T1溢出率)

方式3 同方式1

#1楼主:51单片机的特殊功能寄存器

文章发表于:2007-10-11 10:06

我们来对单片机内部作一个完整的分析!

从图中我们可以看出,在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。在一个51单片机的内部包含了这么多的东西。

对图进行进一步的分析,我们已知,对并行I/O口的读写只要将数据送入到相应I/O口的锁存器就可以了,那么对于定时/计数器,串行I/O口等怎么用呢?在单片机中有一些独立的存储单元是用来控制这些器

件的,被称之为特殊功能寄存器(SFR)。事实上,我们已接触过P1这个特殊功能寄存器了,还有哪些呢?看下表

T2CON:定时器控制寄存器

寄存器地址0C8H,位寻址0C8H~0CFH。

当T2溢出时TF2=1,TD2只能用软件清除

当RCLK=1或TCLK=1时,TF2将不置位

EXF2:T2外部标记

当EXEN2=1时,T2EX/P1.1引脚上的负跳变引起T2的捕捉/重装操作,此时EXF2=1。在T2中断允许时,EXF2=1将引起中断,EXF2只能用软件清除。在T2的向上、向下计数模式下(DCEN=1)EXF2的置位将不引起中断。

RCLK:接收时钟允许

当RCLK=1时,T2的溢出脉冲可用作串行口的接收时钟信号,适于串行口模式1、3当RCLK=0时,T1的溢出脉冲用作串行口接收时钟信号

TCLK:发送时钟允许

EXEN2:T2外部事件(引起捕捉/重装的外部信号)允许

当EXEN2=1时,如果T2没有作串行时钟输出(即RCLK+TCLK=0),则在T2EX/P1.1引脚跳变将引起T2的捕捉/重装操作;

当EXEN2=0时,在T2EX引脚的负跳变将不起作用

TR2:T2的启动/停止控制

C/T2:计数定时

CP/RL2:捕捉/重装选择

当CP/RL2=1且EXEN2=1时,T2EX/P1.1引脚的负跳变将引起捕捉操作

当CP/RL2=0且EXEN2=1时,T2EX/P1.1引脚的负跳变将引起重装操作

当CP/RL2=0且EXEN2=0时,T2的溢出将引起T2的自动重装操作

当RCLK+TCLK=1时,CP/RL2控制位不起作用,T2被强制工作于重装方式。重装方式发生于T2溢出时,常用来作波特率发生器。

IE:中断允许控制寄存器

寄存器地址A8H,位寻址AFH~A8H。

当EA=0时,中断总禁止。

当EA=1时,中断总允许后中断的禁止与允许由各中断源的中断允许控制位进行设置。

EX0(EX1):外部中断允许控制位

当EX0(EX1)=0 禁止外中断

当EX0(EX1)=1 允许外中断

ET0(EX1):定时/计数中断允许控制位

当ET0(ET1)=0 禁止定时(或计数)中断

当ET0(ET1)=1 允许定时(或计数)中断

ET2:定时器2中断允许控制位,在AT89S52、AT89C52中

ES:串行中断允许控制位

当ES=0 禁止串行中断

当ES=1 允许串行中断

IP:中断优先级控制寄存器

寄存器地址B8H,位寻址BFH~B8H。

PT0——定时中断0优先级设定位

PX1——外部中断1优先级设定位

PT1——定时中断1优先级设定位

PS——串口中断优先级设定位

PT2——定时器2优先级设定位

单片机89C51特殊功能寄存器

单片机89C51特殊功能寄存器 高手从菜鸟忽略作起之(三)单片机共有21个特殊功能寄存器,下面从其功能,位结构,地址,读写方法对其作详细介绍。 一,特殊功能寄存器总述。 二,特殊功能寄存器分类:

1.CPU控制类(6个):Acc,B,PSW,DPL,DPH,SP. 2.中断控制类(2个):IE,IP. 3.计数/定时类(6个):TMOD,TCON,TL0,TL1,TH0,TH1. 4.并口端口类(4个):P0,P1,P2,P3. 5.串口端口类(2个):SCON,SBUF. 6.电源管理类(1个):PCON. 三,特殊功能寄存器详述: 1.CPU控制类(6个):Acc,B,PSW,DPL,DPH,SP 1.1 Acc:累加器,可按位,字节访问。 1.2 B:辅助寄存器,用于进行乘除运算。 P:奇偶校验位:P=0:1的个数为奇数;P=1,1的个数为偶数。 ---:保留位,没使用。 OV:Over flow,溢出标志,OV=0:没溢出;OV=1:溢出。 Rs0:Regedit select 0,寄存器选取0. RS1:Regedit select 1,寄存器选取1。 F0:User Flag bit:用户自定义位。 Ac: Auxiliary Carry,辅助进位标志,由低4位运算时,是否有向高4位进位。Cy:Carry,进位标志。字节运算时,是否有进位。 1.4 DPTL:Data Pointer Register Low,数据指针寄存器低8位。 1.5 DPTH:Data Pointer Register High,数据指针寄存器高8位。 1.6 SP: Stock Pointer:栈指针寄存器。 2.中断控制类寄存器(2个):IE,IP EX0: Enable Extra 0 ,INT0 中断允许位。 ET0: Enable Timer 0,C/T0 中断允许位。 EX1: Enable Extra 1 ,INT1 中断允许位。 ET1: Enable Timer 1,C/T1 中断允许位。 ES: Enable serial ,串行中断允许位。 ET2: Enable Timer 2,C/T2 中断允许位。

51单片机特殊功能寄存器功能一览表

51单片机特殊功能寄存器功能一览表 21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。 在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):

分别说明如下: 1、ACC---是累加器,通常用A表示 这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。该标志常用作程序分枝转移的判断条件。 2、B--一个寄存器 在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。 3、PSW-----程序状态字。 这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。它的各位功能请看下表: 下面我们逐一介绍各位的用途 CY:进位标志。 8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。这样就没事了。有进、借位,CY=1;无进、借位,CY =0 例:78H+97H(01111000+10010111) AC:辅助进、借位(高半字节与低半字节间的进、借位)。

MCS-51系列特殊功能寄存器

MCS-51系列特殊功能寄存器(80H~FFH) 1.P0 (80H) 2.SP 栈指针(81H) 3.DPTR 数据指针(由DPH和DPL组成) DPL 数据指针低八位(82H) DPH 数据指针高八位(83H) 4.PCON 电源管理寄存器(87H) SMOD :波特率倍增位。SMOD=0时,不变;SMOD=1时,倍增。 GF1,GF0 :通用标志位。 PD :掉电方式位。PD=1时,进入掉电方式。 IDL :待机方式位。IDL=1时,进入待机方式。 5.TMOD 定时/记数方式寄存器(89H) GATE :门控位。GATE=0时,直接由TR启动定时器;GATE=1时,须外部INT为1时,且TR启动定时器。 C/T :功能选择位。C/T=0时,为定时器;C/T=1时,为计数器。 M1,M0 :方式选择位。

6.T CON 定时/记数控制寄存器(88H) TF1 :定时器1溢出标志。由硬件置1,并且进入中断;进入中断服务程序后,由硬件清0,查询方式下由软件清0。 TR1 :定时器运行控制位。TR1=0时,关闭T1;TR1=1时,启动T1。 TF0 :定时器0溢出标志。由硬件置1,并且进入中断;进入中断服务程序后,由硬件清0,查询方式下由软件清0。 TR0 :定时器运行控制位。TR0=0时,关闭T0;TR0=1时,启动T0。 IE1 :外部中断1请求标志。 IT1 :外部中断1触发方式。IT1=0时,为低电平触发方式;IT1=1时,为负跳变触发方式(边沿触发)。 IE0 :外部中断0请求标志。 IT0 :外部中断0触发方式。IT0=0时,为低电平触发方式;IT0=1时,为负跳变触发方式(边沿触发)。 7.P1 (90H) SM0,SM1 :串行方式控制。 SM2 :多机通讯控制位。SM2=0时,禁止多机通讯;SM2=1时,允许多机通讯。

51_52系列单片机特殊功能寄存器及资源映射方式总结

51系列单片机特殊功能寄存器总结 第一节:片内RAM映射: 51:00H_7FH 128B片内(DATA),其中00H-07H: bank0,08H-0FH: bank1, 10H-17H: bank2,18H-1FH:bank3. 20H-2FH: 位寻址区(bdata) 30H-7FH: 堆栈区。 80H-FFH: SFR区 52:增加了80H-FFH间接寻址的片内RAM(IDATA) 第二节:特殊功能寄存器(51) ①TCON,地址:88H,定时器计数器控制,中断控制 IT0/1:外部中断触发方式控制,置0,为低电平触发,置1,为下降沿触发。每个机器周期的S5P2器件多外部触发采样。响应中断需要两个机器 周期。 IE0/1:外部中断请求标志,CPU响应中断后,硬件自动将IE清0 TFx,定时器Tx溢出标志,计数溢出时,硬件将其置位,响应中断后,硬件将其清0,该位可由程序查询。 TRx, 定时器x运行控制,置1则启动定时器,清0则停止定时器。 ②TMOD,地址:89H, 定时器计数器工作方式控制 counter对外部输入外冲计数,计一次数需要两个机器周期。 GATE: 取反后与外部中断输入或运算后再同TCON的TRx位相与控制计数器的启与停,GATE为0时,允许TRx开启或停止计数器,为1时,允许INTx开启或停止计数器。 ③TL0, 地址:8AH, 定时器0低八位 ④TL1, 地址:8BH, 定时器1低八位

⑤TH0, 地址:8CH, 定时器0高八位 ⑥TH1, 地址:8DH, 定时器1高八位1 ⑦SCON, 地址:98H,串行通信控制寄存器 S M2:方式2和方式3的多机通信控制位,在方式0中,SM2应置0。 REN:允许串行接收位,由软件置1时,允许接收,清0时。禁止接收 TB8:方式2和方式3中,发送的第9位数据,需要时由软件置位或复位。 RB8: 方式2和方式3中,接收到的第9位数据,在方式1时,RB是接收到停止位,在方式0时,不使用RB8. TI:接收中断标志,由硬件置1,在方式0时,串行发送到第8位结束时置1;在其他方式,串行口发送停止位时置1。TI必须由软件清0。 RI:接收中断标志,由硬件置1。在方式0时(SM2应置0),接收到第8位结束时置1,当SM2=0的其他方式(方式0,1,3)时,接收到停止位置位“1”,当SM2=1时,若串口工作在方式2和3,接收到的第9位数据(RB8)为1时,才激活RI。在方式1时,只有接收到有效的停止位时才会激活RI。RI必须由软件清0 ⑧SBUF, 地址:99H,串行通信数据缓冲器 ⑨IE, 地址:A8H,中断使能控制寄存器 EA: globle interuption Enable, 1: Enable, 0: Disable ET2: timers2 flowover interuption Enable for52, 1: Enable, 0: Disable ES: serrial port interuption Enable, 1: Enable, 0: Disable ET1/0: timers1/0 flowover interuption Enable, 1: Enable, 0: Disable EX1/0: external interuption Enable, 1: Enable, 0: Disable

51单片机

51单片机入门学习笔记 有一段时间不碰单片机了,现在重新整理。一是回忆知识,重新拾起来。二是给想入门单片机的朋友一点参考。一部分资料源于网络。 一、51单片机简介 目前学习板上常用的是STC89C52单片机。封装是DIP40。

主要参数 1. 增强型8051单片机,6 时钟/机器周期和12 时钟/机器周期可以任意选择,指令代码完全兼容传统8051。 2. 工作电压:5.5V~ 3.3V(5V单片机)/3.8V~2.0V(3V 单片机) 3.工作频率范围:0~40MHz,相当于普通8051 的0~80MHz,实际工作频率可达48MHz 4. 用户应用程序空间为8K字节 5. 片上集成512 字节RAM 6. 通用I/O 口(32 个),复位后为:P0/P1/P2/P3 是准双向口/弱上拉,P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O 口用时,需加上拉电阻。 7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片 8. 具有EEPROM 功能 9. 共3 个16 位定时器/计数器。即定时器T0、T1、T2 10.外部中断4 路,下降沿中断或低电平触发电路,Power Down 模式可由外部中断低电平触发中断方式唤醒 11. 通用异步串行口(UART),还可用定时器软件实现多个UART 12. 工作温度范围:-40~+85℃(工业级)/0~75℃(商业级) 二、I/O介绍 P0内部不带上拉电阻,其余三组带内部上拉电阻。P0是双向8位三态I/O口。由于内部没有上拉电阻。所以默认是高阻态(指的是电路的一种输出状态,既不是高电平也不是低电平,如果高阻态再输入下一级电路的话,对下级电路无任何影响,和没接一样,如果用万用表测的话有可能是高电平也有可能是低电平,随它后面接的东西定。电路分析时高阻态可做开路理解),所以使用时外部必须接上拉电阻。 三、寄存器 存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器): MCS-51单片机的特殊功能寄存器 符号地址功能介绍

单片机特殊功能寄存器及相应功能

SPECIAL FUNCTION REGISTER ?? Register (MSB) (LSB) Byte Symbol b7 b6 b5 b4 b3 b2 b1 b0 Address P0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 80H(128) SP 81H(129) DPL 82H(130) DPH 83H(131) PCON SMOD - - - GF1 GF0 PD IDL 87H(135) *PCON SMOD - - WLE GF1 GF0 PD IDL 87H(135) TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 88H(136) TMOD GATE C/T M1 M0 GATE C/T M1 M0 89H(137) TL0 8AH(138) TL1 8BH(139) TH0 8CH(140) TH1 8DH(141) P1 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 T2EX T2 90H(144) *P1 SDA SCL RT2 T2 CT3I CT2I CT1I CT0I 90H(144) SCON SM0 SM1 SM2 REN TB8 RB8 TI RI 98H(152) SBUF 99H(153) P2 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 0A0H(208) IE EA - ET2 ES ET1 EX1 ET0 EX0 0A8H(168) *IEN0 EA EAD ES1 ES0 ET1 EX1 ET0 EX0 0A8H(168) +CML0 0A9H(169) +CML1 0AAH(170) +CML2 0ABH(171) +CTL0 0ACH(172) +CTL1 0ADH(173) +CTL2 0AEH(174) +CTL3 0AFH(175) P3 RD WR T1 T0 INT1 INT0 TXD RXD 0B0H(176) IP - - PT2 PS PT1 PX1 PT0 PX0 0B8H(184) *IP0 - PAD PS1 PS0 PT1 PX1 PT0 PX0 0B8H(184) +P4 CMT1 CMT0 CMSR5 CMSR4 CMSR3 CMSR2 CMSR1 CMSR0 0C0H(192) +P5 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 0C4H(196) +ADCON ADC.1 ADC.0 ADEX ADCI ADCS AADR2 AADR1 AADR0 0C5H(197)

51单片机寄存器地址查询

适合初学好东西一起分享 中断使能寄存器IE 中断总开关EA=1;启动有中断EA=0;关闭所有中断 保留 TF2中断开关ET2=1;启动ET2=0;关 闭(8052) 串行口中断开关ES=1启动串口ES=0 关闭串口 TF1中断开关ET1=1;启动ET1=0;关闭 INT1中断开关EX1=1; 启动EX1=0;关闭 TF0中断开关ET0=1;启动ET0=0;关闭 INT0中断开关EX0=1; 启动EX0=0;关闭 中断优先级寄存器IP EA — ET2 ES ET1 EX1 ET0 EX0 IE 寄存器 IP.7 IP .6 IP .5 IP .4 IP .3 IP .2 IP .1 IP .0 IP 寄存器 — — PT2 PS PT1 PX1 PT0 PX0 保留 保留 TF2中断先级 PT2=1;TF2为高优先级(8052) 串行口中断优先级PS1=1;为高优先级 TF1中断先级PT1=1;TF1为高优先级 INT1中断优先级PX1=1;为最高优先 级 TF0中断先级PT0=1;TF1为高优先级 INT0中断优先级PX0=1;为最高优先 级 定时器/计数器控制寄存器TCON Timer1中断标志CPU 设置 Timer1启 动开关TR1=1;启动Timer1 TR1=0;关闭Timer1 Timer0中断标志CPU 设置 Timer0启动开关TR0=1;启动Timer1 TR0=0;关闭Timer0 INT1中断标志CPU 设置 INT1信号种类IT1=1;负边沿触发IT1=0;低电平触发 INT0中断标志CPU 设置 INT0信号种类IT0=1;负边沿触发IT0=0;低电平触发 定时器/计数器功能 外部中断功能 定时器/计数器方式寄存器TMOD

单片机寄存器汇总表图文稿

单片机寄存器汇总表 Company number【1089WT-1898YT-1W8CB-9UUT-92108】

51单片机寄存器功能一览表 21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。 在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):

分别说明如下: 1、ACC---是累加器,通常用A表示 这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离

不开它。自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。该标志常用作程序分枝转移的判断条件。 2、B--一个寄存器 在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。 3、PSW-----程序状态字。 这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。它的各位功能请看下表: 下面我们逐一介绍各位的用途 CY:进位标志。 8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办最高位就进到这里来。这样就没事了。有进、借位,CY=1;无进、借位,CY=0 AC:辅助进、借位(高半字节与低半字节间的进、借位)。 例:57H+3AH(01010111+00111010)

51单片机的特殊功能寄存器

51单片机的特殊功能寄存器 通过前面课程的学习,我们已知道了单片机的内部有ROM、有RAM、有并行I/O 口,那么,除了这些东西之外,单片机内部究竟还有些什么?这些个零碎的东西怎么连在一起的? 下面就让我们来对单片机内部作一个完整的分析吧! 从图中我们可以看出,在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、 P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。在一个51单片机 的内部包含了这么多的东西。 对图进行进一步的分析,我们已知,对并行I/O口的读写只要将数据送入到相应I/O口的锁存器就可以了,那么对于定时 /计数器,串行I/O口等怎么用呢?在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。事实上,我们已接触过P1 这个特殊功能寄存器了,还有哪些呢?看下表 符号地址功能介绍 B F0H B寄存器 ACC E0H 累加器 PSW D0H 程序状态字 IP B8H 中断优先级控制寄存器 P3 B0H P3口锁存器 IE A8H 中断允许控制寄存器

P2 A0H P2口锁存器 SBUF 99H串行口锁存器 SCON 98H串行口控制寄存器 P1 90H P1口锁存器 TH1 8DH定时器/计数器1(高8位) TH0 8CH 定时器/计数器1(低8位) TL1 8BH 定时器/计数器0(高8位) TL0 8AH 定时器/计数器0(低8位) TMOD 89H定时器/计数器方式控制寄存器 TCON 88H 定时器/计数器控制寄存器 DPH 83H 数据地址指针(高8位) DPL 82H 数据地址指针(低8位) SP 81H 堆栈指针 P0 80H P0口锁存器 PCON 87H电源控制寄存器 下面,我们介绍一下几个常用的SFR。 1、ACC---是累加器,通常用A表示。 这 是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在 ACC中的缘故吧。它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。自身带有全零标志Z,若A=0则 Z=1;若A≠0则z=0。该标志常用作程序分枝转移的判断条件。 2、B--一个寄存器。 在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。 3、PSW-----程序状态字。这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。它的各位功能请看下表: 下面我们逐一介绍各位的用途 CY:进位标志。8051中的运算器是一种8位的运算器,我们知道,8位运算器只

51单片机寄存器汇总表

51单片机寄存器功能一览表 21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。 在51单片机部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O 口,中断系统,以及一个部的时钟电路。在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):

分别说明如下: 1、ACC---是累加器,通常用A表示 这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。该标志常用作程序分枝转移的判断条件。 2、B--一个寄存器 在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。 3、PSW-----程序状态字。 这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU 的当前状态,并作出相应的处理。它的各位功能请看下表: 下面我们逐一介绍各位的用途 CY:进位标志。

51单片机特殊功能寄存器详细说明

/*-------------------------------------------------------------------------- REG51.H Header file for generic 80C51 and 80C31 microcontroller. Copyright (c 1988-2001 Keil Elektronik GmbH and Keil Software, Inc. All rights reserved. --------------------------------------------------------------------------*/ /* BYTE Register */ sfr P0 = 0x80; sfr P1 = 0x90; sfr P2 = 0xA0; sfr P3 = 0xB0; sfr PSW = 0xD0; 程序状态字 sfr ACC = 0xE0; 累加器 sfr B = 0xF0; B寄存器 sfr SP = 0x81; 堆栈指针 sfr DPL = 0x82; 数据指针低八位 sfr DPH = 0x83; 数据指针高八位 sfr PCON = 0x87; 波特率选择寄存器 sfr TCON = 0x88; 定时器/计数器控制寄存器

sfr TMOD = 0x89; 定时器方式选择寄存器 sfr TL0 = 0x8A; 定时器0低八位 sfr TL1 = 0x8B; 定时器1低八位 sfr TH0 = 0x8C; 定时器0高八位 sfr TH1 = 0x8D; 定时器1高八位 sfr IE = 0xA8; 中断允许寄存器 sfr IP = 0xB8; 中断优先级寄存器 sfr SCON = 0x98; 串行控制寄存器 sfr SBUF = 0x99; 串行数据缓冲器 /* BIT Register */ /* PSW */ 程序状态字 sbit CY = 0xD7; 有无进位或者借位 sbit AC = 0xD6; Auxiliary Carry有无低四位向高四位的进位或借位 sbit F0 = 0xD5; 用户管理的标志位,可根据自己的需求设定 sbit RS1 = 0xD4; 这两位用于选择当前工作寄存器区。8051有8个8位寄存器R0~R7,它 们在RAM中的地址可以根据用户需要来确定。 sbit RS0 = 0xD3; RS1 RS0:R0~R7的地址0 0:00H~07H 0 1:08H~0FH 1 0:10H~17H 1 1:18H~1FH

C51单片机21个特殊功能寄存器

21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83 个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。 在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):

分别说明如下: 1、ACC---是累加器,通常用A表示 这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。该标志常用作程序分枝转移的判断条件。 2、B--一个寄存器 在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。 3、PSW-----程序状态字。 这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。它的各位功能请看下表: 下面我们逐一介绍各位的用途CY:进位标志。,如果做加法的话,两数位运算器只能表示到0-255中的运算器是一种8位的运算器,我们知道,88051,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。这样就没事了。有相加可能会超过2550 CY==1;无进、借位,进、借位,CY )78H+97H(01111000+10010111例: 。(高半字节与低半字节间的进、借位)AC:辅助进、借位)(01010111+0011101057H+3AH例::用户标志位F0 由用户(编程人员)决定什么时候用,什么时候不用。 :工作寄存器组选择位、RS0RS1现场保两位的状态,就能任选一个工作寄存器区。这个特点提高了MCS-51中的RS1、RS0通过修改PSW不需的工作效率和响应中断的速度是很有利的。若在一个实际的应用系统中,护和现场恢复的速度。对于提高CPU 要四组工作寄存器,那么这个区域中多余单元可以作为一般的数据缓冲器使用。 0V:溢出标志位0。什么是溢出我们后面的章节会讲到。运算结果按补码运算理解。有溢出,OV=1;无溢出,OV= :奇偶校验位P。运算结果有,否则为0P=1ALU它用来表示运算结果中二进制数位“1”的个

c51特殊功能寄存器

51单片机的特殊功能寄存器 2009-03-16 10:16 通过前面课程的学习,我们已知道了单片机的内部有ROM、有RAM、有并行I/O 口,那么,除了这些东西之外,单片机内部究竟还有些什么?这些个零碎的东西怎么连在一起的? 下面就让我们来对单片机内部作一个完整的分析吧! 从图中我们可以看出,在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有 RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。在一个51单片机的内部包含了这么多的东西。 对图进行进一步的分析,我们已知,对并行I/O口的读写只要将数据送入到相应I/O口的锁存器就可以了,那么对于定时/计数器,串行I/O口等怎么用呢?在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。事实上,我们已接触过P1这个特殊功能寄存器了,还有哪些呢?看下表

下面,我们介绍一下几个常用的SFR。 1、ACC---是累加器,通常用A表示。 这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。自身带有全零标志Z,若A=0则 Z=1;若A≠0则z=0。该标志常用作程序分枝转移的判断条件。 2、B--一个寄存器。 在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。 3、PSW-----程序状态字。 这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。它的各位功能请看下表: 下面我们逐一介绍各位的用途 CY:进位标志。8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。这样就没事了。有进、借位,CY=1;无进、借位,CY=0 例:78H+97H(01111000+10010111) AC:辅助进、借位(高半字节与低半字节间的进、借位)。 例:57H+3AH(01010111+00111010) F0:用户标志位,由用户(编程人员)决定什么时候用,什么时候不用。 RS1、RS0:工作寄存器组选择位。这个我们已知了。

51单片机寄存器功能查看(带目录)

【51单片机寄存器功能一览表】 21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。 在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器): MCS-51单片机的特殊功能寄存器

PSW-----程序状态字

它用来表示ALU运算结果中二进制数位“1”的个数的奇偶性。若为奇数,则P=1,否则为0。运算结果有奇数个1,P=1;运算结果有偶数个1,P=0。 例:某运算结果是78H(01111000),显然1的个数为偶数,所以P=0。 4、DPTR(DPH、DPL)--------数据指针 可以用它来访问外部数据存储器中的任一单元,如果不用,也可以作为通用寄存器来用,由我们自已决定如何使用。分成DPL(低8位)和DPH(高8位)两个寄存器。用来存放16位地址值,以便用间接寻址或变址寻址的方式对片外数据RAM或程序存储器作64K字节范围内的数据操作。 5、P0、P1、P2、P3--------输入输出口(I/O)寄存器 这个我们已经知道,是四个并行输入/输出口(I/O)的寄存器。它里面的内容对应着管脚的输出。6、IE-----中断充许寄存器 7、IP-----中断优先级控制寄存器

单片机指令和寄存器英语词汇

按功能分为五大类: (1)数据传送类指令(7种助记符) MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;MOVC(Move Code)读取程序存储器数据表格的数据传送; MOVX(Move External RAM)对外部RAM的数据传送; XCH(Exchange)字节交换; XCHD(Exchange low-order Digit)低半字节交换; PUSH(Push onto Stack)入栈; POP (Pop from Stack)出栈; (2)算术运算类指令(8种助记符) ADD(Addition) 加法; ADDC(Add with Carry) 带进位加法; SUBB(Subtract with Borrow) 带借位减法; DA(Decimal Adjust) 十进制调整; INC(Increment) 加1; DEC(Decrement) 减1; MUL(Multiplication、Multiply) 乘法; DIV(Division、Divide) 除法; (3)逻辑运算类指令(10种助记符) ANL(AND Logic) 逻辑与; ORL(OR Logic) 逻辑或; XRL(Exclusive-OR Logic) 逻辑异或; CLR(Clear) 清零; CPL(Complement) 取反; RL(Rotate left) 循环左移; RLC(Rotate Left throught the Carry flag) 带进位循环左移; RR(Rotate Right) 循环右移; RRC(Rotate Right throught the Carry flag) 带进位循环右移; SWAP (Swap)低4位与高4位交换; (4)控制转移类指令(17种助记符) ACALL(Absolute subroutine Call)子程序绝对调用; LCALL(Long subroutine Call)子程序长调用; RET(Return from subroutine)子程序返回; RETI(Return from Interruption)中断返回; SJMP(Short Jump)短转移; AJMP(Absolute Jump)绝对转移; LJMP(Long Jump)长转移; CJNE (Compare Jump if Not Equal)比较不相等则转移; DJNZ (Decrement Jump if Not Zero)减1后不为0则转移; JZ (Jump if Zero)结果为0则转移;

MCS-51单片机的(SFR)特殊功能寄存器详细解析

MCS-51单片机的特殊功能寄存器 从图中我们可以看出,在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。在一个51单片机的内部包含了这么多的东西。 对图进行进一步的分析,我们已知,对并行I/O口的读写只要将数据送入到相应I/O 口的锁存器就可以了,那么对于定时/计数器,串行I/O口等怎么用呢?在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。事实上,我们已接触过P1这个特殊功能寄存器了,还有哪些呢?看下表

下面,我们介绍一下几个常用的SFR。 1、ACC---是累加器,通常用A表示。 这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。该标志常用作程序分枝转移的判断条件。 2、B--一个寄存器。 在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。

3指针寄存器 (1)程序计数器PC 指明即将执行的下一条指令的地址,16位,寻址64KB范围, 复位时PC = 0000H (2)堆栈指针SP 指明栈顶元素的地址,8位,可软件设置初值,复位时SP = 07H (3)数据指针DPTR @R0、@R1、@DPTR;指明访问的数据存储器的单元地址,16位,寻址范围64KB。DPTR = DPH + DPL。可以用它来访问外部数据存储器中的任一单元,如果不用,也可以作为通用寄存器来用,由我们自已决定如何使用。分成DPL(低8位)和DPH(高8位)两个寄存器。用来存放16位地址值,以便用间接寻址或变址寻址的方式对片外数据RAM或程序存储器作64K字节范围内的数据操作 4、PSW-----程序状态字。 这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU 的当前状态,并作出相应的处理。它的各位功能请看下表: CY:进位标志。8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。这样就没事了。有进、借位,CY=1;无进、借位,CY=0 例:78H+97H(01111000+10010111) AC:辅助进、借位(高半字节与低半字节间的进、借位)。 例:57H+3AH(01010111+00111010) 下面我们逐一介绍各位的用途 F0:用户标志位,由用户(编程人员)决定什么时候用,什么时候不用。 RS1、RS0:工作寄存器组选择位。这个我们已知了。 0V:溢出标志位。运算结果按补码运算理解。有溢出,OV=1;无溢出,OV=0。什么是溢出我们后面的章节会讲到。 P:奇偶校验位:它用来表示ALU运算结果中二进制数位“1”的个数的奇偶性。若为奇数,则P=1,否则为0。运算结果有奇数个1,P=1;运算结果有偶数个1,P=0。 例:某运算结果是78H(01111000),显然1的个数为偶数,所以P=0。 5、P0、P1、P2、P3------这个我们已经知道,是四个并行输入/输出口的寄存器。它里面的内容对应着管脚的输出。

关于51单片机寄存器的功能

关于51单片机寄存器的功能 21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR 存储空间中,地址空间为80H-FFH。在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位做寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。 在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3。有ROM用来存放程序,有RAM用来存放中间结果;此外还有定时/计数器,串行I/O 口,中断系统,以及一个内部的时钟电路。在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。这样的特殊功能寄存器51单片机共有21个,并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器): 分别说明如下: 1、ACC---是累加器,通常用A表示 它是一个寄存器,而不是一个做加法的东西。为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。它的名字特殊,身份也特殊。稍后在中篇中我们将学到指令,可以发现所有的运算类指令都离不开它。自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。该标志常用作程序分枝转移的判断条件。 2、B---寄存器 在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。 3、PSW---程序状态字 这是一个很重要的东西,里面放了CPU工作时的很多状态。借此,我们可以了解CPU的当前状态,并作出相应的处理。它的各位功能请看下表: 下面我们逐一介绍各位的用途 CY:进位标志

51单片机专用寄存器中英文对照

51单片机专用寄存器中英文对照 SFR Special Function Registers 专用寄存器、特殊功能寄存器 Acc Accmulator 累加器 PSW Program Status Word 程序状态字 CY Carry 进位;AC Acid Carry 辅助进位;F0 Flag 标志(旗帜)0 RS1 Register 1 寄存器(控制位)1;OV Over 溢出;P Parity 奇偶标志 SP Stack Pointer 堆栈指针 DPTR Data Pointer 数据指针 P0~P3 Port 0~3 端口0~3 SBUF Serial Data Buffer 串行数据缓冲器 TH0 Timer High 定时器(计数初值)高8位 TL0 Timer Low 定时器(计数初值)低8位 TMOD Timer Mode 定时器模式 GATE 门;M1M0 Mode 1、2 模式(方式)控制; TCON Timer Control 定时器控制 TF Timer Flag 定时器(溢出)标志;TR Timer Run 定时器运行; IE Interrupt Enable 中断允许;IT Interrupt Trigger 中断触发 SCON Serial Control 串行口控制 SM Serial Mode 串行模式;REN Receive Enable (串行)接收允许; TB8 Transfer Bit 8 发送的第8位;RB8 Receive Bit 8 接收的第8位 TI Transfer Interrupt 传送中断; RI Receive Interrupt 接收中断 PCON Power Control 电源控制 IE Interrupt Enable 中断允许 EA Enable All 总允许;ES Enable Serial 允许串行(中断); ET1 Enable Timer 1 允许定时器1(中断);EX1 Enable eXternal 允许外部(中断)1 IP Interrupt Priority 中断优先级 PC Program Counter 程序计数器 51单片机引脚中英文对照 AD0~AD7 Address and Data 地址/数据线 ALE Address Latch Enable 地址锁存允许 PSEN Program (Memroy)Store Enable 程序(存储器)选通允许 RST Reset 复位 TXD Transmitted eXternal Data 外部数据输出线 RXD Receive eXternal Data 外部数据输入线 INT0 Interrupt 0 外中断0 INT1 Interrupt 1 外中断1 T0 Timer 0 定时器/计数器(输入端)0 T1 Timer 1 定时器/计数器(输入端)1 WR Wright 写(控制) RD Read 读(控制) EA External Access (Enable)外部存储器(允许)

相关主题