当前位置:文档之家› (8255A)可编程并行接口

(8255A)可编程并行接口

(8255A)可编程并行接口
(8255A)可编程并行接口

浙江工业大学计算机学院

实验报告

实验名称定时/计数器(8253)

姓名

学号

班级

教师

日期 2014.11.2

◆实验目的和要求

了解8255A 并行接口芯片的工作原理,学会设置方式选择控制字,设置C 端口置位控制字 ,如何从端口读入,输出数据。并且了解A 、B 、C 各个端口的工作机理和它们之间的联系。

◆实验设备(环境)及要求

PC 机一台,TPC-USB 平台,8255A 并行接口芯片

◆实验要求

实验(1):

从8255端口C 输入数据,再从端口A 输出。

实验(2):

用8255测试3-8译码器74LS138输出结果。要求人机交互界面设计按照集成电路74LS138芯片的引脚图显示在屏幕上,如图3.3所示。

Y0Y1Y2Y3Y4Y5Y6Y7+-----------------------------------------------------+

+-----------------------------------------------------+||||||||||A 74LS138B C G1G2A + G2B Test Again ? (Y/N)

图3.3 TPC-USB 平台8255方式0实验二:人机交互界面图 实验(3):

编程实现每按一次单脉冲按钮产生一个正脉冲,使8255产生一次中断请求,让CPU 进行一次中断服务:依次输出01H 、02H ,04H ,08H ,10H ,20H ,40H ,80H 使L0~L7依次发光,中断8次结束。

实验(4):

编程实现:每按一次单脉冲按钮产生一个正脉冲使8255产生一次中断请求,让CPU 进行一次中断服务:读取逻辑电平开关预置的ASCII 码,在屏幕上显示其对应的字符,中断8次结束。

◆实验步骤

实验(1):

1)连接实验电路如图3.1,8255端口C 接逻辑电平开关K0~K7,端口A 接LED 显示电路L0~L7。

K2L0K0K1K3

K4K5K6K7288H

L1L2L3L4L5L6L7

U18 8255

图3.1 TPC-USB 平台8255方式0实验一连线

2)根据流程图3.2,编程并运行,观察实验结果。

图3.2 TPC-USB 平台8255方式0实验1:程序流程

1)按图3.4连接硬件电路。

288H

图3.4 TPC-USB 平台8255方式0实验二连线图

2)根据流程图3.5,编程并运行,观察实验结果。

图3.5 TPC-USB 平台8255方式0实验二流程图

1)按图3.6连好线路。

288H ~ 28FH

L0L1L2L3L4L5L6L7

IRQ

图3.6 TPC-USB 平台8255方式1输出实验连线图

2)根据流程图3.7,编程并运行,观察实验结果。

(B) 输出中断服务程序

(A) 输出主程序

(A ) 输出主程序 (B ) 输出中断服务程序

图3.7 TPC-USB 平台8255方式1输出实验流程图

实验(4):

1)按图3.8连好线路。

288H ~ 28FH

8255

k0k1k2k3k4k5k6k7

IRQ

图3.8 TPC-USB 平台8255方式1输入实验连线图

2)根据流程图3.9,编程并运行,观察实验结果。

(B) 输出中断服务程序

(A) 主程序

(A ) 输出主程序 (B ) 输出中断服务程序

图3.9 TPC-USB 平台8255方式1输入实验流程图

◆实验结果

实验(1):

PC0~PC7对应的各个开关打开,相应PA端口的灯就亮,开关关闭,则相应PA端口的灯就灭。

实验(2):

在屏幕上74LS138译码器的各个引脚上输入相应的值,由A、B、C三个引脚的二进制值计算出十进制数(这部分都是译码器的工作),行对应的引脚输出0,其他引脚输出1。

实验(3):

每按一次单脉冲按钮,产生一次中断请求,依次使L0~L7灯亮,中断8次结束。

实验(4):

每按一次单脉冲按钮,产生一次中断请求,在屏幕上显示A端口开关预置的ASIIC码,中断8次结束

◆讨论和分析

(1)实验结果分析:

实验(1):

通过mov dx,28AH in al,dx读入C端口的字,即读入C端口的开关预置的值,又通过mov dx,288H out dx,al 把从C端口读入的字送到A端口,所以A端口相应的灯会亮。实验(2):

在屏幕上A、B、C相应的引脚输入值,通过调用InputB子程序将输入的值读入A端口,经过译码器的计算,在Y0~Y7引脚输出对应的值,然后由C端口读入,调用OutputC子程序一位一位得取出来,然后依次输出在屏幕上对应的引脚。

实验(3):

每按一次单脉冲按钮,产生一次中断请求,通过mov al,bl mov dx,288h out dx,al将bl 的值从8255的A口输出,由于bl初始化为01H,每一次中断以后执行shl bl,1 将bl左移一位,即01H变成02H,依次变成04H、08H、10H…….所以L0~L7会依次发光。

实验(4):

每按一次单脉冲按钮,产生一次中断请求,通过mov dx,288h in al,dx自8255A口输入一数据,又通过mov dl,al mov ah,02h int 21h 将数据在屏幕上输出。,bl初始化为8,每执

行一次中断bl减1,所以8次以后退出。

(2)实验总结及需要注意的问题:

由于各种硬件设备的连线都与前面的实验比较相似,所以在硬件连接上没有出现什么问题,在第一个实验过程中,中间都没有差错,但是就是出不了结果,经过几番折腾后,我们换了它的端口,因为288H端口就是没有结果,换了280端口后才成功了,所以本来最简单的一个实验却耗费了很长的时间。

实验2相对来说是这几个实验中最难做的,代码运行后不管怎么输入引脚值,Y0~Y7引脚输出的都是全1,代码也找不出错误,后来重启了实验运行软件,结果就好了。

实验3其实也比较简单,但是实验结果就是A端口连接的灯都不会亮,在这里也耗费了很多时间,后来才发现在做第2个实验的时候,把74LS138译码器移到了另一个位置,导致小灯不能发光,移到原来位置以后就可以了。

实验4跟实验3的原理差不多,一个是输入,一个是输出,所以在实验3的基础上很快就完成了。

◆实验主要代码

实验(1):

code segment

assume cs:code

start:

mov al,10001001B

mov dx,28BH

out dx,al ;设置方式选择控制字

mov dx,28AH

in al,dx ;读入C端口的字

mov dx,288H

out dx,al ;把从C端口读入的字送到A端口

mov dl,al

mov ah,2

int 21h ;显示输出,dl中存储的为输出的字符

mov dl,0dh

int 21h ;回车符

jmp start

mov ax,4c00h ;返回DOS系统

int 21h

code ends

end start

实验(2):

