当前位置:文档之家› PIC单片机各寄存器汇总

PIC单片机各寄存器汇总

PIC单片机各寄存器汇总
PIC单片机各寄存器汇总

1) 芯片的振荡模式选择。

2) 片内看门狗的启动。

3) 上电复位延时定时器PWRT的启用。

4) 低电压检测复位BOR模块的启用。

5) 代码保护。

__CONFIG_CP_OFF &_WDT_OFF &_BODEN_OFF &_PWRTE_ON &_XT_OSC &_WRT_OFF &_LVP_OFF &_CPD_OFF ;

_CP_OFF 代码保护关闭

_WDT_OFF 看门狗关闭

_BODEN_OFF

_PWRTE_ON 上电延时定时器打开

_XT_OSC XT振荡模式

_WRT_OFF 禁止Flash程序空间写操作

_LVP_OFF 禁止低电压编程

_CPD_OFF EEPROM数据读保护关闭

LVP Low Voltage Program 低电压编程

CP Code Protect 代码保护

Date EE Read Protect EEPROM数据读保护

Brown Out Detect

Power Up Timer

Watchdog Timer

Flash Program Write

外部时钟输入(HS,XT或LP OSC配置)如下图:

陶瓷(ceramic)谐振器电容的选择如下表:

一般情况为:11 1111 0011 0001 0x3F31 或0x3F71

位13 CP:闪存程序存储器代码保护位1

1=代码保护关闭

0=所有程序存储器代码保护

位12 未定义:读此位为1 1

位11 DEBUG:在线调试器模式位1

1=禁止在线调试器,RB6和RB7是通用I / O引脚

0=在线调试功能开启,RB6和RB7专用于调试

位10:9 WRT1:WRT0:闪存程序存储器的写使能位11

PIC16F876A / 877A

11=写保护关闭,所有的程序存储器可能被写入由EECON控制

10=0000h-00FFh写保护,0100h-1FFFh写入由EECON控制

01=0000h-07FFh写保护,0800h-1FFFh写入由EECON控制

00=0000h-0FFFh写保护,1000h-1FFFh写入由EECON控制

位8 CPD:数据EEPROM存储器代码保护位(Code Protection bit) 1 1=数据EEPROM存储器代码保护关闭

0=数据EEPROM存储器代码保护功能开启

位7 LVP:低电压(单电源)在线串行编程使能位(Low V oltage Program) 0 1=RB3/PGM引脚有PGM功能,低电压编程启用

0=RB3是数字I / O 引脚,HV(高电压13V左右) 加到MCLR必须用于编程

位6 BOREN:欠压复位使能位(低电压检测复位)(Brown-out Reset(Detect)) 0 1=低电压检测复位BOR(BOD)模块启用

0=低电压检测复位BOR(BOD)模块关闭

位5:4 未定义:读此两位均为1 11

位3 PWRTEN:上电定时器使能位(上电复位延时定时器)(Power-up Timer) 0 1=上电定时器关闭

0=上电定时器开启

位2 WDT:看门狗定时器使能位0晶体振荡器电容的选择

1=看门狗开启如右图:

0=看门狗关闭

位1:0 Fosc1:Fosc0:振荡器选择位01

11=RC振荡器

10=晶体振荡器HS模式。参考振荡频率范围:>2 MHz

01=晶体振荡器XT模式。参考振荡频率范围:100 kHz ~ 4 MHz

00=晶体振荡器LP模式。参考振荡频率范围:<200 kHz

OPTION_REG寄存器:

位7 RBPU:PORTB输入引脚内部弱上拉使能控制位

1=所有PORTB的内部弱上拉被禁止

0=设定为输入状态的引脚内部弱上拉被使能

位6 INTEDG:选择RB0/INT引脚的中断沿

1=RB0/INT 上升沿中断

0=RB0/INT 下降沿中断

位5 T0CS:选择TMR0的计数时钟源

1=外部脉冲沿跳变计数

0=内部指令周期计数

位4 T0SE:选择计数的外部脉冲沿

1=T0CKI脉冲上升沿计数

0=T0CKI脉冲下降沿计数

位3 PSA:预分频器指派

1=预分频器分配给看门狗定时器WDT,此时TMR0的计数预分频为1:1

0=预分频器分配给TMR0

位2:0 PS2:PS0:设定预分频器的分频系数如下表所示

分频设定TMR0分频比WDT分频比000 1:2 1:1

001 1:4 1:2

010 1:8 1:4

011 1:16 1:8

100 1:32 1:16

101 1:64 1:32

110 1:128 1:64

111 1:256 1:128

T1CON寄存器:

位7:6 没有定义,读此两位的结果为0

位5:4 T1CKPS1:T1CKPS0:TMR1预分频设置

11=预分频系数1:8

10=预分频系数1:4

01=预分频系数1:2

00=预分频系数1:1

位3 T1OSCEN:TMR1内部振荡器控制位

1=打开内部振荡器,反相放大器工作,需外接晶体产生振荡时钟

0=关闭内部振荡电路

位2 T1SYNC:TMR1同步/异步计数控制位

1=异步计数模式

0=同步计数模式

位1 TMR1CS:选择TMR1的计数时钟源

1=T1CKI引脚上的上升沿计数

0=内部指令周期计数(Fosc/4)

