8051是一种8位元的单芯片微控制器,属于MCS-51单芯片的一种,由英特尔公司于1981年制造。INTEL公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为核心的单片机,如Atmel、飞利浦、深联华等公司,相继开发了功能更多、更强大的兼容产品。
8051单芯片是同步式的顺序逻辑系统,整个系统的工作完全是依赖系统内部的时脉信号,用以来产生各种动作周期及同步信号。在8051单片机中已内建时钟产生器,在使用时只需接上石英晶体谐振器(或其它振荡子)及电容,就可以让系统产生正确的时钟信号。
8051单片微型计算机简称为单片机,又称为微型控制器,是微型计算机的一个重要分支。单片机是70年代中期发展起来的一种超大规模集成电路芯片,是集成CPU、RAM、ROM、I/O接口和中断系统于同一硅片上的器件。80年代以来,单片机发展迅速,各类新产品不断涌现,出现了许多高性能新型型号,现已逐渐成为工厂自动化和各控制领域的支柱产业之一。
8051特殊功能寄存器基础详解
程序状态寄存器PSW是计算机系统的核心部件—控制器的一部分,可位寻址,字节地址为D0H,单元地址是D0H~D7H。
PSW寄存器结构
各控制位功能介绍如下:
1)CY:进位标志位,作用有两种:(1)算术运算中进位或借位时,CY=1。(2)作为布尔代数位处理的累加器。
2)AC:辅助进位标志位,算术运算时低半字节有进位或借位时,AC=1。
3)F0:通用标志位
4)RS1:寄存器组选择位高位,RS1与RS0选择四组工作寄存器,每组分别为8个寄存器(R0~R7),如RS1=0、RS0=0,则R0~R7对地址为00H~07H,如RS1=0、RS0=1,则R0~R7对地址为08H~0FH,四组寄存器地址从00H~1FH。5)RS0:寄存器组选择位低位。
6)OV:溢出标志位,当进行正负号数值的加减运算时,如结果超出7位或2的补码(+27至-128)时,OV=1
7)USR:用户定义标志位,保留。
8)P:奇偶标志位,当累加器中有奇数个1,则P=1;偶数个1,则P=0.在串行传输时可用来检测传送是否有错
PCON寄存器
PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,在CHMOS型单片机中,除SMOD位外,其他位均为虚设的,SMOD是串行口波特率倍增位,当SMOD=1时,串行口波特率加倍。系统复位默认为SMOD=0。单元地址是87H,其结构格式如下:
PCON电源管理寄存器结构
各控制位功能介绍如下:
1)SMOD:该位与串口通信有关。SMOD=0;串口方式1,2,3时,波特率正常。SMOD=1;串口方式1,2,3时,波特率加倍。
2)GF1、GF0:两个通用工作标志位,用户可以自由使用。
3)PD:掉电模式设定位。PD=0单片机处于正常工作状态。PD=1单片机进入掉电(PowerDown)模式,可由外部中断或硬件复位模式唤醒,进入掉电模式后,外部晶振停振,CPU、定时器、串行口全部停止工作,只有外部中断工作。
4)IDL:空闲模式设定位。IDL=0单片机处于正常工作状态。IDL=1单片机进入空闲(Idle)模式,除CPU不工作外,其余仍继续工作,在空闲模式下可由任一个中断或硬件复位唤醒。
SCON控制寄存器
SCON控制寄存器,它是一个可位寻址的专用寄存器,用于串行数据的通信控制,字节地址为98H,单元地址是98H~9FH,其结构格式如下:
SCON寄存器结构
各控制位功能介绍如下:
1)SM0、SM1:串行口工作方式控制位。SM0,SM1工作方式:00方式0、01方式1、10方式2、11方式3。
2)SM2:多机通信控制位。多机通信是工作于方式2和方式3,SM2位主要用于方式2和方式3。接收状态,当串行口工作于方式2或3,以及SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收到的前8位数据送入SBUF,且置位RI发出中断申请,否则会将接受到的数据放弃。当SM2=0时,就不管第位数据是0还是1,都难得数据送入SBUF,并发出中断申请。工作于方式0时,SM2必须为0。
3)REN:允许接收位。REN用于控制数据接收的允许和禁止,REN=1时,允许接收,REN=0时,禁止接收。
4)TB8:发送接收数据位8。在方式2和方式3中,TB8是要发送的——即第9位数据位。在多机通信中同样亦要传输这一位,并且它代表传输的地址还是数据,TB8=0为数据,TB8=1时为地址。
5)RB8:接收数据位8。在方式2和方式3中,RB8存放接收到的第9位数据,用以识别接收到的数据特征。
6)TI:发送中断标志位。可寻址标志位。方式0时,发送完第8位数据后,由硬件置位,其它方式下,在发送或停止位之前由硬件置位,因此,TI=1表示帧发送结束,TI可由软件清“0”。
7)RI:接收中断标志位。可寻址标志位。接收完第8位数据后,该位由硬件置位,在其他工作方式下,该位由硬件置位,RI=1表示帧接收完成。在串口中断处理时,TI,RI都需要软件清“0”,硬件置位后不可能自动清0,此外,在进行缓冲区操作时,需要ES=0,以防止中断出现。
TCON定时器/计数器控制寄存器
TCON在特殊功能寄存器中,字节地址为88H,单元地址是88H-8FH,由于有位地址,十分便于进行位操作。TCON的作用是控制定时器的启、停,标志定时器溢出和中断情况。其中,TFl、TRl、TF0和TR0位用于定时器/计数器;IEl、ITl、IE0和IT0位用于中断系统。由于TCON是可以位寻址的,因而如果只清溢出或启动定时器工作,可以用位操作命令。例如:执行“CLRTF0”后则清定时器0的溢出;执行“SETBTR1”后可启动定时器1开始工作(当然前面还要设置方式定)。
TCON寄存器结构
各控制位功能介绍如下:
1)TF1:定时器1溢出标志位。当定时器1计满溢出时,由硬件使TF1置“1”,并且申请中断。进入中断服务程序后,由硬件自动清“0”,在查询方式下用软件清“0”。
2)TR1:定时器1运行控制位。由软件清“0”关闭定时器1。当GATE=1,且INT1为高电平时,TR1置“1”启动定时器1;当GATE=0,TR1置“1”启动定时器1。
3)TF0:定时器0溢出标志。其功能及操作情况同TF1。
4)TR0:定时器0运行控制位。其功能及操作情况同TR1。
5)IE1:外部中断1请求标志位。
6)IT1:外部中断1触发方式选择位。当IT1=0,为低电平触发方式;当IT1=1,为下降沿触发方式。
7)IE0:外部中断0请求标志位。
8)IT0:外部中断0触发方式选择位。当IT0=0,为低电平触发方式;当IT0=1,为下降沿触发方式。
TMOD定时器/计数器模式控制寄存器
定时器/计数器模式控制寄存器TMOD是一个逐位定义的8位寄存器,其中低四位定义定时器/计数器T0,高四位定义定时器/计数器T1,但只能使用字节寻址,其字节地址为89H。其格式为:
TMOD寄存器结构
各控制位功能介绍如下:
1)GATE:门控制。GATE=1时,由外部中断引脚INT0、INT1和控制寄存器的TR0,TR1来启动定时器。当INT0引脚为高电平时TR0置位,启动定时器T0;当INT1引脚为高电平时TR1置位,启动定时器T。GATE=0时,仅由TR0,TR1置位分别启动定时器T0、T1。
2)C/T:功能选择位。C/T=0时为定时功能,C/T=1时为计数功能。置位时选择计数功能,清零时选择定时功能。
3)M0、M1:方式选择功能。由于有2位,因此有4种工作方式M1M0工作方式计数器模式TMOD(设置定时器模式),00方式0,13位计数器TMOD=0x00。01方式1,16位计数器TMOD=0x01。10方式2,自动重装8位计数器TMOD=0x02。11方式3,T0分为2个8位独立计数器,T1为无中断重装8位计数器TMOD=0x03。
IE中断使能寄存器
通过设置中断使能寄存器IE的EA位,使能所有中断每个中断源都有单独的使能位,可通过软件设置IE中相应的使能位在任何时候使能或禁能中断,中断使能寄存器IE可位寻址,IE寄存器地址为A8H,位地址(由低位到高位)为A8H-AFH。
IE寄存器结构
各控制位功能介绍如下:
1)EA:使能标志位置位则所有中断使能复位则禁止所有中断
2)ET2:定时器2中断使能。
3)ES:串行通信中断使能。
4)ET1:定时器1中断使能。
5)EX1:外部中断1使能。
6)ET0:定时器0中断使能。
7)EX0:外部中断0使能。
IP中断优先级寄存器
每个中断源都可通过设置中断优先级寄存器IP来单独设置中断优先级,如果每个中断源的相应位被置位,则该中断源的优先级为高如果相应的位被复位,则该中断源的优先级为低。此寄存器可位寻址,字节地址为B8H,单元地址是B8H-BDH。
IP寄存器结构
各控制位功能介绍如下:
1)-保留
2)-保留
3)PT2定时器2中断优先级
4)PS串行通信中断优先级
5)PT1定时器1中断优先级
6)PX1外部中断1优先级
7)PT0定时器0中断优先级
8)PX0外部中断0优先级
T2CON定时器/计数器控制寄存器
51系列单片机,如8052第三个定时/计数器定时器2,他的控制位在特殊功能寄存器定时器2控制寄存器可位寻址。通过由软件设置T2CON,可使定时/计数器以三种基本工作:
方式一,第一种为捕捉方式,设置为捕捉方式时,和定时器0或定时器1一样以16位方式工作。这种方式通过位EXEN2来选择,当置位EXEN2时,如果T2EX有负跳变电平,将把当前的数据锁存在RCAP2H和RCAP2L中,这个事件可用来产生中断。
方式二,自动重装方式,其中包含了两个子功能,由EXEN2来选择,当EXEN2复位时16位定时器溢出将触发一个中断,并将RCAP2H和RCAP2L中的数装入定时器中。当EXEN2置位时,除上述功能外T2EX引脚的负跳变将产生一次重装操作。
方式三,用来产生串行口通讯所需的波特率,这通过同时或分别置位RCLK和TCLK来实现,在这种方式中,每个机器周期都将使定时器加1。而不像定时器0和1那样需要12个机器周期,这使得串行通讯的波特率更高。
T2CON寄存器结构
各控制位功能介绍如下:
1)TF2,定时器2溢出标志位,定时器2溢出时将置位,当TCLK或RCLK为1时将不会置位。
2)EXF2,定时器2外部标志,当EXEN2=1并在引脚T2EX检测到负跳变时置位,如果定时器2中断被允许将产生中断。
3)RCLK,接收时钟标志当串行口以方式1或3工作时将使用定时器2的溢出率作为串行口接收时钟频率。
4)TCLK,发送时钟标志位当串行口以方式1或3工作时将使用定时器2的溢出率作为串行口接收时钟频率。
5)EXEN2,定时器2外部允许标志当EXEN2=1时在T2EX引脚出现负跳变时将造成定时器2捕捉或重装并置位EXF2产生中断。
6)TR2,定时器运行控制位置位时定时器2将开始工作否则定时器2停止工作。7)
C/T2,定时器计数方式选择位如果C/T2=1定时器2将作为外部事件计数器否则对内部时钟脉冲计数。
8)CP/RL2,捕捉/重装标志位当EXEN2=1时如果CP/RL2=1T2EX引脚的负跳变将造成捕捉如果CP/RL2=0T2EX引脚的负跳变将造成重装。