码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 单片机IO口应用-独立按键控制LED以及控制LED灯闪烁


    目录

    P1=0xdf;

    sbit LED=P1^5;

    输出控制 

    P1并行口第5位引脚IO置为1

    P1并行口第5位引脚IO置为0

    输入检测

    延时函数

    控制LED灯闪烁

    方法一

    方法二

    方法三


    P1=0xdf;


    一次赋值即可一次性控制并行口P1共8个IO口 

    sbit LED=P1^5;


    输出控制 

     

    P1并行口第5位引脚IO置为1


    P1 |= (1<<5)      <<   左移五位

     |   或运算符

    P1并行口第5位引脚IO置为0


    P1 &=~ (1<<5)      <<   左移五位

     ~       取反

    &        与

    输入检测


    if(LED==1)    输入高电平        if(Px &(~(1<

    if(LED==0)    输入低电平

    延时函数


    1. void Delay_xms(unsigned char ms) //延时xms
    2. {
    3. unsigned int i,j;
    4. for(i=0;i
    5. for(j=0;j<333;j++); //空指令
    6. }
    7. }

    控制LED灯闪烁

    方法一

    1. void delay_xms(unsigned char ms) //延时xms
    2. {
    3. unsigned int i,j;
    4. for(i=0;i
    5. for(j=0;j<333;j++); //空指令
    6. }
    7. }
    1. sbit LED1=P0^0;
    2. sbit LED2=P0^1;
    3. sbit LED3=P0^2;
    4. sbit LED4=P0^3;
    5. sbit LED5=P0^4;
    6. sbit LED6=P0^5;
    7. sbit LED7=P0^6;
    8. sbit LED8=P0^7;
    1. void main()
    2. {
    3. while(1){
    4. LED1=0;delay(500);LED1=1;
    5. LED2=0;delay(500);LED2=1;
    6. LED3=0;delay(500);LED3=1;
    7. LED4=0;delay(500);LED4=1;
    8. LED5=0;delay(500);LED5=1;
    9. LED6=0;delay(500);LED6=1;
    10. LED7=0;delay(500);LED7=1;
    11. LED8=0;delay(500);LED8=1;
    12. }
    13. }

    方法二

    1. void delay_xms(unsigned char ms) //延时xms
    2. {
    3. unsigned int i,j;
    4. for(i=0;i
    5. for(j=0;j<333;j++); //空指令
    6. }
    7. }
    unsigned char LED_DAT[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
    1. void main(){
    2. while(1){
    3. unsigned char i;
    4. for(i=0;i<8;i++){
    5. P0=LED_DAT[i];
    6. delay_xms(500);
    7. }
    8. }
    9. }

    方法三

    1. void delay_xms(unsigned char ms) //延时xms
    2. {
    3. unsigned int i,j;
    4. for(i=0;i
    5. for(j=0;j<333;j++); //空指令
    6. }
    7. }
    1. void main(){
    2. while(1){
    3. unsigned char temp=0xfe,i;
    4. temp=0xfe; //1111 1110 -> 1111 1101 -> 1111 1011
    5. for(i=0;i<8;i++){
    6. P0=temp;
    7. temp=(temp<<1)+1;
    8. delay_xms(500);
    9. }
    10. }
    11. }

  • 相关阅读:
    GPU编程基础-CUDA实现图像处理
    在html和css中的引用svg(一)
    python -pandas -处理excel合并单元格问题
    【微服务】使用kubekey部署k8s多节点及kubesphere
    Spring读书笔记——bean创建(上)
    JS(受人以鱼 不如受人以渔)第十七课
    Axios源码仿写与二次封装
    在Android工程中的.gitignore对.gradle目录失效问题解决
    基于SSM的电影网站设计与实现
    EWM 分布式交货单部分过账回传ECC配置点
  • 原文地址:https://blog.csdn.net/qq_50942093/article/details/127041294
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号