1 / 10
文档名称:

微机原理硬件实验报告.doc

格式:doc   大小:776KB   页数:10页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

微机原理硬件实验报告.doc

上传人:wwlgqnh 2021/1/21 文件大小:776 KB

下载得到文件列表

微机原理硬件实验报告.doc

相关文档

文档介绍

文档介绍:微机原理硬件实验实验报告
2008******班
姓名:
学号:
实验二:8255A并行接口应用
目录
实验目的 3
实验内容及要求 3
程序流程图 3
实验代码 5
心得体会 9
实验目的
掌握8255A的功能及方式0、1的实现。
熟悉8255A与CPU的接口,以及传输数据的工作原理及编程方法。
了解七段数码管显示数字的原理。
掌握同时显示多位数字的技术。
实验内容及要求
在实验一的基础上学****PIO芯片(8255)编程应用,熟悉平台的主要内容。
(一)、在方式0(输入/输出)下,以A口和B口为输出口,A口接六个共阴极数码管,B口接数码管的位选。通过Debug下I、O的方法找出八段数码管的显示规律及数码管的位先规律。
(二)、6位数码管静态显示
在数码管电路上静态地显示6位学号,当主要键盘按下任意键时,停止显示,返回DOS。
(三)、6位数码管动态显示
要求在数码管电路1-6位数码管上按下图的规律到达最后一个状态的时候自动回到第一个状态,动态显示字符串HELLO,当黂键盘按下任意键时结束。
H
H
E
H
E
L
H
E
L
L
H
E
L
L
H
E
L
L
O
程序流程图
对于该实验,对于数码管的控制的思路是,为每一个数码管准备一个的内存空间,数码管所显示的内容就是该内存里面的内容。在进行六个管扫描的时候,只要让六个管各自取出对应内存的内容再进行显示即可。若要改变某几个数码管所显示的内容,只要将其所对应的内存里面所存储的内容进行更改即可。这样做的好处就是能把控制部分(控制哪些管该显示什么内容)和显示部分分开,进行模块化的编程。
共结构图框图如下所示:
动态显示的流程图如下所示
由于数码管的动态显示用到了静态显示中所需要的内容,因此这里就不单独做一个静态显示而改做一个键盘电路的输入程序。
键盘控制的设计思路是这样的,首先我是让六个数码管显示各自预定的数字,然后为每一个显示管对应配置一个按键,当按下这一个按键的时候,对应的数码管所显示的数字会加1。如果当时显示的是9时,则返回到零。由于使用了键盘电路,所以也得给键盘电路做一个防抖的功能,否则按下一个键由于抖动会相当于按下多次,结果是不可预想的。
在这个程序中,实现防抖的方法是为每一个按键分配一个内存空间,当某一个键被按下的时候,除了执行对应的功能外,还得给对应的内存赋一个值。只有在这个值为零的时候这个键被按下时也是有效的。这个值也会随机程序的运行不断的进行自减,。也就是说,这个键最多是每秒钟响应10次,,而对于按下一个键的抖动时间是绝对足够的。程序的流程图如下所示:
实验代码
动态显示的实验代码如下
over macro;判断是否结束的宏
local ll
push ax
mov ah, 0bh
int 21h
or al,al
jz ll
jmp exi