位0 TMR1ON:TMR1计数允许/禁止控制位

1=TMR1可以计数

0=TMR1计数暂停

T2CON寄存器:

位7 没有定义,读此位的结果为0

位6:3 TOUTPS3:TOUTPS0:TMR2计数溢出后分频设置0000=后分频系数1:1

0001=后分频系数1:2

……

1111=后分频系数1:16

位2 TMR2ON:TMR2计数允许/禁止控制位

1=TMR2可以计数

0=TMR2计数暂停

位1:0 T2CKPS1:T2CKPS0:TMR2预分频设置

00= 1:1预分频

01= 1:4预分频

1x= 1:16预分频

CCPxCON寄存器:

位7:6 没有定义,读此两位的结果为0

位5:4 CCPxX:CCPxY:TMR1预分频设置

捕捉模式:未用

比较模式:未用

PWM模式:

PWM模式占空比控制字为10位,最低2位即放在CCPxX:CCPxY中,高8位

数据放入专门的一个寄存器CCPRxL

位3:0 CCPxM2:CCPxM0:CCP模块工作模式选择位

0000 =关闭所有模式,CCPx模块处于复位状态

0100 =捕捉模式,每一个上升沿捕捉一次

0101 =捕捉模式,每一个下降沿捕捉一次

0110 =捕捉模式,每4个上升沿捕捉一次

0111 =捕捉模式,每16个上升沿捕捉一次

1000 =比较模式,预置CCPx引脚输出为0,比较一致时CCPx引脚输出为1

1001 =比较模式,预置CCPx引脚输出为1,比较一致时CCPx引脚输出为0

1010 =比较模式,当比较一致时CCPxIF=1产生软中断,CCPx引脚没有变化

1011 =比较模式,当比较一致时CCPxIF=1且触发特殊事件

11xx =PWM模式

INTCON寄存器:

位7 GIE:全局中断使能控制位

1=允许中断,但各中断还有独立的使能控制位

0=禁止所有的中断,不管各自的中断是否允许

位6 PEIE:外围功能模块中断允许控制位

1=允许外围功能模块中断

0=禁止所有外围功能模块中断

位5 TMR0IE(T0IE):TMR0中断使能控制位

1=允许TMR0中断

0=禁止TMR0中断

位4 INTE:RB0/INT引脚沿跳变中断允许控制位

1=允许RB0/INT引脚中断

0=禁止RB0/INT引脚中断

位3 RBIE:PORTB引脚状态变化中断使能控制位

1=允许PORTB状态变化中断

0=禁止PORTB状态变化中断

位2 TMR0IF(T0IF):TMR0中断标志位

1=TMR0计数溢出发生中断,必须用软件将其清除

0=TMR0没有溢出中断

位1 INTF:RB0/INT引脚沿跳变中断标志

1=RB0/INT引脚发生中断,必须用软件将其清除

0=没有发生RB0/INT引脚中断

位0 RBIF:PROTB引脚状态变化中断标志位

1=PORTB引脚出现状态变化中断,必须用软件将其清除

0=PORTB引脚没有发生状态变化中断

STATUS寄存器:

PIE1寄存器:

PIR1寄存器:

PIE2寄存器:

PIR2寄存器:

SSPSTAT寄存器:

位7 SMP:SPI模式下数据输入采样点控制(sample采样)

SPI主模式(Serial Peripheral interface 串行外围设备接口)

1=输出时间的中点对输入数据采样

0=输出时间结束时对输入数据采样

SPI从模式

此位必须保持为0

位6 CKE:SPI模式下时钟沿选择,与CKE位一起实现SPI时钟极性的4中模式CKP=0 (clock edge 时钟沿)

0=数据在时钟的上升沿时发送

1=数据在时钟的下降沿时发送

CKP=1

0=数据在时钟的下降沿时发送

1=数据在时钟的上升沿时发送

位5 D/A:数据/地址控制位,只适用于I2C模式

0=表明接收或发送的是地址码

1=表明接收或发送的是普通数据

位4 P:停止位指示,只适用于I2C模式。当SSP模块没有启用时,此位为0 1=表明刚才检测到一个停止位(芯片复位后此位为0)

0=没有检测到停止位

位3 S:起始位指示,只适用于I2C模式。当SSP模块没有启用时,此位为0 1=表明刚才检测到一个起始位(芯片复位后此位为0)

0=没有检测到起始位

位2 R/W:读/写命令指令,只适用于I2C模式。

在I2C通信时如果寻址地址匹配,该位就留有读或写的标志。其有效期限到出现

下一个起始位/停止位/无应答信号为止

0=此次I2C通信为写操作

1=此次I2C通信为读操作,与BF位配合可以判断主器件有/无应答位输出

位1 UA:地址更新标志,只适用于I2C通信时的10位寻址模式

0=无需地址更新

1=表明SSPADD寄存器需要更新地址

位0 BF:数据缓冲器满标志

接收时(SPI和I2C)

0=接收没有完成,SSPBUF寄存器为空

1=接收已经完成,SSPBUF寄存器满

发送时(只适用于I2C)

0=发送完成,SSPBUF寄存器为空

1=正在发送过程中,SSPBUF寄存器满

SSPCON(SSPCON1)寄存器:

位7 WCOL:发送数据写入时的冲突标志

0=写入时没有冲突发生

