已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、特殊功能寄存器(SFR)MCS-51单片机特殊功能寄存器地址分配如下: IO口地址:P0(80H)、P1(90H)、P2(A0H)、P3(B0H) 堆栈指针SP(81H) 16位地址指针DPTR (由2个8位寄存器DPH(83H)、DPL(82H)组合而成) 电源控制寄存器PCON(87H) 定时器/计数器控制寄存器TCON(88H) 定时器/计数器方式控制寄存器TMOD(89H) T0 计数寄存器TH0(8CH) 、TL0(8AH) T1 计数寄存器TH1(8DH) 、TL1(8BH) 串行口控制寄存器SCON(98H) 串行口数据收发缓冲器SBUF(99H) 中断允许寄存器IE(A8H) 中断优先级寄存器IP(B8H) 程序状态字寄存器PSW(D0H) 累加器ACC(E0H) 寄存器B(F0H)其中凡是字节地址能被8整除的FSR都具有位地址,可作位寻址操作,寄存器字节地址值为其D0位的位地址。2、程序状态字寄存器(PSW)程序状态字寄存器(PSW)用来保存指令执行结果的标志,供程序查询和判别。状态控制字格式如表1所示。D7D6D5D4D3D2D1D0CYACF0RS1RS0OVP表1 PSW状态控制字PSW.7:进位标志CY。操作结果最高位有进位或借位时,则置位CY,否清 “0” CY。PSW.6:半进位标志CA。如操作结果低4位有进位或向高4位借位时,则置位AC,否则清“0”AC。AC主要用于二-十进制数加法调整。PSW.5:用户标志F0。操作和内部RAM位单元相同。PSW.4、PSW.3:指示当前使用的工作寄存器区 (参见图2)PSW.2:溢出标志OV。当有符号的数据运算结果不能用8位二进制数表示时,置位OV,否则清“0”OV。PSW.0:累加器ACC奇偶标志位P。如ACC中8位数据模2和为1(奇)则置“1” P,否则清“0” P。3、MCS-51单片机存储结构MCS-51单片机提供给用户3 个不同的存储空间,即程序存储区(CODE)、内部数据存储区和特殊功能寄存器区(DATA,IDATA, SFR)和外部数据存储区(XDATA),每个存储空间的地址范围都是从0 到最大地址值。堆栈占用内部数据存储区,数据按后进先出的原则操作,进栈时栈地址递增;出栈时栈地址递减。复位时堆栈指针初值为07H。一般堆栈设置在30H7FH空间中高位地址空间。利用特定的地址寻址指令解决地址重叠的问题:(1) MOVC指令,只能对程序存储区操作。寻址范围:0000HFFFFH(2) MOVX指令,只能对外部数据存储区操作。寻址范围:0000HFFFFH(3) 在内部数据存储区中,对地址范围为80HFFH的IDATA区的操作采用寄存器间接寻址(R0 , R1)方式;对DATA区(00H7FH)和SFR区(80HFFH)的操作则采用直接寻址方式。其中,DATA区也可作为IDATA区,即也可采用寄存器间接寻址(R0 , R1)方式操作。(4) DATA区中20H2FH单元可为位寻址区,既可字节寻址,也可位寻址,位地址为00H7FH,共16字节,128位。 二、 基本输入/输出(I/O)功能MCS-51系列单片机有四个双向的8位并行口P0P3,每个口各有一个8位的口锁存器,复位后它们的初态全为1。P1口为准双向口,P1口的每一位都能独立地定义为输出线或输入线。作为输入线的位,口锁存器的相应位必须为1状态。P3口是一个双功能口,作为第一功能使用时,其功能和P1口相同。作为第二功能使用时,其口锁存器状态必须为1。P3口的每一位可独立地定义为第一功能的输入输出和第二功能的输入输入。P3口的第二功能引脚定义如表2所示。表2 P3口第二功能引脚定义P3口引脚第二功能P3.0RxD (串行通信输入)P3.1TxD (串行通信输出)P3.2 (外部中断0)P3.3 (外部中断1)P3.4T0 (定时/计数器0外部输入) P3.5T1 (定时/计数器1外部输入)P3.6 (外部数据存储器写脉冲)P3.7 (外部数据存储器读脉冲)P2口也是准双向口,并且是双功能口,它既可作为第一功能的输入输出口使用,也可作为第二功能的系统扩展地址总线口,输出高8位地址AB8AB15。P0口也是双功能口,既可可作为第一功能的输入输出口使用,也可作为第二功能的系统扩展地址/数据总线口,分时输出低8位地址AB0AB7和收发数据信息D0D7。如果MCS-51本身的I/O口数量和种类或存储器容量不能满足用户需求时,可扩展I/O接口或外数据存储器,外部数据存储器和外部扩展接口统一编址,CPU对它们的操作指令也相同。在外部64k的数据空间(存储类型XDATA)内,可以各划出一个区域作为扩展I/O地址空间和外部数据存储器地址空间。外部数据存储区(XDATA)扩展单元基本电路如图3所示。图3 外部数据存储区扩展单元基本电路三、 外中断功能MCS-51系列单片机至少有5个中断请求源,提供2个中断优先级,可实现2级中断服务程序嵌套。每个中断源可程控为高优先级中断或低优先级中断。和中断系统相关的特殊功能寄存器有中断优先级控制寄存器IP,中断使能控制寄存器IE,以及定时/计数器控制寄存器TCON、串行通信口控制寄存器SCON的相关位。1、中断请求源MCS-51系列单片机的5个中断请求源中,有通过P3.2、P3.3输入的二个外部中断源和,片内两个定时器/计数器 (T/C0、T/C1) 的溢出中断请求源TF0和TF1,还有一个片内串行通信口发送或接收中断请求源TI或RI。这些中断请求源分别由特殊功能寄存器TCON和SCON的相应位所锁存。(1) 定时器/计数器(T/C)控制寄存器TCONTCON的高4位控制定时/计数器,低4位控制外部中断。其格式如表3所示。表3 定时器/计数器控制寄存器TCOND7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0定时/计数器控制外部中断控制IT0、IT1:外部中断0、1触发方式选择位,由软件设置。置1为下降沿触发 (即当外部中断请求源信号有从1电平到0电平的变化时,外部中断请求标志IE0或IE1才会置1 ),设置0 为低电平触发 (即只要外部中断请求源信号为0时,外部中断请求标志IE0或IE1就置1 )。IE0、IE1:外部中断0、1请求标志位。产生中断请求时,硬件置位,CPU响应中断后,硬件清零。TF0、TF1:T/C0、T/C1计数溢出中断请求标志位。产生中断时,硬件置位,CPU响应中断后,硬件清零。TR0、TR1:T/C0、T/C1启动标志位。其操作方法将在定时器/计数器章节中介绍。(2) 串行通信控制寄存器SCONSCON中与串行通信中断有关的位是SCON.1和SCON.0。格式如表4所示。表4 串行通信控制寄存器SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRISCON.1为串行通信口发送中断请求标志TI。当CPU将一个数据写入发送缓冲器SBUF后就启动发送器工作。发送完数据后由硬件置1 TI,串行通信口向CPU申请发送中断。当CPU响应TI中断转向串行中断入口时,并不清零TI中断标志,必须由软件清零。SCON.0为串行通信口接收中断请求标志RI。允许串行通信口接收时,当接收器收到一个数据后置1 RI,向CPU申请接收中断。CPU响应RI中断转入串行中断入口时,同样也不清零RI,必须由软件清零。2、中断使能控制在MCS-51系列单片机中CPU对中断源的开放或屏蔽是由中断允许控制寄存器IE控制的,其格式如表5所示。表5 中断允许控制寄存器IED7D6D5D4D3D2D1D0EAESET1EX1ET0TX0EX0、EX1:外部中断0、1中断允许位。1允许中断;0禁止中断。ET0、ET1:T/C0、T/C1中断允许位。 1允许中断;0禁止中断。ES:串行口中断允许位。 1允许中断;0禁止中断。EA:全局CPU中断控制位。1开中断,即允许CPU响应中断;0关中断,即屏蔽所有中断。3、中断优先级控制MCS-51有两个中断优先级,对于每一个中断请求源可编程为高优先级中断或低优先级中断,可实现二级中断嵌套,一个正在被执行的低优先级中断服务程序能被高优先级中断所中断,但不能被另一个同级或低优先级中断源所中断。若CPU正在执行高优先级的中断服务程序,则不能被任何中断源所中断,一直执行到结束,遇到中断返回指令RETI返回到主程序再执行一条指令后才能响应新的中断源申请。中断优先级由中断优先级寄存器IP所控制,其格式如表6所示。表6 中断优先级寄存器IPD7D6D5D4D3D2D1D0PSPT1PX1PT0PX0PX0、PX1:外部中断0、1中断优先级控制位。PT0、PT1:T/C0、T/C1中断优先级控制位。PS:串行口中断优先级控制位。对于上述各控制位,1高优先级;0低优先级。CPU复位时,IP被清零,5个中断源都在同一优先级。这时若其中几个中断源同时产生中断请求,则CPU按硬件优先级顺序响应中断。各中断源的硬件优先级以及中断服务程序入口地址如表7所示。表7 中断服务程序入口地址表编号中断源入口地址硬件优先级0外部中断00003H最高1T/C0中断000BH高2外部中断10013H中3T/C1中断001BH低4串行通信口中断0023H最低通常在中断入口安排一条相应的无条件跳转指令,以当CPU响应中断后,可从中断入口跳转到用户设计的相应中断处理程序入口。4、中断系统结构图与中断系统相关的特殊功能寄存器有以下几个:(1) TCON:涉及位标志IE0、TF0、IE1、TF1(2) IE:设及位标志EX0、ET0、EX1、ET1、ES(3) IP:涉及位标志PX0、PT0、PX1、PT1、PS(4) SCON:涉及位标志RI、TI中断系统结构如图4所示。图4 51单片机中断系统结构四、定时器/计数器功能定时器/计数器是单片机的一个重要功能部件,可用来实现定时、计数、频率测量、脉冲宽度测量、产生信号、信号检测等。MCS-51系列单片机中有至少有2个定时器/计数器T/C0和T/C1,它们既可以编程为定时器使用,也可编程为计数器使用。若是内部晶振驱动时钟,则是定时器;若是对外部输入的脉冲信号计数,则是计数器。当T/C以定时器方式工作时,在每个机器周期计数加1,计数频率 = fosc / 12。如晶振频率为12MHz时,计数频率为1MHz,每隔1s计数值加1。当T/C以计数器方式工作时,计数脉冲来自外部输入管脚T0 (P3.4) 或T1 (P3.5) ,当外部脉冲信号负跳变时计数值加1。假如外部信号是周期性连续脉冲信号,则每过一个振荡周期,计数器进行一次加1计数。因计算机识别输入信号的负跳变需两个机器周期,所以可计数外部脉冲的最高频率为fosc / 24。当晶振为12MHz时,最高计数频率为500kHz,假如外部脉冲频率高于此频率,计数将出错。和T/C有关的特殊功能寄存器有TH0、TL0、TH1、TL1、TCON和TMOD,其中TH0和TL0为T/C0的计数寄存器,TH1和TL1为T/C1的计数寄存器。1、定时/计数器启停控制TCON中高4位用于控制定时/计数器的启停以及产生计数溢出中断标志,其各位的定义如下表8所示。表8定时器/计数器控制寄存器TCOND7D6D5D4D3D2D1D0TF0TR0TF1TR1IE1IT1IE0IT0TR0、TR1:T/C0、T/C1启动控制位,需软件控制。1启动计数;0停止计数。TF0、TF1:T/C0、T/C1计数溢出中断请求标志位。产生中断时,硬件置位;CPU响应中断时,硬件清零。TCON中低4位的功能定义参见外中断功能章节。TCON上电复位时清零。2、定时/计数器工作模式TMOD用于设置定时器/计数器的工作模式,其各位的定义如表9所示。表9 定时器/计数器方式控制寄存器TMODD7D6D5D4D3D2D1D0GATEC/M1M0GATEC/M1M0T/C1T/C0其中高4位对应于T/C1,低4位对应于T/C0。C/:计数器或定时器选择位。0定时器;1计数器。GATE:门控信号位。0T/C的启停仅受TR0或TR1的控制;1T/C的启停受到双重控制,即TR0和P3.2或TR1和P3.3同时为1才能启动T/C0或TC1。M1、M0:工作方式选择位。各功能如表10所示。表10 定时器/计数器工作方式M1M0方式功能00013位定时器/计数器,TLx低5位、THx高8位计数01116位定时器/计数器102常数自动装入的8位定时器/计数器1132个8位定时器/计数器。仅适用于T/C0注:THx、TLx 对应于T/C0,则为TH0、TL0;对应于T/C1,则为TH1、TL1。方式0:13位的定时/计数器,THx提供高8位、TLx提供低5位的计数值,满计数值213,可预置计数初值。方式1:16位的定时/计数器,THx提供高8位、TLx提供低8位的计数值,满计数值216,可预置计数初值。在方式0和方式1中,当计数满后,若要进行下一次定时/计数,须用软件向THx和TLx重新预置计数初值。方式2:可自动重新装载计数初置的8位定时/计数器。THx寄存8位初值并保持不变,由TLx进行8位计数。计数溢出时,TF置位的同时,自动将THx中初值重装到TLx,假如启停控制仍处在启动状态,T/C则继续计数。满计数值为28。通常用此方式将T/C1作为串行口波特率发生器。方式3:只适于T/C0。TH0和TL0分别为2个独立的8位计数器。其中TL0可作定时器/计数器,占用T/C0在TCON和TMOD中的控制位和标志位;TH0只能作定时器用,占用TR1和TF1。在此情况下,T/C1仍可用于方式0、1、2,但不能使用中断方式。3、定时初值的计算定时器定时时间和计数初值之间的关系:定时时间 = (满计数值 计数初值) 机器周期机器周期 = 12 / fosc满计数值:13位计数:213 = 8192 16位计数:216 = 65536 8位计数: 28 = 256 定时/计数器编程操作步骤:(1) 确定工作模式:编程TMOD;(2) 计算定时器计数初值,并装载到THx和TLx中,或THx和TLx清零;(3) 在中断方式工作时,开CPU中断和源中断:编程IE。必要时设置中断优先级:编程IP;(4) 启动T/C:置位TCON中的TR0、TR1。4、定时/计数器工作逻辑下述以T/C0为例,以逻辑结构图形式描述定时/计数器在不同工作方式下的工作逻辑。(1) 定时/计数器工作方式00图5 定时/计数器工作方式0逻辑结构(2)定时/计数器工作方式1图6 定时/计数器工作方式1逻辑结构(3) 定时/计数器工作方式2图7 定时/计数器工作方式2逻辑结构(4) 定时/计数器工作方式3图8 定时/计数器工作方式3逻辑结构五、 串行通信功能MCS-51系列单片机内至少有一个全双工的异步串行通信接口,在其接口部分,有两个物理上独立的数据收发缓冲器SBUF,片内特殊功能寄存器SCON和PCON控制串行通信口的工作方式及波特率,通常将定时/计数器1 (T/C1) 作为波特率发生器。1、串行通信控制寄存器SCONSCON包含串行通信口工作方式选择位、接收发送控制位和串行通信口状态标志位。格式如表11所示。表11 串行通信控制寄存器SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRISM0、SM1为串行通信口方式选择位,其编码如表12所示。表12 串行通信口工作方式方式SM0SM1功 能 说 明000移位寄存器方式(用于I/O口扩展)1018位通用异步收发(UART)方式,波特率可变2109 位UART,波特率为fosc/64或fosc/32(假如PCON.7=1)3119位UART,波特率可变SM2作为通信控制位。在方式2和方式3中,如SM2为1,则接收到的第9位数据(RB8)为0时不激活RI;在方式1中,如SM2为1,则只有收到串行通信数据祯中有效的停止位时才会激活RI;假如SM2为0,则该控制位无效。在方式0中,SM2置0。REN为允许串行接收。由软件置位以允许接收,由软件清零来禁止接收。TB8是在方式2和方式3中发送的第9位数据。需要时由软件置位或复位。RB8在方式2和方式3中,是接收到的第9位数据。在方式1中,如SM2为0,则RB8是接收到的停止位。方式0不使用RB8。TI为发送中断标志。由硬件在方式0串行发送第8位数据结束时置位,或在其他方式串行发送停止位的开始时置位。必须由软件清零。RI为接收中断标志。由硬件在方式0串行接收第8位数据结束时置位,或在其他方式串行接收到停止位的中间时置位(除了与SM2有关)。必须由软件清零。2、特殊功能寄存器PCON在此寄存器中,与串行通信口有关的是PCON.7位,它被定义为SMOD,用于确定串行通信口波特率系数,当SMOD为1时,串行通信波特率加倍。CPU复位时,PCON被清零。3、串行通信口的工作方式(1) 方式0方式0为移位寄存器输入输出方式。串行通信接口可以外接移位寄存器以扩展I/O接口,也可以外接串行同步输入输出设备。(2) 方式1方式1为8位异步通信方式,波特率可变,传送的一帧信息为10位:一位起始位(0电平),八位数据位(先低位后高位),一位停止位(1电平)。其信号波形如图9所示。起始D0D1D2D3D4D5D6D7停止XXXXXXXX图9 8位异步通信数据格式串行通信口以方式1发送时,数据由TxD端输出。CPU执行一条将数据写入串行发送缓冲器SBUF的指令(如MOV SBUF, A)后,便启动串行口发送器发送,发送完一帧信息后,置1发送中断标志TI。当串行接收缓冲器SBUF接收到外部串行通信数据后,便置1接收中断标志RI,CPU可执行一条从串行接收缓冲器SBUF读取数据的指令(如MOV A, SBUF),将数据读出。(3) 方式2和方式3方式2和方式3为9位异步通信通信方式,方式2位固定波特率,方式3波特率可变,传送一帧信息为11位:一位起始位(0电平),八位数据位(先低位后高位),一位可程控位D8(对于发送数据,此位为SCON中的TB8;对于接收数据,该位数据位于SCON中的RB8),一位停止位(1电平)。其信号波形如图10所示。起始D0D1D2D3D4D5D6D7D8停止XXXXXXXXX图10 9位异步通信数据格式串行通信口以方式2或方式3发送时,数据由TxD端输出,发送一帧11位的信息,附加的第9位数据D8在SCON中的TB8,CPU执行一条数据写入串行发送缓冲器SBUF的指令(如MOV SBUF, A),就启动发送器发送,发送完一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 惠城物流劳务外包合同
- 企业招商业务外包合同
- 青海机械劳务外包合同
- 2025年城市通勤骑行服时尚设计
- 外贸采购发货外包合同
- 中央空调安装外包合同
- 网易用户运营外包合同
- 屠宰场猪副产品外包合同
- 游戏美术设计外包合同
- 交通路标志路灯外包合同
- 中医针灸师实践技能考核要点试卷及答案
- 宠物美容与护理操作手册(标准版)
- 肾内科慢性肾病管理工作制度及操作规范
- 光伏项目现场制度规范
- 2026年时事政治测试题库100道附答案【满分必刷】
- 施工围挡资源配置方案
- 2026年监考员考务工作培训试题及答案新编
- 2025年中国铁路哈尔滨局集团有限公司招聘294人参考笔试题库及答案解析
- 牛津树分级阅读绘本课件
- 域名权课件教学课件
- 2026年演出经纪人考试题库附参考答案(完整版)
评论
0/150
提交评论