ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:264.36KB ,
资源ID:6812481      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6812481.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(键盘扫描单片机课程设计论文.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

键盘扫描单片机课程设计论文.docx

1、键盘扫描单片机课程设计论文 单片机课程设计论文 设计题目:键盘按键识别及LED数码显示 系 院:信息工程学院专 业:09计算机应用技术 姓 名:XXX 学 号:2009010220 指导老师:XXX 目录第1节 课程设计任务书3第2节 引言52.1 4*4矩阵式键盘系统概述52.2 本设计任务和主要内容6第3节 系统主要硬件电路设计7 3.1 单片机控制系统原理7 3.2 单片机主机系统电路7 3.3 矩阵式键盘电路8 3.4 译码显示电路8第4节 系统的软件设计11第5节 课程设计心得体会 16 参考文献16第一节 课程设计任务书南 昌 工 程 学 院 课程设计(论文)任务书1、 一、课程设

2、计(论文)题目:键盘按键识别及LED数码显示二、课程设计(论文)使用的原始资料(数据)及设计技术要求:利用实验箱上的键盘,编写键盘扫描程序。1 编写键盘扫描程序,识别按键2 对识别的按键赋予一定的定义,在LED数码管上显示要求:1 画出逻辑硬件图2 画出程序流程图,设计出程序并通过检查。三、课 程 设计(论文)工作内容及完成时间:6.13-6.17查阅资料,画出逻辑图及流程图6.20-6.24 软件编制、调试、完成课程设计四、主 要参考资料: 1. 嵌入式技术基础与实践 王宜怀 清华大学出版社 2 郁文工作室,嵌入式C语言程序设计使用MCS51M.北京:人民邮电出版社,2006 信息工程学院

3、系 09计算机应用技术 专业 1 班学生: XXX 日期: 自 2011 年 6 月 13 日至 2011 年 6 月 24 日指导教师: XXX 助理指导教师(并指出所负责的部分):教研室: 教研室主任: 第二节 引言引言矩阵式键盘乃是当今使用最为广泛的键盘模式,该系统以N个端口连接控制N*N个按键,即时在LED数码管上。单片机控制的据这是键盘显示系统,该系统可以对不同的按键进行实时显示,其核心是单片机和键盘矩阵电路部分,主要对按键与显示电路的关系、矩阵式技术及设备系统的硬件、软件等各个部分进行实现。4*4矩阵式键盘采用AT89S51单片机为核心,主要由矩阵式键盘电路、译码电路、显示电路等组

4、成,软件选用汇编语言编程。单片机将检测到的按键信号转换成数字量,显示于LED显示器上。该系统灵活性强,易于操作,可靠性高,将会有更广阔的开发前景。2.1 4*4矩阵式键盘识别显示系统概述矩阵式键盘模式以N个端口连接控制N*N个按键,实时在LED数码管上显示按键信息。显示按键信息,既降低了成本,又提高了精确度,省下了很多的I/O端口为他用,相反,独立式按键虽编程简单,但占用I/O口资源较多,不适合在按键较多的场合应用。并且在实际应用中经常要用到输入数字、字母、符号等操作功能,如电子密码锁、电话机键盘、计算器按键等,至少都需要12到16个按键,在这种情况下如果用独立式按键的话,显然太浪费I/O端口

5、资源,为了解决这一问题,我们使用矩阵式键盘。矩阵式键盘简介:矩阵式键盘又称行列键盘,它是用N条I/O线作为行线,N条I/O线作为列线组成的键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为N*N个。这种行列式键盘结构能有效地提高单片机系统中I/O口的利用率。最常见的键盘布局如图1-1所示。一般由16个按键组成,在单片机中正好可以用一个P口实现16个按键功能,这也是在单片机系统中最常用的形式,本设计就采用这个键盘模式。如图1-1所示图2-1 键盘布局随着21世纪的到来,资源危机接踵而至。快速席卷整个国家,这一状况还将随着时间的推移和社会的发展而更加严重。国家提倡资源节约型社会

6、,资源危机已成为全球性的突出问题,利用科技手段缓解这一危机,将是人类主要的出路。 电子信息行业是人类社会的高科技行业之一,是设施现代化的基础,也是人类通往科技巅峰的直通路。电子行业的发展从长远来看很重要,但最主要的还是科技问题。国家设施的现代化的根本出路在于全面提高科技水平,现代的社会经营模式由传统模式向现代化、高科技模式转变,由粗放型向集约型方向转变,必须要求科技有一个大的发展,进行一次新的技术革命。矩阵式键盘提高效率进行按键操作管理有效方法,它可以提高系统准确性,有利于资源的节约,降低对操作者本身素质的要求。是它能准确、实时、高效地显示按键信息,以提高工作效率和资源利用率。 随着计算机技术

7、和电子科技的迅猛发展,计算机和电子产品的价格日益降低,可靠性日益提高。本文旨在设计一套能对按键信息进行自动实时显示的系统。2.2 本设计任务和主要内容本论文主要研究单片机控制的键盘识别显示系统,分别对按键信息和显示电路以及软、硬件各个部分进行研究。主要内容如下: 根据矩阵式键盘的特点,进行键盘控制系统的整体研究与设计; LED实时显示按键信息(显示按键的坐标); 采用软件编程的方法实现按键信息的提取和显示。第三节 系统主要硬件电路设计3.1 单片机控制系统原理图3-1 单片机控制系统原理框图 32 单片机主机系统电路AT89C51单片机是51系列单片机的一个成员,是8051单片机的简化版。内部

8、自带2K字节可编程FLASH存储器的低电压、高性能COMS八位微处理器,与Intel MCS-51系列单片机的指令和输出管脚相兼容。由于将多功能八位CPU和闪速存储器结合在单个芯片中,因此,AT89C2051构成的单片机系统是具有结构最简单、造价最低廉、效率最高的微控制系统,省去了外部的RAM、ROM和接口器件,减少了硬件开销,节省了成本,提高了系统的性价比。图3-2 仿真原理图3.3 矩阵式键盘电路 AT89C51单片机的并行口P1接44矩阵键盘,以P1.0P1.3作输入线,以P1.4P1.7作输出线;P1口输出按键信息,在数码管上显示每个按键的“0F”序号。实际电路图连接如图2-4所示。图

9、3-3 矩阵式键盘电路3.4 译码显示电路译码电路中常用的显示器有LED(数码管)和LCD(液晶显示器)。这两种显示器都具有线路简单、耗电少、成本低、寿命长等优点。本系统输出结果选用2个LED显示。数码管有共阴共阳之分,本系统采用8段共阳型LED,其原理图如图3-5所示。数码管内部有8个发光二极管,公共端由8个发光二极管的阴极并接而成,正常显示时公共端接低电平(GND),各发光二极管是否点亮取决于a-dp各引脚上是否是高电平。 LED数码管的外形结构如图3-4,外部有10个引脚,其中3, 8脚为公共端也称位选端,其余8个引脚称为段选端,当要使某一位数码管显示某一数字(0-9中的一个)必须在这个

10、数码管的段选端加上与数字显示数字对应的8位段选码(也称字形码),在位选端加上低电平即可。由于系统要显示的内容比较简单,显示量不多,所以选用数码管既方便又经济。LED有共阴极和共阳极两种。如图3-4所示。二极管的阴极连接在一起,通常此公共阴极接地,而共阳极则将发光二极管的阳极连接在一起,接入+5V的电压。一位显示器由8个发光二极管组成,其中7个发光二极管构成字型“8”的各个笔划(段)ag,另一个小数点为dp发光二极管。当在某段发光二极管施加一定的正向电压时,该段笔划即亮;不加电压则暗。 符号和引脚 共阳极 共阴极图3-4 LED数码管结构图3-5 译码显示电路当无按键闭合时,P1.0-P1.3与

11、P1.4-P1.7之间开路。当有键闭合时,与闭合键相连的两条I/O口线之间短路。判断有无按键按下的方法是:第一步,置列线P1.0 -P1.3为输入状态,从行线P1.4-P1.7输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。第二步,行线轮流输出低电平,从列线P1.0-P1.3读入数据,若有某一列为低电平,则对应行线上有键按下。综合一二两步的结果,可确定按键编号。但是键闭合一次只能进行一次键功能操作,因此须等到按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。由于本显示电路功能简单,为使编程简单,采用直接输出模式,即把P2.0P2.6端口用8芯排线连

12、接到数码显示模块区域中的ag端口上,要求:P2.0对应着a,P2.1对应着b,P2.6对应着g。将行列分别送到两个数码管,显示按键的坐标。第四节 系统的软件设计4.1 软件流程图开始 键盘值初始化读列线是否有键按下 N 延时去抖动 Y读列是否有按键按下 N 根据当前状态识别按键 Y 显示按键坐标图3-1 软件设计流程图42 系统程序设计#include #define uchar unsigned char /宏的定义变量类型 uchar 代替 unsigned char#define uint unsigned int /宏的定义变量类型 uint 代替 unsigned intuchar

13、dis_buf,dis_buf1; /显示缓存uchar temp;uchar l,h; /键顺序吗void delay0(uchar x); /x*0.14MS/ 此表为 LED 的字模 0 1 2 3 4 5 6 7 8 9 a b c d e funsigned char code LED7Code = 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71;/* * 延时子程序 * */void delay(uchar x) uchar j; while(x-)!=0) /CPU执行

