文档详情

51单片机矩阵键盘设计.doc

发布:2017-09-16约2.62千字共10页下载文档
文本预览下载声明
湖南工业大学 课 程 设 计 资 料 袋 电气与信息工程 学院() 2009--2010 学年第 学期 课程名称 指导教师 学生姓名 专业班级 题 目 成 绩 年 11 月 日~ 年 月 日 序号 材 料 名 称 备 注 1 课程设计任务书 2 课程设计说明书 3 课程设计图纸 张 4 5 6 课程设计任务书 20 —2010 学年第 学期 电气与信息工程 学院(系、部)电子信息科学与技术 专业 班级 课程名称: 设计题目: 完成期限:自 年 月 日至 年 月 日共 周 指导教师(签字): 年 月 日主任(签字): 年 月 日 单片机应用系统 4*4矩阵键盘设计说明书 学生姓名 班级 成绩 指导教师(签字) 起止日期: 年 月 日 至 年 月 日 年月日 表一 三、总体设计 1、软件设计 (1)电路原理图 (2)程序流程图 (3)源程序 #include reg51.h #include reg51.h Unsigned;char key_code[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1,0x00}; unsigned char ksp0[4]={0xfe,0xfd,0xfb,0xf7}; unsigned char ksp1[4]={0xef,0xdf,0xbf,0x7f}; unsigned char k=1; void delay(void) { unsigned char i,j; for(i=0;i5;i++) for(j=0;j255;j++); } //键盘扫描 unsigned char key_scan() { unsigned char i,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); } void main() {unsigned cha
显示全部
相似文档