微机原理硬件实验报告2

微机原理硬件实验报告2

ID:8457879

大小:775.50 KB

页数:10页

时间:2018-03-28

微机原理硬件实验报告2_第1页
微机原理硬件实验报告2_第2页
微机原理硬件实验报告2_第3页
微机原理硬件实验报告2_第4页
微机原理硬件实验报告2_第5页
资源描述:

《微机原理硬件实验报告2》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、微机原理硬件实验实验报告2008******班姓名:学号:实验二:8255A并行接口应用目录实验目的3实验内容及要求3程序流程图3实验代码5心得体会9实验目的1、掌握8255A的功能及方式0、1的实现。2、熟悉8255A与CPU的接口,以及传输数据的工作原理及编程方法。3、了解七段数码管显示数字的原理。4、掌握同时显示多位数字的技术。实验内容及要求在实验一的基础上学习PIO芯片(8255)编程应用,熟悉平台的主要内容。(一)、在方式0(输入/输出)下,以A口和B口为输出口,A口接六个共阴极数码管,B口接数码管的位选。通过Debug下I、O的方法

2、找出八段数码管的显示规律及数码管的位先规律。(二)、6位数码管静态显示在数码管电路上静态地显示6位学号,当主要键盘按下任意键时,停止显示,返回DOS。(三)、6位数码管动态显示要求在数码管电路1-6位数码管上按下图的规律到达最后一个状态的时候自动回到第一个状态,动态显示字符串HELLO,当黂键盘按下任意键时结束。HHEHELHELLHELLHELLO程序流程图对于该实验,对于数码管的控制的思路是,为每一个数码管准备一个的内存空间,数码管所显示的内容就是该内存里面的内容。在进行六个管扫描的时候,只要让六个管各自取出对应内存的内容再进行显示即可。若

3、要改变某几个数码管所显示的内容,只要将其所对应的内存里面所存储的内容进行更改即可。这样做的好处就是能把控制部分(控制哪些管该显示什么内容)和显示部分分开,进行模块化的编程。共结构图框图如下所示:动态显示的流程图如下所示由于数码管的动态显示用到了静态显示中所需要的内容,因此这里就不单独做一个静态显示而改做一个键盘电路的输入程序。键盘控制的设计思路是这样的,首先我是让六个数码管显示各自预定的数字,然后为每一个显示管对应配置一个按键,当按下这一个按键的时候,对应的数码管所显示的数字会加1。如果当时显示的是9时,则返回到零。由于使用了键盘电路,所以也得

4、给键盘电路做一个防抖的功能,否则按下一个键由于抖动会相当于按下多次,结果是不可预想的。在这个程序中,实现防抖的方法是为每一个按键分配一个内存空间,当某一个键被按下的时候,除了执行对应的功能外,还得给对应的内存赋一个值。只有在这个值为零的时候这个键被按下时也是有效的。这个值也会随机程序的运行不断的进行自减,它减从被赋值到减到为零的时间大概是0.1秒。也就是说,这个键最多是每秒钟响应10次,每次防抖的时间是0.1秒,而对于按下一个键的抖动时间是绝对足够的。程序的流程图如下所示:实验代码动态显示的实验代码如下overmacro;判断是否结束的宏loc

5、alllpushaxmovah,0bhint21horal,aljzlljmpexitll:popaxendm;------------------------delaymacro;延时的宏locallp1,lp2pushcxmovcx,timelp1:pushcxmovcx,timelp2:looplp2popcxlooplp1popcxoverendm;-------------------------------dismacroled,posi;控制某一;LED灯显示的宏pushaxpushdxmovdx,pbmoval,ledoutdx

6、,almovdx,pamoval,[posi]outdx,alpopdxpopaxendm;------------------------------------datasegmenttimedw100h;延时计数time2_sdw200h;用于快慢两种工作;状态的计数time2_fdw50hpadw0ee00h;四个端口地址pbdw0ee01hpcdw0ee02hctrldw0ee03hstatedw0eee0h;--------------------------------------mesgdb0,0,0,0,0,0,3dh,0dch

7、,8ch,8ch,0edh,0;HELLO的显示;--------------------------------------led1db01h;LED灯的选通led2db02hled3db04hled4db08hled5db10hled6db20h;----------------------------------------showdb6dup(0);用来存;储每一个LED灯显示的内容;----------------------------------------dataends;----------------------------

8、----------stasegmentstack'stack'db100dup(?)staends;------------------------

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。