1=当SSPBUF正在发送数据时程序又对其进行数据写入而发送冲突,此位被置

位后必须有软件将其清0

位6 SSPOV:接收数据溢出标志位

SPI模式

0=数据接收没有溢出

1=当SSPBUF寄存器中所接收的数据还没有被读走时,内部的移位寄存器SSPSR

内又有新的数据就绪,此时SSPSR内的数据将被丢弃,SSPBUF不会被更新。

SPI模式下接收数据溢出只可能发生在从模式下。如果在从模式下只发送数据,

发送完毕后应用程序也必须读一次SSPBUF以免发生溢出标志。在主模式下得

一次接收(或发送)过程都必须通过写SSPBUF才能启动,故一般不会出现接

收溢出,除非你在接收数据到来后故意不去读SSPBUF寄存器。

I2C模式

0=接收数据没有溢出

1=当SSPBUF中原来接收到的数据还没有被取走时又有新的数据被收到。在I2C

处于数据发送模式时,此位不起任何作用。但无论是接收还是发送,如果此位被

置1,必须用软件将其清0。

位5 SSPEN:同步串行接口使能控制位

SPI模式

1=开启SPI功能,配置芯片的SCK、SDO、SDI、和SS引脚为SPI通信引脚

0=SSP模块被关闭,相应的引脚为普通数字I/O功能。

I2C模式

1=开启I2C功能,配置芯片的SDA、SDL为I2C通信引脚

0=SSP模块被关闭,相应的引脚为普通数字I/O功能。

位4 CKP:时钟极性控制位(clock polarity时钟极性)

SPI模式

0=在通信的空闲状态下时钟处于低电平

1=在通信的空闲状态下时钟处于高电平

I2C模式用于时钟SCK的释放控制

0=将时钟持续拉低,用以保证数据建立或准备所需的时间

1=允许主器件控制时钟变化

位3:0 SSPM3:SSPM0:同步串行接口工作模式选择M=Mode 模式

0000=SPI主模式,时钟=fosc/4

0001=SPI主模式,时钟=fosc/16

0010=SPI主模式,时钟=fosc/64

0011=SPI主模式,时钟=TMR2的溢出率/2

0100=SPI从模式,时钟=SCK引脚输入,使用SS引脚控制

0101=SPI从模式,时钟=SCK引脚输入,无SS引脚控制(SS可以作为普通I/O)

0110=I2C从模式,7位寻址发送

0111=I2C从模式,10位寻址发送

1000=I2C主模式,时钟=fosc/(4(SSPADD+1))

1001=保留

1010=保留

1011=软件控制型I2C主模式,硬件从模式功能关闭

1100=保留

1101=保留

1110=I2C从模式,7位寻址发送,起始位和停止位产生中断响应

1111=I2C从模式,10位寻址发送,起始位和停止位产生中断响应

SSPCON2寄存器:(只有带MSSP模块的有该寄存器且只在I2C模式时有用)

位7 GCEN:广播呼叫使能位(只适用于I2C从模式)

0=禁止广播寻呼

1=当接收到特殊的广播寻呼地址0x00时,允许产生中断

位6 ACKSTST:应答位接收状态标志(只适用于I2C主模式发送数据)

0=发出数据后接收到从器件发出的应答位

1=发出数据后从器件没有产生应答位

位5 ACKDT:应答数据位(只适用于I2C主模式接收数据)

0=数据收到后主器件将发出应答位

1=数据收到后主器件将不发出应答位

位4 ACKEN:使能硬件自动产生应答位(只适用于I2C主模式接收数据)0=无应答位发出

1=启动SDA和SCL总线上产生ACKDT所设置的应答位。在应答位发出后此位

被硬件自动清零0

位3 RCEN:接收使能位(只适用于I2C主模式)

0=禁止I2C接收数据

1=启动I2C接收8位数据,8位数据接收完毕后硬件自动清0

位2 PEN:使能硬件自动产生停止位(只适用于I2C主模式)

0=无停止位发出

1=启动SDA和SCL总线上产生停止位。停止位发出后此位被硬件自动清零0 位1 RSEN:使能硬件自动产生重复起始位(只适用于I2C主模式)

0=无重复起始位发出

1=启动SDA和SCL总线上产生重复起始位。重复起始位发出后此位被硬件自动

清零0

位0 SEN:使能硬件自动产生起始位/电平延伸控制位

I2C主模式

0=无起始位发出

1=启动SDA和SCL总线上产生起始位。起始位发出后此位被硬件自动清零0

I2C从模式

0=只在从器件发送数据时延伸时钟电平

1=在从器件接收或发送数据时延伸时钟电平

ADCON0寄存器:(设置ADC模块工作方式)

位7:6 ADCS1:ADCS0:A/D转换时钟选择

00= fosc/2,即时钟源自于芯片主振荡的2分频

01= fosc/8,即时钟源自于芯片主振荡的8分频

10= fosc/32,即时钟源自于芯片主振荡的32分频

11= f RC,即时钟源自于AD模块内自带的RC振荡频率

位5:3 CHS2:CHS0:A/D转换输入模拟信号通道选择

000=通道0,AN0

001=通道1,AN1

010=通道2,AN2

011=通道3,AN3

100=通道4,AN4

101=通道5,AN5

110=通道6,AN6

