微机原理硬件验报告2.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理硬件验报告2

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

文档评论(0)

linjuanrong + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档