试验报告七键盘扫描及显示试验

上传人:痛*** 文档编号:68670853 上传时间:2022-04-03 格式:DOC 页数:13 大小:589KB
收藏 版权申诉 举报 下载
试验报告七键盘扫描及显示试验_第1页
第1页 / 共13页
试验报告七键盘扫描及显示试验_第2页
第2页 / 共13页
试验报告七键盘扫描及显示试验_第3页
第3页 / 共13页
资源描述:

《试验报告七键盘扫描及显示试验》由会员分享,可在线阅读,更多相关《试验报告七键盘扫描及显示试验(13页珍藏版)》请在装配图网上搜索。

1、PUT1AN UNIVERSITY信息工程学院实验报告课程名称:微机原理与接口技术实验项目名称:键盘扫描及显示实验班级:姓名:学号:实验时间:成绩:指导老师(签名):一、实验目的1. 掌握8254的工作方式及应用编程。2. 掌握8254典型应用电路的接法。二、实验设备了解键盘扫描及数码显示的基本原理,熟悉8255的编程。三. 实验原理将8255单元与键盘及数码管显示单元连接,编写实验程序,扫描键盘输入,并将扫描结果送数码管 显示。键盘采用4X4键盘,每个数码管显示值可为0F共16个数。实验具体内容如下:将键盘进行 编号,记作0F,当按下其中一个按键时,将该按键对应的编号在一个数码管上显示出来,

2、当再按下一 个按键时,便将这个按键的编号在下一个数码管上显示出来,数码管上可以显示最近6次按下的按键编键盘及数码管显示单元电路图如图7-1和7-2所示。8255键盘及显示实验参考接线图如图7-3所CM)OMICAC图7-1键盘及数码管显示单元4X4键盘矩阵电路图a.0000 YIY2WY40000XIX2X3X4图7-2键盘及数码管显示单元6组数码管电路图XDSXD7 -/-ICR 1OY00-0QQ-8255Afl单元-WR RDCSPR3PDIPB2 卩IB riHPI35PD6PB7PAGPAIPA2PA3P/MPASPCOPCIPC2PC3O-Q0-0QQQQ0-0CW3LIL2I3I

3、4XIX2X3X4 盘数管示元 键及码献小 ABCDEFGDP;:L213L4L5L6 WY2Y3Y4图7-3 8255键盘扫描及数码管显示实验线路图四、实验内容与步骤1.实验接线图如图7-3所示,按图连接实验线路图。丿 2J4n L n T1XIX2X3X4adcdefgdpI.1L213L4L5L6YIY2Y3Y40 12 3 c cc C p pp P5 吒5 J2 P00 4D7D6冷 mmDIrxAIAOWR.RDcsXD2TTTTXBl5DO0xrar0-0QQ0-0low ICR图7-4 8255键盘扫描及数码管显示实验实物连接图2.运行Tdpit集成操作软件,根据实验内容,编写

4、实验程序.编译、链接。;Keyscan asm;键盘扫描及数码管显示实验;看踹口资源分配情况,记录实验系统I/O端口始地址IOYOEQUODOOOHMY8255 AEQUIOYO+OOH*4MY8255 BEQUIOYO+01H*4MY8255 CEQUIOY0+O2H*4MY8255 MODEEQUIOY0+O3H*4;片选10勿对应的端口始地址;8255的A 口地址;8255的B 口地址;8255的C 口地址;8255的控制寄存器地址STACK1 SEGMENT STACKDW 256 DUP(?)STACK 1 ENDSDATADTABLEDATASEGMENTDB 3FH,06H,5B

5、H,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39ENDS;键值表0F对应的7段数码管I/图7-5 8255键盘扫描及数码管显示实验程序编辑界面3. 运行程序,按下按键,观察数码管的显示,验证程序功能。五. 实验结果及分析:1.运行程序,按下按键,观察数码管的显示。f 厂ItMMflV&QNSt3# IrQ&muo wntn vvliiltl戶 f U2r*-iB UHnn#IIHH httfiri冃rinFiri /nnnnnnn“;/丄1Jo o9 9讥V? 早玄冲尢9988i, * * _- 一/01三 ZB ” J r *A:图7-6实验结果分析:当按下键

6、盘其中一个按键时,将该按键对应的编号在一个数码管上显示出来,当再按下一个按 键时,便将这个按键的编号在下一个数码管上显示出来,数码管上可以显示最近6次按下的按键编号。六、实验总结:通过本实验,我了解键盘扫描及数码显示的基本原理,以及熟悉8255的编程。通过本次实验加深了 对理论编程的知识的理解,巩固了我的理论知识。附录:9;键盘扫描及数码管显示实验;査看端口资源分配情况,记录实验系统I/O端口始地址I0Y0EQU 0D000H;片选IOYO对应的端口始地址MY8255.A EQU I0Y0-00H*4; 8255 的 A 口地址MY8255_BEQUI0Y0-01H*4;8255的B 口地址M

