2021-10-20 51蛋骗鸡左移右移函数自动循环

devtools/2024/10/18 0:19:05/

缘由单片机左和右位移函数-嵌入式-CSDN问答

#include "REG52.h"
#include<intrins.h>if(Js==10)//设置定时器50毫秒{if(k){P0=_crol_(P0,1);if(P0==128){k=~k;Js=0;}}if(!k&&Js){P0=_cror_(P0,1);if(P0==1)k=~k;}
//			if(!wk1&&!wk2)P0=(k?255:0);
//			if(wk1){P0=~(k?3:0);if(++ss>12)ss=wk1=0;}
//			if(wk2){P0=~(k?192:0);if(++ss>8)ss=wk2=0;}Js=0;}

 求思路 单片机单按键控制8个Led灯亮灭程序,逐1-8灯或者从8-1 - 24小时必答区

sbit k1=P1^0;
void main()
{uchar xd=0;P0=1;while(1){if(k1==0&&++xd==0){P0=_crol_(P0,1);while(k1==0);}//else xd=0;}
}

我博客有众多例子代码,在理解按键代码的基础上随意复制一些代码都可轻松实现,关键是要理解代码。
按键代码逻辑当检测到按键按下后再判断是否过了消抖时间,只要有一个不符合就不会执行按键里面代码,一旦2个条件都成立(按键按下并且达到消抖时间)执行按键里面代码,并且等待按键释放,本例按键按下灯移动1位,且按键释放后才能执行下一次移位。
本按键代码之所以能跳过抖动,妙就妙在2个判断条件安排的顺序上,只有在按键稳定期间且达到一定时间,所以延时不需要很长时间,按键非稳定期间条件就不会成立,这样显得按键灵敏度很好,所以称为经典,不喜欢写多行代码。
sfr P1=0x90;将P1定义为特殊变量(或称寄存器)它是8位字节型变量,从低到高的0-7位与单片机1号端口的8条输入/输出引脚一一对应,可置数也可读数。P0口是0x80.因为一个I/O口是8位。所以应该是0X80~0X87P1 是0x90~97P2是0xa0~a7P3.......reg51.h 里面都有定义,


http://www.ppmy.cn/devtools/32781.html

相关文章

活动图与状态图:UML中流程图的精细化表达——专业解析系统动态性与状态变迁

流程图是一种通用的图形表示法&#xff0c;用以展示步骤、决策和循环等流程控制结构。它通常用于描述算法、程序执行流程或业务过程&#xff0c;关注于任务的顺序执行。流程图强调顺序、分支和循环&#xff0c;适用于详细说明具体的处理步骤&#xff0c;图形符号相对基础和通用…

Meta Llama 3 使用 Hugging Face 和 PyTorch 优化 CPU 推理

原文地址&#xff1a;meta-llama-3-optimized-cpu-inference-with-hugging-face-and-pytorch 了解在 CPU 上部署 Meta* Llama 3 时如何减少模型延迟 2024 年 4 月 19 日 万众期待的 Meta 第三代 Llama 发布了&#xff0c;我想确保你知道如何以最佳方式部署这个最先进的&…

4.Spring Security重要接口

当什么都没有配置的时候&#xff0c;账号和密码是由spring security自定义生成的。在实际项目中账号和密码都是从数据库中查询出来的。所以要通过自定义逻辑控制认证逻辑。 UserDetailService 接口 1.创建类继承UsernamePasswordAuthenticationFilter,重写三个方法&#xff1…

双指针 Leetcode 15 三数之和

双指针 Leetcode 15 三数之和 Leetcode 15 学习记录自代码随想录 要点&#xff1a;1、如果用哈希表则在处理输出数组去重时较复杂&#xff1b; 2、双指针法&#xff0c;双指针法使用前要对数组排序。 class Solution { public:vector<vector<int>> threeSum(ve…

KMP算法--C语言实现

#include <stdio.h> #include <assert.h> #include <string.h> #include <stdlib.h>void GetNext(char* sub, int next[]) {int lenSub strlen(sub);next[0] -1; // 初始第一个为 -1 第二个为 0next[1] 0;int i 2;int k 0;while (i < lenSub){…

数据结构练习题---环形链表详解

链表成环&#xff0c;在力扣中有这样的两道题目 https://leetcode.cn/problems/linked-list-cycle/ https://leetcode.cn/problems/linked-list-cycle-ii/description/ 这道题的经典解法是利用快慢指针&#xff0c;如果链表是一个环形链表&#xff0c;那么快指针(fast)和慢指…

Java中的可变参数

在Java中&#xff0c;可变参数&#xff08;varargs&#xff0c;也称为可变长度参数列表&#xff09;是Java 5及以后版本引入的一个特性&#xff0c;允许你在调用方法时传入任意数量的参数。可变参数在方法定义中看起来像一个数组&#xff0c;但在调用方法时你可以直接传入一个逗…

docker常用容器启动命令

docker常用容器启动命令 mysql启动redis启动nginx配置文件&启动 mysql启动 docker run -itd --name mysql-test --restartalways -p 3306:3306 -e MYSQL_ROOT_PASSWORD123456 mysqlredis启动 docker run -itd --name redis-test --restartalways -p 6379:6379 redisnginx…