- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、 实验目的 3
二、实验原理及内容 3
1、实验原理 3
①8255的工作方式 3
②工作方式选择字 3
③命令字与初始化编程 4
④注意事项 4
2、 实验内容 4
①6位数码管静态显示 4
②6位数码管动态显示 5
③拓展功能 5
三、 硬件连接图与软件程序流程图 7
1、 硬件连接图 7
①8255A并行接口 7
②数码管 8
2、 程序流程图 9
①基本要求一流程图 9
②基本要求二流程图 10
四、 源程序 11
1、基本要求一源代码 11
2、基本要求二源代码 12
五、 实验结果 14
六、 实验总结 15
1、 段内VS段外 15
2、 瞬间之误 15
3、 接力跳远 15
七、 实验收获与心得体会 15
实验目的
1、掌握8255A的功能及方式0、1的实现。
2、熟悉8255A与CPU的接口,以及传输数据的工作原理及编程方法。
3、了解七段数码管显示数字的原理。
4、掌握同时显示多位数字的技术。
二、实验原理及内容
1、实验原理
①8255的工作方式
一片8255内部有3个端口,A口可以工作在方式0、方式1或方式2,B口可以工作在方式0、方式1,C口可以工作在方式0。方式0是基本型输入/输出。这种方式和外设交换数据时,8255端口与外设之间不使用联络线。方式1为选通型输入/输出。用这种方式和外界交换数据时,端口和外设之间要有联络信号。方式2是双向数据传送,仅A口有这项功能。当A口工作在方式2时,B口仍可以工作在方式0或方式1,但此时B口方式1只能用查询方式与CPU交换信息。
②工作方式选择字
8255工作方式选择字共8位(如图),存放在8255控制寄存器中。最高位D7为标志位,D7=1表示控制寄存器中存放的是工作方式选择字,D7=0表示控制寄存器中存放的是C口置位/复位控制字。
图一:8255工作方式选择字
③命令字与初始化编程
8255有两个命令字,即方式选择控制字和C口置0/置1控制字,初始化编程的步骤是:
I、向8255控制寄存器写入“方式选择控制字”,从而预置端口的工作方式。
II、当端口预置为方式1或方式2时,再向控制寄存器写入“C口置0/置1控制字”。这一操作的主要目的是使相应端口的中断允许触发器置0,从而禁止中断,或者使相应端口的中断允许触发器置1,从而允许端口提出中断请求。注意:“C口置0/置1控制字”虽然是对C口进行操作,但是该控制字是命令字,所以要写入控制寄存器,而不是写入C口控制寄存器。
III、向8255数据寄存器写入“数据”或从8255数据寄存器读出“数据”。
④注意事项
在方式0输入/输出)下,以A口为输出口,B口为输出口,A口接六个共阴极数码管的八位段码,高电平点亮数码管的某一段B口接数码管的位选(即要使哪个数码管亮),高电平选中某一位数码管点亮。
8255A中A端口地址E800H
B端口地址E801H
C端口地址E802H
控制地址E803H
八段数码管的显示规律及数码管的位选规律自己查找,可用实验一中,学过的I、O命令来做。
实验内容
①6位数码管静态显示
在数码管电路上静态地显示6位学号,当主机键盘按下任意键时,停止显示,返回DOS。提示:该电路6个数码管的同名阳极段已经复接,当段选寄存器寄存了一个字型编码之后,6个数码管都有可能显示出相同的数字。如果要使6个数码管“同时”显示不同的数字,必须采用扫描显示的方法,通过选位寄存器选择某一位数码管,显示其数字(对应段值为1),然后关闭此数码管,再选择下一位数码管进行显示;如果在一秒钟内,每一位数码管都能显示30次以上,则人眼看到的是几位数码管同时在显示。实验证明,在扫描显示过程中,每一位显示延迟1ms是最佳选择。
②6位数码管动态显示
要求在数码管电路1-6位数码管上按图所示的规律,动态显示字符串HELLO,当主机键盘按下任意键时结束。
图二:字符串动态显示示意图
提示:
Ⅰ、本实验应在上面实验的基础上完成;
Ⅱ、在数据段,按下列规律设置12个字型码:
MESGDB0,0,0,0,0,0,3DH,0DCH,8CH,8CH,0EDH,0
POINTDWMESG……
POINT单元存放MESG单元的有效地址,程序取出POINT单元的内容→BX,然后用BX间址取数送数码管电路,扫描显示6个字符。每过0.5s将POINT单元的内容加1,再将POINT单元的内容→BX,……。POINT单元内容加1,使字符串显示的首地址向高地址移动一个单元,从而使6位字符串向“左”移动一位,实现动态显示。
Ⅲ、动态显示的速度可控制(快或慢),利用实验一读入端口的功能。
③拓展功能
完成一个扫描键盘(PC口)输入自己的学号,并在数码管上显示。
端口C地址E802H;
控制端口地址EE03H;
PC4、PC5、PC6、PC7接行PC3、PC2、
文档评论(0)