单片机原理课件:第二章 MCS-51单片机硬件结构_第1页
单片机原理课件:第二章 MCS-51单片机硬件结构_第2页
单片机原理课件:第二章 MCS-51单片机硬件结构_第3页
单片机原理课件:第二章 MCS-51单片机硬件结构_第4页
单片机原理课件:第二章 MCS-51单片机硬件结构_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章 MCS-51单片机硬件结构4基本组成1235封装及引脚CPU存储器输入/输出口单片机最小系统6以89C51(AT89C51、P89C51、STC89C51)为代表。2022/7/262单片机的封装及引脚单片机主要有DIP、PLCC和TQFP三种封装形式各种封装的具体尺寸、引脚间距等详细信息请参阅芯片的数据手册(Datasheet)。12022/7/26部分单片机实物DIP(Dual In-line Package) QFP(Quad Flat Package) LCC(Leaded Chip Carrier)1引脚含义P3口线的第二功能VCCVSSXTAL2XTAL1RSTP0.0P0

2、.1P0.2 P0.3 P0.4 P0.5 P0.6 P0.7P1.0P1.1P1.2 P1.3 P1.4 P1.5 P1.6 P1.7P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0ALEP3.0P3.1P3.2 P3.3 P3.4 P3.5 P3.6 P3.72、振荡电路:XTAL1、XTAL23、复位引脚:RST4、并行口:P0、P1、P2、P37、ALE:地址锁存控制信号1、电源线:VCC(+5V)、VSS(地)EAPSEN5、EA:访问程序存储器控制信号6、PSEN:外部ROM读选通信号RXD/TXD/INT0/ INT1/ T0/ T1/WR/ RD/

3、1234567891011121314151617181920403938373635343332313029282726252424222180318051 875189C51189C51的内部资源289C51的基本结构2CPU12运算器:进行算术运算、逻辑运算,由ALU、A、B、PSW、暂存器组成。控制器:包括PC、IR、ID、振荡器和时钟电路3ALU Arithmetic Logic UnitA 最忙碌的寄存器B 多用于乘除运算PSW Program Status Word 用于指示指令执行后的状态信息,可供程序查询和判别用。PC Program Counter,下一条指令的地址。 改变

4、PC的内容可以改变程序运行方向。 IR Instruction RegisterID Instruction Decoder振荡器及时钟电路:提供片内时钟CPU各部件定义3指令寄存器译码地址译码程序计数器地址寄存器累加器A运算器存储器内部数据总线外部地址总线AB数据缓冲器外部数据总线DB寄存器区外部控制总线CB内部控制信号时钟及清零 单片机的工作过程取指过程例: MOV A,#09H 74H 09H ;把09H送到累加器A中执行过程PC=0000H0001H0000H0002H0 1 1 1 0 1 0 00 0 0 0 1 0 0 1(PC)(PC)0001H0002H0000H外部控制总线

5、CB取指过程(PC)执行过程你知道PC的作用吗?3存储器结构框图(一)ROM是一种写入信息后不易改写的存储器。断电后,ROM中的信息保留不变。用来存放固定的程序或数据,如系统监控程序、常数表格等。存储器RAMCPU在运行时能随时进行数据的写入和读出,但在关闭电源时,其所存储的信息将丢失。它用来存放暂时性的输入输出数据、运算的中间结果或用作堆栈。4存储器结构框图(二)普林斯顿结构一般微机通常只有一个逻辑空间,可以随意安排ROM或RAM。访问存储器时,同一地址对应唯一的存储单元,可以是ROM也可以是 RAM,并用同类访问指令。存储器的结构哈佛结构在物理结构上把程序存储器和数据存储器分开,在访问时,

