3、KEY点灯
KEY引脚的寄存器定义与LED相同,还是3个寄存器:DDRx、PORTx、PINx(具体介绍可参见LED点灯部分)。
DDRx:1-输出,0-输入。当配置为输入时,PORTx=1,上拉使能,PORTx=0,高组态,但要注意SDIOR的第三位引脚,用于禁止上拉,所以配置上拉时要注意,否则就是高组态。
图2- 2 SFIOR寄存器图
代码说明:
Ø定义3个按键引脚寄存器的对应比特位,再次提示,通过下划线来取该寄存器的bit位。
Ø按键初始化,同时允许上拉
Ø通过按键扫描程序来检测3个按键是否触发,若有返回对应的键值,否则返回0,这里面通过key变量来判断按键是否触发,检测效果更好
其它说明见原工程,同样采用面向对象的结构体函数思维进行编程,提高C语言水平,与时代接轨
仿真视频
/**
******************************************************************************
* @file main.c
* @author Alex——小白
* @version V1.0
* @date 2021.1.20
* @brief LED 点灯
* @store Proteus仿真店子
* @Link https://shop484534014.taobao.com/
* @Email 844545015@qq.com
******************************************************************************
* @attention All Rights Reserved
**/
#include void main(void) { LED.LED_Init(0xFF); //LED ALL OUTPUT KEY.KEY_Init(); //KEY 0/1/2 INPUT while(1) { switch(KEY.KEY_Scan()) { case 1: LED.LED_Reverse(0); //LED0 翻转 break; case 2: LED.LED_Reverse(1); //LED1 翻转 break; case 3: LED.LED_Reverse(2); //LED2 翻转 break; default: break; } } } /******************************************************** End Of File ********************************************************/
上一篇:ATmega16开发板教程(3)——74HC595驱动数码管显示
下一篇:ATmega16开发板教程(1)——LED点灯
推荐阅读最新更新时间:2024-11-04 00:40
设计资源 培训 开发板 精华推荐
- 使用 Panasonic 的 AN32058A 的参考设计
- DC819,用于 LT1995CMS 可配置增益放大器的演示板,V+ = +2.5V 至 +15V,V- = -2.5V 至 -15V
- LT6656BCDC-4.096、4.096V 微控制器电压基准和稳压器的典型应用
- LTC2141-14、14 位、40Msps 低功耗双通道 ADC 的典型应用
- LT1024 的典型应用 - 双通道、匹配皮安、微伏输入、低噪声运算放大器
- 使用 Aimtec 的 AM2M-2409D-NZ 的参考设计
- NIS6420MT2GEVB:NIS6420MT2GEVB:12 V eFuse 评估板,自动重试
- LTC4303 的典型应用 - 具有卡死总线恢复功能的热插拔 2 线总线缓冲器
- LM258DR2G 带迟滞比较器的典型应用
- 使用 Infineon Technologies AG 的 OMR7812ST 的参考设计