展开

关键词

3.3 51单片机-

3.3 3.3.1 原理图 图3-3-1 图3-3-2 JP165跳线帽断开、JP10连接J12(为了实现控制LED灯的效果)、JP5连接JP8、J21接左边 3.3.2 示例代码 下面代码实现的效果是,控制LED灯。 reg51.h> #include "type.h" #include "delay.h" #include "led.h" u8 Key_Scan(void); #define KEY P1 //定义 key5=KEY^4; sbit key6=KEY^5; sbit key7=KEY^6; sbit key8=KEY^7; #endif Key.c文件代码: #include "key.h" /* 扫描函数 =0xFF)&&(flag==0)) //判断有没有下 { DelayMs(20); //消抖 flag=1; //标志已经被下 if

8310

单片机使用程序

是单片机中很重要的一个器件,在这篇文章里,通过这个用控制LED灯的小程序来介绍开关的使用。 1.分类与输入原理 照结构原理科分为两类,一类是触点式开关,如机械式开关、导电橡胶式开关灯;另一类是无触点式开关,如电气式,磁感应等。前者造价低,后者寿命长。 CPU可以采用查询或中断方式了解有无将输入,并检查是哪一个下,将该号送人累加器,然后通过跳转指令转入执行该的功能程序,执行完成后再返回主程序。 在触点抖动期间检测的通与断,可能导致判断出错,即一次下或释放错误的被认为是多次操作,这种情况是不允许出现的。为了克服你、触点机械抖动所致的检测误判,必须采取消抖措施。 较少时,可采用硬件消抖;较多式,采用软件消抖。

