51单片机——点亮LED(闪烁、延时、按键控制、消抖、状态位)

1、为什么灯会亮       
        
给LED1对应标号的P3^7一个低电平(接地),构成一个串联电路,就能点亮灯 。
2、怎么做才会闪烁
        让灯亮一下(给引脚低电平0),灭一下(给引脚高电平1),在亮和灭之间间隔一些时间(
使用STC-ISP自带延时函数 ),就能闪烁。
3、按键控制灯
         原理:按键和灯不是我们传统理解的思维,传统按键和灯是在同一个电路中的。而我们单片机编程按键 和灯是分开的两个电路,通过单片机作为媒介来处理数据, 通过逻辑来实现按键控制灯。
4、查询法按键控制灯
        查询法,即字面意思,检查按键是否被按下

51单片机——点亮LED(闪烁、延时、按键控制、消抖、状态位)_第1张图片

        
        怎么知道sw1 按键被按下
                 KEY1 位置和 GND 接通,表现为低电平,值为 0 ,即KEY1对应的IO口的值为0
         怎么知道 sw1 按键没有被按下
                 KEY1 位置通过上拉电阻到 5V ,表现为高电平,值为 1 ,即KEY1对应的IO口的值为1
        
        总结: KEY1接到STC89C52RC的P2.1口,我们只要不断检测P2.1口的值(0-按下,1-松开)就知道按键是 否被按下。
5、软件消抖
        

51单片机——点亮LED(闪烁、延时、按键控制、消抖、状态位)_第2张图片

6、按键按下一次,灯状态改变(状态翻转,亮的变成灭的,灭的变成亮的)
                51单片机——点亮LED(闪烁、延时、按键控制、消抖、状态位)_第3张图片

7、状态位来控制LED (好处:在代码量较多时如果出错了会比较方便修改)
        51单片机——点亮LED(闪烁、延时、按键控制、消抖、状态位)_第4张图片

你可能感兴趣的:(51单片机,嵌入式硬件,单片机)