版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、昆明理工大学信息工程与自动化学院学生实验报告( 2013 2014 学年 第 2 学期 )课程名称:嵌入式技术及应用 开课实验室:信自楼504 2014年5月 25 日年级、专业、班2011级计科111学号201110405138李冠芬成绩实验项目名称独立键盘检测控制实验指导教师 江虹教师评语该同学是否了解实验原理:A.了解B.基本了解C.不了解该同学的实验能力:A.强 B.中等 C.差 该同学的实验是否达到要求:A.达到B.基本达到C.未达到实验报告是否规范:A.规范B.基本规范C.不规范实验过程是否详细记录:A.详细B.一般 C.没有 教师签名: 年 月 日一、 实验目的 掌握单片机系统中
2、独立键盘的编程控制方法,学会实时程序的调试技巧。二、 实验原理键盘是单片机应用中常用的输入设备,在应用系统中,操作人员可通过键盘向系统输入指令、地址和数据,实现简单的人机通信。键盘实际上是一组按键开关的集合,平时总是处于断开状态,当按下键时它才闭合。按键在闭合和断开时,触点会存在抖动现象,抖动时间一般为5-10ms,键盘的处理主要涉及以下3个方面的内容:Ø 按键的识别所接I/O口线是高还是低电平(根据连接情况)Ø 抖动的消除硬件消抖软件消抖(延时)Ø 判断键值 实验板电路原理图如下:三、 实验内容利用TX-1C实验板上的数码管前三位显示一个跑表,从000到999之
3、间以1%秒速度运行,当按下独立键盘的S2时跑表停止,松开手后跑表继续运行。(用定时器设计表)。在上面的基础上,用另外三个独立键盘(S3、S4、S5)实现按下S3时计时停止,按下S4时计时开始,按下S5时计数值清零从头开始。四、 实验步骤1、 按实验内容要求在µ Vision中创建项目,编辑、调试、编译程序。2、 将编译生成的目标码文件(后缀为.Hex)下载到实验板上。3、 观察实验运行结果并记录。1.原理补充:在简单的单片机应用系统中,往往只需要几个功能键就能满足要求,此时,可采用独立式按键结构。 独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线
4、,每个按键的工作不会影响其它I/O口线的状态。独立式按键的典型应用如图1.2.1所示。 独立式按键示意图 独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采用。 程序开始,检测按键是否被按下,若按下,则移动机器人启动,未被按下,继续检测。这里将程序分成三个部分,分别是延时子函数、按键子函数、主函数。 延时子函数,通过参数t设置延时时间;按键模块子函数需用到延时函数,对按键进行消抖;主函数主要调用按键检测程序,实现对移动机器人的控制。程序流程图如图1.2.2所示 程序流程图 程序示例: 在编写程序开始的部分,将系统头文件“STC
5、89C52RC.H”包含进来,对常用的变量类型进行宏定义,规划各函数和变量,对变量进行定义和初始化,对自定义子函数进行声明并添加相应标注,程序开始部分如下 sbit IN1=P10; sbit IN2=P11; Void key(); 编写主函数,在主函数中就是调用按键检测函数。 Void main() key(); 编写key()按键检测函数,按键按下,输出低电平,通过if语句检测低电平,延时10ms后,再次检测,若检测为高电平,则表示为机械抖动,若检测到低电平表示按键按下。 Void key() if(IN1=0) delay_ms(10); if(IN1=0) while(IN1=0);
6、 IN2=IN2; 在上面的程序中,就只有一个检查按键扫描的函数key(),key()函数是检查有没有按键按下编写的。当有按键下的时候P2口取反。 2.代码实现#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit KEY1=P34;sbit KEY2=P35;sbit KEY3=P36;sbit KEY4=P37;sbit U1 = P26;sbit U2 = P27;uchar count,count1,bai,shi,ge,num,count1;uint second;uchar co
7、de table= 0x3f,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x51,0x79,0x71;void delay(uint z) uint x,y;for(x=z;x>0;x-) for(y=110;y>0;y-);void init() TMOD=0x11;/0001'0001TH0=(65536-10000)/256; TL0=(65536-10000)%256;EA=1;ET0=1;TR0=1;void display(uint second) bai=second/100; sh
8、i=second%100/10; ge=second%10; U2=1;P0=0xfe;/1111'1110U2=0;U1=1;P0=tablebai;U1=0;delay(5);U2=1;P0=0xfd;/1111'1101U2=0;U1=1;P0=tableshi;U1=0;delay(5);U2=1;P0=0xfb;/1111'1011U2=0;U1=1;P0=tablege;U1=0;delay(5);void keyscan( uint secondGet)if(KEY1=0) delay(20);TR0=0;while(!KEY1) display(seco
9、ndGet); TR0=1;if(KEY2=0)TR0=0;if(KEY3=0)TR0=1;if(KEY4=0)/S4键清零delay(10);if(KEY4=0) TR0=0;second=0;while(!KEY4) display(second);TR0=1;void main() init();while(1)display(second);keyscan(second);void timer0() interrupt 1 TH0=(65536-10000)/256; TL0=(65536-10000)%256;count1+;if(count1=2) count1=0; second+;if(second=999) second=0;3.实验实现截图六
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 岩棉板外墙保温防火隔离带设置方案
- 危化品仓库泄漏堵漏应急演练方案
- 2026年村镇(社区)后备干部考试参考试题及答案
- 粉体输送设备操作工安全操作规程
- 2027届包头市重点中学八年级数学第一学期期末经典试题含解析
- 2026年保密在线知识试题及答案
- OC岗位专业考试题(含详细答案解析)
- 呼吸康复评估专家共识(2025版)
- 支撑檩条安装施工工规程
- NYU留学生 阿里前端校招面试真题(含详细解析)
- 地产尾盘培训知识课件
- 屠宰车间消防安全培训课件
- 贸易安全培训课件
- DB4201∕T 693-2024 建筑与市政工程软弱地基基础技术规程
- T/CECS 10350-2023除臭收集用轻质高强度玻璃钢盖
- 江苏省2025年中职职教高考文化统考数学试题
- 广东市政工程施工安全管理资料统一用表 上册
- 2024年人教版六年级语文上册《第4单元语文园地四》教学课件
- 战略合作协议范本
- SH∕T 3097-2017 石油化工静电接地设计规范
- DB 3406T 022-2024市政道路建筑垃圾填筑 路基施工技术规范
评论
0/150
提交评论