[51单片机] 这个程序要用到中断吗?

[复制链接]
3195|23
 楼主| tkgg324 发表于 2014-1-14 01:25 | 显示全部楼层 |阅读模式
最近开始学单片机,想用一个按键来控制闪灯,按键未按下时灯闪,按下后灯灭,再次按下时灯恢复闪的状态,用延时来控制灯闪,但是如何在延时的时候响应按键呢?
ayb_ice 发表于 2014-1-14 08:01 | 显示全部楼层
过采样即可
gx_huang 发表于 2014-1-14 08:41 | 显示全部楼层
很简单又需要考验编程思路的题目。
建议自己思考、编程、测试效果。
 楼主| tkgg324 发表于 2014-1-14 08:54 | 显示全部楼层
学了一个星期的单片机,很多东西还不了解,这个程序试了两天了,昨天可以用按键来控制灯灭,但是不能在延时的时候控制,所以才发贴来问。
huangxz 发表于 2014-1-14 10:13 | 显示全部楼层
这个应该是用定时器中断比较好,
ljqdsj 发表于 2014-1-14 10:33 来自手机 | 显示全部楼层
用中断比较好
leehp 发表于 2014-1-14 11:11 | 显示全部楼层
做一个时钟中断程序。在主程序里面扫描键盘,并判断计数器的数值来控制灯的亮灭。
px123zx 发表于 2014-1-14 12:31 | 显示全部楼层
个人觉得可以直接按键让灯亮那一位断开  相当于按键按下 灯就接地
youluo235 发表于 2014-1-14 12:53 | 显示全部楼层
触发中断就行。不管在执行什么要中断响应了按键按下就必须执行中断。
W_Controller 发表于 2014-1-14 14:38 | 显示全部楼层
可以将按键扫描函数放在延时函数里面来实现延时,一举两得。前提是按键处理时间不能过长。
kamfun 发表于 2014-1-14 16:04 | 显示全部楼层
个人觉得最好是在定时器中断扫描按键是否按下,这样不会占用系统资源
llggo 发表于 2014-1-14 16:57 | 显示全部楼层
用中断控制按键比较好
dota_yy 发表于 2014-1-14 17:48 | 显示全部楼层
lnulibin 发表于 2014-1-14 19:10 | 显示全部楼层
kamfun 发表于 2014-1-14 16:04
个人觉得最好是在定时器中断扫描按键是否按下,这样不会占用系统资源

同意.
lirunze 发表于 2014-1-14 20:02 | 显示全部楼层
在延时的时候执行键盘扫描也可以啊
ZG11211 发表于 2014-1-14 20:14 | 显示全部楼层
延时的时候什么也做不了,根本不可能相应按键信息,,所以用中断是必须的,建议采用定时器中断。
小营七郎 发表于 2014-1-14 21:38 | 显示全部楼层
16楼正解。
dirtwillfly 发表于 2014-1-14 21:41 | 显示全部楼层
大家都好热情
 楼主| tkgg324 发表于 2014-1-14 23:50 | 显示全部楼层
谢谢大家,这几天正在努力学习中断,觉得不是很好理解。
ayb_ice 发表于 2014-1-17 15:02 | 显示全部楼层
延时只是个状态,状态改变时才需要一些处理,状态未改变期间去干其它事情即可
您需要登录后才可以回帖 登录 | 注册

本版积分规则

73

主题

323

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部