第02讲:MCS-51单片机结构原理M_第1页
第02讲:MCS-51单片机结构原理M_第2页
第02讲:MCS-51单片机结构原理M_第3页
第02讲:MCS-51单片机结构原理M_第4页
第02讲:MCS-51单片机结构原理M_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机技术电气学院:陈裕国第02章:MCS-51单片机结构原理主要内容:硬件编程结构及引脚CPU主要部件与特殊功能寄存器(SFR)片内外存储器的组织结构和编址并行I/O口中断及中断系统(第5章)定时/计数器、串行口(外设)(第5章)1、概述(1):MCS51单片机的编程结构

51子系列(2个定时器、128字节RAM):8031(无ROM)、8051(OTP-ROM:4K)、8751(EPROM:4K)52子系列(3个定时器、256字节RAM):8032(无ROM)

、8052(OTP-ROM:4K)其他增强型:如C8051F系列、upsd3200系列简化版:如89C2051共同点:有MCS51的CPU内核有此结构才能称为51单片机1、概述(2):标准51单片机的引脚?★40脚分类(教材以功能进行归纳!):I/O端口:

P0~P3(32pin)(P0-数据总线,也可作为访问外部地址的低八位地址【时分复用口】P2-通用IO,通常也用作访问外部地址的高八位地址(H)

P1-通用IO

P3-通用IO,有第二功能)控制相关(4pin)地址锁存ALE复位输入RST

外存选择/PSEN外存控制/EA(编程脉冲输入/PORG)时钟(2pin)XTAL1、XTAL2电源(2pin)VCC、VSS、2、中央处理器(CPU)①由运算器、控制(定时)器、寄存器组成②运算器功能部件包括算术逻辑运算部件ALU,累加器A,寄存器B、暂存器TR,程序计数器PC、程序状态寄存器PSW,堆栈指针SP,数据指针寄存器DPTR(16bit)以及布尔处理器等。控制器功能部件包括指令寄存器、指令译码器、定时与控制逻辑及时钟电路、复位电路等(1)算术/逻辑运算部件ALU——对应用开发人员“透明”ALU的作用:算术/逻辑运算操作——对对传送到CPU的8位数据进行+、-、*、/算术运算和与、或、异或等逻辑操作,移位、置位、清零、取反,加1/减1操作。位处理功能(51MCU的特点):置位、清零、取反、逻辑与、逻辑或、条件判断转移等(这在控制中特别有用,因为一些控制中常需要进行按位运行,位操作指令提供了把逻辑等式直接变换成软件的简单明了的方法,使得不使用过多的数据传送、字节屏蔽/组合和测试分支树等编程方法,也能实现较为复杂的组合逻辑功能,从而简化了程序逻的编制。为此,它获得了布尔处理器的称号)累加器A(Acc)-8位

CPU工作最频繁的reg,用于提供操作数和存放运算的中间结果(与“加法”的意义区分开!)

MCS51系列MCU,结构上仍以累加器A作为基础(许多指令都以Acc为基础,特别是与外部存储器打交道的指令,都需在Acc中进行)。但由于内部电路采取了措施,使得累加器A在数据传送、逻辑控制等方面的核心作用受到了削载,数据可以在片内直接/间接地址的存储器之间直接传送而不必经过累加器A。直接地址存储器也可和常量直接进行逻辑运算(2)寄存器——要求能记能背

一般用于乘除法指令,通常与A配合使用。B存放乘积的高位字节或除法运算后的余数部分。例如:MULAB;A×B(8位无符号数)→BADIVAB;A/B商→A,A/B余数→B

也可作为普通的reg来使用,如暂存中间结果等

B寄存器程序状态字寄存器PSW(特别重要!)

程序状态字PSW是指令可以访问的、单片机中各有关标志寄存器的集合体。可以以字节来访问,也可以直接访问某一位,如:setbF0;//将F0位置1

要求掌握其中每一位的含义!PSW(字节地址:F0H)——凡字节地址可被8整除的均可按位访问PSW状态字PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0

标志位CYACF0RS1RS0OV—P例:10101010B如何影响Cy、AC?

