实例2: 键控LED - 单片机开发技术实例(一)

实例名称:键控LED。
实例所需主要资源: AT89C51 、LED 、7407 、按键。
实例内容:利用AT89C51 单片机P1.O 点亮一个LED; 扩展一片7407 作为驱动; P2.0外接按键K1, lNTO外接接键K2。通过按键控制LED 的亮灭,若按下Kl 则LED 闪亮周期为ls ,占空比50% .若按下K2 则触发中断• LED 常亮。 利用软件延时,给出汇编语言和C 语言完整源代码。
实例目的:重点介绍单片机1/ 0 端口按键输入使用方法、外部中断使用方法,了解逻辑转移指令、条件转移指令等。
2 键控LED 硬件设计
键控LED 的电路原理如图所示。

电容C6 和C7 用来滤除电源的波动,使单片机获得稳定的5V 直流电压. 按键利用电容充、放电原理实现硬件消抖,因为电容两侧电压不能瞬间突变,需要经过一定时间常数RC的延时,所以当有接键接下时.接键引脚变为低电平,而当按键弹起时,按键引脚会延时一定时间后才变为高电平,由此来消除按键的抖动。7407 用来驱动LED。7407 输入为低电平