6、采用不同的访问指令。单片机就是采用的这种结构。4存储器结构框图(三)48051诞生,片内有4K字节的ROM,无法擦除,只能写一次8031诞生,片内无ROM8751拥有EPROM(紫外线擦除)但是价格昂贵单片机片内ROM发展概况2314E2PROM的出现使程序的编写与调试更加容易OTP(one time program)技术的出现加快了单片机在各个领域的应用在线可编程可以直接用PC机对单片机进行程序的下载,使程序编写变得更加容易单片机片内ROM发展概况5644程序存储器ROM程序存储器内部外部0000H0FFFH(4K)0000HFFFFH(64K)0000H0FFFH(4K)0000H0001

7、H0002H(PC)0000H是程序执行的起始单元,在这三个单元存放一条无条件转移指令中断5中断4中断3中断2中断10003H000BH0013H001BH0023H002BH外部中断0定时器0中断外部中断1定时器1中断串行口中断8位0FFFH0FFEHEA=1 EA=0程序存储器资源分布中断入口地址40000HFFFFH(64K)内部外部数据存储器RAM数据存储器00HFFH7FH80H(高128B)(低128B)RAM专用寄存器00H07H08H0FH10H17H18H1FH0区R0R7R0R7R0R7R0R71区2区3区工作寄存器区可位寻址区20H2FH7F 7807 0030H7FH数

8、据缓冲区/堆栈区内部RAM存储器 1 1第 3 区18H1FH 0 1第 1 区08H0FHRS1 RS0寄存器区片内RAM地址 0 0第 0 区00H07H 1 0第 2 区10H17H工作寄存器区选择位RS0、RS1PSW位地址 CY ACF0RS1RS0OVF1P4MSBMost Significant Bit (最高有效位)LSB Least Significant Bit (最低有效位)单元地址2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F776F675F574F473F372F271F170F07 MSB 位地址 LSB7E76

9、6E665E564E463E362E261E160E067D756D655D554D453D352D251D150D057C746C645C544C443C342C241C140C047B736B635B534B433B332B231B130B037A726A625A524A423A322A221A120A027971696159514941393129211911090178706860585048403830282018100800RAM位寻址区位地址表4高128B空间分布片内FFH.80H普通RAM区必须采用间接寻址方式进行访问特殊功能寄存器区必须采用直接寻址方式进行访问说明:对于80H

10、FFH的空间,89C51系列的单片机没有普通RAM区,而对于 89C52系列的单片机来说才有普通RAM区,在C语言编写程序时,如果 定义的变量前加上idata的限制,那该变量就在此区域中,但普通RAM 区不能进行位寻址。4高128个单元离散分布有21个特殊功能寄存器SFR。 11个可以进行位寻址。特别提示:对SFR只能使用直接寻址方式,书写时可使用寄存器符号,也可用寄存器单元地址。特殊功能寄存器中英文对照P0、P1、P2、P3:四个并行输入/输出口的寄存器。SCON (Serial Control Register) 串口控制寄存器SBUF (Serial Date Buffer) 串行数据缓

11、冲器 PCON (Power Control Register) 电源控制寄存器 TMOD (Timer/Counter Mode Register) 定时器工作模式寄存器TCON (Timer/Counter Control Register) 定时器控制寄存器TH0、TL0 、TH1、TL1:分别是T0、T1的记数初值寄存器。IP (Interrupt Priority Register) 中断优先级控制寄存器IE (Interrupt Enable Register) 中断允许控制寄存器特殊功能寄存器(Special Function Register)专用于控制、选择、管理、存放单片机

12、内部各部分的工作方式、条件、状态、结果的寄存器。不同的SFR管理不同的硬件模块,负责不同的功能各司其职。换言之:要让单片机实现预定的功能,必须有相应的硬件和软件,而软件中最重要的一项工作就是对SFR写命令(要求)。SFR的作用4数据指针寄存器DPTR数据指针DPTR是一个 16 位的专用寄存器, 其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。既可作为一个 16 位寄存器DPTR来处理, 也可作为两个独立的 8 位寄存器DPH和DPL来处理。 DPTR 主要用来存放 16 位地址, 当对 64 KB外部数据存储器空间寻址时, 作为间址寄存器用。在访问程序存储器时, 用作基址寄存器。常

