完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
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 ********************************************************/ |
|
|
|
只有小组成员才能发言,加入小组>>
2553 浏览 0 评论
1152浏览 2评论
750浏览 1评论
504浏览 0评论
269浏览 0评论
433浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 22:33 , Processed in 1.099948 second(s), Total 48, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号