14、x*12次,x=10 for(j=0;j4)|0xF0); if(temp=1) / p1.4 被拉低 h=1; else if(temp=2) / p1.5 被拉低 h=2; else if(temp=4) / p1.6 被拉低 h=3; else if(temp=8) / p1.7 被拉低 h=4; dis_buf = h; dis_buf = dis_buf & 0x0f; / else / key=16; P1=0x0F; /低四位输入 列为高电平 行为低电平 delay(1); /延时 temp=P1; /读P1口 temp=temp&0x0F; temp=(temp|0xF0);

15、if(temp=1) /p1.0 被拉低 l=1; else if(temp=2) /p1.1 被拉低 l=2; else if(temp=4) /p1.2 被拉低 l=3; else if(temp=8) /p1.3 被拉低 l=4; /else / key=16; dis_buf1= l; /键值入显示缓存 dis_buf1= dis_buf1 & 0x0f; /* *判断键是否按下 * */ void keydown(void) P2=0xF0; P3=0xf0; /将高4位全部置1 低四位全部置0 if(P1!=0xF0) /判断按键是否按下 如果按钮按下 会拉低P1其中的一个端口 k

16、eyscan(); /调用按键扫描程序 /* * 主程序 * */ main() P1=0xFF; /置P0口 P2=0xFF; P3=0xff; /置P1口 delay(10); /延时 while(1) keydown(); /调用按键判断检测程序 P2 = LED7Codedis_buf%16&0x7f; P3= LED7Codedis_buf1%16&0x7f; /LED7 0x7f为小数点 共阴和共阳此处也是不一样; %16表示输出16进制 delay(150); 第五节 课程设计心得体会 通过此次的单片机课程设计,我不仅加深了对单片机理论的理解,深刻懂得了要不断地时间才能掌握知识,

