资源描述:
《51单片机矩阵键盘设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、湖南工业大学课程设计资料袋电气与信息工程学院(系、部)2009--2010学年第1学期课程名称单片机应用系统指导教师贺正芸学生姓名专业班级电子信息科学与技术学号题目4*4矩阵键盘成绩起止日期2009年11月23日~2009年12月04日目录清单序号材料名称资料数量备注1课程设计任务书2课程设计说明书3课程设计图纸张45610湖南工业大学课程设计任务书2009—2010学年第1学期电气与信息工程学院(系、部)电子信息科学与技术专业班级课程名称:单片机应用系统设计题目:4*4矩阵键盘完成期限:自2009年11月9日至2
2、009年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.
3、28-2009.12.04进行系统的硬件设计主要参考资料[1]欧伟明.单片机原理与应用.电子工业出版社,2009年指导教师(签字):年月日系(教研室)主任(签字):年月日10单片机应用系统4*4矩阵键盘设计说明书学生姓名班级电科072学号成绩指导教师(签字)起止日期:2009年11月23日至2009年12月4日电气与信息工程学院(部)10年月日单片机设计题目:矩阵式键盘数显设计一、设计要求及任务1、设计要求(1)由P1.0—P1.3(列)和P1.4—P1.7(行)组成4*4矩阵键盘,P0口接LED静态显示电路。由于
4、P0口内部无上拉电阻,因此必须外部接上上拉电阻,其阻值的选择可以根据LED数码管发光电流及其亮度来决定,参考值为560欧姆。编写4*4键盘的驱动程序。(2)编写主程序,当按键按下时,能够在数码管显示器与按键的键值对应的数字2、设计任务(1)以AT89S51为核心,设计系统硬件电路,并根据所设计的电路制作实物。(2)分析任务要求,绘制程序流程图,编写相应的软件程序。(3)编写设计说明书,内容包括:电路原理图;程序流程图,源程序清单;电路实测波形、电路原理分析、硬件调试分析;软件调试分析;结论和体会。序号器件名称器件数
5、量1AT89S5112插座13万能板141位数码管1512MHZ晶振1630pF电容2720uF电容189脚排阻(470*8)19按钮171010K电阻4111K电阻1200欧姆电阻2电源插孔1电源开关1发光二极管1下载接口1实验电源(220V转5V)1电烙铁1焊锡丝若干10导线若干若干二、任务分析根据任务要求知此课程设计是做一个4*4的矩阵键盘P1口接键盘,P0口接数码管。19脚和18脚接晶振电路,9脚接复位电路,P1.5—P1.7要接下载接口。应先画出电路原理图,根据原理图列出报目表,编写程序,进行软件仿真,软
6、件仿真成功后开始做硬件。编写程序时,步骤如下:1、判断是否有键按下2、识别被按下的键3、查数码显示编码表三、报目表根据任务分析列出报目表,如表一所示表一三、总体设计1、软件设计(1)电路原理图(2)程序流程图10(3)源程序#include#includeUnsigned;charkey_code[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1,0x00};uns
7、ignedcharksp0[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(
8、P1!=0x0f){10for(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(){unsigned