第2章微机原理及应用2-wzj_第1页
第2章微机原理及应用2-wzj_第2页
第2章微机原理及应用2-wzj_第3页
第2章微机原理及应用2-wzj_第4页
第2章微机原理及应用2-wzj_第5页
已阅读5页,还剩96页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章 单片机基础概述概述MCSMCS5151单片机基本结构单片机基本结构中央处理器中央处理器CPUCPUMCSMCS5151单片机存储器及存储空间单片机存储器及存储空间并行输入输出接口并行输入输出接口2.12.1 概述概述单片机(单片机(Single Chip Microcomputer)Single Chip Microcomputer): 又称微控制器,它把组成微型计算机的各功能部件:中央处理器、RAM、ROM、IO接口电路、定时计数器、中断控制器等部件集成在一块半导体芯片中,构成一个完整的微型计算机。单片机系列简介单片机系列简介片内ROMEPROM片内RAM定时计数器并行IO口串行IO

2、口AD中断源DAMCS-4804K64256B18位38位2MCS-5108K128256B(23)16位48位156MCS-9608K256B416位58位1(48) 10位8PWM输出2.2 MCS-51系列单片机基本结构系列单片机基本结构MCS-51MCS-51系列单片机配置系列单片机配置片内存储器(字节)定时计数器并行IO口串行IO口中断源制造工艺无ROMEPROMRAMMCS-51子系列803180514K87514K128B216 4815HMOS80C3180C514K87C514K128B216 4815CHMOSMCS-52子系列803280528K87528K256B316

3、 4816HMOS80C232 80C2528K87C2528K256B316 4817CHMOSMCS-51单片机内部结构及功能部件单片机内部结构及功能部件中央处理器CPU(8位)128B片内数据存储器(RAM)4KB的ROM或EPROM18个特殊功能寄存器(SFR)4个并行IO接口P0P31个串行接口2个16位定时计数器中断系统CPU(运算部件)控制部件SFRRAM程序存储器定时计数器中断系统串行口P3口P1口P2口P0口MCS51系列单片机内部结构简化框图单片机外部结构单片机外部结构返回8051RXDTXDP S E NX 2EA / VP1818ALE / P外部引脚说明外部引脚说明1

4、 1电源类引脚电源类引脚 vcc(40脚):芯片工作电源的输入端, +5V vss(20脚): 电源的接地端。2 2时钟振荡电路引脚时钟振荡电路引脚 XTAL1(19脚)和XTAL2(18脚)的内部是一个振荡电路。当使用内部振荡电路时,在这两个管脚上外接石英晶体和微调电容;当使用外部时钟时用于接外部时钟脉冲信号。外部结构3 3、控制类引脚、控制类引脚 RSTVPD(9脚): RST为复位信号输入端。 ALE/PROG(30脚): ALE为地址锁存允许信号输出端。PSEN(29脚):外部程序存储器ROM的读选通信号输出端。EAVpp(31脚):EA为访问内外部程序存储器控制信号 当EA0时对RO

