《单片机技术与应用》教案13项目5任务1-键盘接口概述及行列式扫描编程原理_第1页
《单片机技术与应用》教案13项目5任务1-键盘接口概述及行列式扫描编程原理_第2页
《单片机技术与应用》教案13项目5任务1-键盘接口概述及行列式扫描编程原理_第3页
《单片机技术与应用》教案13项目5任务1-键盘接口概述及行列式扫描编程原理_第4页
《单片机技术与应用》教案13项目5任务1-键盘接口概述及行列式扫描编程原理_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGE1教案学习领域项目5简易电子琴设计学习情境任务1键盘接口概述及行列式扫描编程原理序号13课型理实一体化课时2教具学具电教设施pc机;keil以及proteus软件;任务书(供学生用);课件教学目标知识目标①掌握矩阵键盘原理②掌握行列扫描法原理能力目标①能够通过Keil和Proteus软件的初步使用,提高观察和分析能力②能够通过行列扫描方法方式编写程序,培养逻辑思维能力③能够编制按键状态机程序,提高分析和解决问题的能力情感目标①能够透过实验现象归纳事物本质②培养学生对本专业的职业认同感③培养学生科学探索的兴趣、严谨扎实的工作作风和团结协作精神教学重难点重点①掌握矩阵键盘原理②掌握行列扫描法原理难点①掌握矩阵键盘原理②掌握行列扫描法原理学法教法实验探究、任务引领法、讨论法、张贴法、头脑风暴法、演示法教学内容更新、补充、删节参考资料课后体会学生在任务的驱动下,利用仿真电路自主探究电路规律,结合教师对相关知识点的讲授,达到对所学知识的掌握。这个思路带来了很好的教学效果,但增加的实验部分会使得教学时数稍显紧张,这一点还需日后改进。

