单片机存储器配置

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中断源 复位 外部中断0(INT0) 定时器0溢出中断 外部中断1(INT1) 定时器1溢出中断 串行通讯中断(UART0) 定时器2
入口地址 0000H 0003H 000BH 0013H 001BH 0023H 002BH
备注 系统复位后,程序入口
8
兼容扩展型号中断服务程序入口地址表(1)
中断源 复位 外部中断0(INT0) 定时器0溢出中断 外部中断1(INT1) 定时器1溢出中断 串行通讯中断(UART0) 定时器2 *扩展串口1(UART1) *扩展外部中断(INT2) *扩展外部中断(INT3) *扩展外部中断(INT4) *扩展外部中断(INT5) *Watchdog Timer 入口地址 0000H 0003H 000BH 0013H 001BH 0023H 002BH 0033H 003BH 0043H 004BH 0053H 005BH 0063H
RXD TXD ALE/P PSEN
10 11 30 29
ALE PSEN
这里的LE就是 373 的“G”
PSEN
21 22 23 24 25 26 27 28
A8 A9 A1 0 A1 1 A1 2 A1 3 A1 4 A1 5
1 11
OE LE
10 9 8 7 6 5 4 23 5 24 21 23 22 6 27 22 20 1
39 38 37 36 35 34 33 32
D0 D1 D2 D3 D4 D5 D6 D7
D1 D3 D5 D7 D6 D4 D2 D0
3 4 7 8 13 14 17 18
D0 D1 D2 D3 D4 D5 D6 D7
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
2 5 6 9 12 15 16 19
• G 为读出控制信号,=0有效。程序存储器的读控 制信号为PSEN,只要使G=PSEN就可满足要求。
21
片外程序存储器的扩展框图
74LS373 P0.0~P0.7 ALE
D0~D7
D0~D7
27256 E G PSEN
22
A0~A14 A0~A7 A8~A14
Q0~Q7
OE G
P2.0~P2.7
表中:H—高电平,L—低电平,X—任意; Z—输出处于高阻状态; Q0—维持原状态不变。 当/OE=L,G=“1”时,输出随输入而变化, G=“0”,输出Q维持,不受输入端影响 /OE=H,输出处于高阻态。
17
EPROM存储器27256简介
32K*8位EPROM存储器 访问时间:170nS 功能框图
……
ORG 0100H START: MOV SP,#70H ……
INT0: PUSH PUSH … POP POP RETI T0: PUSH ……
ACC PSW
PSW ACC
ACC
12
6. 内、外部程序存储器的选择
(1)有片内程序存储器 ① 如果EA=1,复位后优选择片内程序存储器。当PC超出片 内寻址范围时,自动转到片外程序存储器。 ② EA=0,忽略片内程序存储器,直接寻址片外程序存储器。 (2)无片内程序存储器 只能寻址片外程序存储器。此时应当使EA=0。
该区域除了作为位操作区域外,还可以作为普通的RAM使用。
29
(3)一般RAM区30H~7FH
内部RAM的30H~7FH为一般的RAM区。 寻址方式:直接寻址,寄存器间接寻址。 例如:MOV A, 30H ;直接寻址 例如:MOV A,@R0 ;寄存器间接寻址
9
备注 系统复位后,程序入口
Winbond的W77E58特有
中断服务程序入口地址表(扩展型号2)
中断源
复位 外部中断0(INT0) 定时器0溢出中断 外部中断1(INT1) 定时器1溢出中断 串行通讯0中断(UART0) 定时器2 SPI SMBUS中断 ADC0 可编程计数器阵列 …… 定时器3 …… 串行通信1(UART1)
对于MCS-51系列单片机,它们都位于内部数据存储器 地址空间(00~0FFH)。
25
(1)工作寄存器区
①占用地址空间:00H~1FH ② 该区32字节,又分为4个寄存器区;每个区8个工作寄存器, R0,R1,…,R7 通过专用寄存器PSW的RS1,RS0两位选择。 系统复位时,RS1,RS0=0,0, 选择0区, 地址:00H~07H RS1,RS0可以按位操作。例如 SETB RS0 ;RS0置“1” CLR RS1 ;RS1清“0” 该区域除了作为工作寄存器 使用外,还可以作为一般的RAM 使用。
14
片外程序存储器的扩展 以32KB*8为的EPROM为例。 设要求在第32KB空间扩展32KB程序存储器。
要扩展存储器,低8位地址总线需要在外部锁存。 高8位地址信号不需要锁存。 地址锁存可以使用74LS373
15
74LS373 是8D锁存器。
有时标 为LE
16
74LS373功能表
这样,将/OE接“0”, G接单片机的ALE,则 当ALE=1时,P0输出 的地址信号送到373保 存,而当ALE=0时, P0的信号不影响373的 输出——低8位地址信 号在外部被锁存。
A8~A15 PSEN
数据线、地址线接到存储器芯片的对应引脚上。
A15
电路原理图
11 12 13 15 16 17 18 19
13 12 15 14 31 19 18 9 17 16
IN T1 IN T0 T1 T0 EA/VP X1 X2 RESET RD WR
P2 0 P2 1 P2 2 P2 3 P2 4 P2 5 P2 6 P2 7
13
(3)片外程序存储器的扩展 一般使用掉电不丢失数据的存储器作程序存储器,例如EPROM, EEPROM,FLASH等; P0口为外部存储器的数据/地址复用总线,地址信号需要外部锁 存后接到存储器的低8位地址线上,数据信号不需要锁存,直
接接到存储器的数据总线;
P2为外部地址总线高8位,不需要外部锁存。 引脚ALE的信号可以作为低8位地址锁存控制信号。 PSEN作为程序存储器的读控制信号。 以32KB的EPROM为例,程序存储器扩展的框图:
28
为了方便程序的阅读与维护,通常利用伪指令将地址用一个符 号来表示。 例如:ABC DEF BIT 03H ;位变量定义,位变量ABC=03H
EQU 03H ;通用变量定义,变量DEF=03H
定义了符号地址后,在指令中就可以直接使用符号地址 例如: SETB ABC 与 SETB 03H 是等价的。
A1 A3 A5 A7 A6 A4 A2 A0
Vห้องสมุดไป่ตู้ C
D0 D1 D2 D3 D4 D5 D6 D7
28
1IC1 AT89C52
IC2 74LS373
VCC
D0 D1 D2 D3 D4 D5 D6 D7
IC3 27256
VCC
ALE
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 0 A1
RS1 0 0 1 1
RS0 0 1 0 1
工作寄存器区 0区 1区 2区 3区
26
(2)位寻址区
地址20H~2FH为可位寻址的存储区,它的每一位都有 一个位地址,可以进行位操作,使用非常方便。
位编号 地址
D7 7F
77
D6 7E
76
D5 7D
75
D4 7C
74
D3 7B
73
D2 7A
72
D1 79
2.6.2 程序存储器
1.程序存储空间 可寻址的程序存储器空间:64KB; 用途:存放程序,或者常数表格; 地址范围:0000H~0FFFFH。
片内集成4KB FLASH存储器。
5
2.复位起始地址
复位完成后,程序计数器PC=0000H,因此,复位后程 序从0000开始执行程序。
3.片内程序存储器
OE CE VPP
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 0 A1
A1 1 A1 2 A1 3 A1 4
1 2 3 4 5 6 7 8
P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 P1 6 P1 7
P0 0 P0 1 P0 2 P0 3 P0 4 P0 5 P0 6 P0 7
依据不同的型号而不同。例如
① ② ③ ④ ⑤ ⑥
8031没有内部程序存储器; 8751有4KB的EPROM程序存储器; AT89C51有4KB的FLASH作程序存储器; AT89C52有8KB的FLASH作程序存储器; AT89C55有20KB的FLASH作程序存储器; W78E58有32KB的FLASH作程序存储器。
11
5. 如何留出中断向量区
使用定位伪指令。 各入口地址存放一条转移指令或子程序调 用指令,而程序的主体部分存放在程序存 储空间的其他位置、 例如 ORG 0 ;定位复位入口 LJMP START ;转主程序开始 ORG 03H LJMP INT0 ;转中断0服务程序 ORG 0BH LJMP T0 ORG 13H LJMP INT1 ORG 1BH LJMP T1 ……
18
27256外形与引脚
19
功能表
E
0 0
G
0 1
VPP
Vcc Vcc
Q7~Q0
数据输出 Z
工作模式
读出 禁止输出
1
1 0 1 0 0 X
Vpp
Vpp Vpp Vcc
数据输入
数据输出 数据输出 Z
编程
校验 校验 芯片没被选中
20
• 由于在系统中只需要处于读出、或没选中状态, 不需要编程与校验,因此,Vpp 始终接Vcc (+5V), • E为片选信号,E=0有效,芯片工作。在所选择 的地址范围内,使E=0,对于0000~7FFFH, A15=0,8000H~0FFFFH,A15=1。我们需要将存 储器设计在低32KB地址空间,因此,可以直接将 A15作为芯片选择信号:E=A15。
入口地址 0000H 0003H 000BH 0013H 001BH 0023H 002BH 0033H 003BH 0043H 004BH
0073H 00A3H
备注 系统复位后,程序入口
C8051F020
10
可以看到:对于002BH以前的中断程序入口是标准的,但在此 以后,则不同的生产厂有不同的定义,使用时需要参考生 产厂的相关资料。 资料的获取:一般都可以通过网络获得相关资料。 最方便的是直接进入制造厂的网站,对于使用资料,是公开的。 例如进入Atmel网站,选择芯片型号AT89C52可以查找到相 关资料;
71
D0 78
70
2FH 2FH
2EH ……
17 0F 07
16 0E 06
15 0D 05
14 0C 04
13 0B 03
12 0A 02
11 09 01
10 08 00
22H 21H 20H
27
例如,需要用一个标志位来保存阀门的状态:关闭=0,打开 =1,则可以只用一个为寻址单元。例如用02位(20字节的 D2位)。 位操作指令: SETB (位地址) CLR (位地址) MOV C,(位地址) MOV (位地址),C 还有许多位操作指令,在指令系统章节中再讨论。 例如:SETB 02H ;02为置“1” MOV C,03H ;C03位的状态 MOV 06H,C ;06Hc的状态
2.6 89C51的存储器
1
2
2.6.1 存储器概述
MCS51系列单片机在物理上有4个存储器空间。 程序存储器
0FFFF
数据存储器
0FFFF
89C51
0FFH 0FFF 0000
7F
SRF
80H 0000 扩展 RAM
0000
0000
RAM
片外
片内
片内 RAM
程序存储区,扩展数据存储区,内部数据存储区,专用寄存器 3 区
6
4.中断程序入口地址
(1)程序存储器的低地址部分具有特殊的用途。它 们是中断服务程序的入口地址。 基本51系统系列,0000~0030H之间. 现在有许多新的兼容系列,增强了中断管理能力, 在这之后又增加了一些中断服务程序入口。 (2)我们编写程序时,应该让出这一部分地址。
7
基本51、52单片机中断服务程序入口地址表
MCS-52 的存储器配置 MCS-52 还多了内部高128字节RAM
程序存储器
0FFFF
数据存储器
0FFFF
89C52
0FFH
0FFH 80H RAM
SRF
1FFF 0000
0000
80H 7F
片外
片内
0000 XRAM
0000
内RAM
程序存储区,片外扩展数据存储区,内部数据存储区,专用 4 寄存器区
A1 1 A1 2 A1 3 A1 4
A1 5
23
2.6.3 数据存储器
数据存储器分为: 内部数据存储器 扩展数据存储器 两部分
24
1。内部数据存储器空间
又分为多个不同的空间。 工作寄存器区: 4个,每个区 8个工作寄存器R0……R7 可位寻址的存储器区域 普通数据存储器区 专用寄存器(SFR)区
相关文档
最新文档