数码之家

 找回密码
 立即注册
搜索
查看: 716|回复: 4

[C51] 小白自学51单片机,按键与灯1

[复制链接]
发表于 2024-1-13 16:19:49 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这个程序我想要实现的功能是:
K1点亮LED1  K2点亮LED2 两个灯只要有一个亮LED3就要亮,
然后就是定时部分,单独按K1 就亮LED1和LED3  10秒后灭,
单独按K2  就是LED2 和 LED3亮, 10秒后灭,
假如按K1过  6秒后再按K2 那LED1亮10秒 LED2也是亮10秒,LED3亮了16秒。

参考了各位热心网友的建议,用我能理解的方式写了一下,实验板验证符合想要的功能
用一个定时器中断产生1秒定时,K1和K2 按下时产生一个标志位,计时到10秒时再清标志位
led函数判断标志位,点亮相应的灯

代码如下

1.png

2.png

3.png

4.png
5.png

6.png


发表于 2024-1-13 17:39:18 | 显示全部楼层
我理解,你按键松手LED就变了。
回复 支持 反对

使用道具 举报

发表于 2024-1-13 21:32:39 | 显示全部楼层
本帖最后由 xixia001 于 2024-1-13 21:33 编辑

led3  led6 亮的正常吗?
另外,定时少了50毫秒
161641qzzxd55c73x18gqh.png

回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2024-1-13 23:30:34 | 显示全部楼层
有处错误要改正一下,两个按键公共的灯要用 或
用来下载的小本本太小了,所以我用大电脑写好程序再用U盘转到小电脑上去烧录,
发贴时是大电脑上截的图,没有改正
大电脑是WIN7驱动有点问题,所以用了一台xp的小电脑烧程序

截图_2024-01-13_23-25-20.png

回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-17 10:57:04 | 显示全部楼层
xixia001 发表于 2024-1-13 21:32
led3  led6 亮的正常吗?
另外,定时少了50毫秒

谢谢批评指正,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-4-28 18:36 , Processed in 0.452401 second(s), 13 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表