第2章 89C51单片机硬件结构及原理_第1页
第2章 89C51单片机硬件结构及原理_第2页
第2章 89C51单片机硬件结构及原理_第3页
第2章 89C51单片机硬件结构及原理_第4页
第2章 89C51单片机硬件结构及原理_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、1第第2章章 89C51单片机硬件结构和原理单片机硬件结构和原理42.189C51单片机芯片内部结构及特点单片机芯片内部结构及特点42.289C51单片机引脚及其功能单片机引脚及其功能42.389C51单片机存储器配置单片机存储器配置42.4时钟电路及时钟电路及89C51CPU时序时序42.5复位操作复位操作42.6 89C51单片机的低功耗工作方式单片机的低功耗工作方式42.7输出输出/输入端口结构输入端口结构2一、 单片机的基本组成:CPU存储器I/O接口内部程序存储器内部数据存储器1 1、CPUCPU 完成运算和控制的功能,能处理8位二进制数或代码。2.1 89C51单片机内部结构及特点

2、单片机内部结构及特点32、内部程序存储器 1) 容量: 不同型号的芯片,程序存储器的容量不同; 89C51有4K内部 ROM, 89C52有8K内部 ROM。 2)制作工艺: ROM EPROM E2PROM 闪烁存储器 8C51 0 掩膜ROM = 7 EPROM 9 flash ROM 43、内部数据存储器(共256个单元)内部数据存储器低128单元内部数据存储器高128单元00H7FH80HFFH低128单元高128单元3)程序执行及存放方法: 程序从0000H开始执行52.2 89C51单片机引脚及其功能单片机引脚及其功能2.2.1 89C51单片机引脚单片机引脚2.2.2 89C51

3、单片机引脚功能单片机引脚功能62.2.1 89C51单片机引脚单片机引脚89C51/LV51的引脚结构的引脚结构 71、准双向、准双向当当I/OI/O口作为输入时,应先向此口锁存器写口作为输入时,应先向此口锁存器写入全入全1 1, 此时该口引脚浮空,可作高阻抗此时该口引脚浮空,可作高阻抗输入。输入。一、一、I/OI/O端口端口P0P0、P1P1、P2P2和和P3P32.2.2 89C51单片机引脚功能单片机引脚功能82、P0口:口:漏极开路的漏极开路的8 8位准双向位准双向I/OI/O口,每位能驱动口,每位能驱动8 8个个LSLS型型TTLTTL负载。负载。P0P0口可作为一个数据输入口可作为

4、一个数据输入/ /输出口;输出口;在在CPUCPU访问片外存储器时,访问片外存储器时,P0P0口为分时复用的口为分时复用的低低8 8位地址总线和位地址总线和8 8位数据总线。位数据总线。93、P1口:口:带内部上拉电阻的带内部上拉电阻的8位准双向位准双向I/O端口,每位端口,每位能驱动能驱动4个个TTL负载。负载。104、P2口:口:P2口:口:带内部上拉电阻的带内部上拉电阻的8位双向位双向I/O端口,端口,每位能驱动每位能驱动4个个TTL负载。在负载。在CPU访问片外存访问片外存储器时,它输出高储器时,它输出高8位地址位地址。115、P3口:口:带内部上拉电阻的带内部上拉电阻的8 8位双向位

5、双向I/OI/O端口,每位能端口,每位能驱动驱动4 4个个TTLTTL负载。负载。P3P3口除作为一般口除作为一般I/OI/O口外,口外,每个引脚都有第二功能。每个引脚都有第二功能。12表表2-1 P3端口引脚与复用功能表端口引脚与复用功能表132、 XTAL1(19脚脚):接外部晶体的一个引脚:接外部晶体的一个引脚; XTAL2(18脚脚):接外部晶体的引脚另一端:接外部晶体的引脚另一端; 作用:作用: 时钟引脚时钟引脚(18、19脚脚)外接晶体时与片内外接晶体时与片内的反相放大器构成一个振荡器,它提供单的反相放大器构成一个振荡器,它提供单片机的时钟控制信号。片机的时钟控制信号。二、单片机的