data segment

chip db 13,10

db 13,10

db 'Program to test the chip of 74LS138',13,10

db 13,10

db 13,10

db '+------------------------------+',13,10

db '| A B C G1 G2A+G2B |',13,10

db '| |',13,10

db '| 74LS138 |',13,10

db '| |',13,10

db '| Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 |',13,10

db '+------------------------------+',13,10,'$'

mess db 'After you have ready,Please press any key !','$'

mes2 db 'Test Again ?(Y/N)','$'

InA db 0

OutC db 0

cll db '','$'

data ends

;********************************************

code segment

assume cs:code,ds:data

start:

mov ax,data

mov ds,ax

again:

call cls ;屏幕初始化

call InputB ;输入各个引脚的子程序,InA赋值

mov dx,28bh ;设置方式选择控制字

mov al,10001011b

out dx,al

mov dx,288h ;把InA的值送到A端口

mov al,InA

out dx,al

call OutputC ;C端口读入,并显示在屏幕相应引脚上

jmp1:

mov ah,2

mov dh,15

mov dl,20

int 10h ;置光标位置,dh为行,dl为列

mov ah,09 ;输出提示符Test Again ?(Y/N)

lea dx,mes2

int 21h

mov ah,1

int 21h ;从键盘输入一个字符存于al中

cmp al,'y' ;判断是否为Y

je again ;相等则重复执行

cmp al,'n' ;判断是否为N

je exit ;相等则退出

mov ah,2

mov dh,15

mov dl,0

int 10h ;置光标位置,dh为行,dl为列

lea dx,cll ;输出cll字符串

mov ah,9

int 21h

jmp jmp1 ;如果输入的既不是Y也不是N,则跳到jump1继续执行

exit:

mov ah,4ch

int 21h

;********************************************

InputB proc near

mov ah,2

mov bh,0

mov dx,0

int 10h ;置光标位置,dh为行,dl为列

mov ah,09

lea dx,chip

int 21h ;显示74LS138芯片视图

mov ah,2

mov bh,0

mov dh,15

mov dl,10

int 10h ;置光标位置,dh为行,dl为列

mov ah,09h

lea dx,mess

int 21h ;提示输入引脚值

mov ah,0ch

mov al,08h

int 21h ;清除缓冲区,并请求指定的输入功能为08h

wait1:

mov ah,0Bh

int 21h ;检验键盘状态

cmp al,0

jne wait1 ;不相等,继续等待

mov ah,2

mov bh,0

mov dh,15

mov dl,10

int 10h ;置光标位置

lea dx,cll

mov ah,9

int 21h ;输出cll字符串

mov dh,4 ;用于置光标位置

mov dl,18

jmp3:

push dx

mov ah,2

mov bh,0

int 10h ;置光标位置

jmp4:

mov ah,7

int 21h ;键盘输入(无回显),输入值存放在al

cmp al,'1' ;输入为1则往下执行,不为1则跳转到jump2执行jne jmp2

mov ah,2

xchg al,dl

int 21h ;输出刚刚输入的字符

mov cl,1 ;用于移位

mov bl,InA ;把InA的值存入bl

sal bl,cl ;bl算数左移一位

add bl,1 ;bl加1

mov InA,bl ;将bl的值存入InA

jmp jmp5

jmp2:

cmp al,'0'

jne jmp4 ;输入为0则往下执行,不为0则跳转到jump2执行,重新输入

mov ah,2

xchg al,dl

int 21h ;输出刚刚输入的字符

mov cl,1 ;用于移位

mov bl,InA ;把InA的值存入bl

sal bl,cl ;bl算数左移一位

mov InA,bl ;将bl的值存入InA

jmp5:

pop dx ;保持原来的光标位置

add dl,5 ;原来的光标位置向右移5位

cmp dl,43 ;与43比较;若不到43跳到jmp3继续执行输入引脚

jb jmp3 ;若不到43跳到jmp3继续执行输入引脚

mov cl,3 ;设置移位的位数

mov bl,InA ;把InA的值存到bl

sal bl,cl ;算数左移3位

mov InA,bl ;把bl的值重新放回到InA

ret

InputB endp

;********************************************

cls proc near

mov ah,6

mov al,0

mov ch,0

mov cl,0

mov dh,24

mov dl,79

mov bh,7

int 10h ;屏幕初始化,AL为页号,BH为卷入行属性,CH/CL为左上角行

;列号,DH/DL为右上角行/列号

ret cls

endp

;********************************************

OutputC proc near

mov dx,28ah

in al,dx ;读C端口的值

mov OutC,al ;将值暂存在OutC中

mov dh,12

mov dl,16 ;用于置光标位置

j:

push dx ;保护现场,使pop dx以后DX的值不改变

mov ah,2 ;置光标位置

mov bh,0

int 10h

mov al,OutC ;将OutC放回到al

mov bl,01h ;二进制位00000001B,用于取al的最低位

and bl,al ;取al的最低位存放于bl中

mov cl,1 ;用于移位

shr al,cl ;al向右移1位,是原来的第二位变成最低位

mov OutC,al ;将值暂存在OutC中

add bl,30h ;将ASIIC码转换成字符形式,用于输出

xchg bl,dl ;交换bl.dl中的值

mov ah,2 ;输出DL中的值,即刚才取出的最低位

int 21h

pop dx

add dl,4

cmp dl,46

jb j

ret

OutputC endp

;********************************************

code ends

end start

实验(3):

code segment

assume cs:code

start: mov ax,cs

mov ds,ax

mov dx,offset int_proc

mov ax,250bh ;设外部中断int_proc类型号为0BH int 21h

mov dx,21h ;读入中断屏蔽命令字

in al,dx

and al,0f7h ;开放IRQ3中断

out dx,al

mov dx,28bh ;置8255为A口方式1输出

mov al,0a0h

out dx,al

mov al,0dh ;将PC6置位

out dx,al

mov bl,1 ;bl初始化为1

sti ;开中断

ll:

jmp ll ;空循环等待中断

int_proc:

mov al,bl 将bl的值送到al

mov dx,288h ;将AL从8255的A口输出

out dx,al

mov al,20h ;发中断结束命令

out 20h,al

shl bl,1 ;bl左移一位

jnc next ;中断次数小于8,返回主程序

in al,21h ;读入中断屏蔽命令字

or al,08h ;关闭IRQ3中断

out 21h,al

sti ;开中断

mov ah,4ch ;返回DOS

int 21h

next:

iret ;返回主程序

code ends

end start

实验(4):

code segment

assume cs:code

start: mov ax,cs

mov ds,ax

mov dx,offset int_proc ;将中断子程序的偏移地址送dx

