44 键盘矩阵控制条形LED显示Word文件下载.docx
《44 键盘矩阵控制条形LED显示Word文件下载.docx》由会员分享,可在线阅读,更多相关《44 键盘矩阵控制条形LED显示Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。
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灯的。
据此,本设计系统以单片机为控制核心,连接成最小系统。
系统的总体框图如下所示。
图4.1硬件电路的总体框图[2]
4.2硬件电路元器件
为实现本设计要求的具体功能,可以选用AT89C51单片机及外围器件构成最小控制系统,4×
4点阵指示模块等,所需要的元器件如下表所示:
表4-2元器件表
器件
个数
Button按钮
16
AT89C51单片机
1
CAP电容
2
CAP-ELEC电容
CRYSTAL晶振
LED-BARGRAPH-GRN条形LED灯
RES电阻
RESPACK-8排阻
4.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程序流程图:
图5.1程序流程图
5.2程序代码
#include<
reg52.h>
intrins.h>
#defineucharunsignedchar
#defineuintunsignedint
ucharcodeKeyCodeTable[]=//定义键盘状态数组
{
0x11,0x12,0x14,0
x18,0x21,0x22,0x24,0x28,0x41,0x42,0x44,0x48,0x81,0x82,0x84,0x88
};
voidDelay()//延时函数
uchari;
for(i=0;
i<
200;
i++);
}
ucharKeys_Scan()//键盘查询子函数
ucharsCode,kCode,i,k;
P1=0xf0;
//为p1口赋初值11111110
if((P1&
0xf0)!
=0xf0)//判断是否有按键按下
{
Delay();
//延时函数进行消抖
if((P1&
=0xf0)//判断是否有按键按下
{
sCode=0xfe;
for(k=0;
k<
4;
k++)//行扫描
{
P1=sCode;
if((P1&
=0xf0)//判断是否有按键按下
{
kCode=~P1;
for(i=0;
16;
i++)
{
if(kCode==KeyCodeTable[i])//比较按键状态,判断哪个
按键号
returni;
//返回按键号
}
}
else
sCode=_crol_(sCode,1);
//比较不成功,循环到下一行
}
}
}
return-1;
//没有按键按下返回-1
voidmain()
ucharKeyNO=-1;
//键盘号
uchari,P2_LED,P3_LED;
while
(1)
KeyNO=Keys_Scan();
//调用查询按键子函数
if(KeyNO!
=-1)//等于-1没有按键按下一般不等有按键按下
P2_LED=0xff;
//赋初值使p2口灯全灭
P3_LED=0xff;
//赋初值使p3口灯全灭
for(i=0;
=KeyNO;
i++)//按键号是几循环几次
if(i<
8)//按键号小于8,P3_LED右移
P3_LED>
>
=1;
Else//大于8,P3_LED移动8次,P3_LED灯全亮
P2_LED>
//P2_LED再继续右移
P3=P3_LED;
P2=P2_LED;
}
6运行结果
6.1运行结果描述
进入Proteus仿真设计平台,加载仿真电路,点击运行按钮,点击4×
4键盘控制条形LED灯的亮灭,使其能够通过按下几号键盘就能控制亮几个条形LED灯的功能。
6.2仿真结果图:
图6.2实验仿真结果图
结论
4LED点阵屏显示数字系统对于单片机初学者有着非常重要的作用。
本文完成了基于单片机的定时器控制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】邬宽明.单片机外围器件实用手册.北京航空航天大学出版社,1998