STC15单片机实战项目软件开发第三讲 - 按键检测(外部中断)

软件开发第三讲 - 按键检测(外部中断)

一、工具链接
1、Keil c51 UV4
https://yunpan.360.cn/surl_yrIfYYmeRFk
2、STC-ISP下载软件
https://yunpan.360.cn/surl_yxH4CuUUvI3

二、学习板获取方式
方法1:自己设计PCB,自行打板焊接;
方法2:用群主设计的PCB,自行打板焊接;
方法3:向群主购买,淘宝链接:
https://item.taobao.com/item.htm?ft=t&id=612010801228
STC15单片机实战项目软件开发第三讲 - 按键检测(外部中断)_第1张图片

三、程序功能
1、单击按键1,运行指示灯状态翻转;
2、长按按键1超过2s,运行指示灯闪一下。

四、硬件部分
STC15单片机实战项目软件开发第三讲 - 按键检测(外部中断)_第2张图片

运行指示灯 -> P34;
按键1 -> P32,外部中断0
说明:设计了硬件消抖,提高抗干扰能力。

五、外部中断
STC15单片机实战项目软件开发第三讲 - 按键检测(外部中断)_第3张图片

六、编程说明
1、文件结构如下:
STC15单片机实战项目软件开发第三讲 - 按键检测(外部中断)_第4张图片

 main.c  -> 主函数文件,包含main函数等;
 Public.c -> 公共函数文件,包含Delay延时函数等;
 Sys_init -> 系统初始化函数,包含GPIO初始化函数等;
 LED.c    -> LED外设函数,包含LED打开、关闭函数等;

Timer0.c -> 定时器函数,包含定时器初始化,中断函数等;
KEY.c -> 按键函数,包含按键检测,中断函数等。

2、主函数如下:
STC15单片机实战项目软件开发第三讲 - 按键检测(外部中断)_第5张图片

通过结构体Hardware_Init的函数指针调用系统初始化函数,完成GPIO与按键中断的初始化,接着进入主循环,进行按键检测。

3、外部0中断函数
版权需要,这部分内容,请在微信公众号阅读。

4、源代码
360云盘链接:
版权需要,这部分内容,请在微信公众号阅读。

七、直播
3月28号,21:00,在bilibili平台进行直播。有时间的朋友,可以看直播,没时间的朋友,可以看回播。
直播地址: https://live.bilibili.com/21988510

单片机实战项目免费教学,开源项目,开发工具,技术资料以及更多原创技术文章,请关注微信公众号。
硬件家园 yjjy168168168

STC15单片机实战项目软件开发第三讲 - 按键检测(外部中断)_第6张图片

作者:刘杰,软硬件技术10年,全职提供技术开发与技术服务、生产支持等。

你可能感兴趣的:(STC15单片机实战项目)