13、用SFR4MOVX A,DPTRMOVC A,A+DPTR程序状态字寄存器 PSWCY(PSW.7)进位/借位标志位。若ACC在运算过程中发生了进位或借位,则CY=1;否则=0。它也是布尔处理器的位累加器,可用于布尔操作。 AC(PSW.6)半进位/借位标志位。若ACC在运算过程中,D3位向D4位发生了进位或借位,则AC=1,否则=0。机器在执行“DA A”指令时自动要判断这一位。F0 (PSW.5)。可由用户定义的标志位。OV (PSW.2)。溢出标志位。OV=1时特指累加器在进行运算时出错(超出范围);OV=0时未出错。CYACF0RS0OVPRS1PSW.7PSW.0PSW.6PSW.5

14、常用SFR4程序状态字寄存器 PSWPSW.1。未定义P (PSW.0)奇偶标志位。P=1表示中“1”的个数为奇数;P=0表示累加器中“1”的个数为偶数。CPU随时监视着ACC中的“1”的个数,并反映在PSW中。CYACF0RS0OVPRS1PSW.7PSW.0PSW.6PSW.5常用SFR489C51提供两种节电工作方式:空闲(待机)工作方式:不向CPU供电,只供中断、串行口、定时器部分。可以通过中断触发方式退出待机模式。掉电工作方式:所有功能停止工作。SMOD - - -GF1GF0PDIDL常用SFR4电源控制寄存器PCONSP :堆栈指针 (Stack Pointer), 8位,专门存

15、放堆栈的栈顶单元的地址。入栈时自动加1,出栈时自动减1。复位后,SP07H0708090A0B35PUSH ACC,SP08H0708090A0BC135PUSH PSW,SP09H0708090A0B35POP PSW,SP08H0708090A0B0708090A0BPOP ACC,SP07H常用SFR4单片机堆栈堆栈: 在片内RAM中,常常要指定一个专门的区域来存放某些特别的数据,它遵循先进后出和后进先出(LIFO/FILO)的原则,这个RAM区叫堆栈。功用:1)子程序调用和中断服务时CPU自动将当前PC 值压栈保存,返回时自动将PC值弹栈。2)保护现场/恢复现场3)数据传输4单片机堆栈

16、PUSHAPUSHBPUSHPSW . POPA POPB POP PSW这样的指令顺序对不对呢? ?程序计数器PC(Program Counter)它是16位的按机器周期自动增1计数器总指向下一条指令所在首地址(当前PC值)一切分支/跳转/调用/中断/复位等操作的本质就是:改变 PC 值4成于大气 信达天下Chengdu University of Information Technology51单片机存储器配置片内RAM 128字节(00H7FH);片内RAM前32个单元是工作寄存器区(00H1FH) 片内RAM有128个可按位寻址的位,占16个单元。 位地址编号为:00H7FH 分布在:

17、20H2FH单元片内21个特殊功能寄存器(SFR)中:地址号能被8整除的SFR中的各位也可按位寻址可寻址片外RAM 64K字节 (0000HFFFFH)可寻址片外ROM 64K字节 (0000HFFFFH)片内 Flash ROM 4K字节 (000HFFFH) 小结51单片机内部RAM存储器配置片内RAM 小结00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区SFR分布在80H-FFH其中92个位可位寻址80HFFH89C51 128字节89C52 256字节只能直接寻址只能寄存器间接寻址(P14)既可间接寻址,又可直接寻址1、8031单

18、片机共有( )个8位并行口。2、8031单片机共有( )个串行口。3、8031单片机共有( )个外部中断输入口。4、使用8031芯片时,需将/EA引脚接( )电平,因为其片内( ) 存储器。在8051单片机系统中,若仅用片内ROM时控制线/EA接 ( )电平。5、MCS51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS-51的PC是16位的,因此其寻址的范围为( )KB。课堂练习题16、8031单片机中访问外部程序存储器的读选通控制 线是() A.ALE B. /PSEN C. /EA D. /WR 7、PC 的值是A、当前正在执行指令的前一条指令的地址B、当前正在执行

