单片机实验五报告-单片机键盘实验

南昌大学实验报告
学生姓名:                    学号:                专业班级:                   
实验类型 验证 综合 设计 创新 实验日期:2018.05.18 实验成绩                 
实验五 单片机键盘实验
(一)实验目的
1.掌握单片机键盘控制;
2.掌握数码管显示控制。
(二)设计要求
1.行列扫描按键键值为0~F;
2.按键只支持单键按下,不支持多键同时按下;
单片机程序烧录
3.要求用数码管显示按键值。
(三)实验原理
1.矩阵式键盘的设计
按键数目较多的杨合常采用矩阵式(称行列式)键盘。键盘行线和列线组按键位于行、的交点上,如下图所示个4×4的行列结构可构成一个16个按键的键盘,需要8位的行I/O口。很明显,在按键数目较多的场合,矩阵式键盘要比独立式键盘节省较多的I/O口线下图所示的矩阵式键盘的查询扫描,般包括以下4个步骤
(1)首先判别整个键盘有无按键按下  方法为单片机驱动列线P0.0-P0.3输出全0,然后读行线P0.4-P0.7的状态,1,则键盘上没有闭合键;若P0.4-P0.7,则有键按下。
(2)去除键的抖动  当判别出可能有键按下时,软件延时一段时间(10ms左右)再判别键盘的状态,若仍有键闭合,则认为键盘上有确定的键按下,否则是键抖动。
(3)求出按下键的键号  图中的16个按键,键号依次为0,1,...15。各行的首键号分别为0,4,812,列号依次为0,123。行线通过上拉电阻接+5V当无键按下时,行线为高电平,当有按键按下时,对应的行线与列线短接,行线的电平将由此行线相连的列线电平决定。
如果把行线设置为单片机的输口线,列线设置为单片机的输出口线,则按键号的识别过程是:先令0列线P0.0为低电平0,其余3根列线都为高电平,遂行检查行线状态。如果行线P0.4-P0.7都为高电平1,则P0.0这列上没有按键闭合,若P0.4-P0.7中有一行为低电平,则该行线与列线交叉的按键按下。如果P0.0这一列上没有按键闭合,接再使P0.1为低电平,其余列线为高电平。用同样的方法检查P0.1这列上有无按键闭,以此类推。这样采用逐列扫描(只有列为低),然后读各行线的电平,即可求出设下键的键号N=行的首键号+
列号。各行的首键号分别为0,4,812,列号依次为0,1,2,3。编程时设置1个列号计数器,初值为0,每扫描1列,列号计数器加1。
(4)判闭合键是否松开 如果松开则将键号送入相应的寄存器中保存,单片机根据按下键的键号,对该键的一次闭合仅作一次键功能处理。
2.数码管显示键值
上述的键盘扫面步骤结束后,键号存储在相应的寄存器中,要把键号显示出来,只须向P4.0口输出对应的段码、位码以及向P4.3和P5.4口输出相应信号,利用74HC595芯片控制八段数码管从而达到显示相应键号的效果。电路图如下所示:
(四)实验设备
硬件:PC机、USB数据传输线、STC单片机综合实验箱
软件:兼容51单片机的Keil uvision5集成开发环境、STC-ISP单片机烧录软件
(五)实验结果
实验源代码如(七)所示,对代码进行编译,提示0错误0警告,生成hex文件
将单片机试验箱和电脑通过USB数据线连接,打开STC-ISP检测串口
点击点开程序文件,选择刚才生成的hex文件,点击下载程序
(六)结果讨论与心得体会
结果分析讨论:将程序烧录至单片机后,可观察数码管最高位显示0(初始值),其他位消隐。按下矩阵键盘的键,数码管显示相应的键号,从0-F都能完整显示,完成实验。
心得体会:通过本次实验,我学会了如何使用矩阵键盘,掌握了矩阵键盘的扫描原理,理解了矩阵键盘的电路结构以及数码管的显示方式。希望通过自己多次尝试能在今后实验中熟练使用矩阵键盘并将其运用到其他方面。
(七附录:实验源代码
P4      DATA    0C0H
P5      DATA    0C8H
P0M1        DATA    0x93    ;   
P0M0        DATA    0x94    ;   
P4M1        DATA    0xB3    ;   
P4M0        DATA    0xB4    ;   
P5M1        DATA    0xC9    ;   
P5M0        DATA    0xCA    ;   
P_HC595_SER    BIT    P4.0    ;
P_HC595_RCLK    BIT P5.4    ;
P_HC595_SRCLK    BIT P4.3    ;
KeyState      DATA    70H        ;
ORG    0000H
        LJMP    F_Main 
ORG    0100H
F_Main:
        CLR        A

本文发布于:2024-09-22 04:15:06,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/353131.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:键盘   单片机   按键   行线
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议