好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

44 键盘矩阵控制条形LED显示.doc

13页
  • 卖家[上传人]:博****1
  • 文档编号:544448869
  • 上传时间:2023-11-01
  • 文档格式:DOC
  • 文档大小:137.01KB
  • / 13 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 沈阳理工大学课程设计目录1 课程设计概述 11.1设计目的 11.2设计内容和要求 11.3 设计思路 11.4系统设计 11.5功能要求 12 硬件开发平台 23软件开发平台 34硬件电路的设计 44. 1硬件电路的基本构成 44.2硬件电路元器件 44.3 条形LED灯 54.4 硬件资源及其分配 55程序设计 75.1程序流程图: 75.2程序代码 86.1运行结果描述 106.2仿真结果图: 10结 论 11参考文献 121 课程设计概述1.1设计目的1、通过单片机课程设计,熟练掌握C语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力2、通过4×4 键盘矩阵控制条形LED显示系统的设计,掌握数码管的使用方法,和简单程序的编写,最终提高我们的逻辑抽象能力[1]1.2设计内容和要求 内容:设计一个4×4 键盘矩阵控制条形LED显示 要求:利用单片机的矩阵键盘,条形LED显示,第几个的按键对应的几个led灯亮1.3 设计思路1.先熟悉实验原理,设计8×8LED点阵屏显示数字的工作过程,以及所需要的组件2.通过单片机的各个引脚的输出控制8×8LED点阵屏显示数字1.4系统设计通过编写程序,实现用中断系统对8×8LED点阵屏的控制,使其每延时一段时间,LED点阵的显示数字就会进行状态转换。

      采用单片机内部的I/O口上的P0和P3口可来控制LED点阵1.5功能要求本设计能模拟基本的LED点阵显示系统,是用中断的方式定时控制LED点阵显示的内容变换定时/计数器工作方式寄存器,定时器采用T0定时器0工作于模式0 位数:13位计数范围:0-8192,每累计250次定时器中断才执行一次换数2 硬件开发平台3软件开发平台4硬件电路的设计4. 1硬件电路的基本构成4×4键盘矩阵控制条形LED显示系统,可用单片机的矩阵键盘的输入直接控制发光二极管LED灯的据此,本设计系统以单片机为控制核心,连接成最小系统系统的总体框图如下所示P1时钟输入AT89C51矩阵键盘的输入LED灯显示P2P3复位信号 图4.1 硬件电路的总体框图[2]4.2硬件电路元器件为实现本设计要求的具体功能,可以选用AT89C51单片机及外围器件构成最小控制系统,4×4点阵指示模块等,所需要的元器件如下表所示: 表4-2 元器件表器件个数Button按钮16AT89C51单片机1CAP电容2CAP-ELEC电容1CRYSTAL晶振1LED-BARGRAPH-GRN条形LED灯2RES电阻1RESPACK-8排阻24.3 条形LED灯根据本设计的特点,条形LED灯的显示不可少,LED灯的显示采用普通的发光二极管。

      在硬件上连接图上也是对称分布的,如下图4.3所示图4.3 条形LED灯的连接在本设计中,条形LED灯总共有20个,但只应用了16个,每次将按键按下时都会控制着键盘周围和条形LED灯周围的电平由高电平到低电平的转换,使其能让LED灯进行亮灭4.4 硬件资源及其分配 主要用到的硬件:P1口、P2口、P3口、4×4键盘、条形LED灯硬件分配:(1)P1口:做为输入口,与单片机和4×4键盘相连2)P2、P3口:作为输出口,与条形LED灯相连 本系统以单片机为核心,系统硬件电路由单片机,4×4键盘,条形LED灯等组成其具体的硬件电路总图如图4.4所示图4.4硬件设计连线图5程序设计5.1程序流程图: 开始KeyNO赋初值1调用子函数P2、P3口初始全灭判断是否有按键按下按键号<8YP3_LED右移一位P2_LED右移一位N结束Y图5.1程序流程图5.2程序代码#include #include #define uchar unsigned char#define uint unsigned intuchar code KeyCodeTable[]= //定义键盘状态数组{ 0x11,0x12,0x14,0x18,0x21,0x22,0x24,0x28,0x41,0x42,0x44,0x48,0x81,0x82,0x84,0x88};void Delay() //延时函数{ uchar i; for(i=0;i<200;i++);}uchar Keys_Scan() //键盘查询子函数{ uchar sCode,kCode,i,k; P1 = 0xf0; //为p1口赋初值1111 1110 if((P1&0xf0)!=0xf0) //判断是否有按键按下 { Delay(); //延时函数进行消抖 if((P1&0xf0)!=0xf0) //判断是否有按键按下 { sCode = 0xfe; for(k=0;k<4;k++) //行扫描 { P1 = sCode; if((P1&0xf0)!=0xf0) //判断是否有按键按下 { kCode = ~P1; for(i=0;i<16;i++) { if(kCode == KeyCodeTable[i]) //比较按键状态,判断哪个按键号 return i; //返回按键号 } } else sCode = _crol_(sCode,1); //比较不成功,循环到下一行 } } } return -1; //没有按键按下返回-1}void main(){ uchar KeyNO = -1; //键盘号 uchar i,P2_LED,P3_LED; while(1) { KeyNO = Keys_Scan(); //调用查询按键子函数 if(KeyNO != -1) //等于-1没有按键按下 一般不等有按键按下 { P2_LED = 0xff; //赋初值使p2口灯全灭 P3_LED = 0xff; //赋初值使p3口灯全灭 for(i=0;i<=KeyNO;i++) //按键号是几循环几次 { if(i<8) //按键号小于8 ,P3_LED右移 P3_LED>>=1; Else //大于8,P3_LED移动8次,P3_LED灯全亮 P2_LED>>=1; //P2_LED再继续右移 } P3 = P3_LED; P2 = P2_LED; } }} 6运行结果6.1运行结果描述进入Proteus仿真设计平台,加载仿真电路,点击运行按钮,点击4×4键盘控制条形LED灯的亮灭,使其能够通过按下几号键盘就能控制亮几个条形LED灯的功能。

      6.2仿真结果图:图6.2实验仿真结果图结 论4×4 LED点阵屏显示数字系统对于单片机初学者有着非常重要的作用本文完成了基于单片机的定时器控制8×8LED点阵屏显示数字系统的设计与模拟包括显示方案的设计,系统的硬件开发、软件编程与仿真调试等在论文完成过程中,主要做的工作有: (1)确定8×8LED点阵屏显示数字系统具体的通行方案以及要求其他多功能的实现2)以ATMEL公司的AT89C51单片机为核心进行系统硬件设计,输入量包括:输出LED点阵亮灭状态及时间显示 通过单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己创新,是要我们学会将理论很好地联系实际,并不断地去开动自己的大脑,从为人类造福的意愿出发,做自己力所能及的,别人却没想到的事使之不断地战胜别人,超越前人同时,更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响参考文献【1】谢维成. 单片微型计算机原理及应用.清华大学出版社,2009. 【2】余锡存 曹国华.单片机原理及接口技术.西安电子科技大学出版社,2011.【3】张凯.LED介绍完全手册.北京航空航天大学出版社,2000【4】雷丽文 等.微机原理与接口技术.电子工业出版社,1997.【5】吴黎明, 王桂棠, 洪添胜,等. 单片机原理及应用技术.科学出版社,2005.【6】韩克, 柳秀山, 等. 电子技能与EDA 技术.暨南大学出版社, 2004.【7】张毅坤.单片微型计算机原理及应用.西安电子科技大学出版社,1998【8】 任涛等.闪速存储器数据及应用简明速查手册.电子工业出版社,1997【9】 何立民.单片机应用技术选编.北京航空航天大学出版社,2000【10】 张毅刚等.MCS-51单片机应用设计.哈尔滨工业电子出版社,1996【11】邬宽明.单片机外围器件实用手册.北京航空航天大学出版社,199812。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.