单片机课程设计--键盘输入在LED数码管上的显示.doc_第1页
单片机课程设计--键盘输入在LED数码管上的显示.doc_第2页
单片机课程设计--键盘输入在LED数码管上的显示.doc_第3页
单片机课程设计--键盘输入在LED数码管上的显示.doc_第4页
单片机课程设计--键盘输入在LED数码管上的显示.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

课 程 设 计课 程 单片机的控制系统课程设计 题 目 键盘输入在led数码管上的显示 院 系 电气信息工程学院 专业班级 学生姓名 学生学号 指导教师 年 月 日11 课程设计任务书课程 单片机的控制系统课程设计题目 键盘输入在led数码管上的显示专业 姓名 学号 主要内容、基本要求、主要参考资料等主要内容:完成键盘输入在led数码管上的显示。基本要求: 1了解 44 键盘的工作原理。2熟悉 spce061a 单片机控制数码管显示的方法。3掌握 44 键盘的使用方法。4掌握 44 键盘控制数码管显示的方法。参考资料:1肖洪兵.跟我学用单片机j.北京:北京航空航天大学出版社,2002.8 2何立民.单片机高级教程第1版m.北京:北京航空航天大学出版社,2001.63赵晓安.mcs-51单片机原理及应用m.天津:天津大学出版社,2001.3 4李广第.单片机基础第1版m.北京:北京航空航天大学出版社,1999.55徐惠民.单片微型计算机原理与应用m.北京:北京邮电大学出版社,1996.26 袁勤勇.嵌入式系统构件m.北京:北京机械工业出版社,2002.完成期限 指导教师 专业负责人 年 月 日单片机的控制系统课程设计目 录第1章 设计的研究背景及目的要求11.1 研究背景11.2 设计目的11.3 硬件选择11.4 设计内容1第2章 设计的基本原理及硬件连接方案22.1 4x4键盘扫描原理图22.2 spce061a获取44键盘键值原理22.3 硬件连接3第3章 软件设计方案53.1 设计步骤53.2 设计程序6第4章 调试结果与分析74.1 调试结果74.2 结果分析7结论与体会8参考文献9附录10第1章 设计的研究背景及目的要求1.1 研究背景用单片机驱动led数码管有很多方法,按显示方式可分静态显示和动态(扫描)显示;按译码方式可分硬件译码和软件译码。静态显示数据稳定,占用很少的cpu时间。动态显示需要cpu时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的cpu时间多。led数码管的外围电路一般需要一个限流电阻和加大驱动电流的晶体管。led数码管是由发光二级管显示字段组成的显示器,有“8”字段和“米”字段之分,这种显示器有共阳极和共阴极两种。实际上不用驱动电路即可达到正常亮度,为了可靠性设计可采用晶体管构成驱动电路。1.2 设计目的在单片机的产品设计中,人机界面是非常重要的部分,而且随着系统的日益复杂,以及人们对产品的人机交互能力的要求不断提升,常握单片机系统中的人机界面基础设计能力成为了学习单片机的基础课程,而4x4键盘的操作和led数码管的动态显示是人机界面设计的基础内容,掌握这些基础设计能力,加深对人机界面的认识,同时提高人机界面系统设计能力。1.3 硬件选择装有windows系统和nsp ide仿真环境的pc机一台,nsp 十六位单片机实验箱一个。本设计用到的实验箱硬件模块为:spce061a核心及周边电路模块(包含32个i/o口)。半导体数码管,44键盘。做此实验用51板也可以,因为51板也提供了相应的led模组,因为实验室里面给我们提供了61板,所以我决定选用spce061a单片机实验箱。1.4 设计内容给 44 键盘的每个键定义一个功能,其中把定义为 09 的键盘称为数字键,把定义成 del 的键称为删除键,把定义成 ent 的键成为确认键,其他键称为保留键。如果是数字键按下,把代表数字显示在数码管上:按键按下时,6 位数码管靠右边显示该键的代表数字;继续按键时,已经显示在数码管上的数字左移一位,按键代表的数字显示在最右边的数码管上。第2章 设计的基本原理及硬件连接方案2.1 4x4键盘扫描原理图键盘按其接线方法有:直接式键盘、行列式键盘(又称矩阵键盘)、串转并键盘等;在本设计中,采用4x4的行列式键盘,即键盘排列为4行、4列,共16个按键。44键盘的电路图如图 1-3所示,分别定义这16个按键盘为key116。图 2-1 44键盘电路图图中c1c4为44键盘的列扫描线,l1l4为44键盘的行扫描线。先使行扫描线输出高电平,然后读取列扫描线的状态,得到与按键横向位置对应的4位列码;如果是有键被按下时,则对应的列扫描线必然会被读回高电平,如果是无键盘按下时,则读取的列码必定全是0(低电平)。这也就可以判断有无按键的按下了。2.2 spce061a获取44键盘键值原理单片机与该电路连接时,使用4个端口作为输出口,接4条行扫描线;使用4个端口作为输入口,接4条列扫描线。使用spce061a的ioa815八个端口作44键盘的扫描,ioa03接行扫描线,ioa47接列扫描线。ioa15ioa14ioa13ioa12spce061a ioa 11 ioa10 ioa9 ioa8l1l2l3l44x4键盘c1c2c3c4图 2-2 spce061a和44键盘电路连接图如上图中,ioa12ioa15设置为输出口,接行扫描线;ioa8ioa11设置为带下拉电阻的输入口,接列扫描线。按照44键盘的工作原理,先只把ioa12输出高电平,其他都输出低电平,扫描ioa8到ioa11四个输入口的值,如果每个输入口的值还是0;再把ioa13输出高电平,其他都输出低电平,扫描ioa8到ioa11四个输入口的值,如果每个输入口还没有检测到高电平;从ioa14输出高电平扫描,从ioa15输出高电平扫描,直到检测到高电平,保存扫描行值和列码。2.3 硬件连接硬件连接图如图 2-3,ioa0ioa7连接和6位数码管的ag、dp,ioa口的高八位ioa15ioa8连接44键盘的l1l4、c1c4,iob15iob12连接数码管的位信号14,iob2iob1连接数码管的位信号56,iob0连接数码管的分隔符信号dd。即把jp4、jp5的引脚全部用跳线短接起来,用一根排线连接j28和jp7,注意j27和jp7的连接顺序(连接顺序为:j27的第0号引脚连接jp7的c4引脚,j27的第7号引脚连接jp7的l1引脚)。abcdefgdp6位数码管123456ddioa0ioa1ioa2ioa3ioa4 ioa15ioa5 ioa14ioa6 ioa13ioa7 ioa12spce061aiob15 ioa11iob14 ioa10iob13 ioa9iob12 ioa8iob2iob1iob0l1l2l3l44x4键盘c1c2c3c4图 2-3 硬件连接图第3章 软件设计方案3.1 设计步骤1.建立一个新工程cyd,在工程里新建c语言文件main.c。2.拷贝并添加头文件spce061a.c和spce061a.inc到新建工程cyd。3.按照程序流程图编写程序,如图3-1所示。开始hi初始化系统取键值 确认键按下确认键按下标志1数字键按下且确认键没有按下当前显示的数字左移一位按键代表的数字显示在最右边的数码管上删除键按下且确认键没有按下当前显示的数字右移一位最左边的数码管显示0其他清看门狗图 3-1 主程序流程图4. rebuild all。5.根据硬件连接图连接实验箱电路。6.下载程序到实验箱,运行。7.观察实验箱led数码管的状态,分析是否和设计要求相符。3.2 设计程序由于程序过多,如附录所示。第4章 调试结果与分析4.1 调试结果给 44 键盘的每个键定义一个功能,其中把定义为 09 的键盘称为数字键,把定义成del的键称为删除键,把定义成ent的键成为确认键,其他键称为保留键。如果是数字键按下,把代表数字显示在数码管上:按键按下时,6位数码管靠右边显示该键的代表数字;继续按键时,已经显示在数码管上的数字左移一位,按键代表的数字显示在最右边的数码管上。如果是删除键按下时,每按一次删除键显示在最右边数字被删除,其他数字右移一位,最右边一位显示 0,比如在第 5 个数码管上显示“8”,在第 6 个数码管上显示“9”,当按一次删除键时,在第 6 个数码管上显示“8”,第 5 个数码管显示按键前第四个数码管显示的内容(或者说删除了9)。4.2 结果分析此设计验证了键盘输入在led数码管上的显示的功能。可能会出现的问题就是在按键时候需要注意,当保留键按下时,不做任何操作。当按确认键时,按任何键将不起作用。结论与体会设计结论:1. 设计中我遇到了按键分辨的问题。2. 我采用的解决方法是自己在纸上记下自己定义的功能。3. 此次设计的优点是程序简单,不过缺点是操作繁琐。很难理清按键顺序。4. 我建议能够简化操作步骤,使电路图连接更清晰。操作起来能够得心应手。心得体会:单片机是一门非常重视实践的技术,不能总是看书,但要学习它首先应看书,对单片机引脚、内部结构、寄存器和原理有一定地了解和感官认识,它的是怎样工作的,能干些什么?刚开始时,也许你看不明白,但这并不要紧,因为你还缺乏实践经验。现在单片机应用广泛,因此各个厂家分别推出了自己的单片机,按内部结构体系派系分:51系列、pic系列、avr系列、摩托罗拉等等!因为他们的编程方法和调试过程以及内部指令结构有一定的相似,只要学精通一款就ok了!尤其是用c语言编程,就几乎不用分什么派系,但是我们要选择一款有代表性的知识范围广,并且入门容易,书籍多。一般来说,mcs-51系列单片机已经得到广泛的普及和应用,市场上它的资料也比较多,用的人也很多。参考文献1肖洪兵.跟我学用单片机j.北京:北京航空航天大学出版社,2002.8 2何立民.单片机高级教程第1版m.北京:北京航空航天大学出版社,2001.63赵晓安.mcs-51单片机原理及应用m.天津:天津大学出版社,2001.3 4李广第.单片机基础第1版m.北京:北京航空航天大学出版社,1999.55徐惠民.单片微型计算机原理与应用m.北京:北京邮电大学出版社,1996.2 6 袁勤勇.嵌入式系统构件m.北京:北京机械工业出版社,2002.附录#include spce061a.h#include dig.h#include key.hint main(void)int ent_flag = 0;unsigned int uikey;unsigned int uidata6 = 1,0,0,0,0,1;uidata0 = 0;uidata5 = 0;key_init();dig_init();while(1)uikey = key_get();switch(uikey)case key_0:if(ent_flag = 0)uidata0 = uidata1; uidata1 = uidata2;uidata2 = uidata3;uidata3 = uidata4;uidata4 = uidata5;uidata5 = 7; break;case key_1:if(ent_flag = 0) uidata0 = uidata1;uidata1 = uidata2;uidata2 = uidata3;uidata3 = uidata4;uidata4 = uidata5;uidata5 = 8; break; case key_2: if(ent_flag = 0) uidata0 = uidata1;uidata1 = uidata2;uidata2 = uidata3;uidata3 = uidata4;uidata4 = uidata5;uidata5 = 9; break;case key_3: break;case key_4:if(ent_flag = 0)uidata0 = uidata1; uidata1 = uidata2;uidata2 = uidata3;uidata3 = uidata4;uidata4 = uidata5;uidata5 = 4; break;case key_5: if(ent_flag = 0) uidata0 = uidata1;uidata1 = uidata2;uidata2 = uidata3;uidata3 = uidata4;uidata4 = uidata5;uidata5 = 5; break;case key_6: if(ent_flag = 0) uidata0 = uidata1; uidata1 = uidata2;uidata2 = uidata3;uidata3 = uidata4;uidata4 = uidata5;uidata5 = 6;break;case key_7: break;case key_8: if(ent_flag = 0) uidata0 = uidata1;uidata1 = uidata2;uidata2 = uidata3;uidata3 = uidata4;uidata4 = uidata5;uidata5 = 1;break;case key_9: if(ent_flag = 0) uidata0 = uidata1; uidata1 = uidata2;uidata2 = uidata3;uidata3 = uidata4;uidata4 = uidata5;uidata5 = 2;break;case key_a: if(ent_flag = 0) uidata0 = uidata1;uidata1 = uidata2;uidata2 = uidata3;uidata3 = uidata4;uidata4 = uidata5;uidata5 = 3;break;case key_b:break;case key_c: if(ent_flag = 0) uidata5 = uidata4; uidata4 = uidata3;uidata3 = uidata2;uidata2 = uidata1;uidata1 = uidata0;uidata0 = 0; break;case key_d: if(ent_fl

温馨提示

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

评论

0/150

提交评论