收藏 分享(赏)

单片机理论基础.ppt

上传人:无敌 文档编号:18196 上传时间:2018-03-04 格式:PPT 页数:61 大小:3.78MB
下载 相关 举报
单片机理论基础.ppt_第1页
第1页 / 共61页
单片机理论基础.ppt_第2页
第2页 / 共61页
单片机理论基础.ppt_第3页
第3页 / 共61页
单片机理论基础.ppt_第4页
第4页 / 共61页
单片机理论基础.ppt_第5页
第5页 / 共61页
点击查看更多>>
资源描述

1、第2章 MCS-51系列单片机的硬件结构,2.1 MCS-51系列单片机内部结构与外部引脚说明2.2 存储器2.3 并行输入/输出接口2.4 时钟电路与时序,2.1 MCS-51系列单片机内部结构与外部引脚说明,2.1.1 内部结构框图,MCS-51系列单片机的内部结构框图如图2.1所示。 从图2.1中可看出,MCS-51单片机组成结构中包含运算器、控制器、片内存储器、4个I/O口、串行口、定时器/计数器、中断系统、振荡器等功能部件。图中SP是堆栈指针寄存器,PC是程序计数器,PSW是程序状态字寄存器,DPTR是数据指针寄存器。,图2.1 MCS-51单片机内部结构框图,运算部件 运算部件以算

2、术逻辑单元ALU为核心,包括累加器ACC、寄存器B、暂存器、程序状态字PSW等许多部件。它能实现数据的算术逻辑运算、位变量处理和数据传输操作。,1算术逻辑单元ALU与累加器ACC、寄存器B 算术逻辑单元不仅能完成8位二进制的加、减、乘、除、加1、减1及BCD加法的十进制调整等算术运算,还能对8位变量进行逻辑与、或、异或、循环移位、求补、清零等逻辑运算,并具有数据传输、程序转移等功能。累加器(ACC,简称累加器A)为一个8位寄存器,它是CPU中使用最频繁的寄存器。进入ALU作算术和逻辑运算的操作数多来自于A,运算结果也常送回A保存。寄存器B是为ALU进行乘除法运算而设置的。若不作乘除运算时,则可

3、作为通用寄存器使用。,2程序状态字 程序状态字PSW是一个8位的标志寄存器,它保存指令执行结果的特征信息,以供程序查询和判别。其各位的定义如下:,进位标志位C(PSW.7):在执行某些算术操作类、逻辑操作类指令时,可被硬件或软件置位或清零。它表示运算结果是否有进位或借位。如果在最高位有进位(加法时)或有借位(减法时),则C=1,否则C=0。,辅助进位(或称半进位)标志位AC(PSW.6):它表示两个8位数运算,低4位有无进(借)位的状况。当低4位相加(或相减)时,若D3位向D4位有进位(或借位),则AC=1,否则AC=0。在BCD码运算的十进制调整中要用到该标志。 用户自定义标志位F0(PSW

4、.5):用户可根据自己的需要对F0赋予一定的含义,通过软件置位或清零,并根据F0=1或0来决定程序的执行方式,或反映系统某一种工作状态。,工作寄存器组选择位RS1、RS0(PSW.4、PSW.3):可用软件置位或清零,用于选定当前使用的4个工作寄存器组中的某一组(详见第2.4节)。 溢出标志位OV(PSW.2):做加法或减法时,由硬件置位或清零,以指示运算结果是否溢出。OV=1反映运算结果超出了累加器的数值范围(无符号数的范围为0255,以补码形式表示一个有符号数的范围为-128+127)。进行无符号数的加法或减法时,OV的值与进位位C的值相同;进行有符号数的加法时,如最高位、次高位之一有进位

5、,或做减法时,如最高位、次高位之一有借位,OV被置位,即OV的值为最高位和次高位的异或(C7C6)。,执行乘法指令MUL AB也会影响OV标志,积255时OV =1,否则OV =0。 执行除法指令DIV AB 也会影响OV标志,如B中所放除数为0,OV=1,否则 OV=0。 奇偶标志位P(PSW.0):在执行指令后,单片机根据累加器A中1的个数的奇偶自动给该标志置位或清零。若A中1的个数为奇数,则P=1,否则P=0。该标志对串行通信的数据传输非常有用,通过奇偶校验可检验传输的可靠性。,3布尔处理机 布尔处理机(即位处理)是MCS-51单片机ALU所具有的一种功能。单片机指令系统中的位处理指令集

