MCS-51单片机硬件基础_第1页
MCS-51单片机硬件基础_第2页
MCS-51单片机硬件基础_第3页
MCS-51单片机硬件基础_第4页
MCS-51单片机硬件基础_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

第二章MCS-51单片机硬件根底本章主要内容:

1MCS-51单片机内部结构及引脚

2MCS-51单片机的存储器配置

3MCS-51单片机CPU时序

4MCS-51单片机硬件配置

重点内容:1MCS-51单片机内部结构

2MCS-51单片机的存储器配置

单片机原理多媒体教程单片机原理多媒体教程第二章MCS-51单片机硬件根底§2.1MCS-51单片机内部结构及引脚一、MCS-51单片机的内部结构框图单片机原理多媒体教程第二章MCS-51单片机硬件根底二、MCS-51单片机的根本组成(一)、中央处理器中央处理器简称CPU,是单片机的核心,完成运算和控制功能。中央处理器包括运算器和控制器。1.运算器即运算电路,用于实现算术和逻辑运算。运算电路包括算术逻辑单元ALU、累加器ACC、程序状态字PSW、B存放器等。其中算术逻辑单元ALU是运算电路的核心。2.控制器即控制电路,用于发出控制信号,指挥单片机各部件协调工作。控制电路包括程序计数器PC、指令存放器、指令译码器、定时与控制电路等。单片机原理多媒体教程第二章MCS-51单片机硬件根底(二)、内部数据存储器〔即内部RAM〕MCS-51单片机内部数据存储器(即内部RAM)的地址范围为:00H~FFH,共256个字节(即256B)。(三)、定时器/计数器MCS-51单片机共有2个16位的定时器/计数器,以实现定时或计数功能。(四)、并行I/O口MCS-51单片机共有4个8位的I/O口〔P0,P1,P2,P3〕,以实现与外设的数据并行输入/输出。(五)、串行口MCS-51单片机有1个全双工的串行I/O口,用于实现单片机之间或单片机与PC机之间的串行通信。单片机原理多媒体教程第二章MCS-51单片机硬件根底(六)、中断控制系统MCS-51单片机共有5个中断源(其中有2个外部中断源)。(七)、时钟电路MCS-51单片机内部有一个时钟电路,可通过引脚XTAL1和XTAL2外接晶体振荡器和微调电容,为单片机产生时钟脉冲。(八)、地址/数据总线在外扩存储器和外接其它设备时,MCS-51单片机的P0口和P2口被用做地址/数据总线。其中P0口用以分时传送低8位地址或8位数据〔硬件以ALE信号区别〕;而P2口那么用以传送高8位地址。单片机原理多媒体教程第二章MCS-51单片机硬件根底三、MCS-51单片机的引脚及功能MCS-51单片机共有3种封装形式。最常用的是40引脚双列直插式〔DIP封装方式〕,集成电路芯片的引脚排列如以下图。单片机原理多媒体教程第二章MCS-51单片机硬件根底引脚可分4组1.主电源引脚2.外接晶体引脚3.控制信号引脚4.输入/输出端口引脚

1.主电源引脚VCC和GND(1)VCC—〔40脚〕,接+5V电源。(2)GND—〔20脚〕,接数字电路地。2.外接晶体引脚XTAL1和XTAL2(1)XTAL1—〔19脚〕,接外部晶体振荡器。(2)XTAL2—〔18脚〕,接外部晶体振荡器。(3)P2口(21脚-28脚),当访问外部存储器或外部设备时,P2口的8条引脚作为高8位地址线,系统自动把高8位地址(A8-A15)送出。(4)P3口(10脚-17脚),是一个复用端口。作为第一功能使用时,是普通的I/O端口。作为第二功能使用时,各引脚的定义如下表所示。AT89C51如不使用AT89C51单片机内部那么图2-289C51引脚排列图及输入/输出逻辑示意图单片机原理多媒体教程第二章MCS-51单片机硬件根底§2.2MCS-51单片机的存储器配置共256B共8个二进制位(bit)存储器01H00H02H03H04H05HFDHFFHFEH000000110000100000001001也称为:一个存储单元称为:一个字节(B)被存储的数据(8位)地址容量的确定:地址总线包含8根地址线时:28=256字节=256B共计:256B地址总线包含16根地址线时:216=64×1024B=64KB共计:64KB单片机原理多媒体教程第二章MCS-51单片机硬件根底地址确实定:每根地址线可传送一位二进制信息(0或1),当地址总线包含8根地址线时,那么可传送的最小数字为00000000=0=00H,最大数字为11111111=255=FFH。所以地址范围是:00H~FFH。当地址总线包含16根地址线时,那么可传送的最小数字为0000000000000000=0=0000H,最大数字为1111111111111111=65536=FFFFH。所以地址范围是:0000H~FFFFH。单片机原理多媒体教程第二章MCS-51单片机硬件根底一、MCS-51单片机的存储器分类1.按功能分类:程序存储器和数据存储器。2.按分配空间分类:内部存储器和外部扩展存储器。