6、其他引脚二、单片机的其他引脚 1、电源引脚、电源引脚 Vcc(40脚脚):电源端,为:电源端,为+5V。 Vss(20脚脚):接地端。:接地端。143、ALE/PROG : 地址锁存允许/ EPROM编程脉冲输入信号2K152K例:传送数据34H给0630H单元。MOV A,#34HMOV DPTR,#0630HMOVX DPTR,A164、PSEN:外部程序存储器读信号作用: 当内部程序区不够用,扩展外部程序存储器,此引脚用于控制从外程序存储器读入数据。例如:扩展4KB EPROM程序存储器(2732)174K电路设计4K内ROM地址 :000H-FFFH (212 ,A11-A0 )4K外

7、ROM地址: 1000H-1FFFH ( 212 ,A11-A0 )185、EA/VPP:访问程序存储器控制信号/EPROM编程电源输入信号EA=“0”访问外部程序存储器“1”从内部程序存储器开始,可延至外部程序存储器例: 设内ROM为4K,外ROM为4K,求内、外ROM地址范围。4K内ROM地址 :000H-FFFH (212 ,A11-A0 )4K外ROM地址: 1000H-1FFFH ( 212 ,A11-A0 )19 6、RST:复位信号:复位信号当输入的复位信号延续两个机器周期以上的高电平时即为有效;完成单片机的复位初始化操作; 复位: PC=0000H,表示程序从0000H开始执行

8、; SP=07H, 堆栈区栈顶地址; P0P3值为FFH,使P0P3口用作输入口做好准备。202.3.12.3.189C5189C51存储器分类存储器分类2.3.22.3.2程序存储器地址空间程序存储器地址空间2.3.32.3.3数据存储器地址空间数据存储器地址空间21片内程序存储器片内程序存储器片外程序存储器片外程序存储器片内数据存储器片内数据存储器片外数据存储器片外数据存储器一、物理结构(哈佛结构)一、物理结构(哈佛结构)89C51存储器存储器程序存储器程序存储器ROM数据存储器数据存储器RAM2.3.1 89C512.3.1 89C51存储器分类存储器分类222.3.2 2.3.2 程序

9、存储器地址空间程序存储器地址空间一、用途:一、用途:用于存放编好的程序和表格常数。用于存放编好的程序和表格常数。二、编址:二、编址:v89C51片内片内Flash ROM的容量为的容量为4KB。地址为。地址为0000H0FFFH。v片外最多可扩至片外最多可扩至64KB ROM/EPROM,地址为,地址为1000HFFFFH。v片内外统一编址。片内外统一编址。23三、寻址方式:三、寻址方式:1、当、当 EA=“1”时:时:89C5189C51的的PCPC在在000000000FFFH0FFFH范围内执行片内范围内执行片内ROMROM中的程序,当指令地址超过中的程序,当指令地址超过0FFFH 0F

10、FFH 后就自动转后就自动转向片外向片外ROMROM中取指令。中取指令。2、当、当 EA=”0”时:时:89C5189C51片内片内ROMROM不起作用,不起作用,CPUCPU只能从片只能从片ROM/EPROMROM/EPROM中取指令。可以从中取指令。可以从 0000H0000H 开始寻址。开始寻址。由于由于80318031片内不带片内不带ROMROM ,所以使用时必须,所以使用时必须 EAEA=”0”=”0”242.3.3 数据存储器地址空间数据存储器地址空间一、用途:一、用途: 用于存放运算的中间结果、数据暂存和缓冲、用于存放运算的中间结果、数据暂存和缓冲、标志位等。标志位等。二、片外二

11、、片外RAM:v地址:地址:0000HFFFFH v寻址:用寻址:用MOVX指令指令25(1)低128单元:00H7FH寄存器区位寻址区用户RAM区00H1FH20H2FH寄存器区位寻址区30H7FH用户区图 低128单元的分配寄存器区寄存器称为R0、R1、R2、R3、R4、R5、R6、R7OOH 07H0区 R0 R7O8H 0FH1区 R0 R71OH 17H2区 R0 R718H 1FH3区 R0 R7三、片内三、片内RAM: 26如何决定寄存器的工作区?由PSW中的RS1、RS0决定RS1RS0区000区011区102区113区例: 访问1区的R1寄存器 CLR RSCLR RS1 1

