实验七8255键盘显示实验_第1页
实验七8255键盘显示实验_第2页
实验七8255键盘显示实验_第3页
实验七8255键盘显示实验_第4页
实验七8255键盘显示实验_第5页
已阅读5页,还剩2页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验七 8255 键盘显示实验实验目的1.掌握8255与单片机的接线和I/O编程方法;2.掌握8255扫描键盘与读取键值的编程;3.掌握数码管的显示原理与编程。 二、实验内容1.使用单片机、8255模块和数码管显示电路,编程实现在数码管上从右至左显示0-5;2. 使用单片机、8255模块和键盘显示电路,编程实现在数码管最右1位显示按键的键码。三、实验设计1.硬件电路设计使用8255模块(E3区),PA口作为位扫描口(键扫描口), PB口输出字形码,PC口作为键值读入口,与数码管显示电路和矩阵键盘模块电路(F6区)相应接口连接, 8255的数据总线D0-D7、读(/RD)、写(/WR)、端口选择

2、A0、A1和片选/CS已和单片机接好,各端口地址如下:PA口:0FF28H;PB口:0FF29H;PC口:0FF2AH;控制口:0FF2BH 单片机与8255的接线原理图和8255与键盘显示模块接线原理图如下:2.程序设计主程序流程图和显示子程序、读键子程序流程图见图6-1,6-2,6-3.YN开始初始化扫描键盘按键有键按下?延时消抖读键值显示键码图6-1 主程序流程图显示数据YN入口数据存储区取数据数据表中取字形码输出字形码输出位扫描信号6位显示完否?返回延时图6-2 显示子程序程序设计要点:数码管显示:数码管是共阴极的,但数码管的接口电路(74LS240,754510)决定了PB口应输出共

3、阳码,PA口应输出低电平扫描信号,数码管才能正确显示数据;每一位数码管选通时间应保持在1-5ms之内,PA口轮扫一遍的时间应保持在50ms之内;扫描键盘:PA口输出00H, PC口读入,判断A的值不等于03H,有键按下;延时消抖:检测到有按键后,延时10-20ms再读键值;读键值:PA口分列输出0,PC口读入,根据A的值和扫描的列数值确定键值。三、实验操作硬件连线:根据硬件电路原理图连接各模块,SW3、SW4、SW5拨向off。程序调试:利用单步/宏单步执行指令,观察记录0-5数字显示的过程; (2)利用单步/宏单步执行指令,观察记录按键的显示过程; (3)连续运行程序,观察记录数字显示和按键

4、显示的结果; (4)改变扫描周期的时间,观察记录数码管显示的效果。四、实验总结NYN入口扫描第一列有键按下?扫描第二列有键按下?返回Y计算键值查表取键码图6-3 读键值子程序流程图有键按下?NY扫描第八列 (1) 数码管显示工作原理和编程要点(2)键盘扫描工作原理和编程要点(3)按键消抖的原理和编程(4)说明扫描时间的长短对数码管显示效果的影响(5)其他五、课外练习:编写程序,实现秒表功能。计时最小单位为0.lS,最大计时100秒,并使用按键实现启动计时、停止计时和清零等功能。 试验品:org 0000hajmp mainorg 0100hmain:Display:mov a, #80hmov

5、 dptr, #0ff2bhmovx dptr, ADisplay1:mov r1, #00hmov r3, #0feHmov a, r3LD0:mov dptr, #0ff28hmovx dptr, amov a, r1mov dptr, #DTABmovc a, a+dptrmov dptr, #0ff29hmovx dptr, aLcall delayinc r1mov a, r3jnb acc.5, LD1RL amov r3, aajmp LD0LD1: RETDTAB:DB 0c0h, 0f9h, 0a4h,0b0h,99h, 92hdelay:mov r7, #02hdelay1

6、:mov r6, #0ffhdelay2:djnz r6, delay2djnz r7, delay1ret endorg 0000hajmp mainorg 0100hmain:Display:mov a, #80hmov dptr, #0ff2bhmovx dptr, ADisplay1:mov r1, #00hmov r3, #0feHmov a, r3LD0:mov dptr, #0ff28hmovx dptr, amov a, r1mov dptr, #DTABmovc a, a+dptrmov dptr, #0ff29h ;movx dptr, aLcall delayinc r1

7、mov a, r3jnb acc.5, LD1RL amov r3, aajmp LD0LD1: Ljmp displayDTAB:DB 0c0h, 0f9h, 0a4h,0b0h,99h, 92hdelay:mov r7, #02hdelay1:mov r6, #0ffhdelay2:djnz r6, delay2djnz r7, delay1ret end试验品:org 0000hajmp mainorg 0100hmain:mov sp, #60hmov 30h, #00hmov dptr, #0ff2bhmov a, #81hmovx dptr, adsp:nopacall displ

8、aykeyscan:mov dptr, #0ff28h ;PAmov a, #00h ;00-Amovx dptr, a ;00-PAmov dptr, #0ff2ah ;PCmovx a, dptr ;PC-Aanl a, #03h cjne a, #03h, startscanajmp dspstartscan:acall delay12msmov r2, #08hmov r3, #0fehmov r1, #00hkeyscan:mov a, r2mov dptr, #0ff28hmovx dptr, arl amov r2, amov dptr, #0ff2ahmovx a, dptra

9、nl a, #03hcjne a, #03h, pdkeyinc r1djnz r3, keyscanljmp dsppdkey:JNB acc.0, jsadd1JNB acc.1, jsadd2ljmp scanjsadd1:mov a, #00hajmp jsaddjsadd2:mov a, #08hjsadd:add a, r1mov dptr, #keytabmovc a, a+dptrmov 30h, alcall displaykeykeytab:DB 7, 4, 8, 5, 9, 6, 0ah,0bhDB 1, 0, 2, 0fh,3, 0eh,0ch,0dhdisplaykey:mov dptr, #0ff28hmov a, #0fehmovx dptr, a ; fix weimov dptr, #dtabmov a, 30hmovc a, a+dptrmov dptr, #0ff29hmovx dptr, alcall delay1msret dtab:DB 0c0h, 0f9h, 0a4h, 0b0h, 099h, 092h, 082h, 0f8hDB 080h, 090h, 088h, 083h, 0c6h, 0a1h, 086h, 08ehdelay1ms

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论