44 键盘矩阵控制条形LED显示Word文件下载.docx

上传人:b****6 文档编号:21366469 上传时间:2023-01-30 格式:DOCX 页数:9 大小:78.82KB
下载 相关 举报
44 键盘矩阵控制条形LED显示Word文件下载.docx_第1页
第1页 / 共9页
44 键盘矩阵控制条形LED显示Word文件下载.docx_第2页
第2页 / 共9页
44 键盘矩阵控制条形LED显示Word文件下载.docx_第3页
第3页 / 共9页
44 键盘矩阵控制条形LED显示Word文件下载.docx_第4页
第4页 / 共9页
44 键盘矩阵控制条形LED显示Word文件下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

44 键盘矩阵控制条形LED显示Word文件下载.docx

《44 键盘矩阵控制条形LED显示Word文件下载.docx》由会员分享,可在线阅读,更多相关《44 键盘矩阵控制条形LED显示Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。

44 键盘矩阵控制条形LED显示Word文件下载.docx

8LED点阵屏的控制,使其每延时一段时间,LED点阵的显示数字就会进行状态转换。

采用单片机内部的I/O口上的P0和P3口可来控制LED点阵。

1.5功能要求

本设计能模拟基本的LED点阵显示系统,是用中断的方式定时控制LED点阵显示的内容变换。

定时/计数器工作方式寄存器,定时器采用T0定时器0工作于模式0位数:

13位计数范围:

0-8192,每累计250次定时器中断才执行一次换数。

 

2硬件开发平台

3软件开发平台

4硬件电路的设计

4.1硬件电路的基本构成

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 化学

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

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