《【教学课件】第二章MCS-51的结构.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第二章MCS-51的结构.ppt(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二章第二章 MCS-51 MCS-51的结构的结构主要目的:了解主要目的:了解MCS-51MCS-51单片机基本硬件片机基本硬件组成、成、功能部件、外部功能部件、外部应用特用特性,性,为应用准用准备好硬件好硬件基基础。1本章主要内容一一、MCS-51MCS-51系列单片机概况系列单片机概况二二、MCS-51MCS-51单片机基本组成与结构单片机基本组成与结构三三、MCS-51MCS-51单片机的单片机的CPUCPU四四、MCS-51MCS-51单片机的存贮器单片机的存贮器五五、MCS-51MCS-51单片机的并行单片机的并行I/OI/O接口接口六六、MCS-51MCS-51单片机的工单片机的
2、工作方式和时序作方式和时序2一一、MCS-51MCS-51系列单片机概况系列单片机概况MCS-51MCS-51系列单片机:系列单片机:是当今具有事实上的是当今具有事实上的“标准标准”意义上的单片机;意义上的单片机;是最有代表性的一类;是最有代表性的一类;应用最广泛;应用最广泛;学习和辅导资料最全面学习和辅导资料最全面;MCS-51MCS-51系列单片机产品分为:系列单片机产品分为:5151子系列和子系列和5252子系列子系列 3MCS-51MCS-51系列单片机分类及配置情况表系列单片机分类及配置情况表 系系列列无无ROM片内片内ROM片内片内EPROM片内片内RAM定时定时/计计数器数器并行
3、口并行口串串行行口口中中断断源源工艺工艺51子子系系列列803180514KB87514KB128216位位48位位15HMOS80C3180C514KB87C514KB128216位位48位位15CHMOS52子子系系列列803280528KB87528KB256316位位48位位16HMOS80C3280C528KB87C528KB256316位位48位位16CHMOS4二二、MCS-51MCS-51单片机基本组成与结构单片机基本组成与结构CPU4KBROM数据存储器数据存储器128BRAM/SFR定时定时/计数器计数器T0、T148I/O口口串行口串行口中断系统中断系统P0 P1 P2
4、P3 RXD TXD INT0 INT1 P0 P1 P2 P3 RXD TXD INT0 INT1 T0 T1T0 T1时钟电路时钟电路 MCS-51 MCS-51系列单片机中系列单片机中80518051是最典型的产是最典型的产品,以此为例介绍其基本组成结构品,以此为例介绍其基本组成结构5通道0驱动器通道2驱动器RAM地址锁存器RAM通道0锁存器通 道 2锁存器ROM/EPROMB寄存器程序地址寄存器缓冲器PC递增器程序计数器PC驱动器DPTR指针VCCGNDP1.0P1.7堆栈指针SPACCTMP2PSW通道3锁存器通道1锁存器通道1驱动器通道3驱动器TMP1SCON TMODPCONTC
5、ONTL0TH1TH0TL1IESBUF(TX/RX)IP中断、串行口和定时器逻辑振荡器P3.0P3.7RSTEAALEPSENXTAL2XTAL1ALU(+5V)指令寄存器定时和控制逻辑指令译码器图2-2 MCS-51片内总体结构框图68051内部硬件资源基本组成功能部件基本组成功能部件包括:包括:CPUCPU:计算:计算/处理处理8 8位二进制数位二进制数内部内部ROMROM:4KB4KB程序存储器程序存储器 内部内部RAMRAM:128128字节用户字节用户RAMRAM和和2121个特殊功能寄存器个特殊功能寄存器SFRSFR并行并行I IO O口:口:4 4个个8 8位并行位并行I IO
6、 O口口(P0,P1,P2,P3)(P0,P1,P2,P3)串行口:一个可编程全双工串行口串行口:一个可编程全双工串行口定时器定时器/计数器:两个计数器:两个1616位位T0T0、T1T1中断系统:具有中断系统:具有5 5个中断源,两个优先级,嵌套中断结构个中断源,两个优先级,嵌套中断结构 时钟电路:时钟电路:6MHz6MHz或或12MHz12MHz为单片机提供时间基准单位为单片机提供时间基准单位78051外部引脚及功能8051引脚可分引脚可分为四四类:1、电源引脚源引脚 Vcc+5V Vss地地 2、时钟(XTAL1、XTAL2)3、I/O线(P0 P1 P2 P3共共32线)4、控制控制总
7、线 (1)输入:入:RST/VPD、EA/VPP (2)输出:出:PSEN (3)输入入/输出:出:ALE/PROG8三三 MCS-51 MCS-51单片机的单片机的CPUCPUMCS-51MCS-51单片机内有一个单片机内有一个8 8位位CPU,它是,它是单片机的核心,片机的核心,主要功能是运算和控制整个系主要功能是运算和控制整个系统协调工作;由工作;由运算运算器器和和控制器控制器两部分两部分组成。成。运算器主要实现对数据的算术运算器主要实现对数据的算术/逻辑运算和位操作逻辑运算和位操作 其本身是复杂的数字时序逻辑电路,主要包括以下部分:其本身是复杂的数字时序逻辑电路,主要包括以下部分:(1
8、)算算术逻辑单元元ALU对8位二位二进制数据制数据进行行算术算术/逻辑运算逻辑运算(2)累加器累加器ACC/A8位寄存器,是位寄存器,是CPU中使用最中使用最频繁的寄存器繁的寄存器(3 3)寄存器寄存器B B(8 8位)位)在乘、除运算中,与累加器在乘、除运算中,与累加器A A配合使用,存放第二操作数配合使用,存放第二操作数9(4)程序状程序状态字字PSW(8位位专用寄存器)用寄存器)寄存寄存/存存贮当前机器指令当前机器指令/程序程序执行后操作行后操作结果的特征状果的特征状态D7 D6 D5 D4 D3 D2 D1 D0奇偶奇偶标志位志位 无定无定义溢出溢出标志位志位 工作寄存器工作寄存器选择
9、位位 用用户标志位志位 辅助助进位位标志志 进位位标志志 CY AC F0 RS1 RS0 OV P10 控控制制器器:接接受受来来自自程程序序存存储器器的的指指令令,并并对其其进行行译码,通通过定定时和和控控制制电路路,按按时序序规定定发出出指指令令功功能能所所需需要要的的各各种种控控制制信信息息,使使各各部部分分协调工工作作,完完成相成相应操作操作.主要包括以下部分:主要包括以下部分:(1)程序)程序计数器数器PC:16位位专用寄存器用寄存器计数寄存器,存放下一条将要从程序存数寄存器,存放下一条将要从程序存贮器中取出的指器中取出的指令的地址令的地址控制程序控制程序执行的行的顺序序(2)数据
10、指)数据指针寄存器寄存器DPTR:16位位专用寄存器用寄存器主要用来存放片外数据存主要用来存放片外数据存贮器或器或I/O口地址口地址(3)堆)堆栈指指针SP:8位位专用寄存器用寄存器用来存放当前堆用来存放当前堆栈操作的位置即地址操作的位置即地址(4)指令寄存器和指令)指令寄存器和指令译码器器指令寄存器:指令寄存器:存放指令代存放指令代码指令指令译码器:器:对指令指令译码识别11四四、MCS-51MCS-51单片机的存贮器单片机的存贮器存存贮器器记忆功能部件,用来存放程序和数据功能部件,用来存放程序和数据存储单元存储单元存放数据和程序的基本存放数据和程序的基本单元元,在在其中存放一个基本二其中存
11、放一个基本二进制数据制数据存贮器存贮器:若干个存若干个存储单元的集合元的集合 三个基本参数:三个基本参数:存存储单元个数:存放数据的基本元个数:存放数据的基本单元个数元个数存存储单元元长度:存放数据的二度:存放数据的二进制位数制位数存存储单元地址:身份元地址:身份识别唯一的唯一的编号号12假假设存存储器器由由256个个存存储单元元组成成,存存储单元元长度度为8位位,其其地址地址编号号00H-FFH 其其组成成结构示意构示意图如下:如下:24H00H20H02H10HFFHFEH02H01H00H地址地址单元中存放的数据单元中存放的数据(00H)=10H:表示:表示00H单元中存放数据为单元中存
12、放数据为10H(02H)=20H:表示:表示02H单元中存放数据为单元中存放数据为20H(FFH)=24H:表示:表示FFH单元中存放数据为单元中存放数据为24H13 MCS-51 MCS-51单片机的存贮器组织采用单片机的存贮器组织采用哈佛结构哈佛结构,将程序存贮器和数据存贮器完全分开:将程序存贮器和数据存贮器完全分开:程序存贮器程序存贮器ROMROM存放指令代码、表格和常数存放指令代码、表格和常数 数据存贮器数据存贮器RAMRAM存放原始数据、中间及最后结果存放原始数据、中间及最后结果在物理在物理结构上,构上,MCS-51MCS-51单片机有片机有44个个存存贮空空间:片内片内程序存程序存
13、贮器器片外片外程序存程序存贮器器内部数据存内部数据存贮器器外部数据存外部数据存贮器器在在逻辑上,上,MCS-51MCS-51单片机有片机有33个存个存贮空空间:片内片外片内片外统一的一的64KB64KB程序存程序存贮器器片内部数据存片内部数据存贮器器片外片外64KB64KB的数据存的数据存贮器及器及I/OI/O地址空地址空间148051单片机存贮器组织结构 0FFFH0FFEH0001H0000HFFFFHFFFEH1001H1000H程序存贮器组织结构程序存贮器组织结构片内片内程序存程序存贮器贮器4KB(EA=1)片外片外程序存贮程序存贮器器60KB0FFFH0FFEH0001H0000H片
14、外片外程序存程序存贮器贮器4KB(EA=0)157FH7EH01H00HFFH80H8051数据存贮器组织结构数据存贮器组织结构片内片内RAM128SFR 21SFR 21个个FFFFHFFFEH0001H0000H片外片外数据存贮器数据存贮器64KB片内片内数据存贮器数据存贮器168051程序存贮器程序存贮器程序存贮器用来存放经过调试正确的应用程序、常数程序存贮器用来存放经过调试正确的应用程序、常数单片机工作的应用程序必预先存放在单片机工作的应用程序必预先存放在程序存贮器程序存贮器1 1、80518051程序存程序存贮器器ROMROM地址范地址范围(0000H-FFFFH0000H-FFFF
15、H)内部内部4KB(0000H-0FFFH)(80514KB(0000H-0FFFH)(8051内部已有内部已有)外部外部60KB(1000H-FFFFH)(60KB(1000H-FFFFH)(必必须外接存外接存贮器器)由由16位程序位程序计数器数器PC对其地址其地址进行行计数数2 2、80518051程序存程序存贮器空器空间访问控制控制 即即CPUCPU按如何按如何顺序序读取程序存取程序存贮器中的程序器中的程序/指令指令17(2 2)程序计数器)程序计数器PCPC控制:控制:CPUCPU执行指令执行指令/程序的顺序程序的顺序 PCPC用于存放用于存放CPUCPU下一条要执行指令的地址的下一条
16、要执行指令的地址的1616位专用寄存器;位专用寄存器;PCPC具具有有自自动动计计数数的的功功能能,CPUCPU每每取取回回一一字字节节指指令令代代码码,PCPC自自动动加加1 1;CPU CPU执行指令的顺序是由执行指令的顺序是由PCPC值来控制的,改变值来控制的,改变PCPC值即改变执行值即改变执行顺序顺序(1 1)EAEA控制:控制:CPUCPU先从片内还是先从片外程序存贮器?先从片内还是先从片外程序存贮器?若若EA=1EA=1则系统复位则系统复位CPUCPU从片内程序存贮器从片内程序存贮器0000H0000H开始读取程序;开始读取程序;当读取完片内程序存贮器中程序后自动转向片外程序存贮
17、器空当读取完片内程序存贮器中程序后自动转向片外程序存贮器空间读取指令;间读取指令;若若EA=0EA=0则系统复位则系统复位CPUCPU从片外程序存贮器从片外程序存贮器0000H0000H开始读取程序;开始读取程序;片内程序存贮器不用。片内程序存贮器不用。1880518051程序存程序存贮器空器空间访问0FFFH0FFEH0001H0000HFFFFHFFFEH1001H1000HCPU(PC)=0000H(PC)=0001H(PC)=0FFFH(PC)=1000H(PC)=1001H(PC)=FFFFHEA=119程序存贮器特殊存贮单元程序存贮器特殊存贮单元 内部内部4KB4KB其中有其中有7
18、 7个单元具有特殊用途个单元具有特殊用途,保留给系统使用保留给系统使用FFFFHFFFFH002BH002BH0023H0023H001BH001BH0013H0013H000BH000BH0003H0003H0000H0000H0000H0000H系统启动地址单元即第一条指令位置系统启动地址单元即第一条指令位置0003H INT00003H INT0中断服务入口地址中断服务入口地址 000BH T0000BH T0中断服务入口地址中断服务入口地址 0013H INT10013H INT1中断服务入口地址中断服务入口地址001BH T1001BH T1中断服务入口地址中断服务入口地址0023H
19、 0023H 串行中断服务入口地址串行中断服务入口地址002BH 002BH 定时器定时器/计数器计数器2 2溢出或溢出或T2EXT2EX(P1.1)P1.1)入口地址入口地址(仅仅8032/80528032/8052特有特有)208051内部数据存内部数据存贮器器数据存贮器由数据存贮器由RAMRAM构成构成存放原始数据、中间及最后结果存放原始数据、中间及最后结果80518051片内部数据存贮器片内部数据存贮器RAMRAM配置示意图如下:配置示意图如下:内部数据存贮器分为两大部分:内部数据存贮器分为两大部分:低低128128字节(字节(00H-7FH00H-7FH)-真正内部真正内部RAMRA
20、M区区 高高128128字节(字节(80H-FFH80H-FFH)-SFR-SFRSFRFFH80H7FH30H2FH20H1FH00H工作寄存器区工作寄存器区 00H-1FH用于用于R0-R7使用使用 位位寻址区址区 20H-2FH用于位用于位处理或数据理或数据缓冲冲用用户RAM区区 30H-7FH用于数据用于数据缓冲或开冲或开辟堆辟堆栈区区SFR区区80H-FFH80H-FFH用用来来管管理理、控控制制单片片机内部功能机内部功能电路工作的特殊存路工作的特殊存贮单元元21工作寄存器区工作寄存器区00H-1FH内部内部RAMRAM中中00H-1FH00H-1FH共共3232个单元分为个单元分为
21、4 4个工作寄存器组,个工作寄存器组,每一组分别有每一组分别有8 8个独立的寄存器个独立的寄存器寄存寄存器器RAM地址地址0组组1组组2组组3组组R000H08H10H18HR101H09H11H19HR202H0AH12H1AHR303H0BH13H1BHR404H0CH14H1CHR505H0DH15H1DHR606H0EH16H1EHR707H0FH17H1FH!!注意!注意:工作寄:工作寄存器只能按字节寻存器只能按字节寻址址/操作即每次读操作即每次读写数据为一个字节写数据为一个字节或或8 8位二进制数位二进制数22当前寄存器工作组:当前寄存器工作组:在任一时刻只有其中一个组工作,这个组
22、称为在任一时刻只有其中一个组工作,这个组称为当前工作组当前工作组.当前寄存器工作组选择当前寄存器工作组选择:CPUCPU当前使用的寄存器工作组是由当前使用的寄存器工作组是由程序状态字程序状态字PSWPSW中的中的RS0RS0和和RS1RS1数据位来指定的,可通过修改数据位来指定的,可通过修改RS0RS0和和RS1RS1状态选择其状态选择其中的一个工作组作为当前寄存器工作组。中的一个工作组作为当前寄存器工作组。RS1RS0当前工作组(当前工作组(R0-R7)000组(组(00H-07H)011组(组(08H-0FH)102组(组(10H-17H)113组(组(18H-1FH)23位位寻址区址区
23、20H-2FH位位寻址区址区:即内部即内部RAM中中20H-2FH共共16个字个字节单元共元共168=128位位每一位都可用于存放各种程序标志和位控制变量每一位都可用于存放各种程序标志和位控制变量位地址位地址:00H-7FH其中的每一位都有一个所谓地址,以便于对其读写其中的每一位都有一个所谓地址,以便于对其读写存贮存贮单元单元位地址位地址D7D6D5D4D3D2D1D02FH7FH7EH7DH7CH7BH7AH79H78H20H07H06H05H04H03H02H01H00H!注:注:位寻址区位寻址区16个字节单元可个字节单元可位操作或字位操作或字节操作操作 24用户用户RAMRAM区区 30
24、H-7FH30H-7FH用户用户RAMRAM区区 30H-7FH30H-7FH共共8080个单元是内部数据缓冲区,个单元是内部数据缓冲区,用于存放用户数据用于存放用户数据,只能按字节寻址只能按字节寻址.另有一部分用于开辟另有一部分用于开辟堆栈区堆栈区堆栈:堆栈:特殊的内部特殊的内部RAMRAM区,先进后出,且只允许在一端区,先进后出,且只允许在一端写入和取出数据即堆栈操作:压入和弹出写入和取出数据即堆栈操作:压入和弹出堆栈指针堆栈指针SPSP:指明堆栈当前操作单元,对堆栈实现管理指明堆栈当前操作单元,对堆栈实现管理堆栈的建立:堆栈的建立:初始设置初始设置SPSP值即栈底位置值即栈底位置堆栈功用
25、:堆栈功用:为子程序调用和中断而设:保护断点和保护现场为子程序调用和中断而设:保护断点和保护现场25特殊功能寄存器特殊功能寄存器SFRSFR区区80518051共共128128个个SFRSFR地址地址80H-FFH 80H-FFH 只用其中只用其中2121个字节个字节存贮单元的其它单元不用,也即不存在存贮单元的其它单元不用,也即不存在 SFR位地址与名称位地址与名称名称名称地址地址D7D6D5D4D3D2D1D0AE0HE7HE6HE5HE4HE3HE2HE1HE0HPSWD0HD7HD6HD5HD4HD3HD2HD1HD0HCYACF0RS1RS0OVP其它其它SFRSFR详情参见书上:详情
26、参见书上:(1 1)SP SP、DPTR DPTR、B B、ACCACC已介绍;已介绍;(2 2)其它)其它SFRSFR在后述相应内容中介绍;在后述相应内容中介绍;(3 3)表中有位地址的表示可进行位寻址操作。)表中有位地址的表示可进行位寻址操作。26五五 MCS-51 MCS-51单片机的并行单片机的并行I/OI/O接口接口I/OI/O接口接口 I/O I/O外设与主机(外设与主机(CPUCPU)之间的桥梁)之间的桥梁 I/OI/O外外设设可可实实现现人人机机对对话话和和交交流流,但但I/OI/O外外设设不不能能直直接接与与CPUCPU相相接,而必须通过接,而必须通过I/OI/O接口的中间转
27、换接口的中间转换CPUI/O外设I/O接口CPU键 盘键盘接口I/OI/O接口按每次传送数的位数可分为:接口按每次传送数的位数可分为:并行并行I/OI/O接口:一次传送多位如接口:一次传送多位如8 8位二进制数位二进制数 串行串行I/OI/O:一次只传送一位二进制数:一次只传送一位二进制数278051并行并行I/OI/O接口接口8051并行并行I/OI/O接口:接口:(1 1)4 4个准双向、三态个准双向、三态8 8位位I/O P0I/O P0、P1 P1、P2P2、P3P3(2 2)字节操作和位操作均可)字节操作和位操作均可(3 3)基本)基本I/OI/O方式:输入、输出和读方式:输入、输出
28、和读修改修改写写(4 4)输入时,数据可缓冲;输出时,数据可锁存)输入时,数据可缓冲;输出时,数据可锁存1.P01.P0口应用口应用(漏极开路漏极开路)(1 1)通用)通用I/OI/O并行接口功能并行接口功能准双向三态准双向三态I/OI/O口口(2 2)数据)数据/低低8 8位地址总线分时复用功能位地址总线分时复用功能 系统外部扩展时用系统外部扩展时用282 P12 P1口应用口应用:用户:用户专用专用准双向三态准双向三态8 8位位I/OI/O口口 可直接连接可直接连接I/OI/O外设外设3 3P2P2口应用口应用4 41 1)准双向三态)准双向三态8 8位位I/OI/O口:可直接连接口:可直
29、接连接I/OI/O外设外设2 2)高)高8 8位地址总线:系统外部扩展时用位地址总线:系统外部扩展时用4 P34 P3口应用口应用1 1)准双向)准双向8 8位位I/OI/O口口2 2)第二功能)第二功能I/O引脚第二功能P3.0RXDRXD串口输入串口输入P3.1TXDTXD串口输出串口输出P3.2INT0INT0外中断外中断0 0输入输入P3.3INT1INT1外中断外中断1 1输入输入P3.4T0T0计数计数0 0外部输入外部输入P3.5T1T1计数计数1 1外部输入外部输入P3.6WRWR外写控制输出外写控制输出P3.7RDRD外读控制输出外读控制输出294)I/O口驱动特性口驱动特性
30、/能力(输出电流大小)能力(输出电流大小)P0口:口:8个个LSTTL负载负载 P1、P2、P3:各:各4个个LSTTL负载负载 负载不能超过限定个数,否则端口工作不稳定负载不能超过限定个数,否则端口工作不稳定5)系统外部扩展时)系统外部扩展时P0数据数据/低低8 8位地址总线分时复用位地址总线分时复用 P2 P2高高8 8位地址总线位地址总线 P1 P1专用专用I/OI/O口口 P3 P3优先作第二功能优先作第二功能3)端口复用的识别:由系统自动选)端口复用的识别:由系统自动选择择30多路开关多路开关1)功能:用于控制选通功能:用于控制选通I/O方式方式还是还是地址地址/数据输出方式数据输出
31、方式2)方式控制:由内部控制信号方式控制:由内部控制信号产生产生输入锁存器输入锁存器两个输入缓冲器两个输入缓冲器(BUF1和和BUF2)推拉式推拉式I/O驱动器驱动器并行并行I/O结构及操作结构及操作8051共有共有4个个8位双向位双向I/O口,共口,共32口线。每位均有自己的锁存器口线。每位均有自己的锁存器(SFR),输出驱动器和输入缓冲器。,输出驱动器和输入缓冲器。(一)(一)P0口内部结构口内部结构BUF2BUF15、P0R2为为读引脚读引脚信号,执行信号,执行“MOV A,P0”时该信号有效时该信号有效6、读引脚(端口)时,输出锁存、读引脚(端口)时,输出锁存器应为器应为“1”说明:说
32、明:1、当控制信号为、当控制信号为0时,时,P0口做双口做双向向I/O口,为漏极开路(三态)口,为漏极开路(三态)2、控制信号为、控制信号为1时,时,P0口为地址口为地址/数据复用总线(用于口扩展)数据复用总线(用于口扩展)3、P0W为端口输出写信号,用于为端口输出写信号,用于锁存输出状态锁存输出状态4、P0R1为为读锁存器读锁存器信号,执行信号,执行“ANL P0,#0FH”时该信号有效时该信号有效QQDCVcc控制控制AD0P0R1 P0R2D0P0WP0口内部结构口内部结构读锁存器读锁存器读引脚读引脚锁存器锁存器内部总线内部总线写锁存器写锁存器地址地址/数据数据P0.0多路开关多路开关1
33、031(二)(二)P1口内部结构口内部结构vP1口内部结构如图所示口内部结构如图所示v输出部分有内部上拉电阻输出部分有内部上拉电阻R*约为约为20K。v其他部分与其他部分与P0端口使用相类似。端口使用相类似。写数据写数据读端口读端口32(二)(二)P2口内部结构口内部结构2、当控制信号为、当控制信号为1时时FP2口输出地址信息,口输出地址信息,F此时单片机完成外部的此时单片机完成外部的取指操作或对外部数取指操作或对外部数据存储器据存储器16位地址的位地址的读写操作。读写操作。3、当、当P2口作为普通口作为普通I/O口口使用时使用时F用法和用法和P1口类似。口类似。说明:说明:1、P2可以作为通
34、用的可以作为通用的I/O,也可以,也可以作为高作为高8位地址输出。位地址输出。33(三)(三)P3口内部结构口内部结构说明:说明:1、做普通端口使用时,做普通端口使用时,第二功能应为第二功能应为“1”。2、使用第二功能时,输出端、使用第二功能时,输出端口锁存器应为口锁存器应为“1”。3、第二功能、第二功能 P3.0 TXD P3.4 T0 P3.1 RXD P3.5 T1 P3.2 INT0 P3.6 WR P3.3 INT1 P3.7 RD1输出I/O口1读I/O口1 134并行并行I/O口口应用特性用特性在使用在使用MCS-51MCS-51单片机并行单片机并行I/OI/O时要注意以下应用特
35、性:时要注意以下应用特性:1)准双向口的使用)准双向口的使用输出时,直接向输出时,直接向I/O口进行写入操作;口进行写入操作;输入时,应先置其为输入时,应先置其为1即输入状态,然后再进行读操作即输入状态,然后再进行读操作(复位后即初始时(复位后即初始时P0-P3为为FFH即为输入状态)即为输入状态)2)P0口作口作I/O用用P0作输出时必须外加作输出时必须外加4-10k的上拉电阻的上拉电阻P0.0.P0.74.7k+VCC35六六 MCS-51 MCS-51的工作方式和时序的工作方式和时序(一)(一)MCS-51的工作方式的工作方式 MCS-51的工作方式包括:复位方式、程序执行的工作方式包括
36、:复位方式、程序执行方式、节电方式和方式、节电方式和EPROM的编程和校验方式。的编程和校验方式。(1)复位电路)复位电路单片机复位电路包括片内、片外两部分。外部复位单片机复位电路包括片内、片外两部分。外部复位电路就是为内部复位电路提供电路就是为内部复位电路提供两个机器周期以上的高两个机器周期以上的高电平电平而设计的。而设计的。MCS-51单片机通常采用上电自动复单片机通常采用上电自动复位和按键手动复位两种方式。如图位和按键手动复位两种方式。如图2-7所示。所示。1.复位方式复位方式3622FC1RSTR11K+5V22FC1RST+5VR2200RSTR1+5VC222F8031805187
37、51803180518751803180518751(a)上电复位电路上电复位电路(c)按键脉冲复位电路按键脉冲复位电路(b)按键电平复位电路按键电平复位电路R11K2222F FC C1 11K1K R R2 21K1K图图2-7几种复位电路几种复位电路37(2)单片机复位后的状态)单片机复位后的状态单片机运行出错或进入死循环时,可按复位键重单片机运行出错或进入死循环时,可按复位键重新运行。新运行。21个特殊功能寄存器复位后的状态为确定值,个特殊功能寄存器复位后的状态为确定值,如表如表2-5所示。所示。特殊功能寄存特殊功能寄存器器初始状态初始状态特殊功能寄存器特殊功能寄存器初始状态初始状态A
38、 A00H00HTMODTMOD00H00HB B00H00HTCONTCON00H00HPSWPSW00H00HTH0TH000H00HSPSP07H07HTL0TL000H00HDPLDPL00H00HTH1TH100H00HDPHDPH00H00HTL1TL100H00HP0P0P3P3FFHFFHSBUFSBUFBBIPIP00000B00000BSCONSCON00H00HIEIE000000B000000BPCONPCON0B0B表2-5 单片机复位后特殊功能寄存器的状态382.2.程序执行工作方式程序执行工作方式程序执行方式是单片机的基本工作方式,可分程序执行方式是单片机的基本工
39、作方式,可分为为连续执行连续执行和和单步执行单步执行两种工作方式两种工作方式(1 1)连续执行)连续执行 连续执行方式是所有单片机执行工作程序所需连续执行方式是所有单片机执行工作程序所需要的一种工作方式。要的一种工作方式。(2 2)单步执行)单步执行 为用户调试程序而设计的一种工作方式。为用户调试程序而设计的一种工作方式。单步执行是利用单片机外部中断的功能实现的。单步执行是利用单片机外部中断的功能实现的。393.3.节电工作方式节电工作方式节电工作方式是一种能减少单片机功耗的工作节电工作方式是一种能减少单片机功耗的工作方式,可分为方式,可分为空闲方式空闲方式和和掉电方式掉电方式两种工作方式。两
40、种工作方式。只有只有CHMOSCHMOS型器件才有这种工作方式。型器件才有这种工作方式。CHMOSCHMOS型单片机的节电工作方式是由特殊功能寄型单片机的节电工作方式是由特殊功能寄存器存器PCONPCON控制的。控制的。PCONPCON各位定义为:各位定义为:PCON.7PCON.6PCON.5PCON.4PCON.3PCON.2PCON.1PCON.0SMODGF1GF0PDIDL通用标志位通用标志位掉电控制位,掉电控制位,PD=1PD=1进入掉电方式进入掉电方式空闲控制空闲控制位,位,IDL=1IDL=1进入空闲进入空闲方式方式串行口串行口波特率波特率倍率控倍率控制位制位注:注:当当PDP
41、D和和IDLIDL同时为同时为1 1时,进入掉电控制方式时,进入掉电控制方式40(二)(二)MCS-51MCS-51单片机的时序单片机的时序时序:计算机指令执行各种微操作的时间顺序。时序:计算机指令执行各种微操作的时间顺序。1.时钟电路时钟电路计算机执行指令分三个步骤:取指令、分析指令和执计算机执行指令分三个步骤:取指令、分析指令和执行指令。每个指令由多个微操作组成,而这些微操作行指令。每个指令由多个微操作组成,而这些微操作又在一个时钟的统一控制下按顺序执行。又在一个时钟的统一控制下按顺序执行。单片机时钟电路通常有两种形式:单片机时钟电路通常有两种形式:(1)内部振荡方式内部振荡方式:MCS-
42、51片内有一个用于构成振荡片内有一个用于构成振荡器的高增益反相放大器,引脚器的高增益反相放大器,引脚XTAL1和和XTAL2分别是分别是此放大器的输入端和输出端。把放大器与作为反馈元此放大器的输入端和输出端。把放大器与作为反馈元件的晶体振荡器或陶瓷谐振器连接,就构成了内部自件的晶体振荡器或陶瓷谐振器连接,就构成了内部自激振荡器并产生振荡时钟脉冲(如图激振荡器并产生振荡时钟脉冲(如图2-8a所示)。所示)。41XTAL2XTAL1MCS-51C1C2CYSXTAL2XTAL1MCS-51+5VVSSTTL外外部部时时钟钟源源图图2-8a内部振荡方式内部振荡方式图图2-8b外部振荡方式外部振荡方式
43、(2)(2)外部振荡方式:外部振荡方式:外部振荡方式就是把外部已有外部振荡方式就是把外部已有的时钟信号引入单片机内(如图的时钟信号引入单片机内(如图2-8b2-8b所示)。所示)。421振振荡周周期期:是是振振荡荡器器的的振振荡荡频频率率的的倒倒数数,是是时时序序中的最小时间单位。中的最小时间单位。2.时钟(状状态)周周期期:用用于于单片片机机内内部部各各功功能能部部件件按按序序协调工作的控制信号,是振工作的控制信号,是振荡周期的周期的2分分频。3机机器器周周期期:通通常常将将完完成成一一个个基基本本操操作作所所需需的的时时间间称为机器周期。称为机器周期。4指指令令周周期期:是是指指CPU执执
44、行行一一条条指指令令所所需需要要的的时时间间。一个指令周期通常含有一个指令周期通常含有14个机器周期。个机器周期。MCS-51单片机各种周期的相互关系如图单片机各种周期的相互关系如图2-9 所示。所示。2.CPU时序时序43S5S4P1P1P2S1P2振荡周期振荡周期机器周期机器周期机器周期机器周期指令周期指令周期XTAL2(OSC)S2S3S5S6S1S2S4S3S6P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2图图2-9MCS-51单片机各种周期的相互关系单片机各种周期的相互关系状状态态(时时钟钟)周期周期44v若若MCS-51MCS-51单单片片机机外外
45、接接晶晶振振为为12MHz12MHz时时,则则单单片片机的四个周期的具体值为:机的四个周期的具体值为:v振荡周期振荡周期1/12MHz1/12MHz1/12s1/12s0.0833s0.0833sv时钟周期时钟周期=1/6s=1/6sv机器周期机器周期1s1sv指令周期指令周期1 14s4s454.MCS-51单片机指令的取指和执行时序单片机指令的取指和执行时序图图2-10MCS-51单单片片机机典典型型指指令令的的取取指指和和执执行行时时序序再再读读下下一一条条指令指令再再读读下下一一条条指令指令XTAL2(OSC)P2S1ALE读操作码读操作码读读下下一一个个操操作作码(丢弃)码(丢弃)读
46、第二字节读第二字节(a)单字节,单周期指令单字节,单周期指令例:例:MOVAR1(d)单字节,双周期指令单字节,双周期指令,如,如MOVXP1P2S1P1P2S2P1P2S3P1P2S4P2S5P2S6P2S1P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P2S6P2S1S2P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S1读操作码读操作码P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1读下一个操作码(丢弃)读下一个操作码(丢弃)(b)双字节,单周期指令双字节,单周期指令例:例:ADDAdir(c)单字节,
47、双周期指令单字节,双周期指令例:例:INCDPTR读读 操操 作作 码码(MOVX)读读下下一一个个操操作作码码(丢弃)(丢弃)无取指无无取指无ALE无取指无取指地址地址数据(数据(DATA)访问外部存储器访问外部存储器P2S1读操作码读操作码P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1地址锁存使能:每个机器周期出现两次正地址锁存使能:每个机器周期出现两次正脉冲,第一次在脉冲,第一次在S1P2S1P2和和S2P1S2P1期间,第二次期间,第二次在在S4P2S4P2和和S5P1S5P1期间。期间。ALEALE每有效一次,每有效一次,CPUCPU进行一次读指令操作。进行一次读指令操作。46