通过按键控制二极管c语言,AVR单片机基本输入和外部中断实验二

讲述了利用按键控制发光二极管的亮灭,利用外部中断检测按键等

AVR学习笔记二、基本输入和外部中断实验

-------基于LT_Mini_M16

2.1 利用按键控制发光二极管的亮灭

2.1.1 实例功能

在“点亮发光二极管”和“让发光二极管动起来”这两个例子中,都是通过单片机程序来控制发光二极管的亮灭。如果想要控制发光二极管的亮灭,只有通过打开或者关闭电源来实现控制。那么怎样实现人工参与控制呢?

在有些应用场合,需要单片机对人工的开关信号作出相应的响应和处理,通过控制电源的通断会影响到单片机系统中的其他功能,所以通过控制电源的方法并不明智。能不能通过按动一个按键来实现发光二极管的亮灭呢?

当然可以,前面已经讲过,AVR单片机的I/O口都是双向的,也就是既能当作输出控制端口,也能当作输入检测端口。既然我们可以通过控制端口输出不同的高低电平使发光二极管实现点亮和熄灭;那么为什么不能通过监测端口输入电平的状态来进行相应的处理呢。 在本例中,通过介绍利用按键开关控制发光二极管的亮灭来了解AVR单片机的端口检测外部信号的功能和方法。

本例中有3个功能模块,描述如下:

● 单片机系统:检测外界的按键开关信号,根据按键的开关状态控制发光二极管的亮灭状态。

● 外围电路:首先是产生信号的按键电路,包括对按键去抖动电路的介绍;然后是发光二极管的控制电路。

● 软件程序:通过读取AVR单片机相应端口的状态,编写相应的程序控制发光二极管的亮灭。

本例的目的在于希望读者完成本例后,能完成相关电路的设计和相应程序的编写,从而掌握以下知识点:

◆ 了解AVR单片机端口输入功能,掌握使用AVR单片机端口输入功能检测外部信号的原理。

◆ 熟悉单片机端口输入输出功能的综合使用。

◆ 掌握AVR单片机按键的硬件去抖动的电路设计和原理。

◆ 掌握AVR单片机端口输入输出程序的编写。

◆ 掌握AVR单片机按键软件去抖动功能的实现。

2.1.2 器件和原理

本例主要介绍AVR单片机外围电路中按键去抖电路的设计,分别介绍相应的软件和硬件解决方案。然后利用C语言编写通过按键控制发光二极管亮灭状态的程序。

1、按键的去抖动电路

(1)按键的响应过程

我们日常所说的按键,实际上是一个机械开关,本实例所用的按键外观如图2.1.1所示。理想的按键的闭合和断开时,接触点的电压应该立即变高或者变低,但是由于机械触点的弹性以及按键按动时电压突变等原因,在触点闭合或断开的瞬间会出现电压抖动现象,如

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值