|
实验17
8155实验
8155是作为输入输出以及RAM扩充的IC.特性如下:
256字节的RAM。一组可编程6位IO口。两组可编程8位IO口。可编程14位二进制计时计数器。
多工地址和数据总线。内部地址锁存。8155采用40脚双列直插封装,单一+5v电源。
管脚说明:

RESET:复位信号线,复位时三个输入/输出口预置为输入方式。
CE:片选端,8155为低电平有效。
AD0~AD7:三态地址/数据总线。在ALE
的下降沿把8位地址锁存于内部地址锁存器,地址可代RAM或输入/输出用,由IO/M信号的极性而定,8位数据的流向取决于RD或WR信号的状态。
ALE:地址锁存器启用信号线,高电平有效,其下降沿把AD0~AD7上的地址,片选信号、IO/M信号锁存起来。
IO/M:IO和RAM选择信号线。
RD:读信号线,低电平有效
WR:写信号线,低电平有效。当片选信号和WR信号有效时,AD0~AD7上的数据将根据IO/M极性
写入RAM或I/O口。
PA0~PA7:输入/输出口A的信号线。 寄存器的编程来选择。
PB0~PB7:输入/输出口B的信号线。 寄存器的编程来选择。
PC0~PC5:输入/输出口C的信号线。
INT:定时/计数器输入信号线,定时/计数器的时钟由此线输入。
TOUT:定时/计数器的输出信号线,输出信号为方波还是脉冲则由定时/计数器的工作方式而定。
VCC:电源线,接+5V直流电源。
VSS:接地线,接到公用地线上。
程序运行照片:

接线方法:
1、用一根8PIN的数据排线,
一端接到8155部份的JP58一端接到CPU部份的P0口JP51.
2、用一根4PIN数据线一端插入CPU部份JP53(P3口)的P3.4,3.5,3.6,3.7另外一端插入8155部份的JP63。
(注意在XL2000中另外设立了一个JP61作为8155的PB口输出。
可用于其他实验)
程序流程图:

汇编语言参考程序:
org 00h
JMP MAIN
ORG 0050H
MAIN:
MOV 08EH,#02H;禁掉XRAM
clr p3.5 ;8155复位
setb p3.5
clr p3.5
setb p3.4 ;8155IO/M=1选择使用在输入输出口。
mov r1,#00h ;命令状态寄存器地址00H
mov a,#0fh ;设定命令/状态寄存器PA,PB,PC为输出
movx @r1,a
a1: MOV R1,#01H ;PA的地址01
MOV R2,#08H ;左移动8次
MOV A,#0FEH ;左移初值
A2: MOVX @R1,A ;输出到PA
CALL DELAY ;延时
RL A ;左移1位
DJNZ R2,A2 ;是否到8次?
MOV R1,#02H ;PB口地址02H
MOV R2,#08H
MOV A,#0FEH
A3: MOVX @R1,A
CALL DELAY
RL A
DJNZ R2,A3
MOV R1,#03H ;PC口地址03H
MOV R2,#06H
MOV A,#0FEH
A4: MOVX @R1,A
CALL DELAY
RL A
DJNZ R2,A4
JMP A1
DELAY: ;延时程序
MOV R7,#255
D1:MOV R6,#255
D2: DJNZ R6,D2
DJNZ R7,D1
RET
End |