17、而且还学会了如何去加强锻炼创新精神,从而不断地战胜自己,超越自己。创新,是要我们将理论很好地联系实际,并不断地去开动自己的脑子,从为先到并做到别人没想到没做到的事,不断地超越别人,超越自己;同时,更重要的是,在这一设计过程中,我懂得了坚持不懈,不轻易言弃是每个理工科学子应具备的良好素质。设计过程,也好比是我们的成长的历程,常有一些不如意的事情发生,这就对我们提出了挑战。只要自己坚持,坚持,再坚持,再苦再累也值得。 机遇青睐有准备的人。这个设计过程中,我遇到过许多的考验,给整个设计带来的困扰,真想要就此放弃,然而,我还是挺了过来,回头想想这个设计的过程,我明白了,原来结果并不是那么得重要,我们更

18、应该注重的是过程。 系统以单片机AT89C51为核心部件,单片机系统完成对按键信号识别、检测、处理、显示等功能,用Protel软件绘制电路原理图,利用MCS-51汇编语言编制程序。这个系统设计能让我们更好地去认识和使用单片机,矩阵式键盘,节约I/O口资源,引脚分配,实时显示,芯片应用,编程实践,还有诸如此类的优点。然而由于时间有点紧张,本来想设计一个数码管动态扫描电路,或者用液晶屏显示的电路来显示按键信息,这样更加清晰,而且还可以显示其他的东西,比如时间,排序等等。主 要参考资料:1. 嵌入式技术基础与实践 王宜怀 清华大学出版社2 郁文工作室,嵌入式C语言程序设计使用MCS51M.北京:人民邮电出版社,2006 .

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1