资源描述
7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院 (1 1)MCS-51是是Intel公司生公司生产的一个的一个单片机系列名称。片机系列名称。属于属于这一系列的一系列的单片机有多种,如:片机有多种,如:8051/8751/8031;8052/8752/8032;80C51/87C51/80C31;80C52/87C52/80C32等等。1.1 51系列单片机概述系列单片机概述1.1.1 MCS-51系列系列 (2)该系列生产工艺有两种:)该系列生产工艺有两种:一是一是HMOS工艺工艺(高密度短沟道(高密度短沟道MOS工艺)工艺)二是二是CHMOS工艺工艺(互补金属氧化物的(互补金属氧化物的HMOS工艺)工艺)CHMOS是是CMOS和和HMOS的的结结合合,既既保保持持了了HMOS高高速速度度和和高高密密度度的的特特点点,还还具具有有CMOS的的低低功功耗耗的的特特点点。在在产产品品型型号号中中凡凡带带有有字字母母“C”的的即即为为CHMOS芯芯片片,CHMOS芯芯片片的电平既与的电平既与TTL电平兼容,又与电平兼容,又与CMOS电平兼容。电平兼容。7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院(3)在功能上,该系列单片机有基本型和增强型两类:)在功能上,该系列单片机有基本型和增强型两类:增强型增强型:8052/8752/8032 80C52/87C52/80C32基本型基本型:8051/8751/8031 80C51/87C51/80C311.1 51系列单片机概述系列单片机概述1.1.1 MCS-51系列系列 (4)在在片片内内程程序序存存储储器器的的配配置置上上,该该系系列列单单片片机机有有三三种种形形式式,即即掩掩膜膜ROM、EPROM和和ROMLess(无无片片内内程程序序存存储储器)。如:器)。如:80C51有有4K字节的掩膜字节的掩膜ROM;87C51有有4K字节的字节的EPROM;80C31在芯片内无程序存储器。在芯片内无程序存储器。7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院1.1.2 80C51系列系列 Intel的的:80C31、80C51、87C51,80C32、80C52、87C52等;等;ATMEL的:的:89C51、89C52、89C2051等;等;Philips、华邦、邦、Dallas、iemens(Infineon)等公司等公司的的许多多产品品。80C51是是MCS-51系系列列中中CHMOS工工艺的的一一个个典典型型品品种种;其其它它厂厂商商以以8051为基基核核开开发出出的的CMOS工工艺单片片机机产品品统称称为80C51系列系列。当前常用的当前常用的80C51系列系列单片机主要片机主要产品有:品有:1.1 51系列单片机概述系列单片机概述7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院1.1.3 80C51系列典型系列典型产品品资源配置源配置1.1 51系列单片机概述系列单片机概述7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院时钟电路时钟电路4KROM程序存储器程序存储器256BRAM数据存储器数据存储器2X16位位定时定时/计数器计数器CPU处理器处理器64KB总线总线扩展控制器扩展控制器可编程可编程I/O端口端口P0-3可编程可编程串行口串行口中断控制中断控制 在在MCS-51单片机中,一般包含有单片机中,一般包含有CPU、程序存储器、程序存储器ROM、数据存储器、数据存储器RAM、定时定时/计数器计数器、并行并行I/O端口端口、串行串行口口、中断系统中断系统等;等;在高档单片机中还包含了通用机所设有的在高档单片机中还包含了通用机所设有的一些特殊的电路模块(一些特殊的电路模块(A/D、D/A、PWM等)。等)。1.2.1 MCS-51单片机内部片机内部结构(以构(以8051为例)例)1.2 MCS-51单片机内部结构及引脚定义单片机内部结构及引脚定义7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院1.2 MCS-51单片机内部结构及引脚定义单片机内部结构及引脚定义1.2.2 MCS-51单片机引脚定片机引脚定义(以(以8051为例)例)MCS-51单片机外型图(单片机外型图(DIP封装)封装)MCS-51单片机的逻辑符号图单片机的逻辑符号图电源及电源及控制控制P3口口P1口口P0口口P2口口87C51EPROM型型AT89C51ATMELFLASH型型VCCGNDRXDTXD/INT0/INT1T0T1/WR/RDXTAL1 XTAL2RST/EA/PSENALE返回返回7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院1、并行输入输出端口引线(并行输入输出端口引线(4*8=32个)个)P0.0-P0.7:P0端口线(端口线(39-32脚)脚)输出能力最强的端口,可带输出能力最强的端口,可带8个个TTL负载(输出开路结构,负载(输出开路结构,所以驱动拉电流负载时,应接一个所以驱动拉电流负载时,应接一个10k 左右的上拉电阻);左右的上拉电阻);当系统使用外接存储器时,当系统使用外接存储器时,P0口还作为低八位地址总线和口还作为低八位地址总线和 数据总线(此时数据总线(此时P0口不能作为通用的口不能作为通用的I/O端口)。端口)。P1.0-P1.7:P1端口线(端口线(18脚):脚):负载能力为负载能力为4个个TTL负载。负载。P2.0 P2.7:P2端口线(端口线(2128脚)脚)通用通用I/O端口,负载能力为端口,负载能力为4个个TTL;当系统使用外接存储器时,该口还作为高八位地址总线当系统使用外接存储器时,该口还作为高八位地址总线 (此时(此时P2口不能作为通用的口不能作为通用的I/O端口)。端口)。引脚图MCS-51单片机有单片机有DIP和和PLCC两种两种封装封装形式。形式。1.2 MCS-51单片机内部结构及引脚定义单片机内部结构及引脚定义7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院P3.0 P3.7 P3端口线端口线(10 17脚):脚):通用通用I/O端口,负载能力为端口,负载能力为4个个TTL;具有第二功能。具有第二功能。口线口线定义定义说明说明口线口线定义定义说明说明P3.0RXD串行数据输入口串行数据输入口P3.4T0计数器外部输入信号计数器外部输入信号P3.1TXD串行数据输出口串行数据输出口P3.5T1计数器外部输入信号计数器外部输入信号P3.2INT0外部中断输入口外部中断输入口P3.6/WR外部数据存储器写信号外部数据存储器写信号P3.3INT1外部中断输入口外部中断输入口P3.7/RD外部数据存储器读信号外部数据存储器读信号P3P3口第二功能表口第二功能表引脚图1.2 MCS-51单片机内部结构及引脚定义单片机内部结构及引脚定义7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院2、电源线(、电源线(2条)条):Vcc(+5V,40脚)和脚)和Vss(GND,20脚)脚)3、控制线(、控制线(6条)条)(1)外接晶体引脚:外接晶体引脚:XTAL1(19脚)、脚)、XTAL2(18脚)脚)在两脚之间接入一个晶体振荡器,单片机就以此晶体在两脚之间接入一个晶体振荡器,单片机就以此晶体的频率开始工作。其频率范围一般为:的频率开始工作。其频率范围一般为:024M。频率越高,。频率越高,单片机的工作速度就越快,但单片机的功耗就要增加。单片机的工作速度就越快,但单片机的功耗就要增加。(2)RST/Vpd(9脚):脚):复位信号输入,高电平有效。复位信号输入,高电平有效。在单片机上电开始工作时,在单片机上电开始工作时,必须在此引脚上有一个两个必须在此引脚上有一个两个时钟周期的高电平使单片机复位(外复位电路)。时钟周期的高电平使单片机复位(外复位电路)。另外当单片机掉电时,此引脚可以接入备用电源向单片另外当单片机掉电时,此引脚可以接入备用电源向单片 机内部的机内部的RAM供电,以防止供电,以防止RAM中的数据丢失。中的数据丢失。1.2 MCS-51单片机内部结构及引脚定义单片机内部结构及引脚定义引脚图7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院在复位状态下在复位状态下:绝大多数:绝大多数SFR的内容全变为的内容全变为“0”,端口输出端口输出“1”。RAM内容不变。内容不变。自动上电复位电路自动上电复位电路具有手动复位功能具有手动复位功能的复位电路的复位电路为什么需要为什么需要复位?复位?1.2 MCS-51单片机内部结构及引脚定义单片机内部结构及引脚定义MCS-51RSTVcc51k 1k 1m mFMCS-51RSTVccR C 7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院(3)/EA/Vdd(31脚):允许访问片外存储器脚):允许访问片外存储器/编程电编程电源线源线 程序存储器的选择控制端程序存储器的选择控制端 /EA=“1”时:单片机使用内部的程序存储器;时:单片机使用内部的程序存储器;/EA=“0”时:单片机使用外部的程序存储器。时:单片机使用外部的程序存储器。但要特别注意但要特别注意:如果:如果EA=1即使用单片机内部的程序存储即使用单片机内部的程序存储器时,如果程序计数器器时,如果程序计数器PC的值超过的值超过0FFFH时(对时(对8051而言)而言),单片机将自动转向外部程序存储器,单片机将自动转向外部程序存储器1000H开始的单元。开始的单元。对于对于EPROM型的单片机,此脚还是用于写程序时,加型的单片机,此脚还是用于写程序时,加入入21V的编程电压。的编程电压。1.2 MCS-51单片机内部结构及引脚定义单片机内部结构及引脚定义引脚图7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院片内片内ROM4K(EA=1)/EA决定着对决定着对ROM的使用选择的使用选择MCS-51单片机单片机片内片内RAM256B片外片外RAM64K片外片外ROM64KEA=0或片内或片内溢出溢出000HFFFH0000HFFFFH0FFFH1000H片外片外ROM64KEA=0或片内或片内溢出溢出片外片外ROM64KEA=0或片内或片内溢出溢出片内片内ROM4K(EA=1)1.2 MCS-51单片机内部结构及引脚定义单片机内部结构及引脚定义7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院(4)/PSEN(29脚):片外脚):片外ROM的选通输出信号的选通输出信号 当使用当使用外部程序存储器外部程序存储器时,此脚在一个机器周期内产生时,此脚在一个机器周期内产生两次负脉冲(访问外部数据存储器时,此信号无效)。两次负脉冲(访问外部数据存储器时,此信号无效)。(5)ALE/PROG(30脚):地址锁存允许脚):地址锁存允许/编程线编程线 可作为可作为外部存储器外部存储器低八位地址的锁存信号;不访问片外低八位地址的锁存信号;不访问片外数据存储器时以一个不变的频率(数据存储器时以一个不变的频率(fosc/6)周期性输出脉冲;)周期性输出脉冲;还是还是EPROM型单片机编程时编程输入脉冲。型单片机编程时编程输入脉冲。1.2 MCS-51单片机内部结构及引脚定义单片机内部结构及引脚定义3、控制线(、控制线(6条)条)(1)外接晶体引脚:)外接晶体引脚:XTAL1(19脚)、脚)、XTAL2(18脚)脚)(2)RST/Vpd(9脚):复位信号输入,高电平有效。脚):复位信号输入,高电平有效。(3)/EA/Vdd(31脚):允许访问片外存储器脚):允许访问片外存储器/编程电源线编程电源线引脚图7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院1.3.0 MCS-51单片机的存储器的配置特点单片机的存储器的配置特点 内部集成了内部集成了4K的程序存储器的程序存储器ROM;内部具有内部具有256B的数据存储器的数据存储器RAM;可以外接可以外接64K的程序存储器和数据存储器。的程序存储器和数据存储器。从物理结构的角度讲,从物理结构的角度讲,5151单片机的存储系统可以单片机的存储系统可以分为四个存储空间:即片内分为四个存储空间:即片内ROM,RAM和片外和片外ROM、RAM。从逻辑上讲(即用户编程的角度讲)从逻辑上讲(即用户编程的角度讲)5151单片机的单片机的存储系统又可分为三个存储空间。即片内存储系统又可分为三个存储空间。即片内RAM,片外片外RAM,片内外统一编址的程序存储器片内外统一编址的程序存储器ROM。1.3 MCS-51单片机程序存储器的配置单片机程序存储器的配置7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院从物理结构上单片机系统的存储器结构图从物理结构上单片机系统的存储器结构图(4 4个部分)个部分)MCS-51单片机单片机片内片内ROM4K(EA=1)片内片内RAM256B片外片外RAM64K片外片外ROM64K(EA=0或片内或片内溢出)溢出)000HFFFH0000HFFFFH0FFFH1000H1.3 MCS-51单片机程序存储器的配置单片机程序存储器的配置1.3.0 MCS-51单片机的存储器的配置特点单片机的存储器的配置特点 7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院1.3.1 关于程序存储器(片内与片外)关于程序存储器(片内与片外)(1)程序存储器()程序存储器(ROM)是存放程序、常数和表格的。)是存放程序、常数和表格的。(2)在)在MCS-51单片机中:单片机中:/EA=1时,系统执行时,系统执行片内片内的的4KROM中的程序;中的程序;/EA=0时,系统使用时,系统使用片外片外ROM中的程序。中的程序。(3)无论是使用片内还是使用片外的)无论是使用片内还是使用片外的ROM(即(即 EA=1或或EA=0),其起始地址都是从),其起始地址都是从0000H单元开始。单元开始。(4)尽管系统具备片内)尽管系统具备片内ROM和外部和外部ROM,但是在一般正常,但是在一般正常使用情况下,只能通过使用情况下,只能通过/EA的设定来选择其中之一。所的设定来选择其中之一。所以,在物理上的两个存储空间在逻辑上却只是一个(或以,在物理上的两个存储空间在逻辑上却只是一个(或者使用内部者使用内部ROM;或者使用外部;或者使用外部ROM)。)。1.3 MCS-51单片机程序存储器的配置单片机程序存储器的配置7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院(5)如果)如果/EA=1(执行片内程序存储器中程序时):(执行片内程序存储器中程序时):0FFFH0000H0FFFH0000HFFFFH1000HEA=1时,时,ROM的使用的使用片外程序存储器片外程序存储器(最大(最大64K)单片机内部单片机内部程序存储器程序存储器(4K)1.3 MCS-51单片机程序存储器的配置单片机程序存储器的配置 若程序计数器的指针若程序计数器的指针PC值超过值超过0FFFH(4K)时,)时,单片单片机就要自动的转向片外的机就要自动的转向片外的ROM(尽管(尽管EA=1),且从片外),且从片外ROM的的1000H单元开始执行程序(此时:单片机是无法使用单元开始执行程序(此时:单片机是无法使用片外片外ROM的的0000H-0FFFH这这4K单元)。单元)。7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院0FFFH0000H0FFFH0000HFFFFH1000HEA=1时,时,ROM的使用的使用片外程序存储器片外程序存储器(最大(最大64K)单片机内部单片机内部程序存储器程序存储器(4K)一种便于程序加密的一种便于程序加密的ROM使用方案使用方案(6)当程序太大,必须使用外部)当程序太大,必须使用外部ROM时的一种设定方法:时的一种设定方法:将将/EA=1,程序从内部,程序从内部4K开始,然后自动转向外部开始,然后自动转向外部ROM的的1000H开始的单元。开始的单元。可以加密可以加密无法加密无法加密1.3.1 关于程序存储器(片内与片外)关于程序存储器(片内与片外)1.3 MCS-51单片机程序存储器的配置单片机程序存储器的配置7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院1.3.2 程序存储器六个特殊的单元程序存储器六个特殊的单元 在程序存储器中,以下六个单元是专用的在程序存储器中,以下六个单元是专用的0000H单元:单元:上电复位时程序计数器上电复位时程序计数器PC指向的单元;指向的单元;0003H单元:单元:外部中断外部中断/INT0的入口地址;的入口地址;000BH单元:定时器单元:定时器T0的溢出中断入口地址;的溢出中断入口地址;0013H单元:单元:外部中断外部中断/INT1的入口地址;的入口地址;001BH单元:定时器单元:定时器T1的溢出中断入口地址;的溢出中断入口地址;0023H单元:单元:串行口接收、传送的中断入口地址。串行口接收、传送的中断入口地址。ROM图1 1个复位地址个复位地址个复位地址个复位地址+5+5个中断源入口地址个中断源入口地址个中断源入口地址个中断源入口地址1.3 MCS-51单片机程序存储器的配置单片机程序存储器的配置1.3.1 关于程序存储器(片内与片外)关于程序存储器(片内与片外)返回返回7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院A15A14 :A8A7 O7 :A0 O0OE64K ROMMCS-51完整的地址完整的地址信号信号三态输出三态输出的数据口的数据口由由/OE控制控制D7 Q7D7 Q7 74LS373D0 Q0D0 Q0 G /LG /L P2.7:P2.0P0.7:P0.0ALE/EA /PSEN1.3 MCS-51单片机程序存储器的配置单片机程序存储器的配置1.3.3 外部程序存储器的总线结构图外部程序存储器的总线结构图7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院1.4.1 内部数据存储器内部数据存储器RAM数据存储器无论在物理上还是逻辑上都分为两个数据存储器无论在物理上还是逻辑上都分为两个地址空间地址空间,即一个内部和一个外部的即一个内部和一个外部的RAM,访问指令不同:,访问指令不同:访问访问内部内部数据存储单元时,使用数据存储单元时,使用 MOV 指令;指令;访问访问外部外部数据存储器时,使用数据存储器时,使用 MOVX 指令。指令。内部内部RAM从功能上又将从功能上又将256B空间分为二个不同的块:空间分为二个不同的块:(1)低)低128B的的RAM块;块;(2)高)高128B的的SFR(Special Function Register)块。)块。高高128B的专用寄存器区的专用寄存器区SFR中仅仅使用了中仅仅使用了21个寄存个寄存器(器(51系列),其它单元不能使用。系列),其它单元不能使用。在在低低128B的的RAM存储单元中又可划分为:存储单元中又可划分为:工作寄存器区、位寻址区、通用存储数据的工作寄存器区、位寻址区、通用存储数据的工作寄存器区、位寻址区、通用存储数据的工作寄存器区、位寻址区、通用存储数据的“便笺区便笺区便笺区便笺区”。1.4 MCS-51单片机数据存储器的配置单片机数据存储器的配置7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院MCS-51 片内片内、片外、片外 数据存储器示意图数据存储器示意图特殊特殊功能功能寄存器寄存器SFR通用通用数据数据存储器存储器80H7FH00HFFH片内片内RAM256B个字节个字节片外片外数据数据存储器存储器64KB0000HFFFFH注意:注意:1)访问)访问片内片内RAM20H单元单元MOV A,20H2)访问)访问片外片外RAM20H单元单元 MOV R0,#20hMOVX A,R01.4.1 内部数据存储器内部数据存储器RAM1.4 MCS-51单片机数据存储器的配置单片机数据存储器的配置返回返回SFR 片外7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院片内片内RAM低低128B 字节功能分配图字节功能分配图位寻址区位寻址区3组组2组组1组组0组组便笺区便笺区08H07H00H7FH30H2FH20H1FH18H17H10H0FH四个工作寄存器组四个工作寄存器组每个区中有每个区中有R0-R7八个工作寄存器八个工作寄存器位寻址区位寻址区16个单元个单元20H-2FH,共有共有128个可寻址位。个可寻址位。位地址:位地址:00H-7FH注意:位地址与字节地址的区别注意:位地址与字节地址的区别通用的通用的RAM区区地址:地址:30H-7FH返回返回1.4.1 内部数据存储器内部数据存储器RAM1.4 MCS-51单片机数据存储器的配置单片机数据存储器的配置返256B7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院片内片内 RAM(20H-2FH)中的位寻址区结构图)中的位寻址区结构图7F7E7D7C7B7A797877767574737271706F6E6D6C6B6A696867666564636261605F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A393837363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A191817161514131211100F0E0D0C0B0A090807060504030201002FH20H共共128个个可按位可按位寻址的位寻址的位返回返回1.4 MCS-51单片机数据存储器的配置单片机数据存储器的配置字字节节地地址址7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院位寻址区内的地址是位寻址区内的地址是位地址位地址。共有。共有00-7FH(128个位);个位);要区分要区分字节地址字节地址和和位地址位地址这两个不同的地址概念:这两个不同的地址概念:从物理的角度,每一个字节地址内包含了从物理的角度,每一个字节地址内包含了8个位,即:个位,即:D7,D6,D5,D4,D3,D2,D1,D0 在一般情况,提到的在一般情况,提到的RAM地址都是字节地址。地址都是字节地址。返128B1.4 MCS-51单片机数据存储器的配置单片机数据存储器的配置可位寻址的空间可位寻址的空间是一般微机所不具备的,这种位寻址能是一般微机所不具备的,这种位寻址能力是力是8051所独有的。所独有的。20H2FH:既可以字节操作,又可以位操作,但是要用:既可以字节操作,又可以位操作,但是要用不同的指令来区分;不同的指令来区分;MOV 20H,A (字节寻址)(字节寻址)MOV 20H,C (位寻址)(位寻址)SETB 00H(位寻址(位寻址直接给出位地址直接给出位地址)SETB 20h.0(位寻址(位寻址给出的是字节地址给出的是字节地址)MOV 24H.0,C7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院1.4 MCS-51单片机数据存储器的配置单片机数据存储器的配置工作寄存器组工作寄存器组(片内(片内RAM地址地址00H1FH)每个工作寄存器组都有每个工作寄存器组都有8个工作寄存器个工作寄存器(R0R7),每个工作,每个工作寄存器对应一个寄存器对应一个固定的地址固定的地址。如:工作寄存器组。如:工作寄存器组1中中R0的地址为的地址为08H。在单片机正常工作时,只有一组工作寄存器处于前台工作。在单片机正常工作时,只有一组工作寄存器处于前台工作。18H1FH10H17H08H0FH00H07H3组工作寄存器组组工作寄存器组2组工作寄存器组组工作寄存器组1组工作寄存器组组工作寄存器组0组工作寄存器组工作寄存器R0,R1,R7R0,R1,R7R0,R1,R7R0,R1,R7返128B位寻址位寻址3组组2组组1组组0组组便笺区便笺区08H07H00H7FH30H2FH20H1FH18H17H10H0FH7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院特殊功能寄存器特殊功能寄存器SFR(Special Function Register)用来设定单片机内部各模块的工作方式,存放相用来设定单片机内部各模块的工作方式,存放相关模块的关模块的状态与标志状态与标志,如定时器、串行口,并行端口,如定时器、串行口,并行端口的锁存器等等。的锁存器等等。尽管特殊功能寄存器与尽管特殊功能寄存器与RAM在同一个单元中,在同一个单元中,但不能作为普通的但不能作为普通的RAM存储单元来使用存储单元来使用。(只有在编程中根据需要,进行一些特定功能的设(只有在编程中根据需要,进行一些特定功能的设定,或者是从中查寻相关部件的状态时,才能进行读、定,或者是从中查寻相关部件的状态时,才能进行读、写操作。如中断方式的设定、定时器工作模式的设定,写操作。如中断方式的设定、定时器工作模式的设定,查询串行口发送或接收是否结束等等)查询串行口发送或接收是否结束等等)1.4 MCS-51单片机数据存储器的配置单片机数据存储器的配置1.4.1 内部数据存储器内部数据存储器RAM7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院标识符名 称地 址ACC累加器累加器0E0HBB寄存器寄存器0F0HPSW程序状态字程序状态字0D0HSP堆栈指针堆栈指针81HDPTR数据指针数据指针(包括包括DPH,DPL)83H,82HP0端口端口080HP1端口端口190HP2端口端口20A0HP3端口端口30B0HIP中断优先级控制寄存器中断优先级控制寄存器0B8HIE中断允许控制寄存器中断允许控制寄存器0A8HTMOD定时定时/计数器方式控制寄存器计数器方式控制寄存器89HTCON定时定时/计数器控制寄存器计数器控制寄存器88H特特殊殊功功能能寄寄存存器器SFRSFR(表表1)1)1.4 MCS-51单片机数据存储器的配置单片机数据存储器的配置7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院SFR高高128B低低128B0FFH80H7FH00H注注:表中表中红色红色的单元为可按的单元为可按位寻址位寻址的字节的字节1.4 MCS-51单片机数据存储器的配置单片机数据存储器的配置特特殊殊功功能能寄寄存存器器SFRSFR(表表2)2)标识符名 称地 址TH0定时定时/计数器计数器0初值寄存器高初值寄存器高8位位8CHTL0定时定时/计数器计数器0初值寄存器低初值寄存器低8位位8AHTH1定时定时/计数器计数器1初值寄存器高初值寄存器高8位位8DHTL1定时定时/计数器计数器1初值寄存器低初值寄存器低8位位8BHSCON串行口控制寄存器串行口控制寄存器98HSBUF串行口数据缓冲器(接收串行口数据缓冲器(接收,发送)发送)99HPCON电源控制寄存器电源控制寄存器97H7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院特殊功能特殊功能寄存器寄存器SFR说明说明 1)程序计数器)程序计数器PC:用来存放下一条要执行的指令地址,用来存放下一条要执行的指令地址,16 位,即寻址范围为位,即寻址范围为0-65535(64K),在物理上独立于,在物理上独立于SFR。2)累加器)累加器A:最常用的专用寄存器最常用的专用寄存器,大多数的指令操作数都大多数的指令操作数都 来自累加器来自累加器A;所有的算术运算指令的运算结果都存放;所有的算术运算指令的运算结果都存放 在在A中。中。3)B寄存器寄存器:乘除法指令使用的寄存器。乘除法指令使用的寄存器。4)数据指针)数据指针DPTR:一个一个16位的寄存器,由高八位位的寄存器,由高八位DPH和低和低 八位八位DPL构成。构成。DPTR主要用来存放主要用来存放RAM、ROM中数中数 据块的首地址,所以称之为数据指针。据块的首地址,所以称之为数据指针。例:将片外例:将片外RAM的的2000H单元的数据单元的数据x取出送到累加器取出送到累加器A中。中。MOV DPTR,#2000h ;DPTR 2000H MOVX A,DPTR ;A x(间址方式)(间址方式)1.4 MCS-51单片机数据存储器的配置单片机数据存储器的配置1.4.1 内部数据存储器内部数据存储器RAM7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院5 5)程序状态字)程序状态字PSW:8 8位寄存器,表征程序执行的状态信息。位寄存器,表征程序执行的状态信息。CY(PSW.7)进位标志:)进位标志:在加法运算中,累加器在加法运算中,累加器A的最高位的最高位D7有进位有进位,则则CY=1,否则,否则CY=0。同理,在减法运算中,如。同理,在减法运算中,如果果A7有借位,则有借位,则CY=1。AC(PSW.6)辅助进位位:)辅助进位位:用来判断加减法运算时,低四位用来判断加减法运算时,低四位是否向高四位进位或借位(即是否向高四位进位或借位(即A3的进位或借位)。的进位或借位)。F0(PSW.5)用户标志位:用户标志位:完全由用户来定义和使用。完全由用户来定义和使用。RS1,RS0工作寄存器组选择位:工作寄存器组选择位:确定工作寄存器确定工作寄存器R0-R7在在4个个组中的位置。可以通过修改组中的位置。可以通过修改RS1、RS0的值来改变工作寄存的值来改变工作寄存器组的选择。器组的选择。CYACF0RS1RS0OV-P1.4 MCS-51单片机数据存储器的配置单片机数据存储器的配置特殊功能寄存器特殊功能寄存器SFR说明说明1.4.1 内部数据存储器内部数据存储器RAM7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院特殊功能寄存器特殊功能寄存器SFR说明说明5 5)程序状态字)程序状态字PSW:OV(PSW.2)溢出标志位溢出标志位:判断判断有符号数有符号数运算时是否有溢出。运算时是否有溢出。OV的结果可以用一个算法来表示的结果可以用一个算法来表示:OV=CP CS 其中其中:CP为为A7的进位的进位,CS为为A6的进位,的进位,OV=1表明有溢表明有溢出。出。P(PSW.0)奇偶标志位)奇偶标志位:用来标志累加器用来标志累加器A中运算后中运算后1的个数。的个数。当当P=1时,表明时,表明A中中1的个数为奇数个,反之为偶数个。的个数为奇数个,反之为偶数个。1.4 MCS-51单片机数据存储器的配置单片机数据存储器的配置1.4.1 内部数据存储器内部数据存储器RAMCYACF0RS1RS0OV-P7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院【举例举例】有两个数有两个数0FH和和F8H,试将两数相加,试将两数相加 MOV A,#0FH ;将立即数;将立即数0FH 送累加器送累加器A ADD A,#0F8H;A的内容与立即数的内容与立即数0F8H相加,结果送相加,结果送A 0000 1111 运算结果:运算结果:A=07H +1111 1000 Cy1 0000 0111如何根据如何根据PSW来分析运算结果是否有溢出?来分析运算结果是否有溢出?1)若数据为无符号数。即)若数据为无符号数。即15+248=263=107H,CY=1,A=07H。数据超过。数据超过255(CY=1)有溢出;)有溢出;2)若为有符号数。则为)若为有符号数。则为+15加加-8=+7=07H,OV=0表明无溢表明无溢出。出。CY=1(即(即CP=1),),OV=0(因为(因为CP=1,CS=1)AC=1,P=11.4 MCS-51单片机数据存储器的配置单片机数据存储器的配置7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院6)SP 堆栈指针堆栈指针:8位寄存器,用来位寄存器,用来指示堆栈的位置,可由软件修改。指示堆栈的位置,可由软件修改。51单片机的设计中,片内单片机的设计中,片内RAM区低区低128单元为堆栈的可用空间。(复单元为堆栈的可用空间。(复位时,位时,SP被初始化为被初始化为07H)堆栈操作过程:堆栈操作过程:进栈进栈:PUSH ACC指令(设指令(设SP=07H)1)SP+1送送SP,此时,此时SP=08H;2)ACC送送RAM的的08H单元;单元;出栈出栈:POP ACC(设(设SP=08H););1)将)将RAM 中中08H单元内容送单元内容送A;2)SP-1送送SP,此时,此时SP=07H。07HSP07HRAMx累加器累加器A08H“临时仓库临时仓库临时仓库临时仓库”1.4 MCS-51单片机数据存储器的配置单片机数据存储器的配置特殊功能寄存器特殊功能寄存器SFR说明说明1.4.1 内部数据存储器内部数据存储器RAM“先加后压先加后压”“先弹后减先弹后减”7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院 通过修改通过修改SP的值来改变堆栈的值来改变堆栈在在RAM中的位置:中的位置:MOV SP,#60H 08H07HRAM改变堆栈位置示意图61H60H7FH60HSP注意:注意:注意:注意:FILOFILO(First In Last Out First In Last Out)例:比较下列两段程序:例:比较下列两段程序:例:比较下列两段程序:例:比较下列两段程序:MOV SPMOV SP,#60H#60H MOV SP,#60HMOV SP,#60H PUSH 30H PUSH 30H PUSH 30HPUSH 30HPUSH 40H PUSH 40H PUSH 40HPUSH 40HPOP 40H POP 40H POP 30HPOP 30H POP 30H POP 30H POP 40HPOP 40H1.4 MCS-51单片机数据存储器的配置单片机数据存储器的配置特殊功能寄存器特殊功能寄存器SFR说明说明6 6)堆栈指针)堆栈指针SP:1.4.1 内部数据存储器内部数据存储器RAM7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院7)并行端口)并行端口P0-P3:SFR中的中的P0-P3实际上就是实际上就是I/O端口的端口的数据锁存器。与数据锁存器。与RAM中的任意一单元一样,中的任意一单元一样,P0-P3都有都有自己的自己的RAM地址:地址:80H、90H、A0H、B0H。所以,在。所以,在51单片机中的输入、输出操作实际上就是个普通的单片机中的输入、输出操作实际上就是个普通的RAM单元操作一样。如:单元操作一样。如:输出指令输出指令 MOV 80H,A;将;将A中的数据送到中的数据送到P0口输出口输出 输入指令输入指令 MOV A,90H;将;将P1口的数据输入到口的数据输入到A中中 即即MCS-51的指令系统中没有专用的输入、输出的指令系统中没有专用的输入、输出(IN、OUT)指令,而是把)指令,而是把P0-P3作为普通的内存单元作为普通的内存单元来使用。上面的第一个例子实际上就是来使用。上面的第一个例子实际上就是MCS-51的输出的输出指令指令;同理后者是;同理后者是MCS-51的输入指令。的输入指令。1.4 MCS-51单片机数据存储器的配置单片机数据存储器的配置特殊功能寄存器特殊功能寄存器SFR说明说明1.4.1 内部数据存储器内部数据存储器RAM7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院8)8)定时定时/计数器计数器T0、T1:无论是定时还是计数,对于无论是定时还是计数,对于MCS-51单片机的定时单片机的定时/计数器来说,都是一个计数器来说,都是一个“计数器计数器”在计数。在计数。这个这个“计数器计数器”是由两个是由两个8位寄存器(高位和低位)构成的位寄存器(高位和低位)构成的16位计数器,分别是位计数器,分别是TH0、TL0(T0);TH1、TL1(T1)。TH和和TL中的数据直接与中的数据直接与“定时操作定时操作”或或“计数操作计数操作”有关,有关,因此在使用定时因此在使用定时/计数器之前,要对它进行初始化,其中就计数器之前,要对它进行初始化,其中就要对要对TH、TL赋初值。赋初值。如:如:MOV 8CH,#01H 或或MOV TH0,#01H ;为为TH0赋值赋值 MOV 8AH,#20H;为为TL0赋值赋值 TH0TL01.4 MCS-51单片机数据存储器的配置单片机数据存储器的配置特殊功能寄存器特殊功能寄存器SFR说明说明1.4.1 内部数据存储器内部数据存储器RAM7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院9)串行数据缓冲器)串行数据缓冲器SBUF:专门用来存放发送或接收的数据,专门用来存放发送或接收的数据,实际上它是两个独立的寄存器。尽管在实际上它是两个独立的寄存器。尽管在SFR中的中的RAM地址只地址只是是99H,但根据指令,但根据指令“发送发送”或或“接收接收”两种不同的操作,硬件两种不同的操作,硬件会自动的区分,将数据送如对应的缓冲单元。会自动的区分,将数据送如对应的缓冲单元。MOV SBUF,A;ASBUF(引(引发发串口通信)串口通信)MOV A,SBUF;SBUF A(读读取串口中的数据)取串口中的数据)有关有关SFR中其它寄存器的说明将相关的章节中作介绍。中其它寄存器的说明将相关的章节中作介绍。1.4 MCS-51单片机数据存储器的配置单片机数据存储器的配置发送发送SBUF接收接收SBUF内内部部数数据据总总线线TXDRXD累加器累加器A返256B7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院 当需要外接当需要外接RAM时:时:(1)P0、P2作为外部作为外部RAM的地址和数据总线;的地址和数据总线;(2)使用)使用MOVX指令进行读写操作。如:指令进行读写操作。如:MOV R0,#20H;将外部将外部RAM单元地址单元地址20H送送R0寄存器寄存器 MOVX A,R0;从外部从外部RAM20H单元取数据送单元取数据送A中中 使用使用8位寄存器位寄存器R0做间址寄存器,所以寻址范围为做间址寄存器,所以寻址范围为256B。此时此时P0口做低口做低8位地址总线,位地址总线,而而P2口无用口无用。或或:MOV DPTR,#2000H ;将外部将外部 RAM 地址地址2000H送送DPTR MOVX A,DPTR ;从外部从外部RAM 2000H单元取数据到单元取数据到 A 使用使用16位的寄存器位的寄存器DPTR,所以寻址范围为,所以寻址范围为64KB。此时。此时P0口做低口做低8位地址位地址/数据复用总线,数据复用总线,P2口做高口做高8位地址总线位地址总线。1.4 MCS-51单片机数据存储器的配置单片机数据存储器的配置1.4.2 外部数据存储器外部数据存储器RAMMOVX 就是一个以就是一个以“总线方式总线方式”进行操作的外部传送命令进行操作的外部传送命令7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院MCS-51与与8K RAM的连接的连接P2.5 P2.4:P2.0P0.7:P0.0ALE/RD/WRCEA12 :A8A7 O7 :A0 O0/OE/WED7D7 Q7Q7 74LS373D0D0 Q0Q0CPCP 6264 8K RAM MCS-51/CE=P2.5(A13)三态输出三态输出的数据口的数据口由由/OE控制控制1.4 MCS-51单片机数据存储器的配置单片机数据存储器的配置7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院 MCS-51内部有一个用于构成内部有一个用于构成振荡器的高增益反相放大器。在振荡器的高增益反相放大器。在单片机引脚的单片机引脚的XTAL1和和XTAL2分分别是此放大器的输入和输出端,别是此放大器的输入和输出端,与作为反馈元件的晶体或陶瓷谐与作为反馈元件的晶体或陶瓷谐振器一起构成了一个自激振荡器。振器一起构成了一个自激振荡器。内部时钟发生器的输出信号内部时钟发生器的输出信号是单片机所需的时钟信号。是单片机所需的时钟信号。如果使用外部振荡器信号,如果使用外部振荡器信号,其外来的信号加在其外来的信号加在XTAL1的引脚的引脚上(见右图)。上(见右图)。XTAL230pF805130pFXTAL21XTAL1至内部至内部时钟电路时钟电路XTAL2XTAL1NC外时钟外时钟使用外时钟时的电路连接使用外时钟时的电路连接11.5 振荡器与时钟电路振荡器与时钟电路7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院时序时序:CPU执行指令时所需执行指令时所需控制信号的时间顺序控制信号的时间顺序。1.6.1 时序及时序单位时序及时序单位1.6 CPU的时序的时序 时序是用定时单位来描述的,时序是用定时单位来描述的,MCS-51的时序单的时序单位有位有4个,分别是时钟周期(节拍)、状态、机器周期个,分别是时钟周期(节拍)、状态、机器周期和指令周期和指令周期。时钟周期时钟周期 状态;状态;机器周期;机器周期;指令周期。指令周期。7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院 时钟周期时钟周期T:又称为振荡周期、节拍(用又称为振荡周期、节拍(用P表示),表示),由外由外接晶体或外输入时钟来决定。其值为振荡器频率的倒数。接晶体或外输入时钟来决定。其值为振荡器频率的倒数。它是时序中最小的时间单位。它是时序中最小的时间单位。例如例如:在单片机外接在单片机外接1MHz的晶体,则单片机的系统时的晶体,则单片机的系统时钟的频率为钟的频率为1MHz,时钟周期,时钟周期为为1s。T 状态(用状态(用S表示):表示):单片机振荡脉冲经过二分频后即单片机振荡脉冲经过二分频后即 得到整个单片机工作系统的状态。一个状态有两个节得到整个单片机工作系统的状态。一个状态有两个节 拍,前半周期对应的节拍定义为拍,前半周期对应的节拍定义为P1,后半周期对应的节,后半周期对应的节 拍定义为拍定义为P2。P1P2S11.6.1 时序及时序单位时序及时序单位1.6 CPU的时序的时序7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院 机器周期:机器周期:完成一个基本操作所需要的时间。完成一个基本操作所需要的时间。MCS-51中规定一个机器周期包含中规定一个机器周期包含12个时钟周期,即有个时钟周期,即有6个状态,个状态,分别表示为分别表示为S1S6;也可表示为;也可表示为12个节拍:个节拍:S1P1,S1P2,S2P1,S2P2,S3P1,S3P2 S6P1,S6P2 时钟周期时钟周期TT 状态(用状态(用S表示)表示)S1S2S6S5S4S3机器周期机器周期 指令周期:指令周期:即执行一条指令所需要的时间,它是时序图即执行一条指令所需要的时间,它是时序图中最大的时间单位。中最大的时间单位。1.6 CPU的时序的时序1.6.1 时序及时序单位时序及时序单位7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院 在在MCS-51系统中,不同的指令所包含的机器周期数不系统中,不同的指令所包含的机器周期数不同。它们分别是:同。它们分别是:单机器周期指令单机器周期指令双机器周期指令双机器周期指令 四机器周期指令四机器周期指令 (MCS-51单片机的指令系统除了乘、除法指令为四个单片机的指令系统除了乘、除法指令为四个机器周期外,其余都是单周期和双周期指令)机器周期外,其余都是单周期和双周期指令)指令周期:指令周期:即执行一条指令所需要的时间,它是时序图即执行一条指令所需要的时间,它是时序图中最大的时间单位。中最大的时间单位。1.6 CPU的时序的时序 机器周期机器周期 时钟周期时钟周期T 状态(用状态(用S表示)表示)1.6.1 时序及时序单位时序及时序单位7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院假设:我们使用一个假设:我们使用一个6M的晶体振荡器,那么的晶体振荡器,那么 一个机器周期为:一个机器周期为:1/6 s121=2s;两个机器周期为:两个机器周期为:1/6 s122=4s;四个机器周期为:四个机器周期为:1/6 s124=8s。指令的运算速度指令的运算速度与它所包含的与它所包含的机器周期数机器周期数有关:有关:机器周期数越少,执行的速度就越快。机器周期数越少,执行的速度就越快。1.6 CPU的时序的时序 指令周期指令周期 机器周期机器周期 时钟周期时钟周期T 状态(用状态(用S表示)表示)1.6.1 时序及时序单位时序及时序单位7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院指令的字节数指令的字节数:MCS-51单片机的指令系统有:单片机的指令系统有:单字节单字节 (占用(占用1个个ROM字节)字节);双字节双字节 (占用(占用2个个ROM字节)字节);三字节指令(占用三字节指令(占用3个个ROM字节)字节)。O PROMO P 2-1O P 2-2ROMO P 3-1O P 3-2O P 3-3ROM单字节指令单字节指令双字节指令双字节指令三字节指令三字节指令1.6 CPU的时序的时序7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院在在MCS-51的的111条指令中,可分为六种基本的时序条指令中,可分为六种基本的时序:(1)单字节单周期指令;单字节单周期指令;(2)单字节双周期指令;单字节双周期指令;(3)单字节四周期指令;单字节四周期指令;(4)双字节单周期指令;双字节单周期指令;(5)双字节双周期指令;双字节双周期指令;(6)三字节双周期指令。三字节双周期指令。1.6 CPU的时序的时序7/10/2024目录目录单片机课程单片机课程大连理工大学电气工程学院大连理工大学电气工程学院指令特点指令特点:在程序存储器在程序存储器ROM中仅占一个存储单元,中仅占一个存储单元,CPU 从取指到完成指令的执行只需一个机器周期。从取指到完成指令的执行只需一个机器周期。1)在)在ALE第一次有效时,从第一次有效时,从ROM中读取指令的操作,中读取指令的操作,送入指令寄存器送入指令寄存器IR中并译码执行。中并译码执行。2)在)在ALE第二次有效时,封锁第二次有效时,封锁PC加加1,使第二次读数无,使第二次读数无效。效。1.6.2.1 单字节单周期指令的时序单字节单周期指令的时序 1.6.2 几种典型几种典型时序介绍时序介绍1.6 CPU的时序的时序S1S2S6S5S4S3机器周期机器周期ALE读操作码读操作
展开阅读全文