6、(17条位操作指令),存储器中的位地址空间,以及借用程序状态寄存器PSW中的进位标志CY作为位操作累加器,构成了MCS-51单片机内的布尔处理机。它可对直接寻址的位(bit)变量进行位处理,如置位、清零、取反、测试转移以及逻辑与、或等位操作,使用户在编程时可以利用指令完成原来单凭复杂的硬件逻辑所完成的功能,并可方便地设置标志等。,2.1.2 外部引脚说明,1主电源引脚 VCC(40脚):接+5 V电源正端。 VSS(20脚):接+5 V电源地端。 2外接晶体引脚 XTAL1(19脚):接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部时钟时,

7、对于HMOS单片机,该引脚接地;对于CHMOS单片机,该引脚作为外部振荡信号的输入端。,时钟电路,图 2.2 单片机时钟电路(a) 内部时钟电路; (b) 外部振荡源,图2.2 MCS-51系列单片机引脚及总线结构,3输入 / 输出引脚 (1) P0口(3932脚):P0.0P0.7统称为P0口。在不接片外存储器与不扩展I/O口时,可作为准双向输入/输出口。在接有片外存储器或扩展I/O口时,P0口分时复用为低8位地址总线和双向数据总线。 (2) P1口(18脚):P1.0P1.7统称为P1口,可作为准双向I/O口使用。对于52子系列,P1.0与P1.1还有第二功能:P1.0可用作定时器/计数器

8、2的计数脉冲输入端T2,P1.1可用作定时器/计数器2的外部控制端T2EX。,(3) P2口(2128脚):P2.0P2.7统称为P2口,一般可作为准双向I/O口使用;在接有片外存储器或扩展I/O口且寻址范围超过256字节时,P2口用作高8位地址总线。 (4) P3口(1017脚):P3.0P3.7统称为P3口。除作为准双向I/O口使用外,还可以将每一位用于第二功能,而且P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。P3口的第二功能如表2.1所示。,表2.1 P3口第二功能表,2.2 存 储 器,2.2.1 程序存储器,1编址与访问 计算机的工作是按照事先编制好的程序命令序列一

9、条条顺序执行的,程序存储器就是用来存放这些已编好的程序和表格常数,它由只读存储器ROM或EPROM组成。计算机为了有序地工作,设置了一个专用寄存器 - 程序计数器PC,用以存放将要执行的指令地址。每取出指令的个字节后,其内容自动加,指向下一字节地址,使计算机依次从程序存储器取出指令予以执行,完成某种程序操作。由于MCS-51单片机的程序计数器为16位,因此,可寻址的地址空间为64 KB。,图2.3 程序存储器编址图(a) 51子系列;(b) 52子系列,图 2.3 MCS - 51 单片机的存储器结构,2程序的7个特殊入口地址,表2.2 MCS-51单片机复位、中断入口地址,2.2.2 数据存

10、储器 1编址与访问 MCS-51单片机片内、外数据存储器是两个独立的地址空间,应分别单独编址。片内数据存储器除RAM块外,还有特殊功能寄存器(SFR)块。对于51子系列,前者有128个字节,其编址为00H7FH;后者有128个字节,其编址为80HFFH;二者连续而不重叠。对于52子系列,前者有256个字节,其编址为00HFFH;后者有128个字节,其编址为80HFFH。后者与前者高128个字节的编址是重叠的。由于访问它们所用的指令不同,并不会引起混乱。片外数据存储器一般是16位编址。数据存储器的编址如图2.6所示。,图2.4 数据存储器编址图(a) 51子系列;(b) 52子系列,2片内数据存

11、储器,表2.3 51子系列单片机片内RAM的配置,1) 工作寄存器区 00H1FH单元为工作寄存器区。工作寄存器也称通用寄存器,用于临时寄存8位信息。工作寄存器分成4组,每组都有8个寄存器,用R0R7来表示。程序中每次只用1组,其它各组不工作。使用哪一组寄存器工作由程序状态字PSW中的PSW.3(RS0)和 PSW.4(RS1)两位来选择,其对应关系如表2.4所示。通过软件设置RS0和RS1两位的状态,就可任意选一组工作寄存器工作。这个特点使MCS-51单片机具有快速现场保护功能,对于提高程序效率和响应中断的速度是很有利的。,表2.4 工作寄存器组的选择表,2) 位寻址区 20H2FH单元是位

12、寻址区。这16个单元(共计168=128位)的每一位都赋予了一个位地址,位地址范围为00H7FH。位寻址区的每一位都可当作软件触发器,由程序直接进行位处理。通常可以把各种程序状态标志、位控制变量存于位寻址区内。,3) 数据缓冲区 30H7FH是数据缓冲区,也即用户RAM区,共80个单元。 由于工作寄存器区、位寻址区、数据缓冲区统一编址,使用同样的指令访问,这三个区的单元既有自己独特的功能,又可统一调度使用。因此,前两个区未使用的单元也可作为用户RAM单元使用,使容量较小的片内RAM得以充分利用。 52子系列片内RAM有256个单元,前两个区的单元数与地址都和51子系列的一致,用户RAM区却为3

