【生意多】-免费发布分类信息
当前位置: 首页 » 新闻 » 科技 » 正文

AVR单片机教程——数字输入

放大字体  缩小字体 发布日期:2020-03-21 05:56:05    浏览次数:50
导读

  我们已经学习了如何使用按键和拨动开关,不知你有没有好奇button_down和switch_status等函数是如何实现的。本篇教程带你一探究竟,让我们从按键的原理开始。  符号很简单,就是两个触点上方有一个动片,当按下时与两个触点接触。实际上按键内部的机械结构大体上就是这样,实现的功能是,没有按下时两端断路,按下时两

  我们已经学习了如何使用按键和拨动开关,不知你有没有好奇button_down和switch_status等函数是如何实现的。本篇教程带你一探究竟,让我们从按键的原理开始。

  符号很简单,就是两个触点上方有一个动片,当按下时与两个触点接触。实际上按键内部的机械结构大体上就是这样,实现的功能是,没有按下时两端断路,按下时两端短路。

  但是我们的开发板上的按键有4个引脚,这是怎么回事呢?其实上面两个和下面两个分别是连通的,相当于只有两个:

  从开发板反面可以看到拨动开关有3个引脚。拨到上方时,上面两个导通;拨到下方时,下面两个导通。

  然而,光知道这些原理还不够。任何IC,包括单片机,与外界打交道的唯一途径是引脚。单片机要知道按键状态,必须由我们搭建合适的电路,把按键和开关的信息转换为电平,连接到单片机上。

  先说按键吧。按键按下时,两引脚之间导通,如果一端接在某一极(电源或地)上,另一端的电平就是确定的。然而,如果不连接其他器件,当没有按下时,这一端是浮空的,电压可能高也可能低,是无效的。而我们希望不按下时检测到的是另一种电平,因此我们可以在按键一端和另一极之间接一个电路:

  按键接到地,电阻接到电源,这是一种很常见的接法,其中的电阻称为上拉电阻,取值几千欧到几十千欧都没啥问题。这个电阻可以在单片机内部,也可以是一个独立的元件。在我们的开发板上,4个按键(以及4个开关,后面会提到)是通过排阻上拉的。

  为什么把按键接在地上用上拉,而不是接在正电源上用下拉?这是个很复杂的问题。尽管在布尔代数中0和1是完全对称的,但电子毕竟是电子而空穴是电子的缺失,由于某些很复杂的原因,导致上拉比下拉更加常见(得多)。事实上,AVR单片机的引脚可以配置独立的上拉电阻,但是没有下拉电阻可选(部分新型号中有)。

  这种接法不需要额外的元器件,听起来很妙。然而,虽然可行,这是一种不好的方法。万一两个触点之间短路了怎么办?整块开发板都短路保护了。尽管短路保护听起来安全,但即使保护起来,在解决短路问题之前,开发板还是不能用的。还有一种情况,我真的碰到过,就是单片机上两个相邻的读取开关的引脚因为焊接时的疏忽短路了,导致一旦这两个开关状态不一样就会触发短路保护。总之,这种接法不提倡。

  利用这两种电路,我们成功地将按键不按下与按下分别转换成高电平和低电平,把开关位于下方和上方分别转换成低电平和高电平。那么,单片机怎么读取电平呢?库提供了pin_read函数,定义在中。我们还是通过一个例子来学习其使用方法:保持黄灯和蓝灯的状态分别与按键2和开关2的电平相同。

  当程序涉及端口操作时,为了能在硬件连接改变时方便地修改程序,建议用宏或常量建立设备与引脚之间的映射关系。这样在修改时就只有这个映射关系需要改动了,总比程序每一处调用都修改要方便得多。

  值得一提的是,尽管今天的教程介绍了更底层的知识,但这仍不是我们能达到的最底层的地方。在几篇教程之后,你就可以抛弃库函数了。

  本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

  一、AVRmega16中断向量表向量号 程序地址 中断源 描述 IAR AVR中的定义 1 000 RESET 外部引脚电平引发的复位,上电复位,掉电检测复位,看门狗复位,以及JTAG AVR 复位 RESET_vect 2 002 INT0 外部中断请求0 INT0_vect 3 004 INT1 外部中断请求1 INT1_vect 4 006 TIMER2 COMP 定时器/计数 2 比较匹配 TIMER2_COMP_vect 5 008 TIMER2 OVF 定时器/计数 2 溢出 TIMER2_OVF_vect 6 00A TIMER1 CAPT 定时器/计数 1事件捕捉 TIMER_ CAPT_vect 7 00C

  简介:AVR单片机系列(例如,ATMEGA168等)使用增强功能的看门狗(Enhanced Watchdog Timer),与原来的看门狗相比较,除了有相同复位的功能以外,还增加了中断的功能设计时。使用看门狗的中断功能,可以实现从Power Down状态唤醒CPU;另外同时能使中断和复位功能,可以在系统发生错误时,先进入中断状态,保存关键数据到EEPROM,然后在进行系统复位。AVR单片机系列(例如,ATMEGA168等)使用增强功能的看门狗(Enhanced Watchdog Timer),与原来的看门狗相比较,除了有相同复位的功能以外,还增加了中断的功能设计时。使用看门狗的中断功能,可以实现从Power Down状态唤醒CPU

  简介:AVR看门狗 一个硬件单元,当程序由于某种原因跑“飞”了,它就Reset程序。就像小狗看门一样。AVR看门狗 一个硬件单元,当程序由于某种原因跑“飞”了,它就Reset程序。就像小狗看门一样。//Watchdog initialize// prescale: 2048Kvoid watchdog_init(void){WDR(); //this prevents a timout on enablingWDTCR = 0x0F; //WATCHDOG ENABLED - dont forget to issue WDRs}上面是用ICC的App Builder生成的看门狗初始化程序,这些语句达不到初始化看门狗的目的,需要

  简介:本方案拟利用基于AVR32 AT32UC3A单片机控制器的评估套件和开发系统EVK1100,开发利用电脑废热供电的笔记本电脑散热器。一、项目概述1.1 引言现如今,能源危机日趋严重。人们的环境保护意识在不断提高,在发展新能源的同时,努力提高能源利用率也是一个方向。当前,半导体温差发电技术以其各种优点越来越引起人们的关注。该技术已经被应用于工业余热、废热的回收利用、航天辅助电力系统等。笔记本电脑在工作过程中,其CPU及其他部件的高速运转会产生大量的热量,而且,随着目前笔记本电脑硬件配置的逐渐升级,在提升性能的同时,笔记本电脑的整体发热量也在不断上升。为了解决这个问题,人们设计了散热底座。然而,市面上所看到的笔记本电脑

  简介:对AVR熔丝位的配置是比较细致的工作,用户往往忽视其重要性,或感到不易掌握。下面给出对AVR熔丝位的配置操作时的一些要点和需要注意的相关事项。(1)在AVR的器件手册中,对熔丝位使用已编程(Programmed)和未编程(Unprogrammed)定义熔丝位的状态,“Unprogrammed”表示熔丝状态为“1”(禁止);“Programmed”表示熔丝状态为“0”(允许)。因此,配置熔丝位的过程实际上是“配置熔丝位成为未编程状态“1”或成为已编程状态“0””。(2)在使用通过选择打钩“√”方式确定熔丝位状态值的编程工具软件时,请首先仔细阅读软件的使用说明,弄清楚“√”表示设置熔丝位状态为“0”还是为“1”。(3)使用

  简介:本家庭营养专家采用AVR32为主控制器,通过触摸屏与用户进行交互。用户通过本系统可以进行营养套餐的选择,品质生活建议。同时在用户外出用餐时,通过本系统内置的餐饮平台实现网络订餐。项目背景及介绍随着人们生活水平的不断提高,工作节奏的日益加快,工作压力的加强,生活日益“快餐化”,而由此营养不足和过剩导致的“社会文明病”、“富裕病”等日益危害人民的健康,健康和营养也开始受到越来越多家庭的重视,如何对家庭成员饮食营养给予科学指导,合理膳食、科学配餐将成为目前家庭的一项重要内容之一。本家庭营养专家采用AVR32为主控制器,通过触摸屏与用户进行交互。用户通过本系统可以进行营养套餐的选择,品质生活建议。同时在用户外出用餐时,通过本系统

  51单片机PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程

 
关键词: switch2
(文/小编)
打赏
免责声明
• 
本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:http://www.31duo.com/news/show-53388.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
 

(c)2016-2019 31DUO.COM All Rights Reserved浙ICP备19001410号-4

浙ICP备19001410号-4