7、Y8255_CEQUI0Y0+02H*4;8255的C 口地址MY8255.MODEEQUI0Y0+03H*4;8255的控制寄存器地址STACK1 SEGMENT STACKDW 256 DUPOSTACK1 ENDSDATA SEGMENTDTABLE DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71HDATA ENDS;键值表,0F对应的7段数码管的段位值CODE SEGMENTASSUME CS:CODE, DS:DATASTART:MOVAX, DATAMOVDS, AXM

8、OVSI, 3000H;建立缓冲区,存放要显示的键值MOVAL, OOH;先初始化键值为0MOVSI, ALMOVSI+1,ALMOVSI+2,ALMOVSI+3,ALMOVSI+4,ALMOVSI+5,ALMOVDI, 3005HMOVDX, MY8255_HODE;初始化8255工作方式MOVAL, 81H;方式0, A 口、B 口输出,C 口低4位输入OUTDX,ALMOVCX, 0040hBEGIN1:PUSH CXBEGIN:CALLDIS;显示刷新CALLCLEAR;淸屏CALLCCSCAN;扫描按键JNZGETKEY1;有键按下则跳置GETKEY1POPCXLOOPBEGIN1M

9、OVCX, OO lOhMOVAH, Olh;判断PC键盘是否有按键按下INT16HJZ BEGIN1;无按键则跳回继续循环,有则退出QUIT:MOVAX, 4C00H;返回到DOSINT 21HGETKEY1:CALL DIS显示刷新CALL DALLYCALL DALLYCALL CLEAR淸屏CALL CCSCAN再次扫描按键JNZ GETKEY2有键按下则跳置GETKEY2JMP BEGIN否则跳回开始继续循环GETKEY2:M0V CH, OFEHMOV CL, OOH设置当前检测的是第几列COLUM: MOV AL, CH选取一列,将XIX4中一个置0MOV DX,MY8255_A

10、OUT DX,ALMOV DX, MY8255.C读Y1Y4,用于判断是哪一行按键闭合IN AL, DXLI:TEST AL,O1H是否为第1行JNZ L2不是则继续判断MOV AL, OOH设置第1行第1列的对应的键值JMP KCODEL2:TEST AL,02H是否为第2行JNZ L3不是则继续判断MOV AL, O4H设置第2行第1列的对应的键值JMP KCODEL3:TEST AL,04H是否为第3行JNZ L4不是则继续判断MOV AL, OSH设置第3行第1列的对应的键值JMP KCODEL4:TEST AL,OSH是否为第4行JNZ NEXT不是则继续判断MOV AL, OCH设

11、置第4行第1列的对应的键值KCODE: ADD AL, CL将第1列的值加上当前列数,确立按键值CALL PUTBUF保存按键值PUSH AXKON:CALL DIS显示刷新CALL CLEAR淸屏CALL CCSCAN扫描按键,判断按键是否弹起JNZ KON未弹起则继续循环等待弹起POP AXNEXT: INC CL;当前检测的列数递增;检测是否扫描到第4列;是则跳回到开始处MOV AL, CHTESTJZAL, OSHKERRROLAL, 1;没检测到第4列则准备检测下一列MOVCH, ALJMPCOLUMKERR:JMPBEGINCCSCANPROCNEAR;扫描是否有按键闭合子程序MO

12、VAL, OOHMOVDX, MY8255_A;将4列全选通,XIX4這0OUTDX,ALMOVDX, MY8255_CINAL, DX;读丫1丫4NOTALANDAL, OFH;取出Y1Y4的反值RETCCSCANENDPCLEAR PROC NEAR;淸除数码管显示子程序MOVDX, MY8255_B;段位置0即可清除数码管显示MOVAL, OOHOUTDX,ALRETCLEAR ENDPDIS PROC NEARPUSH AXMOV SI, 3000HMOV DL, ODFHMOV AL, DLAGAIN: PUSH DXMOV DX,MY8255_AOUT DX,ALMOV AL, S

13、IMOV BX, OFFSET DTABLEAND AX, OOFFHADD BX,AXMOV AL, BXMOV DX,MY8255_BOUT DX,ALCALL DALLYINC SIPOP DXMOV AL, DLTEST AL, O1H;显示键值子程序;以缓冲区存放的键值为键值表偏移找到键值并显示;设置XIX4,选通一个数码管;取出缓冲区中存放键值;将键值作为偏移和键值基地址相加得到相应的键值;写入数码管ADp;取下一个键值;判断是否显示完JZ 0UT1ROR AL, 1MOV DL,ALJMP AGAINOUT1: POP AXRETDIS ENDPPUTBUF PROC YEARMOV SI, DIMOV SI, ALDEC DICMP DI, 2FFFHJNZ GOBACKMOV DI, 3005HGOBACK: RETPUTBUF ENDPDALLY PROC NEAR;显不完,返回;未显示完,跳回继续;保存键值子程序;软件延时子程序PUSH CXMOVCX,OfffHDI:MOVAX,OOFFHD2:DECAXJNZD2LOOPDIPOPCXRETDALLYENDPCODE ENDSEND START

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!