下载此文档

单片机独立按键识别实验报告.doc


文档分类:通信/电子 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
桂林电子科技大学实验报告2016-2017学年第一学期开课单位海洋信息工程学院适用年级、专业14级机械设计制造及其自动化课程名称《单片微型计算机与接口技术-课内实验》主讲教师周旋课程序号BS1615000_03课程代码BS1615000实验名称《独立按键识别》学号1416010516-17姓名林亦鹏卢炳荣独立按键识别实验报告一、实验目的1、了解单片机顺序执行的工作特点。2、掌握单片机并行控制I/O口的基本方法。3、掌握C语言的编写,及对I/O口的基本操作方法。二、实验内容实验设备:计算机一台、单片机实验箱一台、Proteus软件、Keil软件。硬件原理图:电路采用无源蜂鸣器,。因为单片机开机初始化瞬间,其I/O口为高电平,会有误响动作。单片机的独立键盘使用的是P1口。当有键按下时,P1口相应位为低电平。1、查找资料说明按键抖动的原因。2、延时程序是怎么实现延时的?3、打开Keil新建工程:学号-。4、参考实验程序,编写程序:任意Key按下后让蜂鸣器响一声。生成:学号-。5、打开下载软件,把学号-,观察蜂鸣器现象。6、,并每按一次按键让蜂鸣器响三声。三、实验结果分析1、程序流程图:#include<>sbitBeep=P1^5;//定义蜂鸣器的连接端口//--定义要使用的IO口--//sbit K1=P1^0; //对应按钮K1//--定义全局函数--//voiddelay(unsignedinti);//延时函数voidbeepnoise(unsignedintt);//蜂鸣器发声unsignedcharKey_Scan();//键盘扫描voidmain(){ unsignedcharkeyNum; while(1) { keyNum=Key_Scan();//扫描键盘 if(keyNum==1)//如果键值返回1,即1号独立按键被按下{ beepnoise(1); } } }voiddelay(unsignedinti){charj;for(i;i>0;i--)for(j=200;j>0;j--);}voidbeepnoise(unsignedintt){t=t*30; while(t>0) { Beep=1; delay(500); Beep=0; delay(500); t--; }}unsignedcharKey_Scan(){ unsignedcharkeyValue=0,i;//保存键值 //--检测按键1--// if(K1==0) //检测按键K1是否按下 { delay(1000); //消除抖动 if(K1==0) //再次检测按键是否按下{ keyValue=1; i=0; while((i<50)&&(K1==0)) //检测按键是否松开{ delay(1000); i++; } } } returnkeyValue;//将读取到键值的值返回}以上程序用开发板来进行实验,程序可以实现要求。对于在进行实验的设计时,可能存在的错误,主要是C语言的一些使用规则的错误和对中断控制等代码的错误。等发生错误时,就应从代码的开始部分进行检查和分析,对于错误的地方进行修改,直到程序无错误为止。对于验证其功能时,应确认开发板没

单片机独立按键识别实验报告 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人762357237
  • 文件大小120 KB
  • 时间2019-04-21