19、指令的地址C、当前正在执行指令的下一条指令的地址D、控制器中指令寄存器的地址8、控制线/EA、ALE、/PSEN、RST的作用。 89C51的输入/输出口P0.0P0.1P0.2 P0.3 P0.4 P0.5 P0.6 P0.7P1.0P1.1P1.2 P1.3 P1.4 P1.5 P1.6 P1.7P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0P3.0P3.1P3.2 P3.3 P3.4 P3.5 P3.6 P3.74个8位并行I/O口:P0,P1,P2,P3;均可作为双向I/O端口使用。(1)特点: P0:访问片外扩展存储器时, 复用为低8位地址线和数据线

20、P2:高8位地址线。P1:双向I/O端口 P3:第二功能1234567891011121314151617181920403938373635343332313029282726252424222180318051 875189C515输入/输出口准双向口:P0、P1、P2、P301 每一位引脚均由各自的锁存器、输出驱动器和输入缓冲器组成;02 每个端口锁存器都作为单片机的一个SFR,可由程序操作、控制(读/写)035准双向口含义: 端口每位都可以定义为输入/输出,但作为输 入时,必须先向该位的口锁存器写“1”。 在读入端口数据时,如果T导通,就会将输入的高电平拉成低电平,产生误读。所以在端口

21、进行输入操作前,应先向端口锁存器写“1”,使T截止,引脚处于悬浮状态,变为高阻抗输入。这就是所谓的准双向口。D QCLK QP1.n读锁存器内部总线写锁存器读引脚VCCRTP1口引脚5CPU对I/O口的读操作一是读口锁存器的状态二是CPU读口引脚上的外部输入信息D QCLK QP1.n读锁存器内部总线写锁存器读引脚VCCRTP1口引脚 执行“读-修改-写”类指令,如:ANL P1,AORL P1,#dataXRL P1,ACPL P1; INC P1DEC P1501 在MCS-52系列单片机中,P1.0和P1.1具有第二功能,分别是作为T2的外部输入端和外部控制输入,分别以T2和T2EX表示

22、。02 因P1内部上拉电阻阻值较大,故上拉驱动能力较弱,除了有低功耗要求的应用系统,最好外接10K左右的上拉电阻。P1口的内部结构5 P1端口一位结构图5P1口输出举例52022/7/2641 P2端口的一位结构图 在系统扩展片外程序存储器、数据存储器 (用MOVX DPTR指令)时,CPU发出控制电平“1”,使多路开关MUX倒向内部地址线。此时,P2输出高8位地址。D QCLK QMUXP2.n读锁存器内部总线写锁存器读引脚地址控制VCCRTP2口引脚5P3第二功能各引脚功能定义:P3.0:RXD串行口输入P3.1:TXD串行口输出P3.2:INT0外部中断0输入P3.3:INT1外部中断1

23、输入P3.4:T0定时器0外部输入P3.5:T1定时器1外部输入P3.6:WR外部写控制P3.7:RD外部读控制5第一功能时(W=1)第二功能时(Q=1):此时引脚部分输入(Q=1、W=1) ,引脚 部分输出(Q=1、W输出) 。D QCLK QP3.n读锁存器内部总线写锁存器读引脚VCCRTP3口引脚第二输入功能第二输出功能WP3口的内部结构501 P0用作输出端口时,必须外接上拉电阻才能保证高电平的输出; 因此,做第一功能使用时常作输入口(事先必须对它写“1”)02 寻址外部存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部存储器时可作为8位准双向I/O口使用。P0口的内部结构

