您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 基于矩阵键盘、1602液晶屏的简易计算器的设计系统
燕山大学课程设计说明书题目:基于矩阵键盘、1602液晶屏的简易计算器的设计系统学院(系):理学院年级专业:12级电子信息科学与技术学号:120108040005学生姓名:王欣彦指导教师:杜会静教师职称:副教授燕山大学课程设计(论文)任务书院(系):理学院基层教学单位:12级电子信息科学与技术一班学号120108040005学生姓名王欣彦专业(班级)12级电子一班设计题目计算机程序设计设计技术参数设计参数:认识矩阵键盘、1602液晶屏,对其基础知识基本掌握利用单片机实现对矩阵键盘、1602液晶屏的程序设计,实现简易计算器的计算功能设计要求利用各元器件的详细资料,利用其基本操作了流程,编写单片机程序,实现对各元器件的基本功能调试。工作量10个工作日工作计划2015.1.4-2015.1.4MAX7219显示模块讲解,实现其驱动程序编写2015.1.5-2015.1.5DS18b20和DHT11模块讲解,完成其的驱动程序编写2015.1.6-2015.16矩阵键盘模块程序讲解,完成其驱动程序编写2015.1.7-2015.1.7DS1302模块讲解,完成其驱动程序编写2015.1.8-2015.1.13课设结题,实验总结参考资料[1]矩阵键盘、1602液晶屏等器件的中文资料说明[2]单片机教学PPT.2015[3]郭天祥.《新概念51单片机C语言教程+入门、提高、开发、拓展全攻略》.电子工业出版社.2012指导教师签字基层教学单位主任签字年月日燕山大学课程设计说明书基于矩阵键盘、1602液晶屏的简易计算器设计系统王欣彦理学院12级电子信息科学与技术一班摘要:本文主要分为两个部分,分别是对矩阵键盘、1602液晶屏的基本了解,通过时序图引脚功能等实现简易计算器的实际。本次课设,我们需要利用软件Keil单片机编程软件,完成了指定功能的单片机程序的设计。关键词:单片机、Keil软件SimplecalculatordesignsystemAbstract:Thispaperisdividedintotwoparts,namelythematrixkeyboard,abasicunderstandingof1602LCDscreen,theactualrealizationofasimplecalculatorbytimingdiagrampinfunctions.Theclass-based,weneedtousethesoftwareKeilmicrocontrollerprogrammingsoftware,completedthedesignspecifiedfunctionmicrocontrollerprogram.Keywords:Singlechipmicrocomputer、Keilsoftware一、学习目的1.更正学习习惯,端正学习态度,建立一个良好的学习氛围。2.对单片机有一个具体的了解,掌握矩阵键盘、1602液晶屏的单片机程序的编程设计,并在STC_ISP_V483进行下载调试。二、学习软件KeiluVision、STC_ISP_V483三、学习内容矩阵键盘的详细说明燕山大学课程设计说明书1、基本介绍将按键排列成矩阵形式被称为矩阵键盘。矩阵键盘程序则实现了矩阵键盘的功能。矩阵键盘减少了I/O的占用,在需要的键数比较多时,采用矩阵法是很合理的。如图1-1是矩阵键盘的实物图图1-1矩阵键盘实物图2、工作原理在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。当按键没有按下时,所有的输入端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。如图1-2是矩阵式结构的键盘。图1-2矩阵式结构的键盘3、识别方法行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图1-2所示键盘,介绍过程如下。燕山大学课程设计说明书(1)判断键盘中有无键按下将全部行线Y0-Y3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。(2)判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。4、运算选择根据程序可知,当按下“等于”键时,根据sign的值来确定到底执行那个运算。当sign=1时,执行加运算;当sign=2时,执行减运算;当sign=3时,执行乘运算。1602液晶屏的详细说明1、基本介绍1602LCD它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,其显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。2、管脚功能(如图2-1)第1脚:VSS为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。燕山大学课程设计说明书第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。第7~14脚:D0~D7为8位双向数据端。第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。图2-11602液晶屏管脚示意图3、基本操作时序读状态:输入:RS=L;RW=H;E=H输出:D0~D7=状态字写指令:输入:RS=L;RW=L;D0~D7=指令码E=高脉冲输出:无燕山大学课程设计说明书读数据:输入:RS=H;RW=L;E=H输出:D0~D7=数据写数据:输入:RS=H;RW=L;D0~D7=数据;E=高脉冲输出:无4、指令说明(1)初始化设置A、显示模式设置图2-2显示模式表B、显示开关及光标设置图2-3显示开关及光标设置表(2)数据控制A、数据指针设置燕山大学课程设计说明书图2-4数据指针设置表B、读数据时序图图2-4读数据时序图C、写数据时序图图2-5写数据时序图C、其他设置5、初始化过程延时15ms--写指令38H(不检测忙信号)--延时5ms--写指令38H(不检测忙信号)--延时5ms--写指令38H(不检测忙信号)--写指令38H:显示模式位置--写指令08H:显示关闭--写指令01H:显示清屏--写指令06H:显示光标移动位置--写指令0CH:显示开及光标位置燕山大学课程设计说明书四、总结通过对几个器件的学习编译,我们对单片机程序有了更深的认识,尤其是对单片机的工作原理以及单片机的设计有深入了解。通过这次课设,不仅让我在学习方面端正了自己的学习态度,明确了学习目标,认识到自己的不足,而且在学习交流的过程中也认识许多朋友,与他们有了进一步的了解,大家一起学习,一起进步,很开心。这段时间,大家明显和平时的学习情况不同,学习热情高涨,共同建立了一个良好的学习氛围。希望在以后的学习中继续保持。参考文献1.郭天祥51单片机C语言教程;2.周冰李田胡仁喜AltiumDesignerSummmer09从入门到精通;3.求是科技8051系列单片机C程序设计完全手册4陈光东、赵性初单片微型计算机原理与接口技术5.韩广兴图解单片机功能与应用燕山大学课程设计说明书附录:基于矩阵键盘、1602液晶屏的简易计算器设计的主要程序:voiddelay(unsignedintz)//延时函数{unsignedintx,y;for(x=z;x0;x--)for(y=110;y0;y--);}//防抖voidKeyvalue()//定义键的功能{switch(keyscan()){case1:value=1;flag0++;break;//键1代表数字1……case4:sign=1;flag1=1;break;//键4代表计算功能键case8:sign=2;flag1=1;break;case12:sign=3;flag1=1;break;case15:flag1=0,flag0=0,sign=0,value=0;value_a=0,value_b=0;LCD_Write_String(0,0,00000);//清零break;case16:flag1=2;break;//等于功能}}voidxianshi(unsignedints){intg[5];g[0]=s/10000;//当以输出的位数g[1]=s/1000%10;g[2]=s/100%10;g[3]=s/10%10;g[4]=s%10;燕山大学课程设计说明书LCD_Write_Char(0x01,0,num[g[0]]);//输出的具体数LCD_Write_Char(0x02,0,num[g[1]]);LCD_Write_Char(0x03,0,num[g[2]]);LCD_Write_Char(0x04,0,num[g[3]]);LCD_Write_Char(0x05,0,num[g[4]]);}unsignedcharkeyscan(){unsignedchari=0,key_value=0;for(i=0;i4;i++){P1=~(0x10i);temp=P1;temp=0x0f&temp;while(temp!=0x0f){delay(5);temp=P1;temp=0x0f&temp;while(temp!=0x0f){temp=P1;switch(temp&0x0f){case0x0e:key_value=1+i*4;break;case0x0d:key_value=2+i*4;break;燕山大学课程设计说明书case0x0b:key_value=3+i*4;break;case0x07:key_value=4+i*4;break;}while(temp!=0x0f){temp=P1;temp=0x0f&P1;}//找键}}}
本文标题:基于矩阵键盘、1602液晶屏的简易计算器的设计系统
链接地址:https://www.777doc.com/doc-5877783 .html