内部存储器:也称为片内存储器。即内部数据存储器(256B),简称内部RAM。AT89C51单片机内部程序存储器(4KB)。

外部扩展存储器:简称外部存储器或外扩存储器,也称为片外存储器。可分为:外部程序存储器(64KB)和外部数据存储器(简称外部RAM;64KB)。单片机原理多媒体教程第二章MCS-51单片机硬件根底存储器内部数据存储器:256B内部程序存储器:4KB(AT89C51)外部程序存储器:64KB即内部RAM内部存储器外部存储器外部数据存储器:64KB小结即外部RAM〔常指ROM〕单片机原理多媒体教程第二章MCS-51单片机硬件根底二、MCS-51单片机存储器的特点1.将程序存储器和数据存储器分开设置。在空间上完全独立,并不重叠。存取指令完全不同〔MOV、MOVX、MOVC〕。控制信号完全不同〔RD、WR;EA、PSEN〕。2.存储器有内外之分。即分为内部存储器和外部存储器。内部存储器,也称为片内存储器。即内部数据存储器,简称内部RAM。外部存储器,也称为片外存储器。即外部数据存储器和外部程序存储器,也称为外扩数据存储器和外扩程序存储器。单片机原理多媒体教程第二章MCS-51单片机硬件根底外部程序存储器0001H0000H0002H0003H0004H0005HFFFDHFFFFHFFFEH00010011共64KB共8个二进制位(bit)0010100000101001也称为:一个存储单元称为:一个字节(8位)被存储的程序代码(8位)地址(16位)三、程序存储器地址空间单片机原理多媒体教程第二章MCS-51单片机硬件根底在单片机处理问题之前必须先将编好的程序、表格、常数汇编成机器代码后存入单片机的存储器中,该存储器称为程序存储器。如上所述,89C51除片内4KB的ROM外,还可外扩64KB程序存储器,地址为0000H~FFFFH(内部与外部统一64KB)。它以程序计数器PC作地址指针,由于PC程序计数器为16位,使得程序存储器可用16位二进制地址,因此,可寻址的地址空间为64KB。程序存储器的操作完全由程序计数器PC控制。程序存储器的操作分为程序运行与读〔查表〕操作两类。以下图为51单片机程序存储器示意图

单片机原理多媒体教程第二章MCS-51单片机硬件根底六个存储单元的地址〔即6个字节的地址〕:功用字节地址串行中断0入口地址0023H定时器/计数器1溢出中断入口地址001BH定时器/计数器0溢出中断入口地址000BH外部中断1入口地址0013H外部中断0入口地址0003H系统引导区0000H~0002H

单片机复位后程序计数器PC的内容为0000H,故系统必须从0000H单元开始取指令来执行程序。0000H单元是系统的起始地址,一般0000H~0002H存放跳转指令,使程序被引导到跳转指令指定的程序存储空间去执行。单片机原理多媒体教程第二章MCS-51单片机硬件根底四、外部数据存储器地址空间MCS-51单片机的外部数据存储器空间为64KB(即容量为64KB),地址范围为0000H~FFFFH。外部数据存储器0001H0000H0002H0003H0004H0005HFFFDHFFFFHFFFEH00000011共64KB共8个二进制位(bit)0000100000001001也称为:一个存储单元称为:一个字节(8位)被存储的数据(8位)地址(16位)单片机原理多媒体教程第二章MCS-51单片机硬件根底外部程序存储器0001H0000H0002H0003H0004H0005HFFFDHFFFFHFFFEH00010011共64KB共8个二进制位(bit)0010100000101001也称为:一个存储单元称为:一个字节(8位)被存储的程序代码(8位)地址(16位)单片机原理多媒体教程第二章MCS-51单片机硬件根底

问题:MCS-51单片机的外部程序存储器和外部数据存储器的地址范围都是从0000H~FFFFH。使用时会不会因为混淆而出错呢?(答案是:不会出错!)

为什么?外部程序存储器FFFFH外部数据存储器0000H(64KB)(64KB)单片机原理多媒体教程第二章MCS-51单片机硬件根底