mov ax,250bh ;设置中断类型号为0bh

int 21h

mov dx,21h

in al,dx ;读入中断屏蔽命令字

and al,0f7h ;开放IRQ3中断

out dx,al

mov dx,28bh ;设8255为A口方式1输入

mov al,0b8h

out dx,al

mov al,09h ;PC4置位

out dx,al

mov bl,8 ;BL为中断次数计数器

sti ;开中断

ll:

jmp ll ;循环等待中断

int_proc: ;中断服务程序

mov dx,288h ;自8255A口输入一数据

in al,dx

mov dl,al ;将所输入的数据保存到DL

mov ah,02h ;在屏幕上显示ASCII码为DL的字符

int 21h

mov dl,0dh ;回车

int 21h

mov dl,0ah ;换行

int 21h

mov dx,20h ;发出中断结束命令

mov al,20h

out dx,al

dec bl ;计数器减1

jnz next ;不为0则返回主程序,继续等待下一次中断in al,21h

or al,08h

out 21h,al ;关IRQ3中断

sti ;开中断mov ah,4ch ;返回DOS int 21h

next:

iret

code ends

end start

实验十三 可编程并行接口8255A芯片实验

实验十三可编程并行接口8255芯片实验 一、实验目的 1、了解8255芯片的结构和功能。 2、掌握8255初始化程序的设计方法。 3、学会8255和CPU信号的连接方法。 二、电路逻辑图 三、实验内容 第一题: 由8255A的A接口输出数据,驱动4个LED,使其顺序显示0--F的二进制状态,每个状态保持1秒钟。 源程序: CODE SEGMENT ASSUME CS:CODE START:MOV DX,283H;向8255送控制字MOV AL,80H OUT DX,AL MOV CX,16;设置计数次数 MOV AL,00H;设置初始显示值L1:MOV DX,280H;A口输出

OUT DX,AL CALL DELAY;延时1秒 INC AL;显示状态加1 LOOP L1;16次循环 MOV AH,4CH INT 21H DELAY PROC NEAR;1秒延时子程序PUSH CX MOV BX,299H FOR1:MOV CX,0FFFFH FOR2:LOOP FOR2 DEC BX JNZ FOR1 POP CX RET DELAY ENDP CODE ENDS END START 第二题: 用8255方式1将4位开关量设置的二进制数由B口选通输入CPU,3秒钟后由A口选通输出送LED显示。要求通过对状态字IBFB和OBFA的测试来控制程序运行。STBB和ACKA 由消抖电路产生。 源程序: CODE SEGMENT ASSUME CS:CODE START:MOV DX,283H;向8255送控制字 MOV AL,0A6H OUT DX,AL MOV DX,282H;读C口状态字,检测IBF L1: IN AL,DX AND AL,02H;和02H相与 JZ L1;为高时数据已锁存,向下继续 MOV DX,281H;读B口数据AGAIN:IN AL,DX CALL DELAY;延时3秒 MOV DX,280H;通过A口输出 OUT DX,AL MOV DX,282H;读C口状态 L2: IN AL,DX AND AL,80H;检测OBF,为高说明ACK 信号已有,可返回主程序 JZ L2 MOV AH,4CH INT 21H DELAY PROC NEAR;延时3秒程序 PUSH CX

微机原理与接口技术实验五报告8255 并行接口实验

电子信息专业实验报告 课程微机原理与接口技术实验 实验题目8255并行接口实验 学生姓名lz评分 学号20171414xxxxxxx班级 同实验者 实验时间2019.11.9上午地点望江实验室基B520电子信息学院专业实验中心

一、实验目的 1、掌握8255A的工作原理 2、掌握8255A的编程方法 二、实验内容(含技术指标) 1、8255A的A口作为输入口,与逻辑电平开关相连。8255A的B口作为输出口,与发光二极管相连。编辑程序,单步运行,调试程序; 2、K1~K8控制LED1~LED8 3、K1控制LED1、LED2;K2控制LED3、LED4 K3控制LED5、LED6;K4控制LED7、LED8 4、K置H,对应LED亮;K置L,对应LED灭 5、全速运行程序,观看实验结果。 三、实验仪器(仪器名称、型号,元器件名称、清单,软件名称、版本等) 清华同方微机;8086单片机原理实验系统;EL型微机试验箱 四、实验原理(基本原理,主要公式,参数计算,实现方法及框图,相关电路等) 1、开关量输入输出电路 开关量输入电路由8只开关组成,每只开关有两个位置H和L,一个位置代表高电平,一个位置代表低电平。对应的插孔是:K1~K8。开关量输出电路由8只LED组成,对应的插孔分别为LED1~LED8,当对应的插孔接低电平时LED点亮,其原理见图一。 2、8255并行接口电路 该电路由1片8255组成,8255的数据口、地址、读写线、复位控制线均已接好,片选输入端插孔为8255CS,A,B,C三端口的插孔分别为:PA0~PA7,PB0~PB7,PC0~PC7,电路原理见图二。 3、8255A工作基本输入输出方式

8255并口实验详解

xxxx大学计算机学院实验报告

一、实验内容与要求 1.1 实验内容 (1)8255方式0实验 从8255端口C输入数据,再从端口A输出 (2)8255方式1输出实验 编程实现每按一次单脉冲按钮产生一个正脉冲,使8255产生一次中断服务:依次输出01H,02H,04H,08H,10H,20H,40H,80H使L0~L7依次发光,中断8次结束。 (3)8255方式1输入实验 编程实现:每按一次单脉冲按钮产生一个正脉冲使8255产生一次中断请求,让CPU进行一次中断服务:读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。 1.2 实验要求 (1)8255方式0实验 实验预期效果:拨动逻辑开关,启动程序,开关打开的对应灯可以亮起。改变开关的状态,灯的亮暗也随之改变。 (2)8255方式1输出实验 实验预期效果:按一次单脉冲按钮,L0亮起;以后每按一次,后面的灯依次会亮起。中断8次结束。 (3)8255方式1输入实验 实验预期效果:每按一次单脉冲按钮读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。 二、实验原理与硬件连线 2.1 实验原理 CPU通过指令将控制字写入8255A的控制端口设置它的工作方式。8255A有两个控制字:方式选择控制字和端口C置位/复位控制字,这两个控制字均写入同一个控制端口地址(端口选择

先A1A0=11) 8255A有3种工作方式:方式0——基本输入/输出方式;方式1——选通输入/输出方式;方式2——双向传输方式。方向选择控制字用于设置各端口的工作方式。 方式0称为基本输入/输出方式。该方式下,端口A、端口B、端口C的高4位和端口C的低4位均可独立地设为输入或输出数据端口。在方式0时,8255A与CPU时间没有应答联络信号,可用于无条件传送或查询方式数据传送场合。采用查询方式传送时,可以将端口A、端口B 作为数据端口,用端口C存放外部设备状态信息,用于CPU查询。 方式1称为选通输入/输出方式。该方式下,端口A、端口B可作为数据传输口,而端口C 的一些引脚规定作为端口A、端口B的联络控制信号,有固定的搭配规定。在方式1时,CPU和8255A之间有应答联络信号,所以采用中断方式或程序查询方式传送数据。 当端口A作为方式1输入时,端口C的PC3、PC4、PC5作为端口A的联络控制信号。 当端口A作为方式1输出时,端口C的PC7、PC6、PC3作为端口A的联络控制信号。 状态字通过读端口C获得。需要强调,从端口C读出的状态字与端口C的外部引脚的状态无关。 2.2 硬件连线 (1)8255方式0实验1 连接实验电路,8255端口C接逻辑电平开关K0~K7,端口A接LED显示电路 L0~L7 U18 8255 K0 K1 K5 L0 L1 L2 L3 L4 L5 L6 L7图2-2-1 实验一接线