教与学互动设计教师活动内容学生活动内容一、组织教学(2分钟)1.首先清点学生出勤情况,填写考勤记录。2.检查学生工作服、帽、鞋等是否符合安全要求。3.宣布今天的实习内容、技术要求、工时、劳动纪律等。4.强调生产实习安全注意事项。5.学生分组分上机、实习工位。6.发放任务书、自评和互评表以及白纸到每组的学生手中。二、布置任务(3分钟)下达任务,使用如图4-12所示电路,用AT89C51设计一个数显频率计数器对0~300KHz的方波信号进行测量,信号从P3.5引脚输入,P1、P2口做输出口,接液晶1602,编写程序,测出从P3.5引脚输入的方波信号的频率并显示出来。三、资讯计划(25分钟)这里就矩阵键盘识别检测作一介绍:键盘是由若干个案件组成的开关电路,它是简单的单片机输入设备,操作员可以通过键盘输入数据或命令,实现简单的人机通信。键盘有独立式键盘和矩阵式键盘两种,独立式键盘在前面项目中已有介绍。若键盘闭合键的识别是由专用硬件实现的,则称为编码键盘;若用软件实现闭合键识别的,则称为非编码键盘。键盘接口应有以下功能:键盘扫描功能,即检测是否有键闭合;键识别功能,确定被闭合键所在的行列位置;产生相应的键的代码(键值)功能;消除按键抖动及对应对多键串按(复键)的功能。在单片机的运行过程中,执行键盘扫描和处理,可有以下3种情况:随机方式,每当CPU空闲执行键盘扫描程序;中断方式,每当有键闭合时才向CPU发出中断请求,中断响应后执行键盘扫描程序;定时方式,每隔一定时间执行一次键盘扫描程序,定时可由单片机的定时器完成。矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上,其结构如图5-1所示。图5-1矩阵式键盘结构由图可知,一个4×4的行、列结构可以构成一个含有16个按键的键盘,显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多I/O口。矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到+5V上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。这是识别按键是否按下的关键。然而,矩阵键盘中的行线、列线和多个键相连,各按键按下与否均影响该键所在行线和列线的电平,各按键间将相互影响,因此,必须将行线、列线信号配合起来作适当处理,才能确定闭合键的位置。识别按键的方法很多,其中,最常见的方法是扫描法。下面以图5-2中K7号键的识别为例来说明扫描法识别按键的过程。图5-2矩阵式键盘接口矩阵式(也称行列式)键盘用于按键数目较多的场合,由行线和列线组成,按键位于行、列的交叉点上。如图5-2所示,一个4´4的行、列结构可以构成一个16个按键键盘。在按键数目较多的场合,要节省较多的I/O口线。矩阵中无按键按下时,行线为高电平;当有按键按下时,行线电平状态将由与此行线相连的列线的电平决定。列线的电平如果为低,则行线电平为低;列线的电平如果为高,则行线的电平也为高,这是识别按键是否按下的关键所在。由于矩阵式键盘中行、列线为多键共用,各按键彼此将相互发生影响,所以必须将行、列线信号配合,才能确定闭合键位置。下面讨论矩阵式键盘按键的识别方法。第1步,识别键盘有无键按下。先把所有列线均置为0(执行P3=0xf0),然后检查各行线电平是否都为高,如果不全为高,说明有键按下,否则无键被按下。例如,当K7键按下时,第2行线为低,还不能确定是K7键被按下,因为如果同一行的键4、5或6之一被按下,行线也为低电平。只能得出第2行有键被按下的结论。第2步,识别出哪个按键被按下。采用逐行扫描法,在某一时刻只让1条行线处于低电平,其余所有行线处于高电平。(输出指令P3=0xef指令)当第1行为低电平,其余各行为高电平时,因为是键7被按下,第1行的行线仍处于高电平,此时读回P3口的值为P3=0xef,只要P3口输出与输入的值相等,便说明不是此行的键按下。当第2行为低电平(输出指令P3=0xdf),由于K7键按下,第4列被拉成了0电平,此时读回P3口的值为P3=0xd7,只要P3口输出与输入的值不相等,便说明是此行的键按下,把读回P3口的值作为特征码,在程序中作进一步判定。请大家分析一下如果是K9键按下时,单片机是如何判定的。综上所述,扫描法的思想是,先把某一行置为低电平,其余各行置为高电平,检查各行线电平的变化,如果某列线电平为低电平,则可确定此行此列交叉点处的按键被按下。四、计划实施(50分钟)在proteus中绘制如下电路图:然后在keil中新建工程,录入下面程序,并生成.hex文件。#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintucharkey;unsignedcharcodedisp_code[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//共阴段码表unsignedcharcodekey_code[]={0xee,0xed,0xeb,0xe7,0xde,0xdd,0xdb,0xd7,0xbe,0xbd,0xbb,0xb7,0x7e,0x7d,0x7b,0x77};//按键按下产生的特征码unsignedcharcodetest_code[]={0xef,0xdf,0xbf,0x7f};//行扫描用的值voiddelayms(uintms){uchart;while(ms--){for(t=0;t<120;t++);}}ucharkeyscan()//键盘扫描程序{ucharscan1,temp,j;P3=0xf0;scan1=P3;if((scan1&0xf0)!=0xf0)//判键是否按下{delayms(30);//延时10msscan1=P3; if((scan1&0xf0)!=0xf0)//二次判键是否按下temp=0x0e; { for(j=0;j<4;j++)//用特征码扫描1-4次,最少1次跳出此循环 { P3=test_code[j];//输出行扫描用的值 switch(P3)//读入P3口的特征值 { case0xee:P0=disp_code[0];break; case0xed:P0=disp_code[1];break; case0xeb:P0=disp_code[2];break; case0xe7:P0=disp_code[3];break; case0xde:P0=disp_code[4];break; case0xdd:P0=disp_code[5];break; case0xdb:P0=disp_code[6];break; case0xd7:P0=disp_code[7];break; case0xbe:P0=disp_code[8];break; case0xbd:P0=disp_code[9];break; case0xbb:P0=disp_code[10];break; case0xb7:P0=disp_code[11];break; case0x7e:P0=disp_code[12];break; case0x7d:P0=disp_code[13];break; case0x7b:P0=disp_code[14];break; case0x77:P0=disp_code[15];break; } }}}elseP3=0xff;return(16);}main(){P0=0x40;//数码管显示"-"P3=0xff; while(1){keyscan();

温馨提示

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

评论

0/150

提交评论