51单片机矩阵键盘设计.docx
- 文档编号:6094488
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:10
- 大小:280.35KB
51单片机矩阵键盘设计.docx
《51单片机矩阵键盘设计.docx》由会员分享,可在线阅读,更多相关《51单片机矩阵键盘设计.docx(10页珍藏版)》请在冰豆网上搜索。
51单片机矩阵键盘设计
工业大学
课程设计
资料袋
电气与信息工程学院(系、部)2009--2010学年第1学期
课程名称单片机应用系统指导教师贺正芸
学生专业班级电子信息科学与技术学号
题目4*4矩阵键盘
成绩起止日期2009年11月23日~2009年12月04日
目录清单
序号
材料名称
资料数量
备注
1
课程设计任务书
2
课程设计说明书
3
课程设计图纸
4
5
6
工业大学
课程设计任务书
2009—2010学年第1学期
电气与信息工程学院(系、部)电子信息科学与技术专业班级
课程名称:
单片机应用系统
设计题目:
4*4矩阵键盘
完成期限:
自2009年11月9日至2009年11月20日共2周
容
及
任
务
由P1.0—P1.3(列)和P1.4—P1.7(行)组成4*4矩阵键盘,P0口接LED静态显示电路。
由于P0口部无上拉电阻,因此必须外部接上上拉电阻,其阻值的选择可以根据LED数码管发光电流及其亮度来决定,参考值为560欧姆。
编写4*4键盘的驱动程序。
编写主程序,当按键按下时,能够在数码管显示器与按键的键值对应的数字。
进
度
安
排
起止日期
工作容
2009.11.23-2009.11.24
设计容及基本原理
2009.11.25-2009.11.27
进行系统的软件设计,
2009.11.28-2009.12.04
进行系统的硬件设计
主
要
参
考
资
料
[1]欧伟明.单片机原理与应用.电子工业,2009年
指导教师(签字):
年月日
系(教研室)主任(签字):
年月日
单片机应用系统
4*4矩阵键盘设计说明书
学生
班级
电科072
学号
成绩
指导教师(签字)
起止日期:
2009年11月23日至2009年12月4日
电气与信息工程学院(部)
年月日
单片机设计题目:
矩阵式键盘数显设计
一、设计要求及任务
1、设计要求
(1)由P1.0—P1.3(列)和P1.4—P1.7(行)组成4*4矩阵键盘,P0口接LED静态显示电路。
由于P0口部无上拉电阻,因此必须外部接上上拉电阻,其阻值的选择可以根据LED数码管发光电流及其亮度来决定,参考值为560欧姆。
编写4*4键盘的驱动程序。
(2)编写主程序,当按键按下时,能够在数码管显示器与按键的键值对应的数字
2、设计任务
(1)以AT89S51为核心,设计系统硬件电路,并根据所设计的电路制作实物。
(2)分析任务要求,绘制程序流程图,编写相应的软件程序。
(3)编写设计说明书,容包括:
电路原理图;程序流程图,源程序清单;电路实测波形、电路原理分析、硬件调试分析;软件调试分析;结论和体会。
序号
器件名称
器件数量
1
AT89S51
1
2
插座
1
3
万能板
1
4
1位数码管
1
5
12MHZ晶振
1
6
30pF电容
2
7
20uF电容
1
8
9脚排阻(470*8)
1
9
按钮
17
10
10K电阻
4
11
1K电阻
1
200欧姆电阻
2
电源插孔
1
电源开关
1
发光二极管
1
下载接口
1
实验电源(220V转5V)
1
电烙铁
1
焊锡丝
若干
导线若干
若干
二、任务分析
根据任务要求知此课程设计是做一个4*4的矩阵键盘P1口接键盘,P0口接数码管。
19脚和18脚接晶振电路,9脚接复位电路,P1.5—P1.7要接下载接口。
应先画出电路原理图,根据原理图列出报目表,编写程序,进行软件仿真,软件仿真成功后开始做硬件。
编写程序时,步骤如下:
1、判断是否有键按下
2、识别被按下的键
3、查数码显示编码表
三、报目表
根据任务分析列出报目表,如表一所示
表一
三、总体设计
1、软件设计
(1)电路原理图
(2)程序流程图
(3)源程序
#include
#include
Unsigned;charkey_code[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1,0x00};
unsignedcharksp0[4]={0xfe,0xfd,0xfb,0xf7};
unsignedcharksp1[4]={0xef,0xdf,0xbf,0x7f};
unsignedchark=1;
voiddelay(void)
{
unsignedchari,j;
for(i=0;i<5;i++)
for(j=0;j<255;j++);
}
//键盘扫描
unsignedcharkey_scan()
{
unsignedchari,j,key;
P1=0x0f;
while(P1!
=0x0f)
{delay();
P1=0x0f;
while(P1!
=0x0f)
{
for(i=0;i<=3;i++)
{
P1=ksp1[i];
if(P1!
=ksp1[i])break;
}
for(j=0;j<=3;j++)
{
P1=ksp0[j];
if(P1!
=ksp0[j])break;
}
key=i*4+j;
return(key);
}return(16);
}return(16);
}
voidmain()
{unsignedcharkey=0;
while
(1)
{while(k)
{P1=0x0f;
if(P1!
=0x0f)
{k=0;
key=key_scan();
if(key!
=16)P0=key_code[key];
}
}
while(!
k)
{P1=0x0f;
if(P1==0x0f)k=1;
}
}
}
(4)PROTEUS仿真图
2、硬件设计
心得体会:
通过这次单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。
创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。
这个设计过程中,我们由P1.0—P1.3(列)和P1.4—P1.7(行)组成4*4矩阵键盘,P0口接LED静态显示电路。
由于P0口部无上拉电阻,因此必须外部接上上拉电阻,其阻值的选择可以根据LED数码管发光电流及其亮度来决定,参考值为560欧姆。
编写4*4键盘的驱动程序。
编写主程序,当按键按下时,能够在数码管显示器与按键的键值对应的数字。
设计结果能够符合题意,成功完成了此次实习要求,我们不只在乎这一结果,更加在乎的,是这个过程。
这个过程中,我们花费了大量的时间和精力,更重要的是,我们在学会创新的基础上,同时还懂得合作精神的重要性,学会了与他人合作。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 矩阵 键盘 设计