MCS-51单片机的外部程序存储器和外部数据存储器的地址范围都是从0000H~FFFFH,共64KB。但使用时不会出错,原因为:1.存储器空间相互独立。并不重叠。

2.采用了不同的存储器访问指令,访问外部程序存储器时指令用MOVC,访问外部数据存储器时指令用MOVX。

3.控制信号不同。访问外部程序存储器时控制信号为PSEN;访问外部数据存储器时控制信号为RD和WR。单片机原理多媒体教程第二章MCS-51单片机硬件根底五、内部数据存储器地址空间MCS-51单片机内部RAM空间为256B(即共有256个存储单元),地址范围为00H~FFH。内部数据存储器01H00H02H03H04H05HFDHFFHFEH00000011共256B共8个二进制位(bit)0000100000001001也称为:一个存储单元称为:一个字节(8位)被存储的数据(8位)地址(8位)内部存储器

内部数据存储器低128单元

单片机原理多媒体教程第二章MCS-51单片机硬件根底MCS-51单片机256B的内部RAM可以分为四个区域:存放器区00H~1FH。共计32个工作存放器。分四组,每组8个工作存放器。2.位寻址区有16个字节,每字节有8个二进制位,共计128个二进制位,位地址范围为00H~7FH。3.用户RAM区30H~7FH。4.特殊功能存放器区80H~FFH。也称为SFR区。(SpecialFunctionRegister)工作寄存器组3工作寄存器组2工作寄存器组1工作寄存器组0单片机原理多媒体教程第二章MCS-51单片机硬件根底MCS-51单片机的外部数据存储器空间与内部数据存储器空间的低地址0000H~00FFH在使用时是重叠的。为了防止混淆,MCS-51单片机用MOVX和MOV两种指令对其加以区别,用MOV访问内部RAM,用MOVX访问外部RAM。外部数据存储器FFH内部数据存储器00H(64KB)(256B)FFFFH0000H00FFH单片机原理多媒体教程第二章MCS-51单片机硬件根底1.存放器区:共计32个工作存放器,分为四组,每组8个。工作存放器常用于存放操作数及中间结果等,由于它们的功能及使用不作预先规定,因此称为通用存放器,也叫工作存放器。每组的8个工作存放器,占8个内部RAM存储单元,因此,4个工作存放器组总共占用32个内部RAM存储单元。在任一时刻,CPU只能使用这四组工作存放器中的一组,并把正在使用的那组工作存放器称为当前工作存放器组,用R0~R7表示8个当前工作存放器。第二章MCS-51单片机硬件根底问题1:4个工作存放器组的地址范围各是多少?工作寄存器组地址范围工作寄存器组0工作寄存器组1工作寄存器组2工作寄存器组300H~07H08H~0FH10H~17H18H~1FH答案:单片机原理多媒体教程第二章MCS-51单片机硬件根底2.位寻址区:共计128个二进制位。位地址范围:00H~7FH。位寻址区有16个字节,字节地址为20H~2FH。每字节有8个二进制位,每个二进制位都有各自的地址,称为位地址。

16个字节共计包含128个二进制位,位地址范围为00H~7FH。工作寄存器组3工作寄存器组2工作寄存器组1工作寄存器组0间接寻址用户RAM区/SFR区直接寻址用户RAM区

问题:什么叫字节地址?单片机原理多媒体教程第二章MCS-51单片机硬件根底3.用户RAM区:30H~7FH。用户RAM区:30H~7FH:80个字节。

工作寄存器组3工作寄存器组2工作寄存器组1工作寄存器组0SFR区直接寻址用户RAM区单片机原理多媒体教程第二章MCS-51单片机硬件根底4.特殊功能存放器区(即SFR区):地址范围80H~FFH。工作寄存器组3工作寄存器组2工作寄存器组1工作寄存器组0直接寻址SFR区直接寻址用户RAM区单片机原理多媒体教程第二章MCS-51单片机硬件根底直接寻址SFR区/(可用共22B)FFH80HSFR区采用直接寻址方式。因这些寄存器的功能已做了专门规定,故而也称为专用寄存器。MCS-51单片机有22个特殊功能寄存器,除程序计数器PC不可寻址外,有21个是可寻址的(其中有11个也可位寻址)。

其余的单元厂家没做定义,用户不能使用。

单片机原理多媒体教程第二章MCS-51单片机硬件根底六、常用特殊功能存放器介绍常用特殊功能存放器有:程序计数器PC、累加器ACC、B存放器、程序状态字PSW、数据指针DPTR。1.程序计数器(PC:ProgramCounter):

功能:用于指向程序存储器的某个存储单元。(1).PC是一个16位的计数器。(3).PC的内容为将要执行的指令地址。寻址范围达64KB。

