1、1,单片机原理接口及其应用,(Principle and Application of Single Chip Microcomputer),2,第1章 概述 第2章 MCS-51单片机硬件结构 第3章 MCS-51寻址方式和指令系统 第4章 MCS-51汇编程序设计 第5章 中断系统 第6章 定时器/计数器及串行口 第7章 存储器扩展 第8章 接口电路扩展 第9章 应用举例,3,计算机组成,复习,4,微型计算机结构,复习,5,CPU组成,复习,6,微机组成,复习,7,第2章 MCS-51单片机硬件结构,2.1 MCS-51单片机基本结构 2.2 MCS-51的引脚功能 2.3 MCS-51的
2、CPU 2.4 MCS-51的存储器结构 2.5 并行IO口结构 2.6 时钟电路与时序 2.7 复位操作与复位电路,8,2.1 MCS-51单片机基本结构,图2-1 MCS-51单片机基本结构示意图,9,8位CPU;振荡器和时钟电路;4K8K字节的程序存储器ROM或EPROM; 128256字节的数据存储器RAM;可寻址外部程序存储器和数据存储器各64K字节;二十多个特殊功能寄存器;4个并行IO口1个全双工串行IO口;23个16位定时计数器;56个中断源,有2个优先级,同级中断则按优先 顺序查询具有较强功能的位处理(布尔)能力。,MCS-51单片机配置,10,介绍图2-1中的各功能部件: 1
3、.CPU(微处理器):运算器,控制器。含位处理 2.数据存储器(RAM)片内为128个字节(52子系列的为256个字节) 3.程序存储器(ROM/EPROM)8031: 无此部件;8051: 4K字节ROM;8751: 4K字节EPROM ; 89C51: 4K字节闪存。,11,4.中断系统 : 5个中断源,2级优先级 5.定时器/计数器2个16位定时计数器,有四种工作方式 6.串行口1个全双工的异步串行口,具有四种工作方式。 7. P1口、P2口、P3口、P0口为4个并行8位I/O口。 8. 特殊功能寄存器(SFR)共有21个,是一个具有特殊功能的RAM区。,12,2.2 MCS-51的引脚
4、功能,40只引脚双列直插封装(DIP),13,44只引脚方形封装方式(4只引脚没用),14,40只引脚按功能分为3类: (1)电源及时钟引脚: Vcc、Vss;XTAL1、XTAL2。 (2)控制引脚:/PSEN、/EA 、ALE、RESET(RST)。 (3)I/O口引脚:P0、P1、P2、P3,为4个8位I/O口的 外部引脚。2.2.1 电源及时钟引脚 1电源引脚(1)Vcc(40脚):+5V电源;(2)Vss(20脚):接地。,15,2时钟引脚 (1)XTAL1(19脚):接外接晶振引脚。如果采用外接时钟振荡器时,此引脚应接地。 (2)XTAL2(18脚):接外部晶振的另一端。如果采用外
5、接时钟振荡器时,此引脚接收时钟。2.2.2 控制引脚 提供控制信号,有的引脚还具有复用功能。 (1) RST/VPD(9脚): 复位与备用电源。 (2) ALE/PROG(30脚):第一功能ALE为地址锁存允许。(可驱动8个LS型TTL负载。)/PROG为本引脚的第二功能。为编程脉冲输入端。,16,(3) PSEN(29脚):读外部程序存储器的选通信号。(可以驱动8个LS型TTL负载。) (4) /EA/VPP (31脚) /EA为内外程序存储器选择控制端。/EA=1,访问片内程序存储器。但在PC(程序计数器)值超过0FFFH(对于8051、8751片内程序存储器的4K字节地址范围)时,将自动
6、转向执行外部程序存储器的程序。/EA=0,单片机只访问外部程序存储器。VPP为本引脚的第二功能。用于施加编程电压(例如+21V或+12V)。对89C51,加在VPP脚的编程电压为+12V或+5V。,17,2.2.3 I/O口引脚 (1) P0口:双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用口,可驱动8个LS 型TTL负载。 (2) P1口:8位准双向I/O口,可驱动4个LS型TTL负 载。 (3) P2口:8位准双向I/O口,与地址总线(高8位) 复用,可驱动4个LS型TTL负载。 (4) P3口:8位准双向I/O口,双功能复用口,可驱动4个LS型TTL负载。,18,要特别
7、注意准双向口与双向三态口的差 别。准双向I/O口作输入口使用时,要向该口先 写“1”,另外准双向I/O口无高阻的“浮 空”状态。,19,2.3 MCS-51的CPU 由运算器和控制器所构成 2.3.1 运算器对操作数进行算术、逻辑运算和位操作。 1算术逻辑运算单元ALU进行加、减;与、或、异或;循环移位,求补等运算。 2累加器 A 使用最频繁的寄存器,有时也可写为Acc。A的作用: (1)是ALU单元的输入之一,又是运算结果的存放 单元。 (2)数据传送大多都通过累加器A。,20,3程序状态字寄存器PSW (1)Cy(PSW.7): A的高位进位标志。Cy又是位处理机的位累加器。 (2)Ac(
8、PSW.6): A的辅助进位标志位,又称半字节进位标志位。当运算结果从A的D3位产生进位或借位时Ac1,否则Ac0。常用于BCD码运算调整。 (3)F0(PSW.5):标志位用户软件可使用的一个状态标志位。,21,(4)RS1、RS0(PSW.4、PSW.3):4组工作寄存器区选择控制位。RS1 RS0 所选的4组寄存器 0 0 0区(内部RAM地址00H07H)0 1 1区(内部RAM地址08H0FH)1 0 2区(内部RAM地址10H17H)1 1 3区(内部RAM地址18H1FH),22,(5)OV(PSW.2):溢出标志位 指示运算是否产生溢出。OV=C7C6各种算术运算指令对该位的影
9、响情况较复杂,将在第3章介绍。 (6)PSW.1位: 保留位,未用 (7)P(PSW.0):奇偶标志位 P=1,A中“1”的个数为奇数P=0,A中“1”的个数为偶数,23,2.3.2 控制器控制器任务:识别指令,控制各功能部件,协调 工作。 指令执行过程:从程序存储器取指令送指令寄存器保存指令译码器对指令译码译码结果送控制逻辑电路、定时控制逻辑电路 产生各种定时与控制信号,使相应部件执行对 应的操作。,24,1程序计数器PC(Program Counter)存放下一条将要执行的指令在程序存储器中的地址。PC基本工作方式有以下几种: (1)PC自动加1 (2)执行有条件或无条件转移指令时,PC将
10、置入新地址的数值,从而使程序的流向发生变化。,25,(3)在执行子程序调用或中断调用时,完成下列操作: PC的现行值保护入栈。 将子程序的入口地址或中断向量的地址送 入PC。(4)在执行子程序返回或中断返回时,存入堆栈的断点地址进入PC。2指令寄存器IR、指令译码器及控制逻辑电路,26,2.4 MCS-51存储器的结构 存储器的作用:存放程序和数据 存储器按配置方法分:主存(通常称为内存)和外存。单片机系统一般没有使用外存。存储器分类:RAM 和 ROM RAM存储器按其制造工艺分:1) 双极型 RAM :速度快、功耗大、集成度低、价格贵。2) MOS型RAM:集成度高、价格便宜、速度低于双极
11、型(1) 静态 RAM (6管) RAM。(2) 动态 RAM (单管) 只读存储器 ROM1) 掩膜只读存储器ROM2) 可编程序只读存储器PROM(OTP)3) 可擦写的只读存储器EPROM和EEPROM4) 可擦写只读存储器FLASH ROM,27,哈佛(Harvard)结构:程序与数据存储器空间独立。 存储器空间可划分为5类:1.程序存储器 8031无内部程序存储器。8051有4K ROM,89C51有4k FLASH ROM。2.内部数据存储器 3.特殊功能寄存器(SFR-Special Function Register)4.位地址空间 211个可寻址位。5.外部数据存储器片外可扩
12、展64K字节RAM。,28,2.4.1 程序存储器 存放应用程序和表格之类的固定常数。16位地址 可寻址64k字节的存储器。分为片内和片外两部分,由/EA引脚上所接的电平 确定。程序存储器中的0000H地址是系统程序的启动地址5个地址单元具有特殊用途表2-1 5种中断源的中断入口地址外中断0 0003H定时器T0 000BH外中断1 0013H 定时器T1 001BH 串行口 0023H,29,程序存储器地址空间,30,2.4.2 内部数据存储器 128个字节地址为00H7FH。,00H1FH:32个单元是4组通用工作寄存器区。20H2FH:16个单元可进行共128位的位寻址。30H7FH:用
13、户RAM区,只能进行字节寻址,用作数据缓冲区以及堆栈区。,31,2.4.3 特殊功能寄存器(SFR)CPU对各种功能部件的控制采用特殊功能寄存器 集中控制方式,共21个,占用空间80HFFH。表2-2(P21)是SFR的名称及其分布。,32,有的SFR可进行位寻址,其字节地址的末位是0H或8H。,33,1堆栈指针SP 指示出堆栈顶部在内部RAM块中的位置。 复位后,SP中的内容为07H。(1)保护断点(2)现场保护(3)其它堆栈向上生长。 2. 数据指针DPTR 高位字节寄存器用DPH表示,低位字节寄存器 用DPL表示。 3. I/O端口P0P3P0P3分别为I/O端口P0P3的锁存器。,34
14、,4.寄存器B为执行乘法和除法操作设置的。在不执行乘、除的情况下,可当作一个普通寄存 器来使用。 5.串行数据缓冲器SBUF 存放欲发送或已接收的数据,一个字节地址,物 理上是由两个独立的寄存器组成,一个是发送缓冲 器,另一个是接收缓冲器。 6.定时器/计数器 两个16位定时器/计数器T1和T0,各由两个独立 的8位寄存器组成: TH1、TL1、TH0、TL0,只能字 节寻址,不能把T1或T0当作一个16位寄存器来寻 址访问。,35,2.4.4 位地址空间51单片机内含布尔处理器,即位处理器。 它包含位累加器(Cy),位寻址寄存器,位寻 址I/O口, 位寻址内部RAM, 位寻址指令系统。 21
15、1个(128个+ 83个)寻址位。内部RAM的可寻址位是128个(字节地址20H 2FH)见表2-3(P24)。特殊功能寄存器SFR为83个可寻址位,见表2-4 (P24)。,36,表2-3,37,表2-4,38,2.4.5 外部数据存储器最多可外扩64K字节的RAM或I/O 。使用各类存储器,注意几点:(1) 地址的重叠性 程序存储器(ROM)与数据存储器(RAM)全部64K 字节地址空间重叠)。但使用中不会产生地址冲突。 (2)程序存储器(ROM)与数据存储器(RAM)在使用上是严格区分的 。使用不同的指令。(3) 位地址空间共有两个区域。,39,(4)片外数据存储区中,RAM与I/O端口
16、统一编址。所有外围I/O端口的地址均占用RAM地址单元,使用与访问外部数据存储器相同的传送指令。图2-6为各类存储器在存储器空间的位置的总结。,40,41,2.5 并行I/O端口4个双向的8位并行I/O端口(Port) ,记作P0P3。端口寄 存器位于特殊功能寄存器之列,可位寻址。 2.5.1 P0端口 P0口某一位的电路包括: 一个数据输出锁存器; 两个三态数据输入缓冲器; 一个多路转接开关MUX: P0口既作通用I/O口,又可 作为系统的地址/数据线口。 数据输出的驱动和控制 电路,由两只场效应管(FET)组成,T1构成上拉电路。,42,数据/地址:控制线高电平打开与门,MUX接上端,/Q
17、与T2栅极脱开。T1,T2以推拉式驱动负载。输入时,从读引脚缓冲器进入内部总线。,高阻态:CPU自动向P0输出0FFH,使T1,T2均截止。,I/O: 控制线低电平封锁与门,T1截止。MUX接下端,/Q与T2 栅极相连。 输出:漏极开路, 外接上拉电阻才能输出高电平(准双向口)。 输入:读引脚,读锁存器,43,2.5.2 P1端口 字节地址90H,位地址90H97H。,与P0口有两点区别: (1)只传送数据,不再需要MUX。 (2)输出电路中有上拉电阻,电路的输出不是三态的,所以P1口是准双向口。 因此: (1)P1口作为输出口使用时,外电路无需再接上拉电 阻。 (2)P1口作为输入口使用时,
18、应向其锁存器先写入 “1”,使输出驱动电路的FET截止。,44,2.5.3 P2端口字节地址为A0H,位地址A0HA7H。,实际应用中,P2口用于提供高位地址,有一个多路转接开关MUX。多路转接开关应接向“地址”端。,P2也是准双向口。 I/O: MUX接至Q情况与P1相似。作输入时,应向对 应的锁存器写“1”。,45,2.5.4 P3端口P3口的字节地址为B0H,位地址为B0HB7H,P3是双功能口, 第一功能:I/O 第二功能:特殊变异功能,第一功能(I/O):第二输出功能端为“1”。 第二功能:该位锁存器置“1”。 复位后锁存器与第二输出功能端都是“1”,自动满足第二功能。,46,P3口
19、的第二功能定义,应熟记。 表2-2 P3口的第二功能定义口引脚 第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0 (外部中断0)P3.3 /INT1 (外部中断1) P3.4 T0(定时器0外部计数输入)P3.5 T1(定时器1外部计数输入) P3.6 /WR (外部数据存储器写选通)P3.7 /RD (外部数据存储器读选通),47,读-修改-写操作,ANL (逻辑与指令) 例如:ANL P1,A ORL (逻辑或指令) 例如:ORL P2,A XRL (逻辑异或指令) 例如:XRL P3,A CPL (位取反指令) 例如:CPL P3.0 INC (增
20、量指令) 例如:INC P2 DEC (减量指令) 例如:DEC P2 DJNZ (循环判跳指令) 例如:DJNZ P3,LABEL MOV (传送指令) 例如:MOV PX.Y,C CLR (清“0”指令) 例如:CLR PX.Y SETB (置位指令) 例如:SETB PX.Y (其中:X 某口;Y某位),48,2.6 时钟电路与时序时钟电路用于产生MCS-51单片机工作时所必需的时 钟控制信号。时序是指令执行过程中相关信号在时间 上的关系。时序信号分两类:片内及片外。2.6.1 时钟电路时钟频率直接影响单片机的速度,电路的质量直接 影响系统的稳定性。常用的时钟电路有两种方式:内 部时钟方
21、式和外部时钟方式。,49,一、内部时钟方式 内部有一个用于构成振荡器的高增益反相放大 器,反相放大器的输入端为芯片引脚XTAL1,输出端 为引脚XTAL2。,C1和C2典型值通常选择为30pF左右。晶体的振荡频率在1.2MHz12MHz之间。常用6, 12, 11.0592 MHz。某些高速单片机芯片的时钟频率已达40MHz。,50,二、外部时钟方式 常用于多片MCS-51单片机同时工作。,51,三、时钟信号的输出为应用系统中的其它芯片提供时钟,但需增加驱动 能力。,52,2.6.2 机器周期、指令周期与指令时序单片机执行指令的各种时序均与时钟周期有关。 一、时钟(振荡)周期时钟周期是单片机的
22、基本时间单位。若时钟的晶体 振荡频率为fosc,则时钟周期 Tosc=1/fosc。如 fosc=6MHz,Tosc=166.7ns。 二、机器周期CPU完成一个基本操作所需要的时间称为机器周 期。执行一条指令分为几个机器周期。每个机器周期 完成一个基本操作。,53,MCS-51单片机每12个时钟周期为一个机器周期。一个机器周期又分为6个状态:S1S6。每个状态 又分为两拍:P1和P2。因此,一个机器周期中的12 个时钟周期表示为: S1P1、S1P2、S2P1、S2P2、S6P2。三、状态周期时钟信号经二分频后形成的基本状态。,54,四、指令周期执行一条指令所需的时间称为指令周期。MCS-5
23、1 指令有单、双、三字节之分,所需时间也不同。单、双字节为单周期或双周期指令。三字节为双 周期指令。还有四周期指令。,55,若MCS-51单片机外接晶振为12MHz时, 则单片机的四个周期的具体值为:振荡(时钟)周期1/12MHz1/12s0.0833s 状态周期1/6s0.167s 机器周期1s 指令周期14s,56,MCS-51单片机指令的取指和执行时序,57,2.7 复位操作和复位电路 2.7.1 复位操作单片机的初始化操作,摆脱死锁状态。引脚RST加上大于2个机器周期(即24个时钟振荡周 期)的高电平就可使MCS-51复位。复位时,PC初始化为0000H,使MCS-51单片机从 000
24、0H单元开始执行程序。除PC之外,复位操作还对其它一些寄存器有影响, 见表2-6(P34)。 SP=07H,P0-P3的引脚均为高电平。在复位有效期间,ALE脚和、/PSEN脚均为高电平, 内部RAM的状态不受复位的影响。,58,59,2.7.2 复位电路片内复位结构:,60,复位电路通常采用上电自动复位和按钮复位两种方 式。 最简单的上电自动复位电路:,Fosc=6MHz, C=22uF, R=1k,61,按键手动复位,有电平方式和脉冲方式两种。 电平方式:,Fosc=6MHz, C=22uF, Rs=200, Rk=1k ,62,脉冲方式:,63,两种实用的兼有上电复位与按钮复位的电路。,图中(b)的电路能输出高、低两种电平的复位信号,以适应外围I/O接口芯片的不同复位电平信号要求。 74LS122为单稳电路,实验表明,电容C的选择约为0.1F较好。,64,2.7.3 单片机最小系统,65,66,67,本 章 结 束, 谢 谢 光 临!,