完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
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 《main.h》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********************************************************/ 如需Proteus和IAR安装包以及AVR编程参考手册。 |
|
|
|
只有小组成员才能发言,加入小组>>
2561 浏览 0 评论
1158浏览 2评论
761浏览 1评论
514浏览 0评论
271浏览 0评论
447浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 15:04 , Processed in 1.307072 second(s), Total 51, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号