12、 SETB RS SETB RS0 0 MOV R MOV RI I, ,# #04H04H注:默认0区00H07H08HR0R1R2R304H#04H27位寻址区20H2FH000102030405060708090A0B0C0D0E0F101178797A7B7C7D7E7F20H2FH例:CLR10H;使10H位置0MOV10H,#00H;使10H单元位00H(00000000) MOV 10H,C ;对10H位操作28用户RAM区可用直接寻址方式或寄存器间接寻址方式例:访问30H单元MOV30H,#45H30H#45HMOVR0,#30HMOVR0,#45H#45H30HR0直接寻址寄

13、存器间接寻址29v特殊功能寄存器共21个;v 特殊功能寄存器种类:va. 累加器ACC v b. 寄存器Bv c. 程序状态字PSWvd. 数据指针DPTRv e. 堆栈指针SP(2) . 高高128单元单元 (特殊专用寄存器区特殊专用寄存器区)301)累加器)累加器Accumulator( ACC )(E0H) 功能: 累加器A是一个最常用的专用寄存器,大部分单操作指令的一个操作数取自累加器,很多双操作数指令中的一个操作数也取自累加器。 加、减、乘、除法运算的指令,运算结果都存放于累加器A或寄存器B中。2)寄存器)寄存器B(F0H) 功能: 在乘除法指令中,乘法指令中的两个操作数分别取自累加

14、器A和寄存器B,其结果存放于AB寄存器对中。除法指令中,被除数取自累加器A,除数取自寄存器B,结果商存放于累加器A,余数存放于寄存器B中。313 3)程序状态字)程序状态字PSW(D0H)PSW(D0H)(1)作用:用于存放的各种状态信息;(2)各位定义。D7D6D54D3D2D1D0CACF0RS1RS0OVP“1” 有“0” 无半进借位“1” 有“0” 无寄存区选择位溢出位“1” 溢出“0” 无溢出奇偶位(针对A累加器)“1” 奇数个1“0” 偶数个132P:奇偶位表示A中的数据为偶数个1还是奇数个1,用于串行通讯中奇偶校验OV:溢出位加减运算中,运算结果超出有符号数范围有符号数(8位)

15、-128+127乘运算中,OV=1表示乘积超过255,积值在B、A中 OV=0表示乘积超过255,积值在A中除运算中,OV=1表示除数为0,不能进行除运算 OV=0表示可以进行除运算AC:半进借位低4位向高4位是否有进位或借位C:进借位a.加或减之运算中,是否有进位或借位b.用作位操作33例1:45H+78H=?0 1 0 0 0 1 0 10 1 1 1 1 0 0 0+1 0 1 1 1 1 0 1+127=7FH=01111111-127=FFH=11111111分析:正数加正数得到负数,错误结果,OV=1,产生溢出;C=0 AC=0P=0偶数个1无进借位例2:76H+7BH=?0 1

16、1 1 0 1 1 00 1 1 1 1 0 1 1+1 1 1 1 0 0 0 1OV=1P=1C=0AC=134RS1、RS0寄存器区选择RS1RS0区000区011区102区113区00H07H08H0FH0区1区10H17H2区18H1FH3区35v 4)程序计数器)程序计数器 PC(program Counter) 1. 程序计数器在物理上是独立的,它不属于特殊内部数据存储器块中。 2. PC是一个16位的计数由两个八位寄存器PCH和PCL组成,用于存放一条要执行的指令地址,寻址范围为64kB。 3. PC有自动加1功能,即完成了一条指令的执行后,其内容自动加1。 4. PC本身并没

