登录  | 立即注册

游客您好!登录后享受更多精彩

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

[学习笔记] 独立按键控制LED

[复制链接]
发表于 2022-1-21 18:32:17 | 显示全部楼层 |阅读模式
学习笔记
学习科目: 单片机部分
学习安排: 对开发板能熟练运用
开始时间: 2022-01-21
结束时间:
通过按键的开关,控制给LED的代码,使其按照所给程序显示亮灭
这就是一个开关的问题,精妙处在于十六进制的移位

#include <REGX52.H>


void Delay(unsigned int xms)                //@12.000MHz
{
        unsigned char i, j;
        while(xms)
        {
                i = 2;
                j = 239;
                do
                {
                        while (--j);
                } while (--i);      
                xms--;
        }

}
unsigned char num;
void main()
{
          P2=~0x01;
               
                while(1)
                {
               
                        if(P3_1==0)                               //从低位到高位亮
                        {
                                Delay(20);    //按键消抖
                                while(P3_1==0);
                                Delay(20);
                                num++;
                                if(num>=8)
                                                num=0;
                                P2=~(0x01<<num);
                        }
                       
                       
                        if(P3_0==0)                                   //从高位到低位亮
                        {
                                Delay(20);
                                while(P3_0==0);
                                Delay(20);
                                if(num==0)
                                                num=7;
                                else
                                                num--;
                                P2=~(0x01<<num);
                        }       
                }
}



好懒~~不想说~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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