通信与接口实验报告,跑马灯,中断计数器等
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华北电力大学科技学院
实验报告
|
|
实验名称微机综合实验
课程名称接口与通信
|
|
实验十可编程并行接口实验
一、实验目的
(1)通过阅读并调试示例程序,掌握8255A可编程并行接口的工作原理。
(2)完成程序设计题。学会并行接口电路的设计。及编写输入输出控制程序。
二、实验内容
1.实验原理
8255A是可编程的通用并行输入/输出接口芯片,因通用性强,使用灵活,可直接与
CPU总线相连,应用非常广泛。
8255A芯片内部有3个8为的输入/输出端口,即A口,B口和C口。从内部控制
的角度来讲,可分为两组:A组合B组。A组控制模块管理A口和C口德高四位
(PC7~PC4),B组控制模块管理B口和C口的低四位(PC3~PC0)。
面向I/O设备的信号线:
(1)PA7~PA0:A口I/O信号线
(2)PB7~PB0:B口I/O信号线
(3)PAC~PC0:C口I/O信号线
面向系统的信号线:
(1)D7~D0:双向数据线,可与系统数据总线相连;
(2)/CS:片选信号,当/CS=0时,选中8255A;
(3)A1、A0:端口选择信号,当/CD有效时,再由A1、A0的组合确定选择A口】B口、C口或控制寄存器口;
(4)/RD:芯片读信号,当/RD=0是。CPU从8255A的指定端口读取数据或状态;
(5)/WR:芯片写信号,当/WR=0时,CPU想向8255A的制定端口写入数据或控制字;
(6)RESET:复位信号,当RESET=1时,所以内部寄存器都被清零,3个端口被自动设为入端口。
8255A的三种工作方式:
(1)方式0:基本输入/输出方式;
(2)方式1:选通型输入/输出方式
(3)方式2:双向数据传送方式
8255A的控制字:
(1)工作方式选择控制字,D7~D0控制位的含义见表。
(2)C口按位置位/复位控制字。
2.实验内容
扩展一片8255A,使其端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。用一组开关信号接入端口B,端口A输出线接至一组发光二极管上,通过对8255A编程实现将开关状态送发光二极管显示。
3.实验程序
MODE EQU 082H
PROTA EQU 8000H
PORTB EQU 8001H
PROTB EQU 8002H
CADDR EQU 8003H
CODE SEGMENT
ASSUME CS:CODE
START:MOV AL,MODE
MOV DX,CADDR
OUT DX,AL
MOV DX,PORTB
IN AL,DX
MOV DX,PORTA
OUT DX,AL
MOV CX,200
LOOP $
JMP START
CODE:ENDS
ENDS START
三、思考题
跑马灯程序设计,要求K0=0时,从左向右跑马灯;K1=0时,从右向左跑马灯;K2=0时,从左从右向中间跑马灯,LED从PC口输出。完成得安路设计及程序的编译,进行调试并验证结果。
程序设计如下:
mode equ 082h
porta equ 8000h
portb equ 8001h
portc equ 8002h
caddr equ 8003h
CODE SEGMENT
assume cs:code
start:
mov al,mode
mov dx,caddr
out dx,al
mov dx,portb
in al,dx
cmp al,00h
jz left
cmp al,02h
jz right
cmp al,04h
jz mid
jmp last
left:
mov cx,8
mov al,10000000b
L1:
mov dx,porta
out dx,al
push cx
ror al,1
mov cx,8000h
loop $
pop cx
loop L1
jmp start
Right:
mov cx,8
mov al,00000001b
R1:
mov dx,porta
out dx,al
push cx
mov cx,8000h
loop $
pop cx
rol al,1
loop R1
jmp start
mid:
mov al,10000001b
mov dx,porta
out dx,al
mov cx,8000h
loop $
mov al,01000010b
out dx,al
mov cx,8000h
loop $
mov al,00100100b
out dx,al
mov cx,8000h
loop $
mov al,00011000b
out dx,al
mov cx,8000h
loop $
jmp start
last:
mov al,00000000b
mov dx,porta
out dx,al
jmp start
code ends
end start
四、实验心得
通过设计跑马灯电路,对于硬件的连接有了更深一层的认识,同时对于编程的熟练有了