5、M的访问限定在外部程序存储器,当EA1时,在对ROM的访问先从内部4KB开始,当地址范围超出4KB时自动切换到外部进行访问。总线结构4并行IO端口P0口(3239脚):分时提供低8位地址,并用作8位双向数据总线。P1口(18脚):是一个带内部提升电阻的8位准双向IO。P2口(2128脚):是一个带内部提升电阻的8位准双向IO口在访问外部存储器时,提供高8位地址。P3口(10一17脚):是一个带内部提升电阻的8位准双向IO口。在系统中这8个引脚都有各自的第二功能外部结构P3口的第二功能表口的第二功能表引脚第二功能P3.0RXD(串行口输入端)P3.1TXD (串行口输出端)P3.2INT0(外部

6、中断0请求输入端)P3.3INT1(外部中断1请求输入端)P3.4T0(定时计数器0计数脉冲输入端)P3.5T1(定时计数器1计数脉冲输入端)P3.6WR(外部数据存储器写选通信号输出端)P3.7RD(外部数据存储器读选通信号输出端外部结构返回单片机的三总线结构单片机的三总线结构返回2.3 中央处理器中央处理器CPU-决定单片机的主要功能特性决定单片机的主要功能特性2.3.1 运算部件运算部件1、算术逻辑单元ALU与累加器ACC、寄存器BMCS-51内部结构框图内部结构框图返回RAM P0口串行口 定时器 计数器特殊功能寄存器(SFR)中断系统微处理器ALU控制逻辑 P2口 P1口 P3口RO

7、M/EPROMCPU内部 总线VccVssXTAL1XTAL2PSEN EAALERESETP2.0P2.7P0.0P0.788P1.0P1.78P3.0P 3.788051/8751面向用户的结构8031共40条引线用户的内特性用户外特性图2-2 MCS-51功能 框图P23P23 图2-1是其物理结构框图逻辑结构框图2、程序状态字、程序状态字PSWCY(Psw.7):进位标志位AC(Psw.6):辅助进位标志位F0(Psw.5):用户定义的标志位RS1和RS0(Psw.4 、Psw.3):工作寄存器组选择位CY AC F0 RS1 RS0 OV PPsw.0Psw.7工作寄存器组的选择表工

8、作寄存器组的选择表PSW.4(RS1)PSW.3(RS0)当前使用的工作寄存器组R0R7000组(00H07H)011组(08H0FH)102组(10H17H)113组(18H1FH) OV(PSW.2): 溢出标志位 PSW.1:未定义 P(PSW.0):奇偶检验位CY AC F0 RS1 RS0 OV PPsw.0Psw.700001000例:(PSW)08HCY AC F0 RS1 RS0 OV P布尔累加器布尔指令集位地址空间布尔处理机PSW中的中的CY17条位操作条位操作指令指令存储器中的存储器中的位地址空间位地址空间3、布尔处理机、布尔处理机2.3.2 控制部件及振荡器控制部件及振

9、荡器 单片机的神经中枢,包括定时和控制电路、指令寄存器、译码器以及信息传送等部件。 作用:作用:发出CPU时序,对指令进行译码,完成定时控制的微操作,协调各功能部件之间的动作。内部结构时钟电路时钟电路内部振荡器方式外部振荡器方式2.4 MCS-51存储器及存储空间存储器及存储空间2.4.1 存储器分类及配置存储器分类及配置存储器的分类方式存储器的分类方式(1) 存储器按其所处的位置,可分为外部存储器和内部存储器两种形式。(2) 按存储器的读写方式,又可分为只读存储器ROM(Read only Memory);读写存储器RAM(Random access Memory)又称随机存储器。存储器的常

10、用单位及术语存储器的常用单位及术语位(bit)字节(Byte) 字(Word)字长存储容量:存储器所能存储的二进制信息的位数。地址:为了辨认并区别这些单元,将每个单元按顺序编号,这种编号称为地址。 地址是用若干位二进制数码来表示的。存储器的地址存储器的地址00H08H16H55H89H0000H0001H0002H0003H0004H每个单元存放一个8位的二进制数,单元的地址用两位的十六进制数或四位的十六进制数表示.存储器单元存储信息存储单元地址数据、地址、指令数据、地址、指令(1)这三者的本质都是一样的数字,或者说都是一串0和1组成的序列。换言之,地址、指令也都是数据。(2)指令:由单片机芯

11、片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关系,不可以由单片机的开发者更改。(3)地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内部单元的地址值已由芯片设计者规定好,不可更改,外部的单元可以由单片机开发者自行决定。(4)数据:这是由微处理机处理的对象。存储器的编址方式存储器的编址方式(1)普林斯顿结构(VON Neumam): 程序存储器和数据存储器共用一个存储空间,统一编址。(2)哈佛结构( HawarJ):程序存储器和数据存储器互相分离,分开编址。MCS-5l型单片机采用的是哈佛结构。程序存储器(ROM)数据存储器(RAM)片内4KB ROM存储器空间

12、(0000H0FFFH)片外64KB ROM存储器空间(0000HFFFFH)片内128B的数据存储器空间(00H一7FH)片内128B的特殊功能寄存器空间(80H一FFH)片外64KB的数据存储器空间(0000HFFFFH)8051型单片机的存储器结构返回如书p29 图2-5所示程序存储器用于存放程序及表格常数。程序存储器用于存放程序及表格常数。(1)8051及8751型单片机有4KB内部程序存储器,编址为0000H0FFFH,(2)当需要扩展时,外部程序存储器从1000H开始编址,这种内外存储器统一编址的方式,是为了便于程序的连续执行。(3)内外ROM的选择。是由信号EA来控制的。(4)8

13、031型单片机无内部程序存储器,EA应接地。程序存储器2.4.2 程序存储器程序存储器1224096外部内部FFFFH1000H0FFFH0000HEA=1外部EA=00000HFFFFH外部52子系列内部辅加内部FFFFH2000H1FFFH1000H0FFFH0000HEA=1外部EA=00000HFFFFH程序存储器返回(1)PC是一个16位的寄存器,用于存放将要执行的指令地址。(2)CPU每读取指令的一个字节PC值便自动加一,指向本指令的下一个字节或下一条指令。(3)PC可寻址64KB范围ROM在物理结构上是独立的,不属于内部RAM中的SFR范围。(4)PC没有地址,因此是不可寻址的。

14、用户无法对其进行读写,但可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。程序计数器程序计数器PC (见书中见书中p23 图图2-1、2)计算机的工作过程计算机的工作过程1、写程序,即将计算程序和原始数据写入存储器中。2、运算启动启动,控制台发出启动命令,计算机开始工作:取指令取指令,控制器按照PC指定的地址(复位后为0000H),从0000H单元取出第一条指令。取操作数取操作数,控制器根据指令中所给的操作数地址,从存储器中取出操作数。运算运算,控制器根据指令操作码向运算器发出操作命令,由运算器完成操作运算。 与此同时,与此同时,PCPC值自动加值自动加1 1,给出下一条指令的地址,

15、给出下一条指令的地址机器重复执行上述过程中的机器重复执行上述过程中的 、 、 即取指令即取指令取操作数取操作数操作运算操作运算程序运行入口地址程序运行入口地址操作入口地址复位0000H外部中断INT00003H定时计数器0溢出000BH外部中断INT10013H定时计数器1溢出001BH串行口中断0023H定时计数器2溢出(MCS52子系列)002BH2.4.3 内部数据存储器内部数据存储器1、内部数据存储器的编址 地址为00HFFH2、内部RAM区 8051型单片机内地址为00H7FH的低128B的数据存储器区域。按其功能不同可划分为3个小的区域。(p29 图2-5 b)3、SFR区 805

16、1型单片机内地址为80HFFH的高128B的数据存储器区域。工作寄存器组区工作寄存器组区(00H(00H一一1FH)1FH)(1)工作寄存器区分为4组(2)可通过改变程序状态字Psw中的 Rs0与 Rs1的状态来重新设定当前组。(3)工作寄存器区主要用来存放操作 数和运算的中间结果。特殊功能寄特殊功能寄存器(存器(SFR)位寻址区位寻址区(128位)位)工作寄存器工作寄存器3组组30H2FH00H数据缓冲区数据缓冲区7FHFFH工作寄存器工作寄存器2组组工作寄存器工作寄存器1组组工作寄存器工作寄存器0组组20H1FH80H内部RAMR0R1R2R3R4R5R6R700H01H02H03H04H

17、05H06H07H工作寄存器0组R0R1R2R3R4R5R6R708H09H0AH0BH0CH0DH0EH0FH工作寄存器1组R0R1R2R3R4R5R6R710H11H12H13H14H15H16H17H工作寄存器2组R0R1R2R3R4R5R6R718H19H1AH1BH1CH1DH1EH1FH工作寄存器3组位寻址区位寻址区(1)位寻址区(20H一2FH)。内部RAM的 20H一2FH单元是位寻址区域。该区域的16个单元的每一位都有一个位地址,依次编址为00H一7FH (2)位寻址区的16个单元可以像普通RAM单元一样进行字节操作,也可以用位操作指令对单独的位进行操作。特殊功能寄特殊功能寄

18、存器(存器(SFR)位寻址区位寻址区(128位)位)工作寄存器工作寄存器3组组30H2FH00H数据缓冲区数据缓冲区7FHFFH工作寄存器工作寄存器2组组工作寄存器工作寄存器1组组工作寄存器工作寄存器0组组20H1FH80H内部RAM20H.0(00H)20H.7(07H)20H21H000110102FH共16个单元128位78H7FH位寻址区位寻址区位地址字节地址位地址单元中存储的信息内部内部RAM中的位地址表中的位地址表续表续表见书表2-7, p32数据缓冲区数据缓冲区(1)在内部RAM l28单元中,从30H开始 的80个单元,就是供用户使用的一般数据存储区域。(2)编址为30H一7F

19、H(3) 用户对该区域的访问是按字节寻址的方式进行的。(4)该区域主要用来存放随机数据及运算的中间结果,另外也常把堆栈开辟在该区域。特殊功能寄特殊功能寄存器(存器(SFR)位寻址区位寻址区(128位)位)工作寄存器工作寄存器3组组30H2FH00H数据缓冲区数据缓冲区7FHFFH工作寄存器工作寄存器2组组工作寄存器工作寄存器1组组工作寄存器工作寄存器0组组20H1FH80H内部RAM特殊功能寄存器(SFR)RAM存储器(52子系列)位寻址区(128位)工作寄存器区FFH30H2FH20H1FH00H数据缓冲区80H7FH80HFFHMCS-51内部数据存储器堆栈与堆栈指针堆栈与堆栈指针(1)堆

20、栈的概念 : 堆栈是一种数据结构。所谓堆栈,就是数据只允许在其一端出入的一段存储空间。(2)堆栈的功能: 堆栈是为程序调用和中断操作而设立的,具体功能是保护现场和断点地址。堆栈(3)堆栈操作遵守先进后出的原则:先入后出。数据写入堆栈称为入栈或压栈,对应指令的助记符为PUSH。数据从堆栈中读出则称为出栈或弹出,对应指令的助记符为POP。(4)堆栈指针SP(Stack Pointer) : 堆栈指针SP是一个8位的特殊功能寄存器,用来存放堆栈的栈顶地址。(5)堆栈区域设定 : MCS51型系列单片机复位后,SP初值自动设为07H 。用户程序设计时,一般都将堆栈设在内部RAM的30H一7FH地址空间

21、。堆栈(7)堆栈的类型: MCS-51系列单片机属于向上生长型堆栈。 随着数据进栈地址递增,SP的内容逐渐增大,指针上移; 相反,随着数据的出栈,地址递减,SP内容逐渐减小,指针SP下移。00H进栈出栈栈顶SPSP1例:PUSH A,设(A)00H,(SP)07H00HA00HSP100H07H堆栈3、特殊功能寄存器、特殊功能寄存器 MCS-51型系列单片机内部的累加器A、B寄存器、程序状态字PSW、堆栈指针SP以及I/O口锁存器、串行口数据缓冲器、各种控制寄存器和状态寄存器等,统称为特殊功能寄存器(Special Function Register),简称SFR。它是单片机的状态和控制字寄存

22、器。它是单片机的状态和控制字寄存器。数据存储器特殊功能寄存器一览表特殊功能寄存器一览表返回4、位寻址空间、位寻址空间(1)内部RAM的20H2FH的16个字 节内,共128位。(2)SFR中93位2.4.4 外部数据存储器外部数据存储器(1)寻址范围:64K (0000HFFFFH)(2)访问指令:MOVX(3)数据指针寄存器DPTR(Data Pointer):16位特殊功能寄存器由DPH和DPL两个8位的特殊功能寄存器组成,是对片外RAM及扩展IO口进行存取操作地址指针。也可分成两个8位寄存器进行操作。外部0000HFFFFH特殊功能寄存器(SFR)RAM存储器(52子系列)位寻址区(12

23、8位)工作寄存器区FFH30H2FH20H1FH00H数据缓冲区80H7FH80HFFH内部数据存储器外部数据存储器MCS-51 数据存储器空间数据存储器空间1、P0口功能:作为通用输入/输出口使用分时提供低8位地址,并用作8位双向数据总线。2、P0口的位结构:一个锁存器,两个三态缓冲器及输出驱动电路。1一、一、P0口作地址数据总线口作地址数据总线 (1) 此时内部的控制信号为高电平,使得Mux接到了上档位置,同时打开了上面的与门,P0口的输出仅受内部地址数据线的控制。(2)在这种情况下,读锁存器三态缓冲器处于高阻状态,当需要输入数据时,输入信号就直接从引脚通过输入缓冲器进人内部总线。(3)P

24、0口作为地址数据总线使用时,无需外接上拉电阻。101011011001 11二、二、P0口作为通用输入输出口作为通用输入输出(1)内部的控制电平为低电平,封锁与门, 将输出驱动电路的上面的场效应管(FET)截止。(2)同时使多路转接开关MuX接通锁存器Q端的输出通路。输出锁存器在CP脉冲的配合下,将内部总线传来的信息反映到输出端并锁存。(3)需外接上拉电阻00/010100/1010+5v应区分两种情况: 读引脚就是直接读取P0.x引脚的状态。在“读引脚”信号 (为低电平0) 的控制下把缓冲器打开,将端口引脚上的数据经缓冲器通过内部总线读进来。注意:注意:P0口在作为一般输入口使用时在读取管脚

25、之前还应向锁存器写入“1“,使上下两个场效应管均处于截止状态,使外接的状态不受内部信号的影响,然后再来读。000000000011001000100准双向口:准双向口:MOV P0,#0FFH11例: ANL P0,A 为了能够适应“读修改写”操作的需要,在P0口电路中另外设置了读取锁存器的输入通道,在“读锁存器”信号的控制下可以直接读取锁存器的Q端的状态,从而避免读引脚读到错误数据。00100110P1口口(1)P1口是一个准双向IO口。它只能作为通用IO口使用,没有第二功能。(2)在输出级内部由做阻性元件使用的场效应晶体管组成的上拉电阻因此P1口在作为通用输出口使用时,不需要再外接上拉电阻

26、。 (3)当Pl口作为输入口使用时,仍需要向锁存器先写入“1”,使场效应管截止,然后再读取输入信号(准双向IO口)。(4)其输入也分为”读引脚”方式(作输入口)和“读锁存器”方式(端口操作)两种。P2口口(1) P2口也是一个准双向IO口。(2)在P2口电路中也有一个多路转接开关Mux (3)在P2口作为一般IO口使用时与P1口类似,用于输出时不需要外接上拉电阻;当用于输入时,仍需要向锁存器先写入“1”,然后再读取(准双向IO口)。(4)P2口输入也分为“读引脚”方式和“读锁存器”方式两种。P3口口(1)在P3口上增加了第二功能控制逻辑。(2)P3口也是准双向口并行并行IO口的特点口的特点(1

27、)P0口和P2口构成MCS一51型单片机的16位地址总线,P0口还是8位的数据总线。(2)P3口多用于第二功能输入或输出。(3)通常只有P1口用于一般输入输出。(4)系统复位后,P0一P3口的32个管脚均输出高电平,因此在系统的设计过程中应保证这些管脚控制的外设不会因为系统复位而发生误动作。 (5)每个并行口,可定义一部分管脚为输入口,另一部分管脚为输出脚,没有使用的管脚可以悬空。2.6 CPU的时序与复位的时序与复位(1)MCS-51型单片机均有片内振荡器和时钟电路并以此作为CPU的时钟源。(2)这种时钟源是用来产生单片机工作所需要的时钟信号。振荡器和时钟电路一旦确定,CPU的时钟频率也就确

28、定了。(3)CPU的时序是指令执行中各控制信号在时间上的相互关系。时序单位时序单位 (1) 振荡周期:是为单片机提供定时信号的振荡源的周期,是MCS51型单片机中最小的时序单位。 (2)状态周期: 连续的两个振荡周期称为一个状态周期。即1个状态周期2个振荡周期。通常把一个状态的前后两个振荡周期用P1、P2来表示,称为两个节拍。 (3) 机器周期 : 通常把单片机完成某种基本操作所需要的时间称为一个机器周期。一个机器周期由6个状态周期组成,分别用s1s6来表示。这样一个机器周期中的12个振荡周期就可以表示为S1P1、S1P2、S2P1、S2P2、S6P2。(4)指令周期: 单片机完成基本指令所需的时间,以机器周期为单位。MCS-51的指令周期为14个机器周期。 例:外接晶振 fosc=12MHZ,则振荡周期112s状态周期16s机器周期1s指令周期14s典型指令的取指和执行时序OSCALEP1 P2P1 P2P1 P2P1 P2P1 P2P1 P2S1S2S3S4S5S6机器周期读操作码 04H读下一个操作码(丢掉)PC不增“1”S1S2S3S4S5S6再读下一个操作码(a) 单字节单周期指令 如: INC

温馨提示

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

评论

0/150

提交评论