实验二 8255A并行接口实验

实验二 8255A并行接口实验(一) 一实验目的 1、掌握通过8255A并行口传输数据控制LED发光二极管的亮灭;进一 步熟悉软件编程环境。 二实验设备 1、微机系统一套; 2、TPC-3型微机接口实验系统一台; 3、导线若干。 三实验内容 1、基础部分:用8255A的A端口控制8个LED发光二极管的亮和灭(端口 输出为1则亮,输出为0则灭)。其中L0―L2为东西方向,L5―L7为南北 方向、L3-L4不用,PA口与相应的发光二极管驱动信号输入端相连,输入端 为1时发光二极管亮。接线如图4-5所示。 图4-5 编制程序,通过8255A控制发光二极管,以模拟交通灯的管理。 2.提高部分:利用开关K0,K1的控制,以模拟几种交通灯的管理,具体要求 为: K0K1灯控制 00正常运行 01南北路口绿灯亮、东西路口红灯亮 10东西路口绿灯亮、南北路口红灯亮 3.如果模拟车流量大小来来决定红绿灯交通时间,请问你有什么解决办法。如果 能解决请加以解释并编程调试。

四、编程提示: 1.要完成本实验,首先必须了解交通灯的亮灭规律。设有一个十字路口,南北、东西方向初始态为四个路口的红灯全亮。之后,南北路口的绿灯亮,东西 路口的红灯亮,南北路口方向通车。延迟一段时间后,南北路口的绿灯熄灭, 而南北路口的黄灯开始闪烁。闪烁8次后,南北路口的红灯亮,同时东西路口 的绿灯亮,东西路口方向开始通车。延迟一段时间后,东西路口的绿灯熄灭, 而黄灯开始闪烁。闪烁苦干次后,再切换到南北路口方向。之后,重复上述过 程。 2.程序中应设定好8255A的工作模式,使三个端口均工作于方式0,并处于输出态 3.8255A的A端口地址为:288H B端口地址为:289H C端口地址为:28AH 控制口地址为:28BH 五、实验要求: 1.做好实验预习和准备工作,并写出预习报告(要求写出实验的流程图及程序),熟练掌握8255A编程原理及编程方法。 2.实验操作的最低要求是要做出实验内容的基础部分,然后根据实际操作能力争取做出实验内容的提高部分及回答实验内容的第三部分问题。 3.写出实验报告,内容为: 1)实验目的; 2)实验设备; 3)实验中遇到的问题及解决问题的分析思路与办法,问题定位及问题的性质; 4)对本实验的建议及有何创新。 ;这是自动生成的代码模板 STACKS SEGMENT STACK ;堆栈段 DW 128 DUP(?) ;注意这里只有128个字节 STACKS ENDS DATAS SEGMENT ;数据段 ;请在这里定义您的数据 DATAS ENDS CODES SEGMENT ;代码段 ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS ;初始化 MOV DS,AX

8086软硬件实验报告(微机原理与接口技术上机实验)

实验一实验环境熟悉与简单程序设计 实验目的 (1)掌握DEBUG调试程序的使用方法。 (2)掌握简单程序的设计方法。 实验内容 编程将BH中的数分成高半字节和低半字节两部分,把其中的高半字节放到DH中的低4位(高4位补零),把其中的低半字节放到DL中的低4位(高4位补零)。如: BH=10110010B 则运行程序后 DH=00001011B DL=00000010B 实验准备 (1)熟练掌握所学过的指令。 (2)根据实验内容,要求预先编好程序。 实验步骤 (1)利用DEBUG程序输入、调试程序。 (2)按下表要求不断地修改BH的内容,然后记录下DX的内容。 实验报告 (1)给出程序清单。 (2)详细说明程序调试过程。

程序: CODE SEGMENT START : MOV BH,00111111B MOV AL,BH MOV CL,4 SHR AL,CL MOV DH,AL MOV AL,BH AND AL,00001111B MOV DL,AL MOV CL,0 CODE ENDS END START

实验二简单程序设计 实验目的 (3)掌握DEBUG调试程序的使用方法。 (4)掌握简单程序的设计方法。 实验内容 试编写一个汇编语言程序,要求实现功能:在屏幕上显示:Hello world My name is Li Jianguo 参考程序如下:(有错) data segment out1 db 'Hello world' ax db 'My name is Li Jianguo' data ens code segment assume cs:code;ds:data lea dx,out1 mov ah,2 int 21h mov dl,0ah mov ah,2

8255并行口实验实验报告

8255并行口实验实验报告 作者: 一、实验目的 掌握8255A的编程原理。 二、实验设备 CPU挂箱、8086CPU模块。 三、实验内容 8255A的A口作为输入口,与逻辑电平开关相连。8255A的B口作为输出口,与发光二极管相连。编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。 四、实验原理介绍 本实验用到两部分电路:开关量输入输出电路和8255可编程并口电路。 五、实验步骤 1、实验接线 CS0?CS8255; PA0~PA7?平推开关的输出K1~K8; PB0~PB7?发光二极管的输入LED1~LED8。 2、编程并全速或单步运行。 3、全速运行时拨动开关,观察发光二极管的变化。当开关某位置于L 时,对应的发光二极管点亮,置于H时熄灭。 六、实验提示 实验也是如此。实验中,8255A工作于基本8255A是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。8255A有三个8位的输入输出端口,通常将A端口作为输入用,B端口作为输出用,C端口作为辅助控制用,本输入输出方式(方式0)。 七、实验结果 程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。例如:K2置于L位置,则对应的LED2应该点亮。 八、程序框图(实验程序名:t8255.asm)

