微机原理与接口技术-大作业.doc_第1页
微机原理与接口技术-大作业.doc_第2页
微机原理与接口技术-大作业.doc_第3页
微机原理与接口技术-大作业.doc_第4页
微机原理与接口技术-大作业.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

课程设计报告 课程: 微机原理与接口技术 题目: 键盘扫描实验 班 级: 学 号: 姓 名: 日 期: 一、 设计目的通过本次课程设计,掌握8255芯片使用方法和编程方法,理解所学的芯片的原理、内部结构等,从而提高对芯片的综合运用能力,进一步掌握微机系统的软件、硬件设计的方法、设计步骤,掌握微机系统与接口扩展电路的设计方法,做到理论联系实际,提高动手能力和分析问题、解决问题的能力,理论联系实际,实现由学习知识到应用知识的初步过渡。二、 设计要求利用8255可编程并行口做一个键盘扫描实验,每一个键对应一个ASCII码,并实现在数码管上同一位显示。三、 设计思想 8255是一种可编程并行I/O接口芯片,具有3个带锁存或缓冲的数据端口,它的并行数据宽度为8位,可与外设并行进行数据交换。A口和B口内具有中断控制逻辑,在外设与CPU之间可用中断方式进行信息交换。把8255并口和键盘,组成一个键盘装置,通过CPU对8255的控制最总达到键扫的目的,每一个键对应一个ASCII 码字符,通过8255的输入和输出,最终显示在屏幕上。四、 原理图1芯片接线28255实验连线:3按键ASCII码:AB1C0DFE五、 程序框架1主程序:2键盘扫描程序:3显示程序:六、 程序代码;*根据查看端口资源修改下列符号值*IOY0 EQU 9C00H ;片选IOY0对应的端口始地址;*MY8255_A EQU IOY0+00H*4 ;8255的A口地址 MY8255_B EQU IOY0+01H*4 ;8255的B口地址MY8255_C EQU IOY0+02H*4 ;8255的C口地址MY8255_MODE EQU IOY0+03H*4 ;8255的控制寄存器地址STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDSDATA SEGMENTMES DB Press any key to exit!,0AH,0DH,0AH,0DH,$DTABLE DB 3FH,77H,7CH,4FH,06H,6DH,7DH,39H,3FH,6FH,77H,5EH,39H,71H,79H,71H TT DB 0HDATA ENDS CODE SEGMENT ;数据段 ASSUME CS:CODE, DS:DATASTART: MOV AX, DATA MOV DS, AX MOV DX, OFFSET MES MOV AH, 09H INT 21H MOV DX, MY8255_MODE ;控制字寄存器 MOV AL, 81H OUT DX, AL BEGIN: CALL CLEAR ;调用清屏函数 CALL CCSCAN ;键扫函数 JNZ GETKEY1 ;有键按下 发生跳转 CALL CLEAR MOV DX, MY8255_A ;刷新 MOV AL, 11011111B OUT DX, AL MOV DX, MY8255_B MOV AL, TT OUT DX, AL MOV AH, 1 INT 16H JZ BEGIN QUIT: MOV AX, 4C00H INT 21HGETKEY1:MOV CH, 0FEH ;打开第一根列线 MOV CL, 00H ;纪录打开的列线COLUM: MOV AL, CH MOV DX, MY8255_A OUT DX,AL ;把AL输给端口 MOV DX, MY8255_C ;读入三行 IN AL, DXL1: TEST AL,01H ;逻辑与判断行线开关 JNZ L2 ;关的 跳第二行 MOV AL,00H JMP KCODEL2: TEST AL,02H JNZ L3 MOV AL,04H JMP KCODEL3: TEST AL,04H JNZ L4 MOV AL,08H JMP KCODE L4: TEST AL,08H JNZ NEXT MOV AL,0CH KCODE: ADD AL,CL ;CL加入存储器对应数 MOV CL,AL ;纪录AL YY: CALL CLEAR ;判断按键是否弹起 CALL CCSCAN CALL CLEAR MOV DX,MY8255_A ;刷新 MOV AL,11011111B OUT DX,AL MOV DX,MY8255_B MOV AL,TT OUT DX,AL JNE YY ;不为零 有键按 KON: CALL CLEAR MOV AL,CL MOV BX,OFFSET DTABLE ;定义变量首地址 AND AX,00FFH ADD BX,AX MOV AL,BX MOV CL, AL MOV DX,MY8255_A ;A口控制列线和数码管 MOV AL,11011111B ;关掉五个打开对应的一个 OUT DX, AL MOV AL, CL MOV DX, MY8255_B OUT DX, AL MOV TT, AL JMP KERR NEXT: INC CL MOV AL, CH TEST AL,08H ;将AL和第三根列线比较 JZ KERR ;真 跳转 ROL AL,1 ;不是第三根 左移一 顺序扫 MOV CH, AL JMP COLUMKERR: JMP BEGINCCSCAN PROC NEAR MOV AL, 00H MOV DX, MY8255_A OUT DX, AL MOV DX, MY8255_C IN AL, DX NOT AL AND

温馨提示

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

评论

0/150

提交评论