111=通道7,AN7

位2 GO/DONE:A/D转换启动控制位和转换状态标志位

这一位既是A/D转换控制位,通过软件将其置1后开始一个A/D转换过程;同

时又是一个标志位

1=A/D转换正在进行中

0=A/D转换过程结束

位1 未定义:程序中记得该位要始终保持为0

位0 ADON:A/D模块启动控制位

1=A/D转换模块开始工作

0=A/D转换模块被禁止,该部分电路没有任何耗电

ADCON1寄存器:(设置ADC模块端口和数据格式)

位7 ADFM:A / D转换结果格式选择位(AD Result Format Select Bit)0=结果左对齐,ADRESL 寄存器的低6位读作0

1=结果右对齐,ADRESH寄存器的高6位读作0

位6 ADCS2:A / D转换时钟频率选择位(ADCON1位在阴影区域,并以粗体字)

位5:4 未定义:读取这些位将得到0

位3:0 PCFG3:PCFG0:A / D模块引脚功能配置位

这4个位决定了功能复用的引脚哪些作为普通数字I/O,哪些作为A/D转换时的

电压信号输入。如下表所示:

TXSTA数据发送控制及状态寄存器:

位7 CSRC:同步通信时钟源选择控制位

异步通信时此位不起作用,可以是任意值

同步通信时

1=选择同步通信主模式,时钟信号通过波特率发生器自己产生

0=选择同步通信从模式,时钟信号由其他主芯片提供

位6 TX9:9位数据格式发送使能控制位

1=选择9位数据格式发送

0=选择8位数据格式发送

位5 TXEN:发送使能控制位

1=允许发送数据

0=数据发送被禁止

位4 SYNC:USART工作模式选择

1=选择同步通信模式

0=选择异步通信模式

位3 未定义:读此位结果为0

位2 BRGH:波特率控制位

异步通信时

1=高速波特率发生模式

0=低速波特率发生模式

位1 TRMT:发送移位寄存器状态位,该位只读

1=移位寄存器为空

0=移位寄存器正在忙于发送数据

位0 TX9D:使用9位数据格式时的第9位发送数据,可以作为奇偶校验位

RCSTA数据接收控制及状态寄存器:

位7 SPEN:串行通信端口使能控制位

1=USART通信端口打开,模块接管引脚RX/DT和TX/CK

0=USART通信端口关闭

位6 RX9:9位数据格式接收使能控制位

1=选择9位数据格式接收

0=选择8位数据格式接收

位5 SREN:单次接收使能控制位

异步通信时,此位不起作用

同步通信主模式时

1=启动单次接收方式,当接收完一个数据后自动清0

0=禁止接收数据

位4 CREN:数据连续接收控制位

异步通信时

1=连续接收串行数据

0=禁止接收数据

同步通信时

1=选择数据连续接收模式,直到此位被清0,CREN将超越SREN的控制

0=禁止数据连续接收,将由SREN决定是否启动单次数据接收

位3 未定义:读此位结果为0

位2 FERR:接收数据帧错误标志,只读

1=当前接收的数据发生帧错误,读一次RCREG寄存器该位将被更新

0=没有帧错误

位1 OERR:接收数据溢出错误,该位只读

1=发生溢出错误,只有通过清除CREN位才能将其清除

0=没有溢出错误

位0 RX9D:使用9位数据格式时的第9位接收数据,可以作为奇偶校验位

CMCON寄存器:

CVRCON CONTROL寄存器:

PCON寄存器:

EECON1寄存器:

TRISE寄存器:

51系列单片机寄存器详解

AUXR:辅助寄存器 字节地址=8EH,不可位寻址 - - - WDIDLE DISRTO - - DISALE WDIDLE:WTD在空闲模式下的禁止/允许位 当WDIDLE=0时,WDT在空闲模式下继续计数 当WDIDLE=1时,WDT在空闲模式下暂停计数 DISRTO:禁止/允许WDT溢出时的复位输出 当DISRTO=0时,WDT定时器溢出时,在RST引脚输出一个高电平脉冲 当DISRT0=1时,RST引脚为输入脚 DISALE :ALE禁止/允许位 当DISALE=0时,ALE有效,发出恒定频率脉冲 当DISALE=1时,ALE仅在CPU执行MOVC和MOVX类指令时有效,不访问外寄存器时,ALE不输出脉冲信号 AUXR1:辅助寄存器1字节地址A2,不可位寻 - - - -- - - DPS DPS:数据指针寄存器选择位 当DPS=0时,选择数据指针寄存器DPRT0 DPRT1时,选择数据指针寄存器DPS 当= PSW:程序状态字 CY——进位标记 AC——半进位标记 F0——用户设定标记 RS1、RS0——4个工作寄存器区的选择位。 VO——溢出标记 P——奇偶校验标记 PCON:电源控制器及波特率选择寄存器 字节地址=87H,不可位寻址 SMOD - - POF GF1 GF0 PD IDL SMOD——波特率倍增位 GF1、GF0——用户通用标记 PD——掉电方式控制位,PD=1时进入掉电模式 IDL——空闲方式控制位,IDL=1时进入空闲方式 在AT89S51中PCON.4是电源断电标记位POF,上电是为1 IE:中断允许控制寄存器

