三个按键的c语言程序,用c语言编程三个按键对应点亮三个LED灯的程序,AT89S52单片机,最好有原理图,谢谢。急求...

满意答案

这个也求?用按键点亮LED灯这个是51入门最基础的东西,真心想学的话,买块51的开发板,都带有例程,很快就可以入门的。建议你还是多看看资料把基础的东西学好。推荐你看一下《十天学会单片机和C语言编程》的视频教程对入门还是不错的。

三路抢答器提供你编程思路(按键扫描方式)参考,程序还是要根据你的硬件电路自己编写。

端口配置:

1、选择4个端口作为输入端口连接按键(独立按键,按键一端接单片机端口,另一端接地)。 三路为抢答的按键KEY1、KEY2、KEY3,一路为抢答后复位按键KEY0。

2、选择3个端口作为输出端口连接LED灯(高电平点亮还是低电平点亮要看你电路设计)对应为LED1、LED2、LED3。

编程思路:

1、初始设置一个抢答键按下与否的位标志变量:bit flag = 0;(没有抢答按键按下flag = 0,有抢答按键按下flag = 1)。

2、主程序按键扫描循环。

3、按键按下程序KEY1、KEY2、KEY3基本相同。以KEY1为列:

首先判断是否有抢答键按下(KEY1==0),如有抢答按键按下,延时10ms(消抖),再判断是否KEY1==0,如果KEY1==0说明KEY1抢答按键已经按下,然后再判断是否flag = =0,如果flag = =0,则点亮LED1(其他按键按下的话点亮相应的LED灯)、按键按下标志置“1”(flag = 1)。

4、复位按键程序判断KEY0按下并且flag = =1时,关闭所有LED灯、按键按下标志复位置“0”(flag = 0)。

00分享举报

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值