(2).PC有自动加1功能,以实现程序的顺序执行。(4).PC没有地址,是不可寻址的。因此用户无法对它进行读写操作。但可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。特点:单片机原理多媒体教程第二章MCS-51单片机硬件根底2.累加器(ACC:Accumulator;也可用A表示):功能:累加器可用于存放指令的操作数,以及存放ALU运算的中间结果。它是程序中最常用的特殊功能存放器,功能较多,地位重要。(1).累加器是一个8位的特殊功能存放器。(2).累加器有地址,是可以寻址的。问题1:累加器的地址是多少?特点:问题2:累加器可以位寻址吗?答案:E0H答案:可以

答案1:SETBACC.0(不能用A.0)答案2:SETBE0H答案

例题:

如何将累加器的最低位置1?单片机原理多媒体教程第二章MCS-51单片机硬件根底3.B存放器(BRegister):功能:(1).用于乘法运算。此时,B存放器中存放乘数。乘法运算完成后,乘积的高位数据存放于B中。(2).用于除法运算。此时,B存放器中存放除数。除法运算完成后,余数存于B中。(3).B存放器也可作为一般的数据存放器使用。(1).B存放器是一个8位的特殊功能存放器。(2).B存放器有地址,是可以寻址的。特点:问题1:B寄存器的地址是多少?问题2:B存放器可以位寻址吗?答案:F0H答案:可以单片机原理多媒体教程第二章MCS-51单片机硬件根底4.程序状态字(PSW:ProgramStatusWord):功能:用于存放指令执行的状态信息。(1).PSW是一个8位的特殊功能存放器。(2).PSW有地址,是可以寻址的。特点:问题1:PSW的地址是多少?问题2:PSW可以位寻址吗?答案:D0H答案:可以单片机原理多媒体教程第二章MCS-51单片机硬件根底位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CYACF0RS1RS0OVF1PP:奇偶校验位。用于说明累加器A中1的个数的奇偶性。假设A中1的个数为偶数,那么(P)=0;假设A中1的个数为奇数,那么(P)=1。OV:溢出标志位。PSW中各位的含义及功能在带符号数的加减运算中,(OV)=1表示运算结果超出了累加器A所能表示的带符号数的有效范围(-128~+127),即产生了溢出;反之,(OV)=0表示运算结果正确,即无溢出产生。在乘法运算中,(OV)=1表示乘积超过255,即乘积分别在B与A中;反之,(OV)=0,表示乘积只在A中。在除法运算中,(OV)=1表示除数为0,除法不能进行;反之,(OV)=0,表示除数不为0,除法可正常进行。1000001110010000+)请分析下列两数相加后:

单片机原理多媒体教程第二章MCS-51单片机硬件根底

例题:

(OV)=?(OV)=1、1,00010011符号位符号位

例题:

两个负数相加结果不可能为正。问题:(P)=?答案:(P)=1在进行十进制数运算时需要十进制调整,此时要用到AC位的状态进行判断,以决定如何进行十进制调整。单片机原理多媒体教程第二章MCS-51单片机硬件根底位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CYACF0RS1RS0OVF1PF0、F1:用户标志位。这两位是由用户定义的标志位,用户可根据需要,通过编程将其设置为1或0。AC:辅助进位标志位。PSW中各位的含义及功能在加减运算中,当低4位向高4位进位或借位时,AC由硬件置位(即设置为1),否则AC位被清0(即设置为0)。0001001100001001-)

例题2:

请分析下列两数相减后:单片机原理多媒体教程第二章MCS-51单片机硬件根底问题:(P)=?(OV)=?例题1:

0000101001001000+)请分析下列两数相加后:

(AC)=?

(AC)=1

01010010、低4位高4位、00001010(AC)=?

(AC)=1

问题:(P)=?(OV)=?

答案:(P)=1,(OV)=0

答案:(P)=0,(OV)=0

在位操作中,作累加位使用。在位传送、位与、位或等位操作中,都要使用进位标志位。在加减运算中,当有低4位向高4位进位或借位时,AC由硬件置位(即设置为1),否则AC位被清0(即设置为0)。单片机原理多媒体教程第二章MCS-51单片机硬件根底位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CYACF0RS1RS0OVF1PCY:进位标志位。也可用C表示。PSW中各位的含义及功能存放算术运算的进位标志。在加减运算中,当第8位向更高位进位或借位时,CY由硬件置位(即设置为1),否则CY位被清0(即设置为0)。单片机原理多媒体教程第二章MCS-51单片机硬件根底例题:

