通信与接口实验报告,跑马灯,中断计数器等

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

四、实验心得

通过设计跑马灯电路,对于硬件的连接有了更深一层的认识,同时对于编程的熟练有了

相关文档
最新文档