17、有地址,因而不可寻址,用户无法对它进行读写,但是可以通过转移、调用、返回等指令改变其内容,以控制程序的执行顺序。 365)数据指针)数据指针(DPTR) 1. 数据指针为16位寄存器,编程时,既可以16 位寄存器来使用,也可以按两个8位寄存器来使用,即高位字节寄存器DPH和低位字节DPL。 2. DPTR主要是用来保存16位地址,当 对64kB外部数据存储器寻址时,可作为间址寄存器使用,此时,使用如下两条指令: MOVX A, DPTR MOVX DPTR, A3. 在访问程序存储器时,DPTR可用来作基址寄存器,采用基址+变址寻址方式访问程序存储器,这条指令常用于读取程序存储器内的表格数据

18、MOVC A, A+DPTR37v6)堆栈指针)堆栈指针SP(Stack Pointer) 指明堆栈区栈顶单元的地址,8位,可软件设置初值, 复位时SP = 07H。注意:注意:入栈时,堆栈指针SP的值先加加1, 出栈 ,是先将数据取出,然后SP指针 减减1。 v89C51单片机的堆栈操作遵循先入后出先入后出的原则。38说明: 1. 对专用寄存器的访问只能使用直接寻址方式;MOVB,#0AH使用寄存器名MOVF0H,#0AH使用该寄存器所占地址2. 某些寄存器的某一位可以进行位寻址。MOVP1.1,C39特殊功能寄存器名 称地 址复位后状态B通用寄存器F0H00HA累加器E0H00HPSW程序

19、状态字D0H00HIP中断优先级寄存器B8H00000BP3P3口B0HFFHIE中断允许寄存器A8H000000BP2P2口A0HFFHSBUF串行口发送/接收缓冲器99H不定SCON串行口控制寄存器98H00HP1P1口90HFFHTH1定时器/计数器1高8位8DH00HTH0定时器/计数器0高8位8CH00HTL1定时器/计数器1低8位8BH00HTL0定时器/计数器0低8位8AH00HTMOD定时器/计数器方式字89H00HTCON定时器控制寄存器88H00HPCON波特率选择寄存器87H00HDPH地址寄存器高8位83H00HDPL地址寄存器低8位82H00HSP堆栈指针81H07H

20、P0P0口80HFFH40I/O端口概述端口概述189C51单片机有四个单片机有四个8位并行位并行I/O端口:端口:P0、P1、P2和和P3。2每个端口都是每个端口都是8位准双向口,共占位准双向口,共占32根引脚。根引脚。3每一条每一条I/O线都能独立地用作输入或输出。线都能独立地用作输入或输出。4每个端口都包括一个锁存器(即特殊功能寄存器每个端口都包括一个锁存器(即特殊功能寄存器P0P3),),一个输出驱动器和输入缓冲器,作输出是数据可以锁存,作一个输出驱动器和输入缓冲器,作输出是数据可以锁存,作输入时数据可以缓冲。输入时数据可以缓冲。2.7输出输出/输入端口结构输入端口结构41 P0口功能

21、: 1. 输入/输出(控制=0) 2. 地址数据复用(控制=1)输入、输出 (控制=0) 输出: “0” “1”结论:结论: P0口在作输出口使用时,由于它无内部上拉电阻,为了在口线口在作输出口使用时,由于它无内部上拉电阻,为了在口线上输出高电平并具有一定的驱动能力,必须外接上拉电阻。上输出高电平并具有一定的驱动能力,必须外接上拉电阻。42P0口: 每个引脚灌电流-10ma 总灌电流-26ma43输入: “1“ ”0“结论:结论: 输入数据时必须使输入数据时必须使P0口先置口先置1方法: MOV P0,#0FFH44v输入/输出指令: 1. 输出数据34H到P0口 MOV P0,#34H 2. 从P0口输入数据 MOV P0,#0FFH MOV A,P0小结小结: 1. 输入数据时必须使输入数据时必须使P0口先置口先置1 2.P0口在作输出口使用时,由于它无内部上拉口在作输出口使用时,由于它无内部上拉电阻,为了在口线上输出高电平并具有一定的驱动电阻,

温馨提示

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

评论

0/150

提交评论