8255与多位LED数码管的显示

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验2 8255与多位LED数码管的显示实验

一、实验目的

掌握8255A的编程原理与多位LED数码管的显示方法。

二、实验设备

MUT—Ⅲ型实验箱、8086CPU模块。

三、实验内容

把待显示字符的LED代码组成一个七段代码表,存放在存储器中。通过对8255编写程序在多位LED 数码管上显示输出。

1、设计出8255与8086接口对应硬件电路,并完成相应的连接

2、设计出8255与LED数码管的对应硬件接口电路,并完成相应的连接

3、编写程序,在数码管上显示相应字符或数字

4、写出习题部分要求的程序

四、实验原理介绍

本实验用到两部分电路:8255可编程并口电路和LED数码管的显示电路。实验箱数码管采用共阴极形式。

五、实验步骤

1、实验接线

CS0↔CS8255

(输出)PA0~PA7↔ LED-A~LED-DP(段控)

(输出)PB0~PB5↔ LED-1~LED-6(位控)

2、编程并全速或单步运行。

3、全速运行时观察数码管的变化。

六、实验提示

1.8255A是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。本实验中用到8255A

的A口和B口两个端口,A口和B口均作为输出口。实验中,8255A工作于基本输入输出方式(方式

0)。

2.用8255A端口B的PB0~PB5,控制LED的显示位,即8255A的端口B为LED数码显示器

的位控制端口。当B口中一位输出为“0”时,便在相应数码管的阴极加上了低电平,这个数码管就可

以显示数据。但具体显示什么数码,则由另一个端口,即段控制端口决定。段控制端口由6个数码

管共用,因此当CPU送出一个显示代码时,各数码管的阳极都收到了此代码。但是,只有位控制码

中低位对应的数码管才会导通而显示数字,其他管子并不发光。

3.对显示器采用动态扫描法控制显示。所谓动态扫描,就是逐个接通6位LED,把端口A送出

的代码送到相应的位上去显示。此时,8255A的端口A送出的一个七段码,虽然各位LED都能接收

到,但由于端口B只有一位输出低电平,所以只有一个LED的相应段导通显示数字,其他LED不

亮。这样,端口A依次输出LED七段代码,端口B依次选中一位LED,便可以在各位上显示不同

的数据。每个数码管显示数字,并不断地重复显示,由于人的视觉惯性作用,当重复频率达到一定

程度,不断地向8位LED输送显示代码和扫描各位时,就可以实现相当稳定的数字显示。显而易见,

重复频率越高,每位数码管延时显示的时间越长,数字显示得就越稳定,显示亮度也就越高。

七、实验结果

程序全速运行后,待显示字符应能在LED上显示出来。

八、程序源代码清单

assume cs:code

code segment

org 100h

start: nop

nop

start1: mov cx,06h

mov bx,00feh

mov dx,04a6h

mov ax,80h

out dx,ax

disp: mov di,offset segcod

mov dx,04a0h

mov al, bh

mov ah, 00h

add di,ax

mov al,cs:[di]

out dx,al

mov dx, 04a2h

mov al, bl

out dx, al

push cx

call delay

pop cx

inc bh

rol bl,1

loop disp

jmp start1

delay: mov cx,45h ;延时常数可以自己定义

delay1: n op

nop

nop

nop

loop delay1

ret

segcod db 6dh,7dh,07h,7fh,6fh,77h(每个学生都要自己定义)

code ends

end start

九、实验要求:熟悉8255A的相关知识,写出实验预习报告(主要包括8255A的基础内容、实验电路连接、程序代码),否则不允许进入实验室。

十、习题:重新定义待显示字符,将自己学号的后6位显示出来。

相关文档
最新文档