1100001010101001+)请分析下列两数相加后:

(CY)=?

(CY)=1

1,01101011、第7位问题:(P)=?(OV)=?

(AC)=?

答案:(P)=1,(OV)=1,(AC)=0

这两个位的状态是由软件设置的(即由用户编程设定),它们的每一种状态组合对应选中一组工作寄存器,被选中的工作寄存器组即为当前工作寄存器组,包含8个当前工作寄存器。单片机原理多媒体教程第二章MCS-51单片机硬件根底位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CYACF0RS1RS0OVF1PRS0、RS1:当前工作存放器(R0~R7)选择位。PSW中各位的含义及功能用于设定当前工作寄存器所在组的组号。RS0、RS1的状态组合与工作存放器组之间的对应关系:RS1RS0工作寄存器组工作寄存器组的地址范围00工作寄存器组000H~07H01工作寄存器组108H~0FH10工作寄存器组210H~17H11工作寄存器组318H~1FH单片机原理多媒体教程第二章MCS-51单片机硬件根底如何选择当前工作寄存器?

例题1:

第0组工作存放器的地址范围是:00H~07H。答案:可利用PSW中的RS0、RS1这两位的状态组合来选择某一组工作存放器作为当前工作存放器。例题2:如果要求选择第2组工作存放器作为当前工作存放器,那么RS0、RS1的状态组合应为多少?答案:RS1、RS0的状态组合应为10。例题3:如果要求选择第0组工作存放器作为当前工作存放器,那么RS0、RS1的状态组合应为多少?第0组工作存放器的地址范围是多少?答案:RS0、RS1的状态组合应为00。单片机原理多媒体教程第二章MCS-51单片机硬件根底5.数据指针:MCS-51单片机中有一个数据指针:DPTR。(1).DPTR是一个16位的特殊功能存放器。(2).DPTR有地址,是可以寻址的。DPTR的特点:问题1:DPTR的地址是多少?问题2:DPTR可以位寻址吗?答案:82H(DPL)、83H(DPH)答案:不可以DPTR的功能:用于指向外部数据存储器空间,即在访问外部数据存储器时作为地址指针使用,以实现对外部数据存储器的存取访问。(3).DPTR既可按16位存放器使用,也可作为两个8位存放器使用,即:DPH(DPTR高8位),DPL(DPTR低8位)。(4).DPTR的寻址范围为64KB

。(216=64KB)单片机原理多媒体教程第二章MCS-51单片机硬件根底七、MCS-51单片机的堆栈

堆栈的含义:在用户进行程序设计时,往往需要一个后进先出(LIFO--LastInFirstOut)的RAM区,以便将某些重要信息暂时保存起来,以免被破坏。这种后进先出的缓冲区就称为堆栈。从数据结构的角度讲,堆栈实际上是一种数据结构,是只允许在其一端进行数据插入和数据删除操作的线性表。单片机原理多媒体教程第二章MCS-51单片机硬件根底MCS-51单片机的堆栈可开辟在内部RAM的用户RAM区(30H~FFH)。30H00H01H31H7FH堆栈区堆栈的开辟区域:内部RAM堆栈的深度:堆栈的深度就是堆栈的容量。MCS-51单片机堆栈的深度与堆栈所存储的数据多少有关。如:堆栈中存储了10个字节的数据,那么堆栈的深度就是10字节(即10B)。单片机原理及接口技术多媒体教程第二章MCS-51单片机硬件根底堆栈的操作:进栈和出栈。堆栈的操作特点:遵循后进先出的操作特点。这是因为:堆栈是只允许在其一端进行数据插入和数据删除操作的线性表。先入栈的数据存放在栈的底部,所以后出栈;而后入栈的数据存放在栈的顶部,所以先出栈。000001110000001100000010进栈出栈因此:不管是进栈还是出栈,都是对堆栈的栈顶单元进行的。栈底栈顶30H00H01H31H32H堆栈区内部RAM单片机原理多媒体教程第二章MCS-51单片机硬件根底堆栈指示器(SP:StackPointer):也称为堆栈指针。是一种常用的特殊功能存放器。为了指示栈顶单元,所以设置了堆栈指示器!堆栈指示器的特点:是一个8位的特殊功能存放器。

堆栈指示器的功能:用于指示栈顶单元地址。注意:堆栈指示器的内容就是当前堆栈栈顶单元的地址。栈顶00000111000000110000001030H00H01H31H32H堆栈区内部RAM

SP

SP

单片机原理多媒体教程第二章MCS-51单片机硬件根底栈顶00000010系统复位后,SP的内容为

温馨提示

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

评论

0/150

提交评论