第7课 按键实验教学.ppt_第1页
第7课 按键实验教学.ppt_第2页
第7课 按键实验教学.ppt_第3页
第7课 按键实验教学.ppt_第4页
第7课 按键实验教学.ppt_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、姜老师 主 讲,一气呵成学51,第7课 按键实验教学,1. 单片机IO口详解。 2. 独立键盘、矩阵键盘原理。 3. 相关C语言语法。 4. 按键程序详解。 5. 实际操作,验证程序。,1. 单片机IO口详解,1.1 通用IO口,复位后为: P0口是双向口,开漏输出,作为总线扩展时,不用加上拉电阻,作为I/O口用时,需要上拉电阻。 P1/P2/P3/P4是准双向口/弱上拉。作为输入时,要先赋值“1”。,1.2 双向口、准双向口,双向口有高阻态,输入为真正的外部信号 准双向口内部有上拉,故高电平为内部给出不是真正的外部信号,2.独立键盘、矩阵键盘原理,在单片机应用系统中,除了完成基本的功能外,另

2、一个最重要的任务是设计优秀的人机交互接口。人机交互接口用来实现控制命令及数据的输入,并且将系统运行信息显示反映给操作者。键盘以按键的形式来设置控制功能或数据,其是人机交互的最基本的途径。在键盘中,按键的输入状态本质上是一个开关量。通过键盘为按键编码,从而实现命令或数据的输入,以达到控制的目的。 在单片机应用系统中,有两种常用的键盘结构:独立式按键和矩阵式按键。其中,独立式按键比较简单,适合于较少开关量的输入场合,而矩阵式键盘则适合于输入命令或者数据较多、功能复杂的系统。采用矩阵式键盘结构可以最大限度地使用单片机的引脚资源,因此应用十分广泛。,2.1独立式键盘和矩阵式键盘结构,在单片机的人机交互

3、系统中,键盘用于向单片机输入控制信号或数据。单片机识别键盘的不同输入信号,并做出相应的反应。 键盘有很多种类型,对于简单的系统,如果需要的按键比较少,单片机引脚比较宽裕,则可以使用独立式按键结构。对于比较复杂的系统或者按键比较多的场合,可用采用矩阵式键盘。 1独立式按键结构 2矩阵式键盘结构,2.2键盘设计注意事项,对于键盘的程序设计,需要及时并且准确地响应按键的动作。在进行单片机键盘接口设计的时候,需要注意如下几个方面。 1合理的按键编码 2可靠的输入检测 3程序响应,2.3 按键消抖,检测出键闭合后执行一个延时程序,产生5ms10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭

4、合状态电平,则确认为真正有键按下。,3. C语言相关语法,3.1 预处理指令宏定义指令 宏定义指令是指用一些标识符作为宏名,来代替其他一些符号或者常量的预处理命令。使用宏定义指令,可以减少程序中字符串输入的工作量,而且可以提高程序的可移植性。 宏名既可以是字符串或常数,也可以是带参数的宏。宏定义指令可分为带参数的宏定义和不带参数的宏定义。下面分别介绍用于宏定义的一些预处理命令。,3.2 #define命令,#define命令用于定义一个宏名。宏名是一个标识符,在源代码中遇到该标识符时,均以宏定义的串的内容代替该标识符。ANSI标准宏将定义的标识符称为“宏名”,而用定义的内容代替宏名的过程称为“宏替换”。,4. 按键程序详解,4.1独立式键盘C51程序设计,4.2 独立式键盘按键检测程序,void Scan_Key(void) uchar key_value; P3 = 0 xff; if(P3 switch(key_value) ,4.3 矩阵式键盘C51程序设计,在实际应用中,大多采用矩阵式键盘,4.4 矩阵式键盘按键检测程序,uchar Scan_Key(void) uchar sm,fh; /存放行扫描代码,返回值的低四位,返回值的高四位。 P2 = 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论