开始 设置8255工作方式 读A口 输出至B口 结束 九、程序源代码清单: assume cs:code code segment public org 100h start: mov dx,04a6h ;控制寄存器地址 mov ax,90h ;设 置为A口输入,B口输出 out dx,ax mov al,0feh start1:mov dx,04a2h 芯片的 入口地址 out dx,al mov bl,al mov dx ,04a0h in al,dx test ax,01h jz strat2 mov al ,bl rol al,1 流水灯循环左移 mov bl,al mov cx,3000h 设置cx为灯闪烁时间对应的循环次数 add: loop add jmp start1 无条件跳转至start1 strat2:mov al,bl mov dx,04a2h out dx,al ror al,1 流水灯循环左移 mov bl, al mov cx,3000h add1: loop add jmp start 无条件跳转至start code ends end start 十、实验总结 通过该实验,掌握了8255A的编程原理,学会了用汇编语言来编写程序控制8255A进行流水灯的操作实验。

8255A并行口实验

实验四 1

OUT DX,AL INC DX OUT DX,AL MOV CX,0800H LOOP $ NOT AL JMP P11 CODE ENDS END H1 8255A并行口实验㈡PA输入、PB输出 一、实验目的 ⑴掌握8255A和微机接口方法。 ⑵掌握8255A的工作方式和编程原理。 二、实验内容 用8255 PA作开关量输入口,PB作输出口。 编程提示 8255A芯片简介 8255A可编程外围接口芯片是Intel公司生产的通用并行接口芯片,它具有A、B、C三个并行接口,用+5V电源供电,能在以下三种方式下工作: 方式0:基本输入/输出方式 方式1:选通输入/输出方式 方式2:双向选通工作方式 使8255A端口A工作在方式0并作为输入口,读取K1—K8八个开关量,送PB 口显示。PB口工作在方式0作为输出口。 实验步骤 ⑴按实验电路图连接线路: ①8255A芯片A口的AP0~PA7依次和开关量输入插孔K1~K8相连。 ②8255A芯片B口的AB0~PB7依次接L1~L8 ⑵运行实验程序。 在系统处“P.”状态时,输入32E0,按EXEC键, 拨动K1~K8、L1~L8会跟着亮灭。 -----------------硬件实验二8255A并行口实验(2) PA输入,PB输出------------- CODE SEGMENT 2

ASSUME CS:CODE,DS:CODE,ES:CODE ORG 32E0H PA EQU 0FFD8H PB EQU 0FFD9H PC EQU 0FFDAH PCTL EQU 0FFDBH H2: MOV DX,PCTL MOV AL,90H OUT DX,AL P2: MOV DX,PA IN AL,DX INC DX OUT DX,AL JMP P2 CODE ENDS END H2 3

8255试验报告(方式1查询输出)

《微型计算机接口技术》实验报告 实验名称:可编程并行接口芯片8255应用 (8255方式1、查询输出) 姓名 学号: 班级: 日期: 广东外语外贸大学信息科学技术学院

一、实验目的 掌握8255方式1查询输入、输出时的使用及编程 二、实验内容 1、按照图示连接硬件(注意图中大多数线试验箱已经连好,只连接需要用户连接的部分,预习,参考PPT) 2、编程:每按一次单脉冲按钮,ACK信号有效,8255内部输出准备好状态有效(INTR),查询输出一次数据,点亮、熄灭相应的发光二极管。 三、实验原理(8255方式1输出:结合结构图、时序图、状态字描述) 8255是一片可编程并行I/O接口芯片,每片8255有两个8位的并行口(PA,PB)和两个4位并行口(PC的高、低四位),其中PA口可工作于方式0,1,2。PB口工作于方式0,1。PC口仅能工作于方式0。在方式1中,将8255的三个端口分为了A、B两组,PA、PB两个口仍作为数据输入/输出口,而PC口则作为两部分,分别作为PA、PB口的联络信号。8255A 方式1 A口输出过程由CPU响应中断开始,在中断中用OUT指令通过8255A 向外设输出数据,发出WR 信号;WR上升沿清除INTRA 中断请求信号,且使OBFA =“L”(有效),通知外设取数;当外设接受数据后,发出ACKA 应答信号,一方面使OBFA=“H”(无效),另一方面在ACKA信号的上升沿使INTRA=“H”(有效),以此向CPU发出新的中断请求,开始下一轮输出。 四、硬件设计及方案论证(完整图的信号线连接及作用:数据、地址、控制及外设线)硬件设计如图,其中: 1.8255芯片中的数据总线D0—D7是和CPU的数据线直接相连的,从而CPU可以向8255 发送命令、数据和8255芯片也可以向CPU发送状态、数据等等。 2.8255芯片中的A0和A1也是与CPU的地址总线直接相连,并且在控制字在以下几种 情况有不同的设置,若A1A0= 00时,8255芯片中的PA口被选中,若A1A0=01时,8255芯片中的PB口被选中,若A1A0=10时,8255芯片中的PC口被选中,若A1A0=11时,则8255芯片的控制口被选中。 3.8255芯片的读信号、写信号、复位信号,分别于CPU的IOR、IOW、RESET直接相 连,当CPU执行IN指令时,8255的读信号有效,CPU从8255芯片读取信息,当CPU 执行OUT指令时,8255的写信号有效,CPU输出信息到8255芯片,完成一定的功能。 而当CPU发出复位的信号时,8255也会进行复位操作。 4.8255芯片中的片选信号与3—8译码器的Y1相连,而Y1的寻址范围是288H—28FH, 而8255芯片中的端口A的地址是288H,端口B的地址是289H,端口C的地址是28AH,控制端口的地址是28BH,因此4的端口都在在3—8译码器的Y1的寻址范围之内。5.8255芯片的PC6与脉冲信号是连接在一起,8255芯片的A端口与二极管L7—L0直接 相连。当脉冲信号到来,PC6会被置1,允许中断,CPU会将数据通过8255芯片的A 口输出到二极管L7中,点亮相应的灯。 。。。。。。等等详细论证,如我课堂所讲

8255并行接口实验

8255并行接口实验 4.5.1 实验目的 1. 学习并掌握8255的工作方式及其应用。 2. 掌握8255典型应用电路的接法。 3. 掌握程序固化及脱机运行程序的方法。 4.5.2 实验设备 PC 机一台,TD-PITE 实验装置或TD-PITC 实验装置一套。 4.5.3 实验内容 1. 基本输入输出实验。编写程序,使8255的A 口为输入,B 口为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就发生相应改变。 2. 流水灯显示实验。编写程序,使8255的A 口和B 口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。 4.5.4 实验原理 I/O I/O I/O I/O PA7-PA0 PC7-PC4 PC3-PC0 PB7-PB0 图4.31 8255内部结构及外部引脚图 并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。CPU 和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。8255可编程外围接口芯片是Intel 公司生产的通用并行I/O 接口芯片,它具有A 、B 、C 三个并行接口,用+5V 单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。8255的内部结构及引脚如图4.31所示,8255工作方式控制字和C 口按位置位/复位控制字格式如图4.32所示。