EA:中断允许总控制位 当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:中断优先级控制寄存器 PX0——外部中断0优先级设定位 PT0——定时中断0优先级设定位 PX1——外部中断1优先级设定位 PT1——定时中断1优先级设定位 PS——串口中断优先级设定位 优先级设定位2PT2——定时器SCON:串行口控制寄存器 SM0、SM1:串行口工作方式选择位 SM2:多机通信控制位 REN:允许/禁止串行口接收的控制位 TB8:在方式2和方式3中,是被发送的第9位数据,可根据需要由软件置1或清零,也可以作为奇偶校验位,在方式1中是停止位。

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:辅助进、借位(高半字节与低半字节间的进、借位)。

单片机总结

一、中断 (2) 1、中断优先级控制IP (2) 2、中断请求控制标志TCON (2) 3、中断允许控制IE (3) 4、写中断函数(不用在main函数前声明): (3) 二、定时器 (4) 1、工作方式寄存器TMOD:写程序时选择定时器和工作方式(设置M0、M1)。 (4) 2、对定时器装初值: (4) 3、设置中断: (4) 4、启动定时器控制寄存器: (4) 5、写中断函数(不用再main函数前声明): (5) 6、注意:中断函数中的功能程序代码的执行时间不要超过定时时间。 (5) 三、串行接口 (6) 1、将TMOD设置成定时器1,工作方式为2 (6) 2、计算T1的初值:TH1和TL1的值相同: (6) 3、启动定时器T1(对TCON设置):TR1=1; (6) 4、确定串行口控制SCON: (6) 5、串行口工作在中断方式时,进行中断设置: (6) 6、写中断函数。 (6) 串口补充:波特率的计算: (6)

一、中断 中断涉及到的寄存器和写程序时的操作顺序: 1、中断优先级控制IP IP的每一位需用程序置一,某个控制位置一,相应得中断源就设定为高级中断。 同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如所示: 2、中断请求控制标志TCON IT0(TCON.0),外部中断0触发方式控制位。 当IT0=0时,为电平触发方式,P3.2引脚低电平有效。 当IT0=1时,为边沿触发方式,P3.2引脚下降沿有效。 IE0(TCON.1),外部中断0中断请求标志位。单片机硬件自动置位和自动清零,不用编写在程序中。 IT1(TCON.2),外部中断1触发方式控制位。 当IT0=0时,为电平触发方式,P3.3引脚低电平有效。 当IT0=1时,为边沿触发方式,P3.3引脚下降沿有效。

单片机涉及寄存器知识点汇总

单片机涉及寄存器知识点汇总 第六章两个串口寄存器 1:串行口控制寄存器SCON(98H) 按位解释: (1)SM0、SM1——串行口4种工作方式的选择位 SM0 SM1 方式功能说明 0 0 0 同步移位寄存器方式(用于扩展I/O口) 0 1 1 8位异步收发,波特率可变(由定时器控制) 1 0 2 9位异步收发,波特率为fosc/64或fosc/32 1 1 3 9位异步收发,波特率可变(由定时器控制)(2)SM 2 ——多机通信控制位 在方式二,三情况下:SM2=0,不管第九位是啥,RI=1,产生中断;SM2=1,第九位为1,才产生中断,为0,舍弃前八位。 (3)REN——允许串行接收位 REN=1 允许串行口接收数据。 REN=0 禁止串行口接收数据。 由软件置“1”或清“0” (4)TB8,发送第九位,方式2,3中可作为奇偶校验位或者识别地址帧或数据帧的标志。

(5)RB8,接收的第九位,适用于方式二和方式三。方式一中若SM2=0,RB8接收到的是停止位。 (6)TI——发送中断标志位 方式0时,串行发送第8位数据结束时由硬件置“1”, 其它工作方式,串行口发送停止位的开始时置“1”。 TI=1,表示一帧数据发送结束,可申请中断。CPU响应中断后, 向SBUF写入要发送的下一帧数据。 TI必须由软件清0。 (7)RI——接收中断标志位 方式0时,接收完第8位数据时,RI由硬件置1。 其它工作方式,串行接收到停止位时,该位置“1”。 RI=1,表示一帧数据接收完毕,并申请中断。 RI必须由软件清“0”。 2、特殊功能寄存器PCON (87H) 就一个波特率选择位。 3:四种工作方式

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

单片机各寄存器汇总