39110
  • 广告
    关闭

    什么是世界上最好的编程语言?丨云托管征文活动

    代金券、腾讯视频VIP、QQ音乐VIP、QB、公仔等奖励等你来拿!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    蓝桥杯嵌入式之SysTick和

    讲解 蓝桥杯嵌入式的只有四个(复位除外)。所以可以直接判断这四个对应I/O口的高低电平就可以直接使用。这四个的电路图为 ? 对应的I/O接口为 ? 及 B1—PA0 B2—PA8 B3—PB1 B4—PB2 的初始化函数为 /** * @说明 接口初始化函数 * @参数 none * @返回值 None 所以当对应的I/O口为低电平的时候,表明该下。 扫描函数为 /** * @说明 扫描函数 * @参数 none * @返回值 None */ uint8_t Key_Scan(void) { uint8 在判断的时候要特别注意!!!

    42541

    蓝桥杯单片机必备知识—–(5)

    蓝桥杯单片机必备知识—–(5) 注:在使用部分时,需将跳线帽放置BIT端 代码逻辑: 1.放在while(1)一直扫描是否下 2.放在中断中 中断一次扫描是否下 注:大型项目会放在中断中进行,一直扫描会占用过多资源,如果参加比赛则可以在while中一直使用循环 扫描函数 void read_key() { uchar temp; static = 0x0f) state = 1;}break; //状态0,检测到有下 case 1: //再次检测是否有下,消抖 { if(P3 ! = 0x0f){ switch(temp) { case 0x0e:{ s7++;state = 2;}break; //如果S7对应的状态改变,则s7++ ; //如果S5对应的状态改变,则s7++ case 0x07:{ s4++;state = 2;}break; //如果S4对应的状态改变,则s7++ } }

    21820

    一文搞懂 | 内核的启动

    vmlinux 入口:第一行运行的代码 Linux启动,会启动内核编译后的文件 vmlinux,vmlinux 是一个 ELF 文件,照 . include <asm/page.h> #include "image.h" OUTPUT_ARCH(aarch64) ENTRY(_text) 根据链接脚本语法,可以知道 OUTPUT_ARCH 关字指定了链接之后的输出文件的体系结构是 ENTRY 关字指定了输出文件 vmlinux 的入口 地址是 _text, 因此只需找到 _text 的定义就可以知道 vmlinux 的入口函数。 , __PHYS_OFFSET and x23, x23, MIN_KIMG_ALIGN - 1 // KASLR offset, defaults to 0 PHYS_OFFSET). */ adrp x0, init_pg_dir mov_q x5, KIMAGE_VADDR // compile time __va(_text) add x5, x5, x23

    24810

    的四大要素(自锁,消抖,非阻塞,清零式滤波)

    【92.1 的硬件电路简介。】 ? 上图92.1.1 电路 有两种驱动方式,一种是,一种是矩阵。 1个要占用1个IO口,IO口不能共用。而矩阵的IO口是分时片选复用的,用少量的IO口就可以驱动翻倍级别的数量。 比如,用8个IO口只能驱动8个,但是却可以驱动16个矩阵(4x4)。因此,少的时候就用多的时候就用矩阵的硬件原理基础,如上图,P2.2这个IO口,在K1没有被下的时候,P2.2口因为单片机内部自带上拉电阻把电平拉高,此时P2.2口是高电平的输入状态。 除此之外,很多单片机内部其实都没有上拉电阻的,因此,建议大家在做电路的时候,养成一个习惯,凡是输入状态都外接上拉电阻。

    2K31

    从 Objective-C 和 Swift 看字典的性能优化(2)

    以对 objc_alloc 的调用为例,汇编指令都被会提取并放到一个单的函数:-[NSMutableArray replaceObject:].cold.1 。 NSMutableDictionary 类型后,会调到 +160 行后进行安全检测,并调用 __NSDictionaryMutablePlaceholder 进行下一步处理 安全检测相关知识可以搜索关字 代表字典容量 0x1a256c410 <+204>: ubfiz x1, x22, #4, #32 # ubfiz 指令与下面的代码等价,代表最多有个 UINT32_MAX 个值对 (0xabcdef1234567890&UINT32_MAX)<<4 (unsigned long) $12 = 0x0000000345678900 # 左移 4 位 的原因是:值对需要 代表第几个 key,先 +1 0x1a256c5d0 <+652>: add x23, x23, #0x1 ; =0x1 后与 x20 count 比较

    31510

    某高考志愿信息网站爬虫分析

    我们可以发现其中的两个关的函数showNumber和cnDeCrypt, 猜测应该是这两个函数完成的对于参数的解密 ? ', ''); } else { $lvd3 = $lvd3.replace(/[g-t]/ig, ""); YB2 += "\x26\x23 采用之前的方案, 在url处下断点, 查看找到关函数, 我们可以发现这里调用是youzyEpt这个函数进行的加密 ? 从源码中找到这个函数, 先来看看. ? 显然这里采用的AES进行的加密, 这么明显, 不过多解释了, 我们来看一下他的密钥是怎么得到的, 查看源码, 发现3个关文件 ? 在这里我用的Charles, 找到对应的url, 右map local, 然后配置一下就可以了. ?

    58020

    只要999,拍照不用修!雷军“死磕性价比”,为二儿子Redmi开怼友商

    照惯例,作为小米掌门人,雷军今天的任务应该是大夸Redmi、高调发布新品牌首款手机。 这样的宣传力度,在小米所有产品中,还是一份。 这样一来,友商便坐不住了,荣耀副总裁熊军民甚至还公开表示,“小米都没做好,还出一个红米。 红米产品系列升级,Redmi品牌正式 毋庸置疑,今天下午的主角,除了雷军这个大BOSS,还有卢伟冰,这位曾经的金副总裁。 而Redmi不同,它已不再是产品系列,而已经是一个品牌。这次,意味着小米手机业务线从此一分为二,小米及Redmi,两线并,无大小之别。 但换个角度说,小米品牌创至今,旗下业务线及产品早已不可同日而语。Redmi品牌的,对小米而言是正常业务发展,友商实在不用太过在意。

    23830

    白话 CRC

    多项式可以随机选择,也可国际上通行的标准选择,但最高位和最低位必须均为 1。 模2除法 模2除法与算术除法类似,但每一位除的结果不影响其它位,即不向上一位借位,所以实际上就是异或。 CRC 校验码计算示例 由以上分析可知,既然除数是随机的,或者标准选定,所以 CRC 校验的关是如何求出余数,也就是 CRC 校验码。 下面以一个例子来具体说明整个过程。 常用CRC版本 CRC 校验码的生成关是选择一个二进制多项式作为除数。 CRC-16-ANSI CRC-CCITT X16+X12+X5+1 0X11021 ISO HDLC, ITU X.25, V.34/V.41/V.42, PPP-FCS CRC-32 X32+X26+X23 X5+X4+X2+X+1 0x104C11DB7 ZIP, RAR, IEEE 802 LAN/FDDI, IEEE 1394, PPP-FCS CRC-32C X32+X28+X27+X26+X25+X23

    32110

    利用加载器以及Python反序列化绕过AV

    此时由于我们已经将带有特征值的Shellcode去除,所以在杀软视角看来,这已经是一段正常的程序,因此就不会触发相应的告警,因此,如果我们可以将Shellcode和加载程序分离,将Shellcode单存放在某个地方 这是因为我们使用的加载器本身关语句已经被检测,因此我们需要对其进行进一步处理从而绕过静态查杀,我们绕过的方式可以通过上文说过的混淆、编码、加密等方式对代码进行处理,然后进行调用执行。 但是我们可以看到,从代码中我们还是可以看到调用的关函数名称,我们这里可以对其进行混淆、编码操作,依旧以Base64编码为例,我们序列化代码如下: import pickle import base64 例如我们想实现一个启动计算器的程序,我们首先生成还是上文序列化并进行编码。 ret_decode = base64.b64decode(ret) pickle.loads(ret_decode) 但是eval()在执行多行的时候会有缩进问题,如果使用这种方式我们需要将加载器的代码每一行都单执行

    7330

    __weak关字:程序模块相互的大杀器

    在STM32 HAL库开发中,我们经常会看到__weak这个关字,到底是什么意思呢?出于这个好奇心我们来打开KEIL的帮助手册找到它的出处: ? ,原型如下: #define UNUSED(X) (void)X /* To avoid gcc/g++ warnings */ 这样就非常好了,我们可以用这样的机制轻松实现程序模块的相互 Get_Metal_Sensor_Data((char *)Metal_Sensor_Handler.SensorU6Buffer, &Meatl_Sensor_Parse); } } 这样,就轻松的实现了模块的相互

    21320

    深入理解Linux内核之主调度器(下)

    举例说明:Ua -> Ka -> Ua ,Ua表示用户进程, Ka表示内核线程,当进行这样的切换的时候,Ka 借用Ua地址空间,Ua -> Ka不需要做地址空间切换,而Ka -> Ua理来说需要做地址空间切换 访问没有建页表映射的合法va,发生缺页异常来建映射关系,填写属于进程自己的各级页表,然后访问。 访问无法地址,发生缺页杀死进程等等。 #16 // store callee-saved registers stp x21, x22, [x8], #16 stp x23 #16 // restore callee-saved registers ldp x21, x22, [x8], #16 ldp x23 进程进程上下文切换又分为地址空间切换和处理器状态切换,前者让进程产生自占用系统内存的错觉,而后者让进程产生自占用系统cpu的错觉,让系统各个进程有条不紊的共享内存和cpu等资源。

    16220

    FPGA学习altera 系列 第十九篇 单消抖设计

    项目名称:单消抖 具体要求:消除下以及抬起时所带来的抖动。 项目分析: 1. 电路 ? 2. 抖动带来的危害 抖动会引起一次被误读多次。为确保CPU对的一次闭合仅作一次处理,必须去除抖动。在闭合稳定时读取的状态,并且必须判别到释放稳定后再作处理。 4. 抖动的一些参数 抖动时间的长短由的机械特性决定,一般为5ms~10ms。这是一个很重要的时间参数,在很多场合都要用到。稳定闭合时间的长短则是由操作人员的动作决定的,一般为零点几秒至数秒。 key_n:带有抖动的低电平有效的输入(下为低电平) click_n:滤除抖动之后的低电平有效的波形 ? 系统设计: 1. 工程的名称:key_filter 2. 状态转移图如下: ? 模仿真正下或者真正抬起时,给予的时间一定要超过抖动(低电平或者高电平的持续时间)的时间。 ? 仿真波形如下: ? 本次设计成功地将下以及抬起时的抖动滤除。

    24610

    Mac电脑无法从Photoshop 2020作为插件访问DeNoise AI的解决办法

    但是有的小伙伴发现能够启动DeNoise AI,但无法从Photoshop作为插件启动,下面小编为大家带来Mac电脑无法从Photoshop 2020作为插件访问DeNoise AI的解决办法,有同样问题的朋友快来学习一下吧 DeNoise AI / Topaz DeNoise AI.app/Contents/Resources/PS_Plugins 如果您无法到达这里,可以照以下路径进行后续操作 右单击或Cntrl +左点击Topaz DeNoise AI,然后选择显示软件包内容以进入应用程序包的内部 照以下顺序依次进入Contents-Resources-PS_Plugins文件夹,现在我们就会看到插件文件 住CMD + SHIFT + G在第二个Finder窗口中打开前往文件夹,粘贴路径: / Library / Application Support / Adobe / Plug-Ins / CC 将DeNoise AI .plugin文件拖动到CC文件夹中,输入密码,点击好 完成拖放操作后,它应如下图所示创建别名,该别名指向DeNoise AI插件文件: 再次打开Photoshop,右单击背景图层

    9320

    AI诊断眼科疾病,FDA已批准其上市

    这是一个叫IDx-DR的AI软件,能够通过视网膜图片检测眼疾。 ? 当然,它也不是完全不需要人类协助的:护士或医生上传用特殊视网膜照相机拍摄的患者视网膜照片。 谷歌也正在训练其DeepMind AI以发现眼病。

    24030

    【译文】30分钟让你分清几种距离

    让我们来深入学习一下几种距离在数学上的推广,首先假设有两点a和b,它们的坐标分别是 a(x1,y1) ,b(x2,y2) 以及两个向量A和B 它们表示为 A(x11,x12,x13….x1n), B(x21,x22,x23 推广到n维空间我们用向量来表示,即A与B的距离,照上面的公式推出来也就是: ? 若学过线性代数的读者便可以知道,向量加减就是向量元素对应加减,(即括号中元素)上面的式子可以化成向量之间的计算: ? 若协方差矩阵是单位矩阵(各个样本向量之间同分布),则公式就成了如下,也就是欧氏距离了。 ? 若协方差矩阵是对角矩阵,公式变成了标准化欧氏距离。

    49190

    CNC数控机床参数的设置,以及报警解除方法,干货

    设置#1138=1 (随参数号选择参数)即输入参数号后,屏幕即切换到该参数画面。 以下是开机后必须设置的参数: #1001――设定是单系统还是双系统以及PLC轴 的有无。 在准确的设置了#1001——-#1043参数后必须提示设置#1060。 设置#1138=1 (随参数号选择参数)即输入参数号后,屏幕即切换到该参数画面。 以下是开机后必须设置的参数: #1001――设定是单系统还是双系统以及PLC轴 的有无。 在准确的设置了#1001——-#1043参数后必须提示设置#1060。 各极限开关信号地址是照系统规定连接,但接成了常开点,系统因此检测到了过行程故障。 处置:只需将极限开关接成了常闭点,该故障消除。 B. 各极限开关信号地址不是照系统规定连接。

    1K10

    DLL劫持原理学习

    在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。 默认会被开启): 默认注册表为:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SafeDllSearchMode,其值为 \x11\x27\xf6\xed\xae\xaa\xc8\x7e\x27" "\xa6\xb6\xb0\xd2\x13\x45\xe3\xaf\x2f\x7e\x6b\xdb\x23 "\xd8\xed\x51\xb7\x10\xdd\xdc\xb7\x66\xdb\x74\xcc\xc6\x08\xa6" "\x36\x8a\x3a\x23

    24940

    报告解读下载 | 数据库的未来和“十四五”数据库发展趋势与挑战

    署名字母序作者:陈群、陈跃国、崔斌、范多锋、高云君、李国良、李战怀、毛睿、潘安群、彭智勇、钱卫宁、童咏昕、屠要峰、王晓阳、杨晓春、姚斌、袁野、周柱 本文是笔者的学习摘录。 云架构计算存储解耦,实现的计算弹性伸缩和存储的自动扩缩容,云原生数据库应运而生;随着物联网的发展和数字孪生的普及,端边云成为趋势,需要突破端边云数据处理技术来支持万物互联时代的数据管理,而目前还缺少 云原生数据库 1.0,通过计算存储分离、日志即数据、一写多读等技术实现 其优点: 计算和存储的解耦和分离,计算节点无需保存数据库的状态,实现的计算节点弹性伸缩和存储节点弹性扩缩容; 日志即数据,只写日志 细粒度弹性需计算:设计细粒度弹性需计算机制(serverless),实现查询级、事务级、算子级的弹性需计算,多租户间资源隔离和复用。 智能数据分布技术:分布的选择合理与否直接影响到数据库的性能指标。如何高效选择分布是是否能做到应用透明的关技术之一。

    9720

    相关产品

    • 云服务器

      云服务器

      云端获取和启用云服务器,并实时扩展或缩减云计算资源。云服务器 支持按实际使用的资源计费,可以为您节约计算成本。 腾讯云服务器(CVM)为您提供安全可靠的弹性云计算服务。只需几分钟,您就可以在云端获取和启用云服务器,并实时扩展或缩减云计算资源。云服务器 支持按实际使用的资源计费,可以为您节约计算成本。

    相关资讯

    热门标签

    扫码关注云+社区

    领取腾讯云代金券