24、015(1)P0口作为普通I/O口输出时:CPU发出控制电平“0”封锁“与”门,T1截止,多路开关MUX把锁存器与输出驱动场效应管T2栅极接通。由于输出驱动级是漏极开路电路,若驱动NMOS或其它电流负载时,需要外接上拉电阻。D QCLK QMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚5 CPU发出控制电平“1”,打开“与”门,又使多路开关MUX把CPU的地址/数据总线与T2栅极反相接通,输出地址或数据。由图上可以看出,上下两个FET处于反相,构成了推拉式的输出电路,其负载能力大大增强。P0的输出级可驱动8个LSTTL负载。D QCLK QMUXP0.n读锁

25、存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚(2) P0作为地址/数据总线5端口的负载能力和接口要求 1、P0口的负载能力和接口要求负载能力:可驱动8个LS(低功耗、甚高速)型TTLP0接口要求:作为一般I/O口输出时,若驱动的是NMOS电路或OC门电路,其引脚要接上拉电阻,否则高电平电位不确定; 2、P1P3口的负载能力和接口要求负载能力:可驱动4个LS型TTL接口要求:作为一般I/O口输出时,驱动任何电路都不需要要接上拉电阻(因为内部有上拉电阻);作为一般I/O口为准双向口。5单片机最小系统Content 03Content 02单片机正常工作最基本条件是:正确的电源时

26、钟电路复位电路6单片机最小系统6时钟电路MCS-51单片机片内有一个高增益反相放大器,其输入端(XTAL1)和输出端(XTAL2)用于外接石英晶体和微调电容,构成振荡器;或输入外部时钟信号。外接晶振时,电容的值一般取30pF;外接陶瓷谐振器时,电容的值一般取47pF6单片机工作的基本时序振荡源的周期振荡周期P机器周期S=P1+P2一个机器周期=12P=6S指CPU完成一条操作所需的全部时间状态周期S指令周期提问:若采用12MHz的晶振频率,计算机器周期?6复位电路 当5l系列单片机的复位引脚RST出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位

27、状态。+5V10uF10KVccRSTGND上电复位10uF10KVccRSTGND手动&上电复位1K+5V6复位后寄存器的状态PC 0000H(程序入口) P0、P1、P2、P3 0FFH (可以直接输入) SP 07H (栈底已经设好)PSW 00H (选择0组寄存器)其余大部分都是0熟悉复位后各寄存器的状态,可以减短初始化程序。61、CPU主要的组成部部分为( )。B加法器,寄存器 C运算器,寄存器 D运算器,指令译码器A运算器,控制器 课堂练习2、8031有四个工作寄存器区,由PSW状态字中的RS1、RS0两位的状态来决定,单片机复位后,若执行 SETB RS1 指令,此时只能使用(

28、)区的工作寄存器。A0区B1区C2区D3区课堂练习3. 09H位所在的单元地址是( )A 02HC 08HB 21HD20H课堂练习4.单片机在进行取指令操作时,指令的地址是由( )的内容决定。A SPC DPTRD PSEN和ALE BPC课堂练习5. P0,P1口作输入用途之前必须( )。A外接高电平 B外接上拉电阻C相应端口先置0 D相应端口先置1 课堂练习6.程序计数器PC用来( )。A存放指令 B存放上一条的指令地址D存放正在执行的指令地址 C存放下一条的指令地址 课堂练习思 考 题1. 8031单片机内部RAM包括( ) 。 A.程序存储区 B堆栈区 C工作寄存器及特殊功能区 D位寻址区 E. 中断入口地址区2. 8051单片机CPU的主要功能有( )。A.产生控制信号 B存储数据 C.算术、逻辑运算及位操作 D.驱动LED3.单片机能够直接运行的程序是( )。 A. 汇编源程序 B. C语言源程序 C. 高级语言程序 D. 机器语言源程序4.十进制数126其对应的十六进制可表示为( )。 A8F B8E CFE D. 7E5.十进制数89.75其对应的二进制可表示为( ). A.10001001.01110101 B1001001.10 C.1011

温馨提示

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

评论

0/150

提交评论