1 / 60

第 2 章 89C51 单片机硬件结构和原理

第 2 章 89C51 单片机硬件结构和原理. 主要掌握. 基本组成(内部资源 ) 引脚 存储器的配置 I/O 口的应用功能 (以 89C51 ( AT89C51 、 P89C51 、 STC89C51 )为代表讲解). 2.1 89C51 单片机的基本组成. 1. 89C51 单片机结构框图. Flash ROM. 8 位 CPU 256 字节 RAM 4KB Flash ROM 4 个 8 位 I/O 口 2 个定时 / 计数器 5 个中断源 1 个全双工串行口 片内振荡器和时钟产生电路(最高允许振荡频率为 24MHz )

jatin
Download Presentation

第 2 章 89C51 单片机硬件结构和原理

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第2章89C51单片机硬件结构和原理

  2. 主要掌握 • 基本组成(内部资源) • 引脚 • 存储器的配置 • I/O口的应用功能 (以89C51(AT89C51、P89C51、STC89C51)为代表讲解)

  3. 2.1 89C51单片机的基本组成

  4. 1. 89C51单片机结构框图 Flash ROM 8位CPU 256字节RAM 4KB Flash ROM 4个8位I/O口 2个定时/计数器 5个中断源 1个全双工串行口 片内振荡器和时钟产生电路(最高允许振荡频率为24MHz) 节电工作方式(空闲、掉电) bus 89C51 89C51

  5. 3. 89C51 CPU功能介绍 单片机的核心 由运算器和控制器构成 • 运算器:进行算术运算、逻辑运算,由ALU、A、B、PSW、暂存器组成。 • 控制器:包括PC、IR、ID、振荡器和时钟电路

  6. ALU Arithmetic Logic Unit • A最忙碌的寄存器 • B多用于乘除运算 • PSW用于指示指令执行后的状态信息, 可供程序查询和判别用。 • PC Program Counter,下一条指令的 地址。改变PC的内容可以改变程序 运行方向。 • IR Instruction Register • ID Instruction Decoder • 振荡器及时钟电路:提供片内时钟

  7. 2.2 89C51单片机的引脚及功能

  8. 1234567891011121314151617181920 4039383736353433323130292827262524242221 8031 8051 8751 89C51 EA RXD/TXD/INT0/ INT1/ T0/ T1/WR/ RD/ 5、EA:访问程序存储控制信号 PSEN 6、PSEN:外部ROM读选通信号 MCS-51单片机信号引脚简介 P1. 0P1.1P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 VCC 1、电源线:VCC(+5V)、VSS(地) P0. 0P0.1P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 2、振荡电路:XTAL1、XTAL2 3、复位引脚:RST 4、并行口:P0、P1、P2、P3 RST P3. 0P3.1P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 ALE P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2. 0 7、ALE:地址锁存控制信号 XTAL2XTAL1 P3口线的第二功能 VSS

  9. 2.3 89C51单片机的存储器配置

  10. 1. 存储器结构 • 普林斯顿结构 • 一般微机采用的结构 • ROM、RAM安排在同一个地址空间 • 相同指令访问ROM、RAM • 哈佛结构 • 89C51采用此结构 • ROM和RAM占用不同的物理空间 • 采用不同指令访问

  11. 2. 89C51 存储空间 • 物理结构 • ROM 片内、片外 • RAM 片内、片外 • 逻辑结构(从用户使用的角度看) • ROM: MOVC 0000-FFFFH • 片内RAM :MOV 0000-00FFH • 片外RAM: MOVX 0000-FFFFH

  12. 1234567891011121314151617181920 4039383736353433323130292827262524242221 1234567891011121314 1234567891011121314 2827262524232221 201918171615 2827262524232221 201918171615 1234567891011121314 1234567891011121314 2827262524232221 201918171615 2827262524232221 201918171615 EPROM EPROM 片内 ROM RAM 6264 RAM 6264 2764 2764 片内 RAM 4K 64K 存储器 8031 8751 8051 89C51 64K 256B(字节)

  13. 3. 程序存储器 与ROM密切相关的两个引脚 • 、 通过16位PC寻址,最大可寻址64kB地址空间 当ROM容量不够时,尽量选择高容量存储器空间的单片机,如89C52、89C54、89C58等,应避免外扩程序存储器,因为会增加硬件负担。

  14. 0FFFH 0FFEH . . 002BH . FFFFH 中断5 0023H 中断4 定时器1中断 串行口中断 001BH 中断3 0013H (64K) 定时器0中断 中断2 000BH 0002H 中断1 外部中断0 外部中断1 0003H 0001H 0FFFH 0FFFH 0000H是程序执行的起始单元,在这三个单元存放一条无条件转移指令 外部 内部 0000H (4K) (4K) EA=1 EA=0 0000H 0000H 0000H 8位 中断入口地址 程序存储器 (PC) 程序存储器资源分布 程序存储器

  15. 4. 数据存储器 片内、片外分开编址 • 如何区分0000-00FFH的地址空间是片内RAM还是片外RAM? • 片内RAM: • 低128B片内RAM 0000-007FH • 高128B片内RAM 0080-00FFH SFR:特殊功能寄存器区

  16. PSW位地址 CY AC F0 RS1 RS0 OV F1 P 数据缓冲区/堆栈区 可位寻址区 FFFFH 3区 2区 2FH 7F 78 07 00 工作寄存器区 1区 1 1 18H~1FH 第 3 区 20H (64K) 07H 0区 00H 外部 0 1 第 1 区 08H~0FH 0FH 1FH 17H FFH (高128B) 18H 08H 10H 7FH 80H 1 0 0 0 第 2 区 第 0 区 10H~17H 00H~07H 7FH 内部 片内RAM地址 RS1 RS0 寄存器区 30H (低128B) 0000H 00H R7 R7 R7 R7 R0 R0 R0 R0 数据存储器 工作寄存器区选择位RS0、RS1 专用寄存器 RAM 数据存储器 内部RAM存储器

  17. MSB位地址LSB 单元地址 2FH 2EH 2DH 2CH 2BH 2AH 29H 28H 27H 26H 25H 24H 23H 22H 21H 20H 7F 77 6F 67 5F 57 4F 47 3F 37 2F 27 1F 17 0F 07 7E 76 6E 66 5E 56 4E 46 3E 36 2E 26 1E 16 0E 06 7D 75 6D 65 5D 55 4D 45 3D 35 2D 25 1D 15 0D 05 7C 74 6C 64 5C 54 4C 44 3C 34 2C 24 1C 14 0C 04 7B 73 6B 63 5B 53 4B 43 3B 33 2B 23 1B 13 0B 03 7A 72 6A 62 5A 52 4A 42 3A 32 2A 22 1A 12 0A 02 79 71 69 61 59 51 49 41 39 31 29 21 19 11 09 01 78 70 68 60 58 50 48 40 38 30 28 20 18 10 08 00 RAM位寻址区位地址表 MSB——Most Significant Bit (最高有效位)LSB ——Least Significant Bit (最低有效位)

  18. 高128个单元 ☆离散分布有21个特殊功能寄存器SFR。 ☆11个可以进行位寻址。 ☆特别提示:对SFR只能使用直接寻址方式,书写时可使用寄存器符号,也可用寄存器单元地址。

  19. 5. 特殊功能寄存器(SFR) • ACC • B • DPTR:Data Pointer,16位,对64kB片外RAM/ROM和外围设备作间接寻址。 例:MOV DPTR,#2000H MOVX A,@DPTR 则: DPH=20H, DPL=00H, DPTR=2000H 结果是:取出片外RAM地址为2000H的数据,存放于A。

  20. PSW: Program Status Word:进位carry、辅助进位auxiliary、用户标志flag zero、寄存器选择register select、溢出overflow、奇偶parity。 特殊功能寄存器 0000 1111 + 1111 1000 1 0000 0111 例:MOV A,#0FH ADD A,#0F8H AC=1, CY=1, OV=CY⊕AC=1⊕1=0,P=1,所以:

  21. 特殊功能寄存器 • SP :堆栈指针 (Stack Pointer), 8位,专门存放堆栈的栈顶单元的地址。入栈时自动加1,出栈时自动减1。 复位后, SP=07H PUSH ACC, SP=08H PUSH PSW, SP=09H POP PSW, SP=08H POP ACC, SP=07H 0B 0B 0B 0B 0B 0A 0A 0A 0A 0A 09 09 09 09 09 08 08 08 08 08 07 07 07 07 07

  22. 2.4 时钟电路及CPU时序

  23. 1. 基本概念 • 振荡器: 产生内部脉冲信号 若采用外部脉冲信号 • 时钟发生器:根据脉冲信号产生时钟信号 • 振荡周期P:脉冲信号周期 • 时钟周期(状态周期)S:(机器状态时间)S=P1+P2 • 机器周期:指令执行的单位=6S=12P • 指令周期:指令执行的时间=N * 6S,N=1、2、3…… 对HMOS单片机:XTAL2输入,XTAL1接地 对CHMOS单片机:XTAL1输入,XTAL2悬空

  24. 2. CPU取指、执行周期时序 ALE有效时,表示可以读取指令。一个机器周期内,ALE有效两次

  25. 提问:若采用12MHz的晶振频率,计算机器周期?提问:若采用12MHz的晶振频率,计算机器周期?

  26. 2.5 复位操作

  27. 1. 复位的主要功能 初始化操作,PC=0000H • 复位引脚:RST • 复位影响到的寄存器:除了P0~P3=0FFH,SP=07H,SBUF=不定值之外,其他寄存器全部清零。 • 熟悉复位后各寄存器的状态,可以减短初始化程序。

  28. 2.6 89C51单片机的低功耗工作方式

  29. 8051:HMOS(高密度短沟道MOS)半导体工艺 89C51:CHMOS=HMOS+CMOS • 89C51提供两种节电工作方式: • 空闲工作方式:不向CPU供电,只供中断、串行口、定时器部分。 • 掉电工作方式:所有功能停止工作。 • 方式的设定 PCON(电源控制寄存器)

  30. 2.7 输入/输出端口

  31. 1. 输入/输出端口 • I/O 口的作用? 获取外部输入信号,向外部输出信号 I/O口太多:引脚数目增多,设备价格上涨; I/O口太少:不能满足于复杂控制的需要。 (Generally, Ports are scarce and Port usage/allotment is an engineering decision.) To increase the number of ports, use a Parallel port interface chip like 8255

  32. 2. 89C51的 I/O口 • 四个准双向并行I/O端口:P0,P1,P2,P3 准双向的含义: 端口每位都可以定义为输入/输出,但作为输入时,必须先向该位的口锁存器写”1”。 上电复位后,每个端口即可作输入,也可为输出端口;

  33. 1234567891011121314151617181920 4039383736353433323130292827262524242221 8031 8051 8751 89C51 3、并行输入/输出电路结构 (1)特点: P1. 0P1.1P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P0. 0P0.1P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 • 4个8位并行I/O口:P0,P1,P2,P3; • 均可作为双向I/O端口使用。 P3. 0P3.1P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 • P0:访问片外扩展存储器时, 复用为低8位地址线和数据线 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2. 0 P2:高8位地址线。 P1:双向I/O端口 P3:第二功能

  34. 1 P1. 0 1 0 0 P1. 1 1 1 0 1 0 0 1 1 P1. 2 0 1 1 P1. 3 1 0 1 1 0 P1. 4 P1. 5 1 1 0 1 1 0 P1. 6 1 0 0 1 1 P1. 7 1 WR RD (2)输出举例 +5V 指令1:MOV P1,#00H ALE 1 指令2:MOV P1,#0FFH 指令3:MOV P1,#0AAH 指令4:CLR P1.0 指令5:SETB P1.0

  35. P3.4 1 P3. 0 1 1 P3. 1 1 1 P3. 2 1 1 × × 1 1 × 1 × 1 × 1 × 1 × × 1 +5 V S0 1 P3. 3 1 P3. 4 1 1 1 P3. 5 1 1 1 P3. 6 W 4.7 k 1 P3. 7 1 WR RD (3)输入举例 你知道P3.4对应寄存器A哪一位吗? 读端口: MOV P3, #11111111B MOV A, P3 89C51 ALE 0 1 寄存器A 注:当I/O端口作为输入使用时,需先向端口写入“1”,使内部的FET截止,再读入引脚的状态。

  36. 4. I/O口的构成 • 口锁存器(CPU通过内部总线把数据写入口锁存器) • 输出驱动器 • 输入缓冲器

  37. 锁存器的含义 其它器件 OUT 锁存器 Bus CTR开关

  38. CPU对I/O口的读操作 • 一是读口锁存器的状态 • 二是CPU读口引脚上的外部输入信息

  39. I/O口 • P1口只有通用输入/输出端口的功能; • P0,P2,P3除了可以作为通用的I/O口,还可以用于其他用途。 共同点:P0、P1、P2、P3都是准双向口;执行“读—修改—写”类指令时,读的是锁存器而不是引脚,如: ANL P1,A ORL P1,#data XRL P1,A CPL P1. × INC P1 DEC P1

  40. P1口 P1口特点: 唯一的静态I/O口;

  41. P3口 P3口特点(比P1多一个“与非门”和“缓冲器”——第二功能) 多功能口

  42. P3口第二功能(在真正的应用电路中,第二功能显得更重要)P3口第二功能(在真正的应用电路中,第二功能显得更重要)

  43. P2口 特点:总线口,输出高8位地址;

  44. P2口 • 系统扩展片外EPROM和RAM时,P2口输出高8位地址, P0口输出低8位地址; • 若片外扩展存储器容量>256B,P2口输出高8位地址。 • 若系统只扩展片外256B的RAM,使用”MOVX @Ri“类指令访问片外RAM时,寻址范围是256B,只需低8位地址线就可实现,因此P2口仍可作为通用I/O口。

  45. P0口 特点: (1)总线口,分时输出低8位地址和传送数据;(MOVX、MOVC、取指)(2) 负载能力强。

  46. P0口、P2口和P3的第二功能用法 • 各端口的第二功能完全是自动的,不需要用指令来转换。

  47. 端口的负载能力和接口要求 1、P0口的负载能力和接口要求 负载能力:可驱动8个LS(低功耗、甚高速)型TTL 2、P1~P3口的负载能力和接口要求 负载能力:可驱动4个LS型TTL 接口要求:作为一般I/O口输出时,驱动任何电路都不需要要接上拉电阻(因为内部有上拉电阻);作为一般I/O口为准双向口。

  48. 地址寄存器 程序计数器 外部地址总线AB 内部数据总线 0002H (PC) (PC) (PC) 0001H 0000H 存 储 器 运算器 ①② 累加器A 地址 译码 寄存器区 数据缓冲器 外部数据总线DB 内部控制信号 指令 寄存器 译码 时钟及清零 外部控制总线CB 总结:单片机的工作过程 例: MOV A,#09H 74H09H ;把09H送到累加器A中 取指过程 取指过程 PC= 0000H 0000H 0002H 0001H 执行过程 执行过程 你知道PC的作用吗? 0 0 0 0 1 0 0 1 0 1 1 1 0 1 0 0 外部控制总线CB

  49. 课堂练习 1、CPU主要的组成部部分为( )。 A.运算器,控制器 B.加法器,寄存器 D.运算器,指令译码器 C.运算器,寄存器

More Related