符号 地址功能介绍 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 定时器/计数器控制寄存器 DPTR 82H 83H 83H数据地址指针(高8位) PC SP 81H 堆栈指针 P0 80H P0口锁存器 PCON 87H 电源控制寄存器 、PSW-----程序状态字。 D7D6D5D4D3D2D1D0 CY AC F0 RS1 RS0 OV P 下面我们逐一介绍各位的用途 CY:进位标志。 AC:辅助进、借位(高半字节与低半字节间的进、借位)。 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。 定时/计数器寄存器 1.工作方式寄存器TMOD(P134) TMOD 为T0.T1的工作方式寄存器,其各位的格式如下:TMOD D7 D6 D 5 D4 D3 D2 D1 D0 GATE C/-T M1 M0 GATE C/-T M1 M0 定时器1 定时器0 位7 GATE ——T1的门控位。 当GATE=0时,只要控制TR1置1,即可启动定时器T1开始工作; 当GATE=1时,除需要将TR1置1外,还要使INT1引脚为高电平,才能启动相应的定时器开始工作。 位6 C/—T ——T1的功能选择位。 当C/—T=0时,T1为定时器方式; 当C/—T=0时,T1为计数器方式; 位5和位4 M1和M0——T1的方式选择位。 由这两位的组合可以定义T1的3种工作方式 定时器T1工作方式选择表 如右表: 位3 GATE ——T0的门控位。 当GATE=0时,只要控制TR0置1,即可启动定时器T0开始工作; 当GATE=1时,除需要将TR0置1外,还要使INT0引脚为高电平,才能启动相应的定时器开始工作。 位2 C/T ——T1的功能选择位。 当C/—T=0时,T0为定时器方式; 当C/—T=0时,T0为计数器方式; 位1和位0 M1和M0—T0的方式选择位。 由这两位的组合可以定义T1的3种工作方式 定时器T0工作方式选择表 TMOD 不能进行位寻址,只能用字节传送指令设置定时器工作方式,低半节定义定时器0,高半字节定义定时器1。复位时,TMOD 所有位均为0,定时器处于停止工作状态。 定时/计数器控制寄存器中断请求标志寄存器TCON(P183) TCON 的作用是控制定时器的启/停,标志定时器的溢出和中断情况。定时器控制寄存器TCON 各位格式如下:TCON(88H) 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 当有中断源发出请求时,有硬件将相应的中断标志位置 1.在中断请求被响应前,相应中断标志位被锁存在特殊功能寄存器TCON 或SCON 中。 TCON 为定时器T0和T1的控制寄存器,同时也锁住T0和T1的溢出中断标志及外部中断——INT0和— M1 M0 工作方式 功能描述 0 0 方式0 13位计数器 0 1 方式1 16位计数器 1 0 方式 2 自动再装入8位计数器 1 1 方式3 定时器1:停止计数 M1 M0 工作方式 功能描述 0 0 方式0 13位计数器 0 1 方式1 16位计数器 1 0 方式 2 自动再装入8位计数器 1 1 方式3 定时器0:分成2个8位计数器

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

单片机寄存器汇总表 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单片机寄存器地址查询

适合初学好东西一起分享 中断使能寄存器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

PIC单片机各寄存器汇总资料讲解

1) 芯片的振荡模式选择。 2) 片内看门狗的启动。 3) 上电复位延时定时器PWRT的启用。 4) 低电压检测复位BOR模块的启用。 5) 代码保护。 __CONFIG_CP_OFF &_WDT_OFF &_BODEN_OFF &_PWRTE_ON &_XT_OSC &_WRT_OFF &_LVP_OFF &_CPD_OFF ; _CP_OFF 代码保护关闭 _WDT_OFF 看门狗关闭 _BODEN_OFF _PWRTE_ON 上电延时定时器打开 _XT_OSC XT振荡模式 _WRT_OFF 禁止Flash程序空间写操作 _LVP_OFF 禁止低电压编程 _CPD_OFF EEPROM数据读保护关闭 LVP Low Voltage Program 低电压编程 CP Code Protect 代码保护 Date EE Read Protect EEPROM数据读保护 Brown Out Detect Power Up Timer Watchdog Timer Flash Program Write 外部时钟输入(HS,XT或LP OSC配置)如下图: 陶瓷(ceramic)谐振器电容的选择如下表:

