好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

按键控制液晶显示实验.doc

6页
  • 卖家[上传人]:F****n
  • 文档编号:100541246
  • 上传时间:2019-09-24
  • 文档格式:DOC
  • 文档大小:43KB
  • / 6 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 贵州大学实验报告学院:电气工程学院 专业:测控技术与仪器 班级:测仪101姓名学号实验组实验时间2013-12-10指导教师成绩实验项目名称按键控制液晶显示实验实验目的通过本实验的学习,使学生熟悉和掌握利用按键来控制液晶的显示;实验要求选修实验原理及内容实验内容:采用按键和LCD1602进行电路设计,首先控制LCD显示一个小数,通过相应按键选择数字位的状态,并控制该位增加和减少实验原理:1. 在实验三的基础上,首先在LCD1602的屏幕中显示一个小数增加四个按键,分别实现设置、增加、减少和确定的功能实验参考电路图如图1所示LCD1602寄存器选择信号RS和AT89C51的P2.0相连,高电平时选择数据寄存器,低电平时选择指令寄存器读写信号RW和AT89C51的P2.1相连,使能端E和AT89C51的P2.2相连四个按键分别接到AT89C51的P3.4~P3.7引脚,AT89C51的P0作为数据和指令的输出口1)设置键功能:当第一次按下设置键时,选中小数最高位(左边第一位)并且该数字位闪烁再次按下设置键时,选中位右移一位当选中小数最低位(右边第一位)后,再次按下设置键时,返回,选中位返回小数最高位。

      2)增加键,减少键功能:当设置键选中需要修改的数字位后,可通过增加或减少功能按键对数值进行相应的加1或减1当增加到9时,返回0;或者较少到0时,返回93)确定键功能按下确定功能按键,即返回正常显示实验仪器 PC机、Proteus软件、Keil μVision2软件实验步骤1.按照实验原理及接线图在Proteus中画出仿真电路图 2.编写程序,进行仿真实验程序:#include #include #define uchar unsigned char#define uint unsigned intuchar code table1[]="0.00";sbit lcdrs=P2^0;sbit lcdrw=P2^1;sbit lcde=P2^2;sbit shezhi=P3^4;sbit zengjia=P3^5;sbit jianshao=P3^6;sbit queding=P3^7;uint k;uchar num,num1,a,b,c;void delay(uint z){ uint i,j; for(i=z;i>0;i--) for(j=110;j>0;j--); }void write_com(uchar com){ lcdrw=0; lcdrs=0; P0=com; delay(5); lcde=0; delay(5); lcde=1; }void write_data(uchar date){ lcdrs=1; lcdrw=0; P0=date; delay(5); lcde=0; delay(5); lcde=1; lcdrs=0; }void in() { lcde=0; write_com(0x01); write_com(0x38); write_com(0x0f); write_com(0x06); }void keyscan1(){ if(zengjia==0) { delay(10); if(zengjia==0) { if(k==1) { a++;if(a==10)a=0; write_com(0xc0);delay(5);write_data(0x30+a); } if(k==2) { b++;if(b==10);b=0; write_com(0xc2);delay(5);write_data(0x30+b); } if(k==3) { c++;if(c==10);c=0; write_com(0xc3);delay(5);write_data(0x30+c); } while(!zengjia); } } if(jianshao==0) { delay(10); if(jianshao==0) { if(k==1) { if(a==0)a=10;a--; write_com(0xc0);delay(5);write_data(0x30+a); } if(k==2) { if(b==0)b=10;b--; write_com(0xc2);delay(5);write_data(0x30+b); } if(k==3) { if(c==0)c=10;c--; write_com(0xc3);delay(5);write_data(0x30+c); } while(!jianshao); } } if(queding==0) { delay(10); if(queding==0) { write_com(0xc4); while(!queding); } } }void keyscan(){ if(shezhi==0) { delay(10); if(shezhi==0) { k++; if(k==4) k=1; if(k==1) write_com(0xc0); delay(500); if(k==2) write_com(0xc2); delay(500); if(k==3) write_com(0xc3); delay(500); } } }void main(){ in(); write_com(0xc0); for(num1=0;num1<4;num1++) { write_data(table1[num1]); delay(5); } do { keyscan(); delay(5); keyscan1(); delay(5); } while(1); }实验数据及结果实验总结思考:如何用软件消除键盘的机械抖动?答:用延时来消除键盘抖动,如:if(shezhi==0) { delay(10); if(shezhi==0)通过本实验,不仅让我更好的了解了所学知识,更多的还提高了我对测控系统一些相关东西的兴趣,通过实验与理论的集合,让我认识到,许多高科技的东西,它的原理原来是这么的有趣!指导教师意见签名: 年 月 日工厂搬迁对于一个企业来说,安全问题始终是第一位的,也是最基本的,过程中所涉及到的安全问题主要是人员的安全和设备拆装以及财产的安全。

      各部门经理和所有员工一定要以安全为核心,开展各项工作,职责到人、分工明确。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.