第七章 单片机系统扩展及接口技术主要内容
1、扩展三总线的产生
2、扩展程序存储器
3、扩展数据存储器
4、简单并行 I/O口的扩展
5、扩展 8155可编程外围并行接口芯片下周实验一、题目:模拟交通红绿灯实验二、实验目的:掌握定时器的应用三、程序流程图:
四、连线,P1.0~P1.7?8只发光二极管状态 1:南北红灯亮;状态 2:东西绿灯亮中断服务程序标志 F0=1?
P1口输出状态 1
P1
口输出状态 2
RETI
N
Y
T0赋初值
F0取反,R3赋初值
R3-1=0?N
YR3,T0初始化置状态 1标志 F0=1
主程序等待中断开 T0,开中断
P1口输出状态 1
7,0 系统扩展、接口概述
1、系统扩展单片机虽然各功能部件齐全,但容量较小,如:片内 ROM、
RAM,I/O口,不够用时需要扩展,扩展三总线,ROM、
RAM,I/O口 。
2,系统接口微机与外设连接因 速度不匹配,信号类型不同 (脉冲、模拟),传输方式不同 (串、并),需要有接口电路实现电路连接和逻辑联接。
接口是计算机与外设信息交换的桥梁。
3、接口电路应具备的功能
( 1) 输入有缓冲、输出有锁存;
( 2)有应答联络信号; ( 3)有片选、控制信号;
( 4)有编程选择工作方式功能。
4、单片机系统的扩展与接口原理结构 (如下图)
7.1 扩展三总线的产生一、三总线 地址、数据、控制总线二、三总线的扩展用 74LS373作为地址锁存器,使数据和地址信号分开。
74LS373是三态
8D触发器。
地址总线扩展电路及地址锁存器 74LS373
允许输出控制
7.2 扩展程序存储器
8031片内无程序存储器,需要扩展 ROM; 8051/
8751片内有 4kBROM,不够用时也需要扩展。
7,2,1 访问片外程序存储器的操作时序一、访问程序存储器的控制信号
ALE----地址锁存信号
PSEN----片外程序存储器读信号
EA----片内、外程序存储器访问选择信号
EA=0:访问片外; EA=1:访问片内二、操作时序
1、不执行,MOVX”指令时的时序
2、执行,MOVX”指令时的时序
WR、
7,2,1 扩展 8KB/16KB EPROM
一、常用的程序存储器芯片
EPROM----紫外线擦除的可编程只读存储器常用的芯片有,2764( 8KB,13位地址线),27128
( 16KB,14位地址),27256( 32KB),27512( 64KB)
二、扩展 8KB/16KB EPROM
注意,
控制信号:
LAE、
PSEN
片选信号:
CE
地址信号:
A0~A12
数据信号:
O0~O7
对于扩展的 8KB的 2764
的地址范围为( 13位地址线):
P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
ⅹ 0 ⅹ 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
地址范围为,0000~1FFFH
P2.6接片 选信号 CE,为 0有效。 P2.7,P2.5取 0
对于扩展的 8KB的 27128
的地址范围为( 14位地址线):
P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
ⅹ 0 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
地址范围为,0000~3FFFH
P2.6接 片选信号 CE,为 0有效。 P2.7取 0
7.3 扩展数据存储器单片机片内数据存储器小,仅 128B,往往需要扩展。
7,3,1 常用的数据存储器芯片简介常用的数据存储器芯片有 RAM,E2PROM。
一、静态 RAM( SRAM)芯片常用的有,6116( 2KB),6264( 8KB,13位地址线),62256( 32KB,15位地址线)等。
常用的静态 RAM芯片引脚如下图:
二,E2PROM
E2PROM----电擦除的可编程只读存储器。
常用的 E2PROM有 2816( 2KB)、
2817( 2KB),2864A( 8KB)。
E2PROM的特点:
1、单 5v电源擦写;
2、可重复写 1万次,保留 20年;
3、与相同容量的 RAM和
EPROM在引脚上兼容;
4、速度:读 200ns、写 20ms左右。
E2PROM即可作为 RAM使用,
也可作为 ROM使用 。
7,3,2 访问片外 RAM的操作时序
1、片外 RAM读时序
1、片外 RAM写时序
7,3,3 8051扩展 2KB RAM
扩展方法:
数据线,P0口接 RAM的 D0~D7
地址线,P0口经地址锁存器后接 RAM的 A0~A7、
P2口接 RAM的 A0~A15
控制线,RD接 RAM的 OE,WR接 RAM的 WE
8051扩展 2KB RAM电路如下页图所示。
与 74LS373同
CE已接地,常有效对于扩展的 2KB的 6116
的地址范围为( 11位地址线):
P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
ⅹ ⅹ ⅹ ⅹ ⅹ 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
地址范围为,0000~07FFH
P2.7,P2.6,P2.5,P2.4,P2.3 取 0
7,3,4 8031/8051扩展 32KB EPROM
和 32KB RAM
数据总线 DB,D0~D7
地址总线 AB,A0~A14
P2.7
A8~A14
A0~A7
CE已接地
7,3,5 8031扩展 8KB E2PROM
如下图所示,构成新三片系统 。
2864A即作程序存储器又作 数据存储器,并且数据可以长期保存。
注意与门
74LS08的作用。 高 8位地址低 8位地址
8位数据线
1,E2PROM的读写操作读仍然用:
MOVX A,@DPTR 或
MOVX A,@Ri
写仍然用:
MOVX @DPTR,A 或
MOVX @Ri,A
2,E2PROM写的方法每次 连续写 16个字节,然后 查询 是否写完,未写完要等待,若写完了,再连续写 16个字节。
3、写 E2PROM的子程序:
子程序的入口参数:
R1=写入的字节数,DPTR=源数据的地址
R0= 写入的低 8位地址,P2=写入的高 8位地址
WR1,MOVX A,@DPTR
MOVX @R0,A
INC DPTR
INC R0
CJNE R0,#0,NEXT
INC P2
NEXT,DJNZ R1,WR1
DEC R0
MOV R4,A
CHECK,MOVX A,@R0
XRL A,R4
JNZ CHECK
RET
7.4 简单并行 I/O口的扩展在稍微大的系统,单片机片的并行口便不够用,
需要扩展。
所谓简单扩展,就是使用通用的 74系列的 TTL或
4000系列的 CMOS芯片扩展。
7,4,1 I/O口的直接输入输出略。
7,4,2 简单 I/O接口的扩展方法常用 74LS244作输入接口芯片,起缓冲作用 ;用
74LS273作输出接口芯片,起锁存作用 。
扩展的输入输出口地址均为:
P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
ⅹ ⅹ ⅹ ⅹ ⅹ ⅹ ⅹ 0 ⅹ ⅹ ⅹ ⅹ ⅹ ⅹ ⅹ ⅹ
除了 P2.0以外均取 1,则扩展的输入输出口地址写成 16进制数均为:
FEFFH
上面电路的功能是:按下某键,对应的 LED发光。
其程序为:
MOV DPTR,#0FEFFH
LP,MOVX A,@DPTR
MOVX @DPTR,A
SJMP LP
7.5 扩展 8155可编程外围并行接口芯片关于 Intel的 8155/8156,是一多功能的可编程外围接口芯片,内部资源 有 256B的 RAM,2个 8位,1个 6
位的 I/O口 和 1个 14位的“减 1”计数器 。 40脚双列直插封装。
7,5,1 8155的结构与引脚
7,5,2 8155的 RAM和 I/O口地址其地址按片外 RAM统一编址( 16位)。
CE,IO/M接单片机的高 8位地址。
一,I/O口(即片内寄存器)地址
CE=0,IO/M=1,低 3位选择寄存器二,256B RAM的地址
CE=0,IO/M=0,由高 8位地址控制;低 8位选择
RAM的 256个存储单元。
7,5,3 8155的寄存器( 6个)
一、命令寄存器地址,*****000B
输入输出
PC3~PC5出工作控制二、状态寄存器
1,地址,*****000B
2、格式及各位的意义三,PA寄存器是 PA口引脚 PA0~PA7的映射地址,*****001B
四,PB寄存器是 PB口引脚 PB0~PB7的映射地址,*****010B
五,PC寄存器是 PC口引脚 PC0~PC7的映射地址,*****011B
六、定时器 /计数器寄存器是一 14位计数器,对应有两个寄存器,最高两位设定输出波形。
1、地址,两个寄存器的地址分别为,*****100B
2、寄存器格式 *****101B
M2M1的意义 (决定输出波形),
7,5,4 8155芯片的使用一、作片外 256B RAM用低 8位地址范围为,00H~FFH
二、作扩展 I/O口用
PA口,PB 口,PC 口注意:工作方式、地址三、作定时器扩展用一般先写计数常数,再写命令字。
7,5,5 8031与 8155的接口及简单编程一,8031与 8155的连接方法
P2.7=0
P2.0=0
P2.7=0
P2.0=1
P2.1~P2.6均取 1
二,8155的基本操作程序段
1、对 8155中的 RAM进行操作例 1 ( 1)向 8155RAM中的 5FH单元 写入数据 32H;
( 2)从 8155RAM中的 98H单元 读取数据 。
程序段如下:
( 1)写数据:
MOV DPTR,#7E5FH
MOV A,#32H
MOVX @DPTR,A
( 2) 读数据:
MOV DPTR,#7E98H
MOVX A,@DPTR
2、对 8155中的 I/O口和定时器进行操作例 2 设置 8155,使用 I/O口和定时器:使 A口为基本输入方式,B口为基本输出方式;定时器作方波发生器,对输入的脉冲进行 24分频。试编程实现之。
思路,先对定时器赋初值和设定输出波形,向定时器 /计数器寄存器中写;再设定 A,B口的工作方式和传输方向,并启动定时器工作,向命令寄存器中写。
程序段如下:
( 1)对定时器赋初值和设定输出波形:
定时器 /计数器寄存器地址,7F04H,7F05H
MOV DPTR,#7F04H
MOV A,#24
MOVX @DPTR,A
INC DPTR
MOV A,#01000000B
MOVX @DPTR,A
( 2)设定 A,B口的工作方式并启动定时器工作:
命令寄存器地址,7F00H
MOV DPTR,#7F00H
MOV A,#11000010B
MOVX @DPTR,A
第七章作业
3 9 6 7
12(参考 P124的图 7-10)
下周实验:实验十三 电子音响电路连接:除了讲义上的连接外,将 P3.2与 E或 F
相连。
等待中断
T0初始化主程序开 T0,开中断设置外中断 0
为边沿触发方式外中断服务子程序据 P1值给 T0赋不同的初值送
30H,31H
读取 P1口值中断返回
T0中断服务子程序对 P3.0取反
T0赋初值中断返回
1、扩展三总线的产生
2、扩展程序存储器
3、扩展数据存储器
4、简单并行 I/O口的扩展
5、扩展 8155可编程外围并行接口芯片下周实验一、题目:模拟交通红绿灯实验二、实验目的:掌握定时器的应用三、程序流程图:
四、连线,P1.0~P1.7?8只发光二极管状态 1:南北红灯亮;状态 2:东西绿灯亮中断服务程序标志 F0=1?
P1口输出状态 1
P1
口输出状态 2
RETI
N
Y
T0赋初值
F0取反,R3赋初值
R3-1=0?N
YR3,T0初始化置状态 1标志 F0=1
主程序等待中断开 T0,开中断
P1口输出状态 1
7,0 系统扩展、接口概述
1、系统扩展单片机虽然各功能部件齐全,但容量较小,如:片内 ROM、
RAM,I/O口,不够用时需要扩展,扩展三总线,ROM、
RAM,I/O口 。
2,系统接口微机与外设连接因 速度不匹配,信号类型不同 (脉冲、模拟),传输方式不同 (串、并),需要有接口电路实现电路连接和逻辑联接。
接口是计算机与外设信息交换的桥梁。
3、接口电路应具备的功能
( 1) 输入有缓冲、输出有锁存;
( 2)有应答联络信号; ( 3)有片选、控制信号;
( 4)有编程选择工作方式功能。
4、单片机系统的扩展与接口原理结构 (如下图)
7.1 扩展三总线的产生一、三总线 地址、数据、控制总线二、三总线的扩展用 74LS373作为地址锁存器,使数据和地址信号分开。
74LS373是三态
8D触发器。
地址总线扩展电路及地址锁存器 74LS373
允许输出控制
7.2 扩展程序存储器
8031片内无程序存储器,需要扩展 ROM; 8051/
8751片内有 4kBROM,不够用时也需要扩展。
7,2,1 访问片外程序存储器的操作时序一、访问程序存储器的控制信号
ALE----地址锁存信号
PSEN----片外程序存储器读信号
EA----片内、外程序存储器访问选择信号
EA=0:访问片外; EA=1:访问片内二、操作时序
1、不执行,MOVX”指令时的时序
2、执行,MOVX”指令时的时序
WR、
7,2,1 扩展 8KB/16KB EPROM
一、常用的程序存储器芯片
EPROM----紫外线擦除的可编程只读存储器常用的芯片有,2764( 8KB,13位地址线),27128
( 16KB,14位地址),27256( 32KB),27512( 64KB)
二、扩展 8KB/16KB EPROM
注意,
控制信号:
LAE、
PSEN
片选信号:
CE
地址信号:
A0~A12
数据信号:
O0~O7
对于扩展的 8KB的 2764
的地址范围为( 13位地址线):
P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
ⅹ 0 ⅹ 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
地址范围为,0000~1FFFH
P2.6接片 选信号 CE,为 0有效。 P2.7,P2.5取 0
对于扩展的 8KB的 27128
的地址范围为( 14位地址线):
P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
ⅹ 0 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
地址范围为,0000~3FFFH
P2.6接 片选信号 CE,为 0有效。 P2.7取 0
7.3 扩展数据存储器单片机片内数据存储器小,仅 128B,往往需要扩展。
7,3,1 常用的数据存储器芯片简介常用的数据存储器芯片有 RAM,E2PROM。
一、静态 RAM( SRAM)芯片常用的有,6116( 2KB),6264( 8KB,13位地址线),62256( 32KB,15位地址线)等。
常用的静态 RAM芯片引脚如下图:
二,E2PROM
E2PROM----电擦除的可编程只读存储器。
常用的 E2PROM有 2816( 2KB)、
2817( 2KB),2864A( 8KB)。
E2PROM的特点:
1、单 5v电源擦写;
2、可重复写 1万次,保留 20年;
3、与相同容量的 RAM和
EPROM在引脚上兼容;
4、速度:读 200ns、写 20ms左右。
E2PROM即可作为 RAM使用,
也可作为 ROM使用 。
7,3,2 访问片外 RAM的操作时序
1、片外 RAM读时序
1、片外 RAM写时序
7,3,3 8051扩展 2KB RAM
扩展方法:
数据线,P0口接 RAM的 D0~D7
地址线,P0口经地址锁存器后接 RAM的 A0~A7、
P2口接 RAM的 A0~A15
控制线,RD接 RAM的 OE,WR接 RAM的 WE
8051扩展 2KB RAM电路如下页图所示。
与 74LS373同
CE已接地,常有效对于扩展的 2KB的 6116
的地址范围为( 11位地址线):
P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
ⅹ ⅹ ⅹ ⅹ ⅹ 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
地址范围为,0000~07FFH
P2.7,P2.6,P2.5,P2.4,P2.3 取 0
7,3,4 8031/8051扩展 32KB EPROM
和 32KB RAM
数据总线 DB,D0~D7
地址总线 AB,A0~A14
P2.7
A8~A14
A0~A7
CE已接地
7,3,5 8031扩展 8KB E2PROM
如下图所示,构成新三片系统 。
2864A即作程序存储器又作 数据存储器,并且数据可以长期保存。
注意与门
74LS08的作用。 高 8位地址低 8位地址
8位数据线
1,E2PROM的读写操作读仍然用:
MOVX A,@DPTR 或
MOVX A,@Ri
写仍然用:
MOVX @DPTR,A 或
MOVX @Ri,A
2,E2PROM写的方法每次 连续写 16个字节,然后 查询 是否写完,未写完要等待,若写完了,再连续写 16个字节。
3、写 E2PROM的子程序:
子程序的入口参数:
R1=写入的字节数,DPTR=源数据的地址
R0= 写入的低 8位地址,P2=写入的高 8位地址
WR1,MOVX A,@DPTR
MOVX @R0,A
INC DPTR
INC R0
CJNE R0,#0,NEXT
INC P2
NEXT,DJNZ R1,WR1
DEC R0
MOV R4,A
CHECK,MOVX A,@R0
XRL A,R4
JNZ CHECK
RET
7.4 简单并行 I/O口的扩展在稍微大的系统,单片机片的并行口便不够用,
需要扩展。
所谓简单扩展,就是使用通用的 74系列的 TTL或
4000系列的 CMOS芯片扩展。
7,4,1 I/O口的直接输入输出略。
7,4,2 简单 I/O接口的扩展方法常用 74LS244作输入接口芯片,起缓冲作用 ;用
74LS273作输出接口芯片,起锁存作用 。
扩展的输入输出口地址均为:
P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
ⅹ ⅹ ⅹ ⅹ ⅹ ⅹ ⅹ 0 ⅹ ⅹ ⅹ ⅹ ⅹ ⅹ ⅹ ⅹ
除了 P2.0以外均取 1,则扩展的输入输出口地址写成 16进制数均为:
FEFFH
上面电路的功能是:按下某键,对应的 LED发光。
其程序为:
MOV DPTR,#0FEFFH
LP,MOVX A,@DPTR
MOVX @DPTR,A
SJMP LP
7.5 扩展 8155可编程外围并行接口芯片关于 Intel的 8155/8156,是一多功能的可编程外围接口芯片,内部资源 有 256B的 RAM,2个 8位,1个 6
位的 I/O口 和 1个 14位的“减 1”计数器 。 40脚双列直插封装。
7,5,1 8155的结构与引脚
7,5,2 8155的 RAM和 I/O口地址其地址按片外 RAM统一编址( 16位)。
CE,IO/M接单片机的高 8位地址。
一,I/O口(即片内寄存器)地址
CE=0,IO/M=1,低 3位选择寄存器二,256B RAM的地址
CE=0,IO/M=0,由高 8位地址控制;低 8位选择
RAM的 256个存储单元。
7,5,3 8155的寄存器( 6个)
一、命令寄存器地址,*****000B
输入输出
PC3~PC5出工作控制二、状态寄存器
1,地址,*****000B
2、格式及各位的意义三,PA寄存器是 PA口引脚 PA0~PA7的映射地址,*****001B
四,PB寄存器是 PB口引脚 PB0~PB7的映射地址,*****010B
五,PC寄存器是 PC口引脚 PC0~PC7的映射地址,*****011B
六、定时器 /计数器寄存器是一 14位计数器,对应有两个寄存器,最高两位设定输出波形。
1、地址,两个寄存器的地址分别为,*****100B
2、寄存器格式 *****101B
M2M1的意义 (决定输出波形),
7,5,4 8155芯片的使用一、作片外 256B RAM用低 8位地址范围为,00H~FFH
二、作扩展 I/O口用
PA口,PB 口,PC 口注意:工作方式、地址三、作定时器扩展用一般先写计数常数,再写命令字。
7,5,5 8031与 8155的接口及简单编程一,8031与 8155的连接方法
P2.7=0
P2.0=0
P2.7=0
P2.0=1
P2.1~P2.6均取 1
二,8155的基本操作程序段
1、对 8155中的 RAM进行操作例 1 ( 1)向 8155RAM中的 5FH单元 写入数据 32H;
( 2)从 8155RAM中的 98H单元 读取数据 。
程序段如下:
( 1)写数据:
MOV DPTR,#7E5FH
MOV A,#32H
MOVX @DPTR,A
( 2) 读数据:
MOV DPTR,#7E98H
MOVX A,@DPTR
2、对 8155中的 I/O口和定时器进行操作例 2 设置 8155,使用 I/O口和定时器:使 A口为基本输入方式,B口为基本输出方式;定时器作方波发生器,对输入的脉冲进行 24分频。试编程实现之。
思路,先对定时器赋初值和设定输出波形,向定时器 /计数器寄存器中写;再设定 A,B口的工作方式和传输方向,并启动定时器工作,向命令寄存器中写。
程序段如下:
( 1)对定时器赋初值和设定输出波形:
定时器 /计数器寄存器地址,7F04H,7F05H
MOV DPTR,#7F04H
MOV A,#24
MOVX @DPTR,A
INC DPTR
MOV A,#01000000B
MOVX @DPTR,A
( 2)设定 A,B口的工作方式并启动定时器工作:
命令寄存器地址,7F00H
MOV DPTR,#7F00H
MOV A,#11000010B
MOVX @DPTR,A
第七章作业
3 9 6 7
12(参考 P124的图 7-10)
下周实验:实验十三 电子音响电路连接:除了讲义上的连接外,将 P3.2与 E或 F
相连。
等待中断
T0初始化主程序开 T0,开中断设置外中断 0
为边沿触发方式外中断服务子程序据 P1值给 T0赋不同的初值送
30H,31H
读取 P1口值中断返回
T0中断服务子程序对 P3.0取反
T0赋初值中断返回