13、0HFFH,有208个单元。,4) 堆栈和堆栈指针,图2.5 MCS51单片机堆栈,3特殊功能寄存器块 特殊功能寄存器(SFR,即Special Function Registers),又称为专用寄存器,专用于控制、管理片内算术逻辑部件、并行I/O口、串行I/O口、定时器/计数器、中断系统等功能模块的工作。用户在编程时可以置数设定,却不能自由移作它用。在51子系列单片机中,各专用寄存器(PC例外)与片内RAM统一编址,且作为直接寻址字节,可直接寻址。除PC外,51子系列有18个专用寄存器,其中3个为双字节寄存器,共占用21个字节;52子系列有21个专用寄存器,其中5个双字节寄存器,共占用26个

14、字节。按地址排列的各特殊功能寄存器名称、表示符、地址等如表2.5所示。其中有12个专用寄存器可以位寻址,它们字节地址的低半字节都为0H或8H(即可位寻址的特殊功能寄存器字节地址具有能被8整除的特征),共有可寻址位128-3 (未定义)=93位。,表2.5 特殊功能寄存器名称、表示符、地址一览表,表2.5 特殊功能寄存器名称、表示符、地址一览表,2.3 并行输入/输出接口,2.3.1 P0口 1P0口结构 P0口是一个三态双向口,可作为地址/数据分时复用口,也可作为通用I/O接口。其1位的结构原理如图2.9所示。P0口由8个这样的电路组成。锁存器起输出锁存作用,8个锁存器构成了特殊功能寄存器P0

15、;场效应管(FET)V1、V2组成输出驱动器,以增大带负载能力;三态门1是引脚输入缓冲器;三态门2用于读锁存器端口;与门3、反相器4及模拟转换开关构成了输出控制电路。,图2.6 P0口1位结构图,2地址/数据分时复用功能 当P0口作为地址/数据分时复用总线时,可分为两种情况:一种是从P0口输出地址或数据,另一种是从P0口输入数据。 在访问片外存储器而需从P0口输出地址或数据信号时,控制信号应为高电平1,使转换开关MUX把反相器4的输出端与V1接通,同时把与门3打开。当地址或数据为1时,经反相器4使V1截止,而经与门3使V2导通,P0.x引脚上出现相应的高电平1; 当地址或数据为0时,经反相器4

16、使V1导通而V2截止,引脚上出现相应的低电平0。这样就将地址/数据的信号输出。,3通用I/O接口功能 当P0口作为通用I/O口使用,在CPU向端口输出数据时,对应的控制信号为0,转换开关把输出级与锁存器Q端接通,同时因与门3输出为0使V2截止,此时,输出级是漏极开路电路。当写脉冲加在锁存器时钟端CLK上时,与内部总线相连的D端数据取反后出现在Q端,又经输出V1反相,在P0引脚上出现的数据正好是内部总线的数据。当要从P0口输入数据时,引脚信息仍经输入缓冲器进入内部总线。,(1) 在输出数据时,由于V2截止,输出级是漏极开路电路,要使1信号正常输出,必须外接上拉电阻。 (2) P0口作为通用I/O

17、口使用时,是准双向口。其特点是在输入数据时,应先把口置1(写1),此时锁存器的Q端为0,使输出级的两个场效应管V1、V2均截止,引脚处于悬浮状态,才可作高阻输入。因为,从P0口引脚输入数据时,V2一直处于截止状态,引脚上的外部信号既加在三态缓冲器1的输入端,又加在V1的漏极。假定在此之前曾输出锁存过数据0,则V1是导通的,这样引脚上的电位就始终被箝位在低电平,使输入高电平无法读入。因此,在输入数据时,应人为地先向口写1,使V1、V2均截止,方可高阻输入。所以说P0口作为通用I/O口使用时,是准双向口。但在P0用作地址/数据分时复用功能连接外部存储器时,由于访问外部存储器期间,CPU会自动向P0

18、口的锁存器写入0FFH,对用户而言,P0口此时则是真正的三态双向口。,4端口操作MCS-51单片机有不少指令可直接进行端口操作,例如:ANL P0,A ;(P0)(P0)(A)ORL P0,#data ;(P0)(P0)dataDEL P0 ;(P0)(P0) -1,这些指令的执行过程分成“读-修改-写”三步,先将P0口的数据读入CPU,在ALU中进行运算,运算结果再送回P0。执行“读-修改-写”类指令时,CPU是通过三态门 2读回锁存器Q端的数据来代表引脚状态的。 综上所述,P0口在有外部扩展存储器时被作为地址/数据总线口,此时是一个真正的双向口;在没有外部扩展存储器时,P0口也可作为通用的