位(a )工作方式控制字 (b )C 口按位置位/复位控制字 1 图4.32 8255控制字格式 8255实验单元电路图如图4.33所示: 图4.33 8255实验单元电路图 4.5.5 实验步骤 1. 基本输入输出实验 本实验使8255端口A 工作在方式0并作为输入口,端口B 工作在方式0并作为输出口。用一组开关信号接入端口A ,端口B 输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。具体实验步骤如下述: (1)实验接线图如图4.34所示,按图连接实验线路图。 (2)编写实验程序,经编译、连接无误后装入系统。 (3)运行程序,改变拨动开关,同时观察LED 显示,验证程序功能。 (4)点击“调试”下拉菜单中的“固化程序”项,将程序固化到系统存储器中。 (5)将短路跳线JDBG 的短路块短接到RUN 端,然后按复位按键,观察程序是否正常运行;关闭实验箱电源,稍等后再次打开电源,看固化的程序是否运行,验证程序功能。 (6)实验完毕后,请将短路跳线JDBG 的短路块短接到DBG 端。

微机接口 8255并行接口实验报告

浙江工业大学计算机学院实验报告 实验名称 8255并行接口实验 姓名徐洁 学号 201326810521 班级计科1301班 教师雷艳静 日期 2015/12/31

一、实验内容与要求 1.1 实验内容 8255方式0实验一:从8255端口C输入数据,再从端口A输出,即TPC-USB平台按逻辑电平开关K0~K7通过编程使端口C接收,然后再通过端口A输出到LED显示电路L0~L7,这样逻辑电平开关的值就可以通过8255芯片显示在LED显示电路上。 8255方式1输出实验:编程实现每按一次单脉冲按钮产生一个正脉冲,使8255产生一次中断,让CPU进行一次中断服务:依次输出01H、02H、04H、08H、10H、20H、40H、80H 使LED显示电路L0~L7依次发光,中断8次结束。 8255方式1输入实验:编程实现每按一次单脉冲按钮产生一个正脉冲使8255产生一次中断请求,让CPU进行一次中断服务,读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。 1.2 实验要求 (1) 具有一定的汇编编程的基础,能编写一些基本语句来实现实验。实验前根据实验流程 图,写出对应代码; (2) 要了解8255A并行接口芯片内部结构和外部引脚,理解8255芯片的工作方式和程序设 计方法; (3) 熟悉实验平台TPC-USB了解各个接口的名称与功能,进行实验时能快速并正确地连接 好实验电路; (4) 8255方式0实验一:连接PC与TPC-USB平台,用微机实验软件运行程序,用TPC-USB 平台上的逻辑电平开关与LED显示电路观察,LED显示的值与逻辑电平开关设的值对应; (5) 8255方式1输出实验:连接PC与TPC-USB平台,用微机实验软件运行程序,手按单 脉冲按钮,观察LED显示电路能依次发光,按8次后,中断结束,程序结束; (6) 8255方式1输入实验:连接PC与TPC-USB平台,用微机实验软件运行程序,用TPC-USB 平台的逻辑电平开关设置一个ASCII码,按一次单脉冲,屏幕就能显示该ASCII码对应的字符,变更逻辑电平的开关,按一次单脉冲,屏幕就会显示变更的ASCII码对应的字符。这样操作N次之后,中断结束,程序结束。

8255A并行口实验(二)内容

上海电力学院实验报告计算机硬件实验课程 题目:8255A并行口实验(二)内容 班级: 姓名: 学号:

一、实验目的 掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。 二、实验内容 1、实验原理 实验原理图如图所示,PB4 ~ PB7和PC0 ~ PC7分别与发光二极管电路L1~ L12 相连,本实验为模拟交通灯实验。交通灯的亮灭规律如下: 设有一个十字路口,1、3为南北方向,2、4为东西方向,初始为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车; 延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1 、3 路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车;延时一段时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后重复 上述过程。 8255A的PB4~ PB7对应黄灯,PC0 ~ PC3对应红灯,PC4~ PC7对应绿灯。8255A工作于模式0,并置为输出。由于各发光二极管为共阳极,使其点亮 应使8255A相应端口清0。 2、实验线路连接 (1) CS-8255插孔连译码输出Y7插孔。 (2) L1 - PC4 L4 - PC5 L7 - PC6 L10 - PC7 L2 - PB4 L5 - PB5 L8 - PB6 L11 - PB7 L3 - PC0 L6 - PC1 L9 - PC2 L12 - PC3

三、实验框图 四、实验程序 CODE SEGMENT ASSUME CS:CODE IOCONPT EQU 0FF2BH IOAPT EQU 0FF28H IOBPT EQU 0FF29H IOCPT EQU 0FF2AH ORG 10e0H START:MOV DX,IOCONPT MOV AL,80H

单片机可编程8255接口实验报告

可编程8255接口实验报告 ㈠实验目的 1.掌握可编程并行接口芯片的基本工作原理及其使用方,熟悉8255可编程并行I/O扩展接口。 2.掌握8255可编程并行I/O扩展接口方法,能够利用8255可编程并行接口芯片设计简单应用系统。 ㈡实验器材 1. G6W仿真器一台 2. MCS-51实验板一台 3. PC机一台 4.电源一台 ㈢实验内容及要求 1.声光报警器实验 8255是可编程的通用并行输入输出扩展接口。8255芯片的片选信号CS4 及口地址选择线AA0、AA1分别由8051的地址线提供。8255的A口设置为输入数据端口,B口设置为输出数据端口,通过控制位操作控制字将C口某一位置位或复位,B口与发光二极管LED相连,C口与蜂鸣器相连,读取A 口数据,只要有一位为“1”,则点亮发光二极管LED(B口输出为低,LED 亮,反之,LED 灭),同时蜂鸣器响(若 C口某一位置1,蜂鸣器不响)。 2.交通灯控制实验 通过并行接口8255实现十字路nb 口交通灯的模拟控制。L6~L8与 PC5~PC7 相连,作为南北路口的交通灯,L1~L3与PC0~PC2相连,作为东西路口的交通等。编程使六个灯按以下规律变化:南北路口的“绿”灯(L8)、东西路口的“红”灯(L1)同时亮30秒(要求有倒计时显示);南北路口的“黄” 灯(L7)闪烁若干次,同时东西路口“红”灯(L1)继续亮;南北路口的“红” 灯(L6)、东西路口的“绿”灯(L3)同时亮30秒(要求有倒计时显示);东西路口的“黄”灯(L2)闪烁若干次,南北路口的“红”灯(L6)继续亮; 重复以上步骤。