+01011000B———————————CY(PSW.7):进位标志,如果操作结果在最高位有进位输出(加法)或借位输入(减法)时置位,否则清零。AC(PSW.6):辅助进位标志,是低半字节的进位位(累加器A中A3向A4位的进位),BCD码调整时用。PSW(字节地址:F0H)——凡字节地址可被8整除的均可按位访问PSW状态字PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0

标志位CYACF0RS1RS0OV—PF0(PSW.5):用户定义的状态标志位,可通过软件对它置位/复位或测试。OV(PSW.2):溢出标志位,用于表示有符号数算术运算溢出。当次高位发生向最高位进位而最高位不发生进位时,发生溢出,OV便由硬件置位,否则清零。P(PSW.0):奇偶标志位,它是每一指令周期累加器A中8位按位模2和的结果。因此P总是表示累加器A中内容的奇偶性,而与PSW中其它标志的变化无关。PSW(字节地址:F0H)——凡字节地址可被8整除的均可按位访问PSW状态字PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0

标志位CYACF0RS1RS0OV—PRS1(PSW.4)RS0(PSW.3):工作寄存器组选择位,用于选择四组工作寄存器之一。及通用寄存器R0~R7映射到内部RAM中的具体位置:

RS1/RS0寄存器组对应的RAM地址

0

0组000H~07H

01组108H~0FH

1

0组210H~17H

11组318H~1FH

例:MOVPSW,#08H