19、I/O接口,但此时只是一个准双向口。另外,P0口的输出级具有驱动8个LSTTL负载的能力,即输出电流不大于800 A。,2.3.2 P1口 P1口为准双向口,其1位的内部结构如图2.10所示。它在结构上与P0口的区别在于输出驱动部分。其输出驱动部分由场效应管V1与内部上拉电阻组成。当其某位输出高电平时,可以提供拉电流负载,不必像P0口那样需要外接上拉电阻。 P1口只有通用I/O接口一种功能(对51子系列),其输入输出原理特性与P0口作为通用I/O接口使用时一样,请读者自己分析。P1口具有驱动4个LSTTL负载的能力。 另外,对于52子系列单片机P1口P1.0与P1.1除作为通用I/O接口线外,

20、还具有第二功能,即P1.0可作为定时器/计数器2的外部计数脉冲输入端T2,P1.1可作为定时器/计数器2的外部控制输入端T2EX。,图2.7 P1口1位结构图,2.3.3 P2口,图2.8 P2口1位结构图,当作为准双向通用I/O口使用时,控制信号使转换开关接向左侧,锁存器Q端经反相器3接V1,其工作原理与P1相同,也具有输入、输出、端口操作三种工作方式,负载能力也与P1相同。 当作为外部扩展存储器的高8位地址总线使用时,控制信号使转换开关接向右侧,由程序计数器PC来的高8位地址PCH,或数据指针DPTR来的高8位地址DPH经反相器3和V1原样呈现在P2口的引脚上,输出高8位地址A8A15。在

21、上述情况下,口锁存器的内容不受影响,所以,取指或访问外部存储器结束后,由于转换开关又接至左侧,使输出驱动器与锁存器Q端相连,引脚上将恢复原来的数据。,2.3.4 P3口,图2.9 P3口1位结构图,2.4 时钟电路与时序,图2.10 单片机外接晶体的接法,表2.6 单片机外部时钟接法表,2.4.2 CPU时序,振荡周期:振荡脉冲的周期。 状态周期:两个振荡周期为一个状态周期,也称为时钟周期,用S表示。两个振荡周期作为两个节拍分别称为节拍P1和节拍P2。在状态周期的前半周期P1有效时,通常完成算术逻辑操作;在后半周期P2有效时,一般进行内部寄存器之间的传输。,机器周期:一个机器周期包含6个状态周

22、期,用S1、S2、S6表示;共12个节拍,依次可表示为S1P1、S1P2、S2P1、S2P2、S6P1、S6P2。 指令周期:执行一条指令所占用的全部时间,它以机器周期为单位。MCS-51系列单片机除乘法、除法指令是4周期指令外,其余都是单周期指令和双周期指令。若用12 MHz晶振,则单周期指令和双周期指令的指令周期时间分别为1 s和2 s,乘法和除法指令为4 s。,图2.4 单周期指令时序(a) 单字节周期指令(如INC A);(b) 双字节单周期指令(如ADDA,#data),2. MCS - 51 指令的取指/执行时序,图2.7 MCS - 51 单片机取指/执行时序,2.4.3 复位状

23、态 MCS-51系列单片机的复位引脚RST上只要出现10 ms以上的高电平,单片机就实现复位。 单片机在RST引脚高电平的控制下,特殊功能寄存器和程序计数器PC复位后的状态如表2.9所示。,表2.7 MCS-51单片机复位状态表,(PSW)=00H,由于RS1(PSW.4)=0,RS0(PSW.3)=0,复位后单片机选择工作寄存器0组。 (SP)=07H,复位后堆栈在片内RAM的08H单元处建立。TH1、TL1、TH0、TL0的内容为00H,定时器/计数器的初值为0。 (TMOD)=00H,复位后定时器/计数器T0、T1为定时器方式0,非门控方式。 (TCON)=00H,复位后定时器/计数器T

24、0、T1停止工作,外部中断0、1为电平触发方式。,(T2CON)=00H,复位后定时器/计数器T2停止工作。 (SCON)=00H,复位后串行口工作在移位寄存器方式,且禁止串行口接收。 (IE)=00H,复位后屏蔽所有中断。 (IP)=00H,复位后所有中断源都设置为低优先级。 P0P3口锁存器都是全1状态,说明复位后4个并行接口设置为输入口。,2.4.4 复位电路 与其它计算机一样,MCS-51单片机系统常常有上电复位和按钮复位两种方法。所谓上电复位,是指计算机加电瞬间,要在RST引脚上出现大于10 ms的正脉冲,使单片机进入复位状态。按钮复位是指用户按下复位按钮,使单片机进入复位状态。 复位是靠外部电路实现的。图2.26是上电复位及按钮复位的一种实用电路。,图2.12 复位电路,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 职业教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报