Download presentation
Presentation is loading. Please wait.
1
第七章 MCS-51系统扩展 一、程序存储器扩展
2
二、数据存储器扩展 常用扩展芯片为6116(2K字节)、6264(8K字节)。 外部RAM电路与MCS-51接口
3
三、输入/输出口扩展 1.8255通用并行接口电路
4
2.8155RAM/IO扩展器 A.8155的结构
5
AD0-7:地址数据总线 CE:片选信号 IO/M:RAM/IO选择线 当IO/M=0、CE=0时,选RAM。 当IO/M=0、CE=0时,选IO口。 RD:读 WR:写 ALE:地址锁存信号 B.8155的RAM和I/O口编址 当IO/M=0时,CPU对8155的RAM存贮器进行读写, RAM编址为00H-FFH 当IO/M=1时,CPU对8155的I/O口进行读写, IO编址如下: 命令状态口:00H PA口:01H PB口:02H
6
PC口:03H 定时器低8位:04H 定时器高6位:05H 通常IO/M与P2. 0相连,当CE与P2
PC口:03H 定时器低8位:04H 定时器高6位:05H 通常IO/M与P2.0相连,当CE与P2.6相连地址为 BE00H-BEFFH:RAM BF00H:命令状态口 BF01H:PA口 BF02H:PB口 BF03H:PC口 BF04H:定时器低8位 BF05H:定时器高6位
7
C.I/O口的操作方式和选择 (1)命令寄存器 8155内部有一个命令寄存器,锁存CPU写入的命令,控 制I/O口的操作方式和计数器的运行,其格式如下 所示:
D7 D6 D5 D4 D3 D2 D1 D0 TM2 TM1 IEB IEA PC2 PC1 PB PA D0: PA=0:A口为输入 PA=1:A口为输出 D1: PB=0:B口为输入 PB=1:B口为输出
8
D3、D2: PC2、PC1=00:A、B口为基本输入输出,C口为输入 PC2、PC1=11:A,B口为基本输入输出,C口为输出 PC2、PC1=01:A口选通输入输出,B口为基本I/O PC0:A-INTR PC1:A-BF, PC2:A-STB PC3-5:输出 PC2、PC1=10:AB口为选通输入输出 PC0:A-INTR PC1:A-BF, PC2:A-STB PC3:B-INTR PC4:B-BF, PC5:B-STB
9
D4: IEA=0:禁止A口中断 IEA=1:允许A口中断 D5: IEB=0:禁止B口中断 IEB=0:允许B口中断 D7、D6: TM2、TM1 =00 空操作 =01 停止定时器操作 =10 若定时器正在计数长度减为1时停 止计数 =11 置定时器方式和长度后启动计数, 若正在计数,溢出后按新的方式 和长度计数。
10
(2)选通I/O的联络信号线 BF:I/O口缓冲器荡空标志,缓冲器存有数据时BF=1 STB:设备选通信号,低有效 INTR:中断请求输出线 D.状态字节 有一个状态寄存器,锁存8155 I/0口和定时器的 当前状态,供CPU查询,它只能读出不能写入,和命令 寄存器共用一个口地址其格式如下: D7 D6 D5 D4 D3 D2 D1 D0 / TIMER INTE (B) BF INTR (A)
11
E.定时器 8155定时器为14位的减法计数器,对输入计数为减 法,定时器由2个节组成其格式如下: 计数长度低8位
D7 D6 D5 D4 D3 D2 D1 D0 计数长度高6位 D7 D6 D5 D4 D3 D2 D1 D0 M2 M1 对定时器编程时,先把计数长度和定时器方式写 入此2字节。
12
(1)定时器的方式: M2M1=00:单方波 =01:连续方波 =10:单脉冲 =11:连续脉冲 (2)定时器的启停: 任何时候都可置定时器的长度和工作方式,然后必须 将启动命令写入命令寄存器。8155复位后,停止计数 器计数,用命令也可停止计数。 (3)由计数器状态求输入脉冲数的方法 停止计数 分别读出计数器2个字节 取低14位的计数值(注意计数的终值为2)
13
F.8155与MCS-51的连接 8155与MCS-51的连接如图所示
14
F.编程举例 例1:显示P MOV DPTR,#7F00H MOV A,#43H MOVX @DPTR,A MOV A,#73H INC DPTR MOVX @DPTR,A 例2:试编一程序将8155中RAM单元清“0” MOV DPTR,#7E00H MOV R7,#00H CLR A LP:MOVX @DPTR,A INC DPTR DJNZ R7,LP RET
15
例3:设8155A,B口工作于基本输出输入方式,试编一程序 根据B口所接的输入开关状态,点亮A口相应的指示 灯
例3:设8155A,B口工作于基本输出输入方式,试编一程序 根据B口所接的输入开关状态,点亮A口相应的指示 灯.(开关合上点亮灯) MOV DPTR,#7F00H MOV A,#01H MOVX @DPTR,A INC DPTR INC DPTR MOVX CPL A DEC DPL MOVX @DPTR,A LP:SJMP LP
16
3.8253可编程定时器/计数器 A.8253与MCS-51的连接 8253与MCS-51的连接如图所示:
17
B.编程举例: 例:设8031晶振为12MHz,则CLK2频率为2MHz 口地址为:7FFCH(0计) FFDH(1计) FFEH(2计) FFFH(控) 要求使OUT2输出40KHz方波 程序如下: INT1: MOV DPTR,#7FFFH MOV A,#B6H MOVX @DPTR,A MOV DPTR,#7FFEH MOV A,#32H MOVX @DPTR,A CLR A MOVX @DPTR,A RET
Similar presentations