第3章 基础程序设计-按键_第1页
第3章 基础程序设计-按键_第2页
第3章 基础程序设计-按键_第3页
第3章 基础程序设计-按键_第4页
第3章 基础程序设计-按键_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

按键篇第3章基础程序设计模块组成1.LED篇

1.1流水灯

1.2综合应用2.数码管篇

2.1单个数码管

2.2多个数码管3.按键篇

3.1单个按键

3.2矩阵键盘

3.3综合应用模块组成4.继电器5.拨码开关6.蜂鸣器7.8*8点阵8.外部中断9.定时器10.串行口3.按键篇单片机使用的键盘一般分为两种:独立式键盘与矩阵式键盘。独立式键盘实际上就是一组相互独立的按键,这些按键可直接与单片机的I/O口连接,即每个按键独占一条口线,接口简单,在按键数目不多的场合使用方便。矩阵式键盘也叫行列式键盘,因为按键的个数较多,所以按键组成行列式的矩阵键盘的扫描和处理有两种方式:1)查询方式查询方式是当CPU空闲时就执行键盘扫描程序,这种方式浪费CPU时间,在CPU处理任务较重的场合容易产生延迟;2)中断方式中断方式是每当有按键闭合就向CPU发出中断申请,中断响应后执行键盘扫描程序,这种方式响应速度快,CPU利用率高。键盘处理的过程如下:1)键盘扫描,用查询或中断方式判断是否有按键被按下。2)去抖动,用硬件或软件方法去除按键抖动。3)键码的识别,用来区分不同的按键。4)根据键码编制程序来处理该按键操作。1)键盘扫描,判断是否有键按下本例代码:sbitkey1=P1^0;If(P1&0x0f!=0x0f){if(key1==0){………}}2)去抖动所谓去抖动是指消除按键闭合或断开时引起的瞬间电压抖动,这样才能保证键扫描的正确性。常用的去抖动方法为软件方法方法1:为判别到有键按下后,软件延时一段时间(一般为10ms左右)后,再判断键盘状态,如果仍为有键按下状态,则认为有一个确定的键被按下,否则把按键当作抖动处理。方法2:等待键弹起在向下执行本例代码if(key1==0){delay(100);

if(key1==0)

{……….}

}本例代码if(key1==0){

……….while(key1==0);

}3)键码的识别if(key1==0){………..}elseif(key2==0){…………..}elseif(key3==0){…………..}4)根据键码编制程序练习3.1被按下的按键例如:按下一键led从左向右依次点亮按下二键led从右向左依次点亮按下三键led从内向两侧依次点亮按下四键led从两侧向内依次点亮提示1:位定义#include<reg52.h>sbitkey1=P1^0;sbitkey2=P1^1;sbitkey3=P1^2;sbitkey4=P1^3;提示2:延时去抖while(1){

if(key1==0){delay(100);

if(key1==0)

zuo();}}提示3:防止按键后多次重复while(1){

if(key1==0){delay(100);

if(key1==0)

zuo();

while(key1==0);}}练习3.21.K1~K4控制数码管移位显示,按K1计数并增加显示位,按K2计数并减少显示位,按K3清零.(1分)2.在数码管上显示000-255范围内任意整数,在不松开键的情况下,数字会按照一定时间持续递增或递减.(1分)

温馨提示

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

评论

0/150

提交评论