网站大量收购独家精品文档,联系QQ:2885784924

学习情境4单片机按键控制系统-项目1-1知识准备.pptx

学习情境4单片机按键控制系统-项目1-1知识准备.pptx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

学习情境4-单片机按键控制系统

按键是单片机系统中重要的输入设备,按照结构可分为两类。一类是触点式开关按

键,如机械式开关、导电橡胶式开关灯;另一类是无触点式开关按键,如电气式按键,磁感应按键等。前者造价低,后者寿命长。目前,微机系统中最常见的是触点式开关按键。

在单片机应用系统中,除了复位按键有专门的复位电路及专一的复位功能外,其他按键都是以开关状态来设置控制功能或输入数据的。当所设置的功能键或数字键按下时,计算机应用系统应完成该按键所设定的功能。

在该学习情境中,主要研究单片机系统的按键控制机制,掌握如何使用按键完成各种信息的输入,帮助加深对单片机控制系统中输入机制的理解。

情境描述

项目-1按键控制LED灯的多样闪烁

1知识储备

二、项目分析

这是一个比较复杂的单片机控制系统,包含了输入设备(按键)、输出设备(LED灯)、单片机(运算器、控制器、存储器),实际上已经是一个完整的计算机系统。要完成该任务,需要综合多方面的考虑和设计。主要内容包括:

1、硬件连接:4个独立按键接在P1.0~P1.3引脚,P3口接8个LED指示灯。

2、处理逻辑:首先判断是否有按键按下。将接有4个按键的P1口低4位

(P1.0~P1.3)写入“1”,使P1口低4位为输入状态。然后读入低4位的电平,只要有一位不为“1”,则说明有键按下;

3、按键去抖:当判别有键按下时,调用软件延时子程序,延时约10ms后再进行判别,若按键确实按下,则执行相应的按键功能,否则重新开始进行扫描;

4、获得键值:确认有键按下时,可采用扫描方法,来判断哪个键按下,并获取键值;

5、函数实现:编写四个函数,分别实现四种不同的LED显示形式;

6、分支控制:使用switchcase语句实现按键的分支控制,每个分支调用一个函数。

一、项目描述

单片机与4个独立按键k1~k4

联合控制8个LED指示灯实现多样的闪烁效果。按下k1键,

P3口8个LED正向(由上至下)流水点亮;按下k2键,P3口8个LED反向(由下而上)流水点亮;按下k3键,高、低4个LED交替点亮;按下k4键,P3

口8个LED闪烁点亮。

键盘主要分为两类:非编码键盘和编码键盘。

非编码键盘:按键直接与单片机相连接,常用在按键数量较少的场合。系统功能比较简单,需要处理的任务较少,成本低、电路设计简单。按下键号的信息通过软件来获取。

非编码键盘包括独立式键盘和矩阵式键盘两种结构。

独立式键盘的各键相互独立,每个按键各接一条I/O口线,通过检测I/O输入线的电平状态,判断哪个按键被按下。

8个按键k1~k8分别接到单片机的P1.0~P1.7引脚,

上拉电阻保证按键未按下时,对应I/O口线为稳定高电平。

当某一按键按下时,对应I/0口线就变成低电平,与其他按键相连的I/O口线仍为高电平。

因此,只需读入I/O口线状态,判别是否为低电平,就很容易识别出哪个键被按下。

独立式键盘电路简单,各条检测线独立,识别按键号的软件编写简单,适于按键数目较少场合。

AT89S51

P1.0P1.1

P1.2P1.3P1.4P1.5P1.6

P1.7

O+5V

1kQ×8

山k1

k2

k3

k4

k5

k6

k7

山k8

·引导问题1

·独立式键盘的特点是?

·引导问题2

●怎样识别某个按键被按下

要求:当按下按键,对应的LED灯亮,松开按键,对

应的LED灯灭。

任务分析:

要实现用按键控制LED的显示,首先要使单片机读入按键的状态,再根据按键的状态去控制LED的显示。

每当按下按键时,单片机引脚P3.3为低电平,程序运行时要判断P3.3引脚是否为低电平,若为低电平,表示按键已按下。按键每按下一次,P1口输出数据变

化一次,P1口输出不同的数据使不同的LED灯被点亮。

#includereg52.h

sbitKEY=P3^3;//定义按键输入端口sbitLED=P1^2;//定义led输出端口

voidmain(void)

KEY=1;//按键输入端口电平置高while(1)

{

任务2按键控制LED显示

if(!KEY)LED=0;

else

LED=1;

{

·引导问题4

·对程序进行修改,将if所涉及的四行语句简化为一行,并实现同样的功能,将修改后的主要代码写到下面。

任务3带延时去抖的按键控制LED显示

·按键是一种开关结构,由于机械触点的弹性及电压突跳等原因,在闭合及断开的瞬间,均存在电压抖动过程。抖动时间的长短与开关的机械特性有关,一般为5

您可能关注的文档

文档评论(0)

乐毅淘文斋 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8121131046000040

1亿VIP精品文档

相关文档