㈣实验步骤 1.连接8255芯片的片选信号CS4及口地址选择线AA0、AA1,并根据片选信号及口地址选择线确定8255的各I/O口地址和控制字寄存器的地址。 2.声光报警器实验的连线 ①8255的A口的8位根据需要接入高低电平。 ②8255的B口中任一口与TEST相连,运行程序,即可观察L9发光二极 管。 ③在实验板上接入蜂鸣器,并且8255的PC7与BEEP相连,运行程序,即 可听到蜂鸣器鸣响声。 3.交通灯控制实验的连线 8255的PC口与J2相连。 ㈤思考题 1.8051和 8255的接口电路同单片机CPU与I/O之间的数据传送方式有关, 传送方式可分为无条件传送方式、查询传送方式和中断传送方式。本实 验是采用无条件传送方式,那么在中断传送方式中8255与单片机之间是 如何连接的? 说明8255A的A口在方式1的选通输入方式下的工作过程。 解:当外设输入一个数据并送到PA7-PA0上时,输入设备自动在选通输入线STBA 向8255A发送一个低电平选通信号。8255A收到选通信号后:首先把PA7-PA0上输入的数据存入A口的输入数据缓冲/锁存器;然后使输入缓冲器输出线IBFA 变成高电平,以通知输入设备,8255A的A口已收到它送来的输入数据。8255A 检测到联络线STBA由低电平变成了高电平、IBFA为1状态和中断允许触发器INTEA为1时,使输出线INTRA(PC3)变成高电平,向8031发出中断请求。(INTEA 的状态可由用户通过对PC4的置位/复位来控制。8031相应中断后,可以通过中断服务程序从A口的输入数据缓冲/锁存器读取外设发来的输入数据。当输入数据被CPU读走后,8255A撤销INTRA上的中断请求,并使IBFA变为低电平,以通知输入外设可以送下一个输入数据。 2.用实验结果来说明8255方式0的特点。 3.用实验结果来说明8255方式1的工作情况。

8255并口控制器应用实验

实验一8255并口控制器应用实验 一、实验目的 1. 掌握8255 的工作方式及应用编程。 2. 掌握8255 典型应用电路接法。 二、实验内容 1. 基本输入输出实验。编写程序,使8255 的A 口为输出, B 口为输入, 完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就改变。 2.流水灯显示实验。编写程序,使8255 的A 口和 B 口均为输出,实现16 位数据灯的相对循环显示。 三、实验所用仪表及设备 1. 要PC微机一台。 2. TD-PIT 实验系统一套。 四、实验原理与步骤 1.8255简介 并行接口是以字节或字为单位与I/O 设备或被控制对象之间传递信息。CPU 和接口之间的数据传送总是并行的,即可以同时传递8 位、16 位、32 位等。 Intel公司的可编程通用并行接口芯片8255具有 A 、B 、C 三个并行接口。提供以下三种工作方式:方式0—基本输入/出方式、方式1—选通输入/出方式、方式2—双向选通方式。8255的引脚如图10-1 所示,8255的工作方式控制字和 C 口按位置位/复位制字格式如图10-2(a)和(b)所示。

图10-1 8255的内部结构及引脚 图10-2(a)工作方式控制字 2.基本输入输出实验 让8255的端口A作为输出口工作在方式0,端口 B 作为输入口工作在方式0。用一组开关信号接入端口B ,端口A的输出线接至一组数据灯上,然后通过对8255 芯片编程来实现输入输出功能。

图10-3 8255基本输入输出实验参考接线图 实验步骤如下: 1)确认从PC 机引出的两根扁平电缆已经连接在实验平台上。 2)参考图10-3 所示连接实验线路。 3)首先运行CHECK 程序,查看I / O空间始地址。 4)利用查出的地址编写程序,编写或修改参考程序,编译链接。 5)运行程序,拨动开关,看数据灯显示是否正确。 参考程序如下: ;***************根据CHECK配置信息修改下列符号值***************** PCI_INTCSR EQU 0CC38H ;PCI卡中断控制寄存器地址IOY0 EQU 0C400H ;***************************************************************** MY8255_A EQU IOY0+00H*4 ;8255计数器0端口地址 MY8255_B EQU IOY0+01H*4 ;8255计数器1端口地址

实验二8255并行接口应用实验

文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持. 实验二 8255并行接口应用实验 一.实验目的 1. 掌握8255工作方式的编程设计。 2. 8255与外部设备进行连接的应用。 二.实验设备与材料: TDN86/88教学实验系统一台,扁平插线若干。 三.实验原理: INTEL8255是一种通用的可编程并行I /O 接口芯片,是专为INTEL 公司的微处理器设计的,也可用于其它系列的微型机系统中。利用8086汇编指令系统,编制初始化程序,可以变更8255 的工作方式,通用性强,使用灵活。8255具有3个带锁存或缓冲的数据端口,它的并行数据宽度为8位。可与外设并行进行数据交换。A 口和B 口内具有中断控制逻辑,在外设与CPU 之间可用中断方式进行信息交换。 8255能与许多外部设备连接,例如:键盘、显示器、打印机等。 (a)工作方式控制字 (b)C 口按位置位/复位控制字 四.实验内容及步骤 1.8255的一般输入输、出方式 本系统中的8255芯片8255的数据线、地址线、读写控制线等分别与系统总线相连,其A 、B 、C 三个端口以排针形式引出,供8255实验使用,其线路如图1所示。 图1 8255接口实验中端口地址如表1所示 表1 8255端口A 工作在方0并作为输出口,端口B 工作在方式0并B, A 输出线接至一组发光二极管上,通过 对8255编程来实现输入输出功能。 实验步骤 ● 图2 8255输入输出方式实验接线图 注:圆圈处是要求接的连线。 (1)按图2接线。用扁平线(8头)分别插在8255的A 口和发光二极管的插针上。用扁平线 分别插在8255的B 口和拨动开关的插针上。 (2)输入源程序,汇编、连接后装入系统。 ● 参考程序1 STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV AL,82H ;设8255方式字 A 位输出,B 口位输入。 OUT 63H,AL A1: IN AL,61H OUT 60H,AL JMP A1 CODE ENDS END START (3)执行程序后,拨动开关组K0-K7,观察发光二极管LED0-LED7变化,它应是与开关组K0-K7的值是一一对应的变化。 2.8255的选通输入、输出方式 按图3 所示实验线路,8255端口A 工作在方式0并作为输出口,端口B 工作在方式1并作为输入口。从端口C 的PC2成为选通信号输入, 端STBb,PC0成为中断请求信号输出端INTRb 。当B 口数据就绪后,通过发口STBb 信号来请求CPU 读取端口B 数据并送A 口输出显示。 信号线 寄存器 编址 IOY3 A 口 60H B 口 61H C 口 62H 控制寄存器 63H