一般情况为:11 1111 0011 0001 0x3F31 或0x3F71 位13 CP:闪存程序存储器代码保护位1 1=代码保护关闭 0=所有程序存储器代码保护 位12 未定义:读此位为1 1 位11 DEBUG:在线调试器模式位1 1=禁止在线调试器,RB6和RB7是通用I / O引脚 0=在线调试功能开启,RB6和RB7专用于调试 位10:9 WRT1:WRT0:闪存程序存储器的写使能位11 PIC16F876A / 877A 11=写保护关闭,所有的程序存储器可能被写入由EECON控制 10=0000h-00FFh写保护,0100h-1FFFh写入由EECON控制 01=0000h-07FFh写保护,0800h-1FFFh写入由EECON控制 00=0000h-0FFFh写保护,1000h-1FFFh写入由EECON控制 位8 CPD:数据EEPROM存储器代码保护位(Code Protection bit) 1 1=数据EEPROM存储器代码保护关闭 0=数据EEPROM存储器代码保护功能开启 位7 LVP:低电压(单电源)在线串行编程使能位(Low V oltage Program) 0 1=RB3/PGM引脚有PGM功能,低电压编程启用 0=RB3是数字I / O 引脚,HV(高电压13V左右) 加到MCLR必须用于编程 位6 BOREN:欠压复位使能位(低电压检测复位)(Brown-out Reset(Detect)) 0 1=低电压检测复位BOR(BOD)模块启用 0=低电压检测复位BOR(BOD)模块关闭 位5:4 未定义:读此两位均为1 11 位3 PWRTEN:上电定时器使能位(上电复位延时定时器)(Power-up Timer) 0 1=上电定时器关闭 0=上电定时器开启 位2 WDT:看门狗定时器使能位0晶体振荡器电容的选择 1=看门狗开启如右图: 0=看门狗关闭 位1:0 Fosc1:Fosc0:振荡器选择位01 11=RC振荡器 10=晶体振荡器HS模式。参考振荡频率范围:>2 MHz 01=晶体振荡器XT模式。参考振荡频率范围:100 kHz ~ 4 MHz 00=晶体振荡器LP模式。参考振荡频率范围:<200 kHz

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单片机特殊功能寄存器功能一览表】 Posted on 2011-03-26 15:07 香格里拉\(^o^)/阅读(688) 评论(0)编辑收藏 【转】【51单片机寄存器功能一览表】 21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SF R存储空间中,地址空间为80H-FFH,在这片SF R空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。 在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有R OM,用来存放程序,有R AM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能 寄存器(SF R)。这样的特殊功能寄存器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单片机的(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------这个我们已经知道,是四个并行输入/输出口的寄存器。它里面的内容对应着管脚的输出。

单片机中断寄存器汇总

定时/计数器寄存器 1.工作方式寄存器TMOD(P134) TMOD 为T0.T1的工作方式寄存器,其各位的格式如下:TMOD 定时器1 定时器0 位7 GATE ——T1的门控位。 当GATE=0时,只要控制TR1置1,即可启动定时器T1开始工作; 当GATE=1时,除需要将TR1置1外,还要使INT1引脚为高电平,才能启动相应的定时器开始工作。 位6 C/—T ——T1的功能选择位。 当C/—T=0时,T1为定时器方式; 当C/—T=0时,T1为计数器方式; 位5和位4 M1和M0——T1的方式选择位。 由这两位的组合可以定义T1的3种工作方式 定时器T1工作方式选择表 如右表: 位3 GATE ——T0的门控位。 当GATE=0时,只要控制TR0置1,即可启动定时器T0开始工作; 当GATE=1时,除需要将TR0置1外,还要使INT0引脚为高电平,才能启动相应的定时器开始工作。 位2 C/T ——T1的功能选择位。 当C/—T=0时,T0为定时器方式; 当C/—T=0时,T0为计数器方式; 位1和位0 M1和M0—T0的方式选择位。 由这两位的组合可以定义T1的3种工作方式 定时器T0工作方式选择表 TMOD 不能进行位寻址,只能用字节传送指令设置定时器工作方式,低半节定义定时器0,高半字节定义定时器1。复位时,TMOD 所有位均为0,定时器处于停止工作状态。 定时/计数器控制寄存器 TCON(P135) TCON 的作用是控制定时器的启/停,标志定时器的溢出和中断情况。定时器控制寄存器TCON 各位格式如下:TCON(88H) 当定时器1计满溢出时,由硬件使TF1置1,并且申请中断。进入中断服务程序后,由硬件自动清0,在查询方式下用软件清0。 TR1(TCON.6)——定时器1运行控制位。 当TR1=1时,启动定时器1工作; 当TR1=0时,关闭定时器1。 TF0(TCON.5) )——定时器T0溢出标志 其功能及操作情况同TF1。 TR0(TCON.4) ——定时器T0运行控制位。 其功能及操作情况同TR1。 IE1((TCON.3) ——外部中断1请求标志 位。外部中断源1有中 IE1置1, CPU 响应该中断后,硬件清0。 IT1(TCON.2) ——外部中断1触发方式选择位。 IE0((TCON.1 )——外部中断0请求标志位。 IT0((TCON.0) ——外部中断0触发方式选择位。 TCON 的低四位与中断有关;当系统复位时,TCON 的所有位清零。

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

按功能分为五大类: (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则转移;

C51单片机引脚功能及特殊功能寄存器详解

80C51单片机引脚图及引脚功能介绍 首先我们来介绍一下单片机的引脚图及引脚功能(如下图所示),引脚的具体功能将在下面详细介绍 单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。 ⒈电源: ⑴ VCC - 芯片电源,接+5V; ⑵ VSS - 接地端; ⒉时钟: XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 ⒊控制线:控制线共有4根, ⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ① ALE功能:用来锁存P0口送出的低8位地址 ② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。

⑵ PSEN:外ROM读选通信号。 ⑶ RST/VPD:复位/备用电源。 ① RST(Reset)功能:复位信号输入端。 ② VPD功能:在Vcc掉电情况下,接备用电源。 ⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。 ① EA功能:内外ROM选择端。 ② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。 ⒋ I/O线 80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。 P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。 拿到一块单片机,想要使用它,首先必须要知道怎样去连线,我们用的一块89C51的芯片为例,我们就看一下如何给它连线。 1、电源:这当然是必不可少的了。单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。 2、振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。只要买来晶体震荡器,电容,连上就能了,按图1接上即可。 3、复位管脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。 4、 EA管脚:EA管脚接到正电源端。至此,一个单片机就接好,通上电,单片机就开始工作了。 我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED必须要和单片机的某个管脚相连,不然单片机就没法控制它了,那么和哪个管脚相连呢?单片机上除了刚才用掉的5个管脚,还有35个,我们将这个LED和1脚相连。(见图1,其中R1是限流电阻) 按照这个图的接法,当1脚是高电平时,LED不亮,只有1脚是低电平时,LED才发亮。因此要1脚我们要能够控制,也就是说,我们要能够让1管脚按要求变为高或低电平。即然我们要控制

freescale 9S12单片机寄存器介绍

一、输入输出端口寄存器 I/O接口包括PORTA、B、E、K、T、S、M、P、H、J、AD。其中PORTA、B、E、K属于复用扩展总线接口,单片机在扩展方式下工作时,作为总线信号。 1、PORTT、S、M、P、H、J I/O寄存器PTx 如果对应位数据方向寄存器DDRx为“0”,输入,读取该寄存器返回引脚值;“1”,输出,读取该寄存器返回I/O寄存器的内容。 数据方向寄存器DDRx 决定对应引脚为输出还是输入,“0”为输入,“1”为输出,复位后,默认为输入。 上拉/下拉使能寄存器PERx 选择使用内置上拉/下拉器件,“1”允许,“0”禁用。 中断使能寄存器PIEx PORTP、H、J三个端口具有中断功能。“1”对应引脚允许中断,“0”禁止,复位后,所有端口中断关闭。 中断标志寄存器PIFx PORTP、H、J三个端口具有中断功能。“1”对应引脚允许中断,“0”禁止,复位后,所有端口中断关闭。 2、PORTA、B、E、K I/O寄存器Px 若某端口的引脚被定义为输出,写入I/O寄存器中的数值会从对应引脚输出;输入,通过I/O 寄存器读取对应引脚电平。 数据方向寄存器DDRx 决定对应引脚为输出还是输入,“0”为输入,“1”为输出,复位后,默认为输入。PORTE最低两位只能为输入。 上拉电阻控制寄存器PERx 第7、4、1、0位分别控制K、E、B、A端口,“1”允许使用对应端口的上拉电阻,“0”禁止,复位后,PK、PE端口使能,PB、PA禁止。 二、中断系统 中断控制寄存器INTCR 第7位IRQE,中断电平/边沿有效选择,0为低电平有效,1为下降沿有效; 第6位IRQEN,外部中断IRQ中断请求使能,0关闭,1允许。 三、PWM模块 PWM允许寄存器PWME 对应每一位PWMEx,1启动输出,0停止输出,读写任意时刻。 PWM预分频时钟选择寄存器PWMPRCLK 为Clock A和B选择独立的预分频因子,读写任意时刻。 Clock B对应6、5、4三位,Clock A对应2、1、0三位,分别可以实现2、4、8、16、32、64、128分频。 PWM比例因子寄存器A、B,PWMSCLA、PWMSCLB Clock SA=Clock A/(2*PWMSCLA) =$00时,默认值为256 PWM时钟选择寄存器PWMCLK 对应每一位是PCLKx,7、6、3、2通道:1选择Clock SB,0选择Clock B,5、4、1、0通道:1选择Clock SA,0选择Clock A。读写任意时刻。

51单片机考试常见简答题

简答题部分 1、51单片机内部集成的功能部件? MCS-51单片机在片内集成了中央处理器(CPU)、程序存储器(ROM)、数据存储器(RAM)、定时器/计数器、并行I/O接口、串行I/O接口和中断系统等几大单元。CPU是整个单片机的核心部件,由运算器和控制器组成。运算器可以完成算术运算和逻辑运算,其操作顺序在控制器控制下进行。控制器是由程序计数器PC(Program Counter)、指令寄存器IR(Instruction Register)、指令译码器ID(Instruction Decoder)、定时控制逻辑和振荡器OSC等电路组成。CPU根据PC中的地址将欲执行指令的指令码从存储器中取出,存放在IR中,ID对IR中的指令码进行译码,定时控制逻辑在OSC配合下对ID译码后的信号进行分时,以产生执行本条指令所需的全部信号。程序存储器(ROM)用于存储程序、常数、表格等。数据存储器(RAM)用于存储数据。8051内部有两个16位可编程序的定时器/计数器T0和T1,均为二进制加1计数器。可用于定时和对外部输入脉冲的计数。8051的中断系统主要由中断允许控制器IE和中断优先级控制器IP等电路组成。可实现对5个中断源的管理。8051的中断系统主要由中断允许控制器IE和中断优先级控制器IP等电路组成。其中,IE用于控制5个中断源中哪些中断请求被允许向CPU提出,哪些中断源的中断请求被禁止;IP用于控制5个中断源的中断请求的优先权级别。I/O接口是MCS-51单片机对外部实现控制和信息交换的必经之路,用于信息传送过程中的速度匹配和增加它的负载能力。可分为串行和并行I/O接口。 2、51的程序存储器、外部存储器、内部存储器各自的容量与地址范围? (小抄补充) 1、片内外统一编址的64K的程序存储器地址空间(MOVC) 2、256B的片内数据存储器的地址空间(MOV) 3、以及64K片外数据存储器的地址空间(MOVX) 在访问三个不同的逻辑空间时,应采用不同形式的指令以产生不同的存储器空间的选通信号。 程序ROM 寻址范围:0000H ~ FFFFH 容量64KB EA = 1,寻址内部ROM;EA = 0, 寻址外部ROM 地址长度:16位 作用:存放程序及程序运行时所需的常数 数据存储器片内数据存储器为8位地址,所以最大可寻址的范围为256个单元地址,对片外数据存储器采用间接寻址方式,R0、R1和DPTR都可以做为间接寻址寄存器,R0、R1是8位的寄存器,即R0、R1的寻址范围最大为256个单元,而DPTR是16位地址指针,寻址范围就可达到64KB。

相关主题
文本预览
相关文档 最新文档