选中寄存器组1(即R0~R7映射到RAM的08H~0FH单元20H~18H~1FH10H~17HR7(0FH)R6(0EH)R5(0DH)R4(0CH)R3(0BH)R2(0AH)R1(09H)R0(08H)00H~07H片内RAM的部分字节用于通用寄存器组堆栈指针SP

(堆栈与中断系统是计算机的两大特征)

以“堆”的方式工作的“栈”。遵循“先进后出、后进先出”的原则,堆栈是按该工作方式工作的、用来暂时存放数据的寄存器或存储单元。是只在一端进行存取的一块特别的存储区。堆栈的作用:在CPU响应中断或调用了程序时,需要把断点处的PC值以及现场的一些数据保存起来,在微型计算机中,它们就是保存在堆栈中的。同样,当发生中断嵌套(高级中断中断低级中断)或子程序嵌套(在执行一个子程序中,又调用另一个子程序)时,也要把各级断点的PC值以及一些现场数据都要保护起来,为了能保证逐级正确返回,要求后保存的值先取回即符合“先进先出、后进后出”的原则。堆栈正是为此目的而设计的。

堆栈的实现方式:①硬件堆栈在CPU内部设置一组专用的按堆栈工作方式存取数据的寄存器,称为硬件堆栈。其优点是工作速度快,缺点是不能做得容量太大。②软件堆栈在RAM区中开辟一个任意大的区域用作为栈区,栈区可设置在RAM的任意区,在CPU内仅由一个专用的寄存器来管理堆栈的栈顶,这个寄存器叫做堆栈指示器(常称为堆栈指针,SP)。

堆栈的生长方向:堆栈的生长方向有两种,当栈底设在RAM中地址号小的地方,堆栈指针增加后压入一个数据堆栈向地址号大的方向伸展,这叫做堆栈是向下生长的;反之为向上生长(MCS51的生长方式为“向下生长”)

MCS51的堆栈(指针8位)——MCS51的堆栈指针是一个8位的地址寄存器,它指向RAM中的一个存储单元。堆栈指针的初值称为栈区的栈底,每当一个数据送到堆栈中(称为压入堆栈)或从堆栈中取出(称为弹出堆栈),堆栈指针都要随之作相应的变化,它始终指向栈区的顶端(栈顶)。

工作过程:需要入栈时(中断或执行PUSH或CALL指令时),CPU首先把SP加1,再把数据压栈;当需要把数据弹出时(为执行POP或返回指令时),CPU先把数据弹出,然后SP减1,这样保证SP所指的栈顶总是满的。

当复位时,堆栈指针初始化为07H,因此,堆栈从地址08H开始;堆栈指针也可由指令改变,因而堆栈可设置且只能设置在片内数据存储器RAM的任何一个连续区间。DPTR(数据指针)

数据指针DPTR是一个16位的SFR,其高位字节寄存器用DPH表示、低位字节寄存器用DPL表示。DPTR既可以作为一个16位的寄存器DPTR来使用,也可以作为两个独立的八位寄存器DPH、DPL来用。PC(程序计数器,程序指针)

程序计数器PC用于存放下一条要执行的指令地址,是一个16位的专用寄存器,可寻址范围为0~65536(64K)。PC在物理上是独立的,尽管与SFR关系密切,但不属于SFR。关于“特殊功能寄存器(SFR)”的小结

MCS-51系列单片机将物理上分散在片内各处(离散的占用片内RAM区的80H~FFH地址)的具有某种特定功能的一些寄存器,在数学上把它们组织在特殊功能寄存器的地址空间中,使用统一后的直接寻址方式访问。(这样,大多数指令能对它们进行操作,使单片机许多不同功能的实现在指令形式上变得极其简单和统一,从而减少了指令的种类和数量,使指令系统更加规整和有效。)

SFR不连续地分布在地址空间80H~FFH中,如表2-3所示。其中,地址号能被8整除的那些特殊功能寄存器单元中的位,可以直接位寻址。地址符号名称地址符号名称F0HB寄存器98HSCON串行控制/状态寄存器E0HA累加器90HP1口1D0HPSW程序状态字8DHTH1定时器1高8位CDHTH2定时器2高8位8CHTL1定时器1低8位CCHTL2定时器2低8位8BHTH0定时器0高8位CBHRCAP2H定时器2陷阱寄存器高8位8AHTL0定时器0低8位CAHRCAP2L定时器2陷阱寄存器低8位89HTMOD定时器方式寄存器C8HT2CON定时器2控制寄存器88HTCON定时器控制寄存器B8HIP中断口优先级控制寄存器器87HPCON电源控制寄存器B0HP3口383HDPH数据指针高8位A8HIE中断允许控制寄存器82HDPL数据指针低8位A0HP2口281HSP堆栈指针99HSBUF串行数据缓冲器80HP0口0表2-3特殊功能寄存器映像

8051、8751、8031有21个特殊功能寄存器,8052、8032则有26个SFR。大致可分为以下几类:1)算术运算寄存器(已介绍)A:累加器(E0H)B:寄存器(F0H)PSW:程序状态字寄存器(D0H)2)指针寄存器SP:堆栈指针(81H)DPTR:数据指针(16位)。可拆分为两个8位reg独立操作(DPH/高8位和DPL/低8位)(83H、82H)3)并行I/O口P0:口0(80H)P1:口1(90H)P2:口2(A0H)P3:口3(B0H)4)串行I/O口SCON:串行控制/状态寄存器(98H)SBUF:串行数据缓冲区(99H)PCON:电源控制(97H)5)中断系统IP:中断优先级控制寄存器(B8H)IE:中断允许控制寄存器(A8H)6)定时/计数器TMOD:定时器方式寄存器(98H)TCON:定时器控制寄存器(88H)TH0:定时器0高8位(8CH)TL0:定时器0低8位(8AH)TH1:定时器1高8位(8DH)TL1:定时器1低8位(8BH)

T2CON:定时器2控制寄存器高8位(CBH)RCAP2L:定时器2陷阱寄存器低8位(CAH)(3)控制与定时部件1、时钟电路(内部/外部时钟;频率范围1.2M~12Mhz)(a)内部时钟电路;(b)外部振荡源(HMOS)(3)控制与定时部件2、时序及相关概念振荡周期:

也称时钟周期,是指为单片机提供时钟脉冲信号的振荡源的周期。(即晶振的频率)状态周期:

每个状态周期为时钟周期的2倍,是振荡周期经二分频后得到的。机器周期:完成一个基本操作所需要的时间。一个机器周期由12个时钟周期组成。指令周期:一条指令的执行时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论