实验三8255A并行口实验

实验三8255A并行口实验 一、实验目的 1、了解8255A的基本工作方式及特点。 2、学会8255A在计算机系统中的典型应用方法。 二、实验内容 利用8255A的PA端口作为输入口,读取开关状态,并将此状态通过8255A 的PB端口再驱动发光二极管显示出来。 三、实验步骤 1、连线:将实验箱上8255A芯片A口的PA0-PA7依次和开关量输入Kl-K8相连,B口的PB0-PB7依次接Ll-L8。 端口地址:A口---FF28H B口---FF29H C口---FF2AH 控制口---FF2BH 2、编辑程序:实验箱上电,打开实验程序,PC机与下位机通信成功,将事先编好的程序编辑输入。 3、调试程序:编译程序,根据提示更正错误;通过后下载程序至实验箱,然后单步运行程序,观察相应寄存器的值的变化,并察看发光二极管的状态与开关状态是否一致,如不一致,分析原因并改正。 4、运行程序:连续运行程序,改变开关状态,观察发光二极管的状态变化,记录结果。 5、实验总结分析:分析实验过程及结果,完成实验报告。 四、编程

CODE SEGMENT ASSUME CS:CODE IOCONPT EQU 0FF2BH ;设置控制端口常量 IOBPT EQU 0FF29H ;设置数据端口B地址常量 IOAPT EQU 0FF28H ;设置数据端口A地址常量 ORG 11B0H START: MOV AL,90H MOV DX,IOCONPT OUT DX,AL ;往控制端口写控制字,设置A口工作在方式0输入,B方式 0输出 IOLED1: MOV DX,IOAPT IN AL,DX ;读端口A的数值 MOV DX,IOBPT OUT DX,AL ;往端口B输出数据 JMP IOLED1 CODE ENDS END START 五、思考题 1. 利用8255A模拟交通灯系统 2. 利用8255A和实验箱上的8个开关与8个发光二极管设计一个电子抢答器,功能如下:○1K1—K7作为抢答输入端,L1—L7为抢答指示器,K8为控制端;○2K8闭合为抢答开始信号(此时L8亮);○3当正常抢答时,其所对应的发光二极管亮,犯规抢答时(开始信号未发出),其所对应的发光二极管闪烁,无论何种情况,L1—L7中只要有一个发光二极管动作,其他发光二极管均被锁定为熄灭状态;○4无论抢答违规与否,只要K8状态变化,L1—L7均复位。 注意:抢答时开关闭合后应紧接着断开(模拟抢答按钮)

接口实验报告

接口与通讯实验报告 实验一可编程定时计数器8253 一、实验目的 掌握8253的基本工作原理和编程方法。 二、实验内容 按图16虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。 三、编程提示 8253控制寄存器地址283H 计数器0地址280H 计数器1地址281H CLK0连接时钟1MHZ 四·实验原理图 五、实验流程图

六实验代码及注释 ioport equ 0ff00h-0280h;定义宏 io8253a equ ioport+283h io8253b equ ioport+280h code segment assume cs:code start :mov al,10h mov dx,io8253a;输入端口地址 out dx,al;延时 mov dx,io8253b mov al,0fh;初始化 out dx,al;延时 l: in al,dx call disp;调用子程序 push dx;入栈 mov ah,06h mov dl,0ffh int 21h pop dx;出栈 jz l;转l mov ah,4ch;已完,退出 int 21h disp proc near;定义范围为段内push dx and al,0fh;初始化al mov dl,al cmp dl,9;比较

jle num add dl,7 num : add dl,30h mov ah,02h int 21h mov dl,0dh int 21h mov dl,0ah int 21h pop dx ret disp endp code ends end start 七.实验报告 1.8255简介 8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。 8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。 2.8255外部特性及引脚功能 RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。 CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输. RD:读信号线,当这个输入引脚为低跳变沿时,即/RD产生一个低脉冲且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。 WR:写入信号,当这个输入引脚为低跳变沿时,即/WR产生一个低脉冲且/CS=0时,允许CPU将数据或控制字写入8255。

实验五 8255A可编程并行口实验

实验五-1 8255A可编程并行口实验 一、实验目的 1.掌握并行接口芯片8255A和微机接口的连接方法。 2.掌握并行接口芯片8255A的工作方式及其编程方法。 三、实验内容 1.实验原理 如实验原理图6-4所示,PA口8位接8个开关K1~ K8,PB口8位接8个发光二极管,从PA口读入8位开关量送PB口显示。拨动K1~ K8,PB口上接的8个发光二极管L1~ L8对应显示K1~ K8的状态。 图6-4 2.实验线路连接 (1)8255A芯片PA0~ PA7插孔依次接K1~ K8。 (2)8255A芯片PB0~PB7插孔依次接L1 ~ L8。 系统已定义的I/O地址如下: 四、实验软件框图 五、实验参考程序 PA EQU 0FFD8H PB EQU 0FFD9H PC EQU 0FFDAH

PCTL EQU 0FFDBH CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 32E0H H2: 。。。。。。。。。 。。。。。。。。 CODE ENDS END H2 六、实验思考 1.通过实验你是如何理解8255的PA口和PB口的工作过程? 2.用程序验证若8255的PA口为方式1或方式2,是否可以实现PA口控制PB口? 七、实验步骤 1.按图6-4连好线路。 2.运行实验程序,拨动K1~K8,L1~L8会跟着亮灭。 实验五-28255并行口实验(二)A.B.C口输出方波 一、实验目的 掌握可编程I/O接口芯片8255的接口原理使用,熟悉对8255初始化编程和输入、输出软件设计方法。 二、实验内容 在8255 A.B.C口用示波器测出波形。 三、程序流程 四、实验步骤 编译、装载,连续运行程序,用示波器测量8255 A.B.C口并观察其波形。 关键点:ch0、ch1分接PA口的D1、D0;ch0、ch1分接PB口的D1、D0;ch0、ch1分接PC口的D1、D0 五、实验参考程序 PA EQU 0FFD8H PB EQU 0FFD9H PC EQU 0FFDAH PCTL EQU 0FFDBH CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 32C0H H1: JMP P11

相关主题
文本预览
相关文档 最新文档