版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、宜春学院物理科学与工程技术学院 课 程 设 计 报 告课程名称: 微机原理与接口技术 设计题目:基于8086CPU的小键盘设计 设计时间: 2014年6月 班 级: 姓 名: 学 号: 一课程设计要求:使用行扫描法或者线反转法识别4*4的非编码小键盘,并将键入的键值(0-9,A-F)显示在数码管上。二课程设计目的 1.掌握 8255的使用和编程方法。 2.通过8255设计键盘扫描及它们的输入输出方式和它们的控制字。综合运用本学期所学的关于汇编的知识,在实验中进一步熟悉本学期所学的课程并结合实际生活,掌握汇编的应用。 3.注重键盘扫描的方法设计以及解决问题的思路。 4.了解任何微机应用开发工作都
2、离不开接口的技术、选用及连接。微机应用系统需要设计的硬件是一些接口电路,所要编写的软件是控制这些接口电路按要求工作的驱动程序。重点讲述可编程并行接口芯片8255A、内部结构、工作方式、初始化编程及其应用实例。总体方案设计设计注意问题 在唐都实验箱上实现键盘扫描并显示在LED上,比如当按下6时,LED会显示6的字样。总体设计方案如下: 1.实现键盘的扫描(键号与键值的对应)。 2.防抖动措施。 3.防重键的措施。总体思路 本次试验报告的整体思路如下:1. 行开放,找到列值并保存;2. 逐行扫描,找到行值并保存;3. 行值和列值组合成键特征值;4. 根据键特征值找到键号;5. 根据键号查表得段码;
3、6. 送出相应位码。键盘扫描逻辑性很强,步步相扣。思路显得尤其重要。硬件设计8255工作原理并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。8255 A可编程外围接口芯片是Intel 公司生产的通用并行I/O 接口芯片,它具有A、B、C 三个并行接口,用+5V 单电源供电,能以下三种方式下工作:方式0:基 输入/输出方式方式1:选通输入/输出方式方式2:双向选通工作方式8255A的内部结构及引脚如图3.1 所示,8255 工作方式控制字和 C口按位 置位/复位控制字格式如图3.2所示。双向选通工作方式
4、。8255的内部结构及引脚如图3.1所示,8255工作方式控制字和C口按位置位/复位控制字如图3.3所示图3.1 8255的内部结构及引脚图3.2 8255工作方式控制字和C口按位置位/复位控制字键盘工作原理 唐都实验箱提供的是4*4的小键盘,如下图所示, 列为高电平。并且位选口与行控口共用端口。键盘原理图3.2:FE7dCbA9876543210列0列1列2列3 0 0+5 图3.2 键盘原理图键盘工作原理阐述: 每一个键跨接在行、列线之间; 在无按键时,列线固定为高电平;列控制口用于读入列线状态,即列值。 行线电平受控于“行控制口”,行控口输出的信号称为行值 某键未按下,该键关联的行、列线
5、不通;按下,则把行线的电平引入列线。设置行线为低电平,则把行线的低电平引入列线。键特征值的形成根据键盘的工作原理可以得到如下键特征值表3.3:键值列值行值键特征值键值列值行值键特征值00111B1110B7EH10111B1101B7DH20111B1011B7BH30111B0111B77H41011B1110BBEH51011B1101BBDH61011B1011BBBH71011B0111BB7H81101B1110BDEH91101B1101BDDHA1101B1011BDBHb1101B0111BD7HC1110B1110BEEHd1110B1101BEDHE1110B1011BEB
6、HF1110B0111BE7H 3.3键特征值表段值的形成 DpgfedcbaD7D6D5D4D3D2D1D0000111111 3FH100000110 06H2010110115BH301001111 4FH 401100110 66H501101101 6DH601111101 7DH700000111 07H801111111 7FH901101111 6FHA01110111 77Hb01111100 7CHC00111001 39H d01011110 5EHE01111001 79HF0111000171H显示段值见表3.4表3.4 段码表8255接线图 PB PA0 PA1 P
7、A2 PA3 PC3 PC2PC1 PC0 LED6 LED5 LED4 LED3 LED2 LED1 列控位控行控+5V 图3.5 8255接线图 寄存器地址选取 根据唐都实验仪器提供的手册,选取IOY1作为8255芯片的片选端口,A1 A0为片内译码。即:PA口地址: 0640HPB口地址: 0642HPC口地址: 0644PD(控制口) 地址: 0646H软件设计8255初始化以PC为列控口;以PA低4位为行控口;列口为输入,行口输出;显示以PB为段选口;PB口输出;PA低6位为位选。根据3.1与3.2 得出8255芯片的控制字为:10001001B,即:89H。键盘扫描的处理方法判断是
8、否有键被按下的方法 行开放:使所有行线输出低电平,从列控口读入列状态(列值)即: 通过行控口,输出全0 。4条行线均为低电平。如果没有键按下,则行线低电平不会引入到列线,从列控口读入的必为全1;只要有一个键按下,如F键,则行1的低电平引入列3,从列控口读入的列值为1110,非全1,由此得出判断是否有键按下的条件: 读入的列值为全1,无按键;非全1,必有按键!判断是否有键被按下的流程:1. 让行线输出全为0;2. 读列的值;3. 判断列值是否全为0;4. 若不全为0,则说明有按键按下;5. 全为0,则说明没有按键按下,继续等待输入。 判断是否有键被按下的源程序 MOV DX,0640H MOV
9、AL,00H OUT DX,ALJXSR: MOV DX,0644H IN AL,DX AND AL,0FH CMP AL,0FH JE JXSR对源程序的解释:程序中只需要C口低四位,所以用“AND AL,0FH”对低4位保存防抖动防抖动措施对按键来说是必需的,可以让微机准确输入,在课程设计中,利用延时子程序来实现防抖动。防抖动的延时子程序 DELAY PROC NEAR ;延时子程序 MOV CX,0F000HDLP: LOOP DLP RETDELAY ENDP程序核心部分逐行扫描 问题:怎么判断按键说在行的位置? 查阅资料,判断按键所在行的位置用逐行扫描的方法。 逐行扫描:使行线输出逐
10、一为低电平,从列控口读入列状态(列值)。 此时如果列值读入为全1,则按键不在本行;非全1,在本行。 判断是否有键被按下的流程:1. 使第0行为0(扫描0行);2. 读入列值;3. 判断列值是否全为04. 若列值全为0,则说明按键不在本行;5. 列值移位,再次读入列值,进行判断。逐行扫描的源程序 LOP1:MOV DX,0640H OUT DX,AL MOV DX,0644H IN AL,DX AND AL,0FH CMP AL,0FH JNE ZJSC ROL AH,1 MOV AL,AH JMP LOP1逐行扫描的源程序的解释:ROL AH,1,行值移位后继续扫描。 源程序代码根据整体思路以
11、及软件设计得到的代码 DATA SEGMENT DZTABLE DB 3FH,06H,5BH,4FH,66DB 6DH,7DH,07H,7FH,6FH DB 77H,7CH,39H,5EH,79H,71H JZTABLE DB 7EH,7DH,7BH,77H DB 0BEH,0BDH,0BBH,0B7H DB 0DEH,0DDH,0DBH,0D7H DB 0EEH,0EDH,0EBH,0E7HDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,0646H MOV AL,89H OUT
12、DX,AL ;初始化 T1: MOV DX,0640H ;行开放 MOV AL,00H OUT DX,AL JXSR: MOV DX,0644H IN AL,DX AND AL,0FH CMP AL,0FH JE JXSR CALL DELAY ;防抖动 MOV BL,AL ;保存列值 MOV AL,0FEH ;逐行扫描 MOV AH,AL LOP1:MOV DX,0640H OUT DX,AL MOV DX,0644H IN AL,DX AND AL,0FH CMP AL,0FH JNE ZJSC ROL AH,1 MOV AL,AH JMP LOP1 ZJSC:SHL BL,4 AND A
13、H,0FH OR BL,AH ;形成键特征值 JNP AAA ;防重键 LEA SI,JZTABLE MOV CL,0 LOP3:CMP BL,SI JE LOP2 INC CL INC SI JMP LOP3 LOP2:MOV DX,0640H MOV AL,00H OUT DX,AL LOP4: MOV DX,0644H IN AL,DX AND AL,0FH CMP AL,0FH JNE LOP4 CALL DELAY LEA DI,DZTABLE MOV BX,DI MOV AL,CL XLAT MOV DX,0642H OUT DX,AL MOV DX,0640H MOV AL,00H OUT DX
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑材料试验工岗前班组评比考核试卷含答案
- 种畜胚胎移植工岗前改进考核试卷含答案
- 船舶客运员创新意识强化考核试卷含答案
- 陶瓷原料准备工班组考核能力考核试卷含答案
- 植物精油调理师岗前工作质量考核试卷含答案
- 制粉工安全知识宣贯能力考核试卷含答案
- 营养指导员基础实战模拟考核试卷含答案
- 道路货运站务员岗位创新思维考核试卷含答案
- 泥面塑工岗前决策力考核试卷含答案
- 驯马工岗位设备维护考核试卷含答案
- 2025国家药品监督管理局医疗器械技术审评中心合同制人员招聘2人笔试备考试题附答案解析
- 第一月考过关测试卷(试卷)2026-2027学年五年级语文上册统编版(含答案)
- 现代农业与生态农业
- 2026年特种设备安全管理人员A证考试题库(含答案)
- 3.1《买文具》课件 -2026-2027学年五年级上册数学北师大版
- 2026年湖南工业职业技术学院高职单招笔试职业技能测验试题库含答案解析3套试卷
- 中国膝骨关节炎关节腔注射治疗专家共识(2026版)解读
- 孕产妇脓毒症的高危因素与早期识别
- 电子档案和档案数字化副本移交接收规范
- 围手术期高血糖患者营养支持治疗管理专家共识(2025版)
- 《成人住院患者跌倒风险评估及预防》(T-CNAS 09-2020)团体标准解读与临床实施规范
评论
0/150
提交评论