单片机-第二章MCS51单片机结构及原理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2章MCS-51单片机的结构及原理2.1MCS-51单片机的外部引脚与内部结构2.2MCS-51单片机的CPU结构2.3MCS-51单片机的存储器结构2.4MCS-51单片机的并行口结构⑴8位CPU⑵片内128BRAM⑶片内4KBROM/EPROM(8031无)⑷特殊功能寄存器区SFR⑸2个优先级的5个中断源结构⑹4个8位并行口:P0、P1、P2、P3MCS-51单片机主要资源配置8051/8751⑺2个16位定时器/计数器T/C⑻1个全双工串行口UART⑼布尔处理机——位处理机(10)64KB外部RAM地址空间(11)64KB外部ROM地址空间(12)片内时钟电路及振荡器(13)指令系统(111条)通用异步收发器半双工——即可接受又可发送,但不同时单工——只接收或只发送可同时接收或发送16条地址线40引脚,双列直插式结构RST/VPDP3.1P3.2P3.3P3.4P3.5P3.6P3.7P3.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0P2.6P2.5P2.4P2.3P2.2P2.1P2.0P2.7P0.1P0.2P0.3P0.4P0.5P0.6P0.7P0.0RXDTXDINT0INT1T0WRRDT1XTAL1XTAL2VssVccEA/VPPALE/PROGPSEN803180518751403938373635343332313029282726252423222112345678910111213141516171819202.1MCS-51单片机的外部引脚一、51单片机的管脚功能1、按功能分类I/O口线P0、P1、P2、P3共32条电源Vcc、Vss共2条时钟XTAL1、XTAL2共2条控制口线PSEN、ALE、EA/VPP、RESET共4条2、管脚的功能(1)电源与时钟Vcc:接+5V电源端Vss:接地端XTAL1:片内振荡电路输入端XTAL2:片内振荡电路输出端内时钟方式:在XTAL1、XTAL2上外接定时元件,使其形成自激振荡器。时钟电路:内时钟方式外时钟方式定时元件采用由石英晶体和电容组成并联谐振电路。晶体和电容尽可能靠近单片机芯片。单片机XTAL1XTAL21918C1C2电容通常选择为30PF左右振荡频率1.2MHz~12MHz晶振内时钟方式电路图复位信号:高电平复位CPU,低电平CPU工作EA/VPPALEPSEN名称功能片外取指信号(片外程序存储器读)输出端低电平有效。通过P0口读回指令或常数。控制的是片外程序存储器RESET⑵控制信号地址锁存信号。ALE低电平时,P0口出现数据信息;ALE高电平时,P0口出现地址信息。程序存储器选择信号EA=0时,选外部ROM;1,地址小于4k时,选内部ROM地址大于4k时,选外部ROMP0口是数据/地址复用口用下降沿锁存P0口的低8位地址到外部锁存器寄存器内容寄存器内容复位后内部寄存器状态PC0000HACC00HB00HPSW00HSP07HDPTR0000HP0~P30FFHIP×××00000BIE0××00000BTMOD00HTCON00HTH000HTL000HTH100HTL100HSCON00HSBUF不定PCON0××000BALEP3.1P3.2P3.3P3.4P3.5P3.6P3.7P3.0EAPSENRST803180518751VccVssP1口P2口P0口373GE+5VA0~A7A8~A15D0~D7I/OXTAL1XTAL2RXDTXDINT0INT1T0T1WRRD控制总线CB三总线结构数据总线DB地址总线AB利用三条总线,可方便地进行系统扩展晶振1.2~12MHZ8031【项目应用】应用项目的硬件电路图,如图所示,请读者根据上述介绍,逐个理解其中所使用的单片机引脚,指出其名称和功能。初步理解为何使用这些引脚,哪些引线用的是P3口的第二功能?解:所用到的单片机引脚名称和功能如下:(外部中断0输入)(外部中断1输入)(片外RAM读选通)(片外RAM写选通)(片外ROM访问允许脚,由于所用的单片机为无片内ROM的8031,因此,将该引脚接地)ALE(地址锁存)RST(复位)P0.7~P0.0(P0口引脚)P1.0和P1.4(P1口引脚)P2.7(P2口引脚)、、和用的是P3口的第二功能,分别对应P3.2、P3.3、P3.6和P3.7引脚。0INT1INTRDWREARDWR0INT1INTMCS-51的内部结构MCS-51的内部结构说明具有片内ROM的MCS-51单片机内部结构:片内ROM的类型为掩膜ROM时,对应8051;为EPROM时,对应8751;将片内ROM去掉,便是8031。图中带阴影的方框为用户可以通过指令进行访问的具有特殊功能的单元,称为特殊功能寄存器(SFR);ROM为程序存储器;RAM为数据存储器;P0~P3口锁存器与驱动器构成I/O接口;OSC为振荡器,用于为CPU提供时钟信号;其余各部件均属于CPU的组成部件。例:CPU计算“(1+2)×3”为了更好地理解CPU的工作原理,下面以要求CPU计算“(1+2)×3”为例说明CPU的工作过程。利用上述指令编写的程序如下。指令功能注释MOVA,#01H;A←01HADDA,#02H;A←01+02HMOVB,#03H;B←03HMULAB;BA←(A)×(B)SJMP$;停机CPU的工作原理示意图假定以上程序已装入了单片机内部ROM中,起始地址为0050H,并假定程序计数器的当前值也是0050H,则单片机CPU的工作原理如图2-5所示。图2-5MCS-51单片机CPU的工作原理示意图CPU执行指令过程(1)定时与控制器通过控制总线中的读指令控制线,送出读ROM中指令的控制信号,将片内ROM中0050H单元中的操作码74H读出,并送至指令寄存器,同时控制PC加1器,将程序计数器PC中的地址加1,变成0051H,为取指令的第二字节作好预先准备。(2)指令译码器对指令寄存器中的操作码进行译码,并把译码结果送至定时与控制器。就本例而言,译码的结果为“把一个在指令中给出的数据送入ACC,这个数据来自于当前指令的第二字节。”(3)定时与控制器根据指令译码器的译码结果,发出相应的微操作控制信号。对应上述译码结果,由于已经知道需要送入ACC的数据就存放当前指令的第二字节,而且,PC已经指向该字节的地址(0051H),所以只要发出读ROM控制信号,就可以将0051H中的数据01H读出到数据总线上,并通过写ACC控制信号将这个操作数送入ACC,从而完成第一条指令的执行过程。对于需要生成程序状态字的指令,还需通过微操作将相应的状态字写入PSW中。(4)执行完第一条指令后,定时与控制器又控制PC加1器,将程序计数器PC中的地址加1,变成0052H,从而指向下一条指令的首字节,为执行下一条指令做准备。(5)重复上述类似的过程,并通过使用暂存寄存器TMP1、TMP2,寄存器B和运算器ALU,便可以完成第2~第4条指令的执行,最终实现将ACC中的数据(01H+02H=03H)与B中的数据(03H)相乘,所得乘积的高8位(00H)送入B,低8位(09H)送入ACC,从而完成程序要求的(1+2)×3运算。乘法指令之所以用到B、ACC两个寄存器存放乘积,是考虑到两个8位数的乘积有可能会超过8位。(6)程序的最后一条指令是停机指令,执行到这条指令时,定时与控制器将不再控制PC加1,而是将PC的值置换为0058H,使之又指向该指令本身的首字节,使得接下来再执行的还是该指令,循环往复,从而实现“动态停机”。时钟电路与CPU的时序内部时钟:在XTAL1、XTAL2上外接定时元件,使其形成自激振荡器。外部时钟:XTAL1接地,XTAL2接外部振荡器定时元件采用由石英晶体和电容组成并联谐振电路。晶体和电容尽可能靠近单片机芯片。单片机XTAL1XTAL21918C1C2电容通常选择为30PF左右振荡频率1.2MHz~12MHz晶振内时钟方式电路图单片机XTAL2XTAL1外时钟方式:外时钟方式电路图外部振荡源+5V1819上拉电阻频率低于12MHzOC门MCS-51CPU时序一、机器周期、状态、相位·一个机器周期包括6个S状态S1~S6,每个S状态分为2(拍)个振荡周期(相位P1,相位P2)。·1个机器周期=6个S状态=12(拍)个振荡周期·采用主频为12MHz振荡源,每个机器周期为1µS又称为CPU周期二、典型指令的取指和执行时序OSCALEP1P2P1P2P1P2P1P2P1P2P1P2S1S2S3S4S5S6机器周期读操作码04H读下一个操作码(丢掉)PC不增“1”S1S2S3S4S5S6再读下一个操作码(a)单字节单周期指令如:INCA机器周期OP04HROMPCXTAL2(a)单字节单周期指令指令长度为一个字节执行时间为一个机器周期在S4P2期间的取指无效,PC不增“1”在本周期的S6P2期间执行完毕在S1P2期间读入操作码并锁存在指令寄存器中读操作码24H读第二字节#dataS1S2S3S4S5S6再读下一个操作码(b)双字节单周期指令如:ADDA,#dataOSCALEP1P2P1P2P1P2P1P2P1P2P1P2S1S2S3S4S5S6机器周期机器周期OP24HdataROMPC操作数PCXTAL2(b)双字节单周期指令指令长度为2个字节执行时间为一个机器周期在S4P2期间读入第2字节在本周期的S6P2期间执行完毕在S1P2期间读入操作码并锁存在指令寄存器中读操作码A3H(c)单字节双周期指令如:INCDPTROPA3HROMPCOSCALEP1P2P1P2P1P2P1P2P1P2P1P2S1S2S3S4S5S6机器周期机器周期S1S2S3S4S5S6S1S2S3S4S5读下一个操作码(丢掉)PC不增“1”DPLDPH“+1”XTAL2仅用来访问外部程序存储器和外部数据存储器存储器数据存储器程序存储器对单片机来讲,ROM和RAM的寻址机构和寻址方式是分开的。ROM、EPROME2ROM或FLASHRAM按地址访问的一维线性(逻辑)空间按地址访问的一维线性(逻辑)空间PSENWRRD单片机常驻普林斯顿结构哈佛结构普林斯顿结构存储器从物理上分,MCS-51分为4个存储空间·片内程序存储器ROM·片内数据存储器RAM·片外程序存储器ROM·片外数据存储器RAM(I/O)从逻辑上分,MCS-51分为3个逻辑空间·片内、外统一编址的程序存储器地址空间·256B或384B片内数据存储器地址空间·64KB片外数据存储器或I/O地址空间片内固有需要扩展需要扩展PC从功能上分,MCS-51分为5个地址空间·程序存储器ROM·片内数据存储器RAM·特殊功能寄存器区SFR·位寻址区·外部扩展的数据存储器RAM(I/O)区一、程序存储器8051/8751内部有4KBROM/EPROM地址:0000H~0FFFH8051/8751外部的ROM/EPROM地址:1000H~FFFFH8031/8032内部没有ROM/EPROM需要片外扩展,使用时接成低电平EA地址:0000H~FFFFH52子系列内部有8KBROM/EPROM地址:0000H~1FFFH52:2000H~FFFFH接地EA=1内部外部EA=00000H0FFFH0FFFH0000H1000H外部FFFFH8051/8751803151系列程序存储器配置图4KB接地EA=1内部外部EA=00000H1FFFH1FFFH0000H2000H外部FFFFH8052/8752803252系列程序存储器配置图接地8KB二、内部数据存储器RAM地址:00H~FFH内部数据存储器从物理上分为几个不同的块:MCS-51128BRAM(地址00H~7FH)128BSFR(地址80H~FFH)MCS-52128BRAM(地址00H~7FH)128BSFR(地址80H~FFH)256B384B间接寻址直接寻址128BRAM(地址80H~FFH)间接直接皆可直接寻址SFR特殊功能寄存

1 / 72
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功