文档介绍:JINGCHU UNIVERSITY OF TECHNOLOGY
键盘扫描显示实验原理及分析报告
学院计算机工程学院
专业计算机科学与技术
年级班别 09计算机科学与技术1班
学号
学生姓名
指导教师
2012年01月
目录
一、内容提要
二、实验目的
三、实验要求
四、实验器材
五、实验电路
六、实验说明
七、实验框图
八、实验程序
九、实验分析
十、实验心得
十一、参考文献
一、内容提要
单片机技术日趋成熟的今天,其灵活的硬件电路的设计和软件的设计,让单片机得到了广泛的应用,几乎是从小的电子产品,到大的工业控制,单片机都起到了举足轻重的作用。单片机在人们的生活中得到广泛的应用。
本文介绍了基于单片机的键盘扫描显示实验,详细讨论了它从软件上实现的过程,以及硬件接口的原理及其实现,根据输出的列码和读取的行码来判断按下的是什在么键,即有按键时向列扫描码地址(0e101H)逐列输出低电平,然后从行码地址(0e103H)读回,理解读取键盘按键的原理,和最简单的单片机接口原理
二、实验目的:
1、掌握键盘和显示器的接口方法和编程方法。
2、掌握键盘扫描和LED八段数码管显示器的工作原理。
二、实验要求:
在上一个实验的基础上,利用实验仪提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示实验,把按键输入的键码在六位数码管上显示出来。
实验程序可分成三个模块:
1、键输入模块:扫描键盘、读取一次键盘并将键值存入键值缓冲单元。
2、显示模块:将显示单元的内容在显示器上动态显示。
3、主程序:调用键输入模块和显示模块。
三、实验器材:
1、超想-3000TC综合实验仪 1 台
2、KEIL仿真器 1 台
3、计算机 1 台
四、实验电路:
这里只是键盘草图,详细原理参见“8155键显模块”。
行码
(0e103H)
列码
(0e101H)
五、实验说明:
本实验仪提供了一个6×4的小键盘,向列扫描码地址(0e101H)逐列输出低电平,然后从行码地址(0e103H)读回,如果有键按下,则相应行的值应为低,如果无键按下,由于上拉的作用,。在判断有键按下后,要有一定的延时,防止键盘抖动。列扫描码还可以分时用作LED的位选通信号。
实验框图:
显示缓冲区初始化
LED显示
读取键值
键值转换为显示数据
有键输入?
否
是
主程序框图
否
是
否
开始
输出列扫描信号
列扫描信号移位
该列有键输入?
读入行信号
6列扫描完?
初始化地址参数
按照行列计算键值
查表得键码
等待键盘释放
S待按键释放
返回
读键输入子程序框图
七、实验程序如下:
ST MOV 11H,R7
键盘扫描实验
OUTBIT equ 0e101h ; 位控制口
CLK164 equ 0e102h ; 段控制口(接164时钟位)
DAT164 equ 0e102h ; 段控制口(接164数据位)
IN equ 0e103h ; 键盘读入口
ORG 0000H
LJMP STAR
;==========================================================================
KEY1: MOV 13H,#06H
MOV 12H,#20H
KEY2: MOV A,12H
CPL A
MOV R7,A
MOV DPTR,#0E101H
MOV A,R7
MOVX ***@DPTR,A
MOV A,12H
CLR C
RRC A
MOV 12H,A
MOV DPTR,#0E103H
MOVX A,***@DPTR
MOV R7,A
MOV A,R7
CPL A
MOV R7,A
MOV A,R7
ANL A,#0FH
MOV 14H,A
DEC 13H
MOV R7,13H
MOV A,R7
JZ KEYDIS
MOV A,14H
JZ KEY2
KEYDIS: MOV A,14H
JZ TESTKEY5
MOV A,13H
ADD A,ACC
ADD A,ACC
MOV 13H,A
MOV A,14H
JNB ,TESTKEY
INC 13H
SJMP TESTKEY2
;;============================================