1 / 5
文档名称:

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

格式:doc   大小:120KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

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

上传人:762357237 2019/4/21 文件大小:120 KB

下载得到文件列表

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

文档介绍

文档介绍:桂林电子科技大学实验报告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语言的一些使用规则的错误和对中断控制等代码的错误。等发生错误时,就应从代码的开始部分进行检查和分析,对于错误的地方进行修改,直到程序无错误为止。对于验证其功能时,应确认开发板没