【48812】根据MCU单片机在蜂鸣器呈现中的运用规划_kaiyun体育官方网站_kaiyuntiyu-kaiyun体育官方网站-kaiyun体育官方网页

【48812】根据MCU单片机在蜂鸣器呈现中的运用规划


时间: 2024-07-03 11:26:42 |   作者: kaiyun体育官方网站

程序时经常会用到延时函数,可是当呈现逐渐杂乱今后(没有杂乱到运用操作呈现)延时会由于延时下降的呈...。

  程序时经常会用到延时函数,可是当呈现逐渐杂乱今后(没有杂乱到运用操作呈现)延时会由于延时下降的呈现中,假如要求按下按键宣布不同的声响,每次发声时间在1秒-2秒之间, 假如用延时来做代码很简单:

  当这段代码履行时MCU不可能一起处理按键查看程序由于它大部分时间在履行Delayms()函数中的nop指令,这样就不可能去履行查看按键了(不运用中止时),假如把程序改成流程方式的写规律成果会大为不同,下面先介绍一下基本原理。

  咱们都知道一般的定时器为16位或8位循环计数,例如关于16位的计数器当计数器数值从0增加到65535时再加一就会回到0那么咱们来比较下面两种状况(不考虑计数器在记载当时时间T后再次回到或超越T这样的一种状况我暂时称它为“压圈”):

  则T1到T2 沉痛算出为65535到0的1个计数单位再加上 0到99的99个计数单位总共为100个计数单位。

  在C语言中若运用两个无符号数作减法会得到如下成果:99-65535=100,这个很好了解就和10进制的借位相同只不过借位后不必管高位了也就等于99+65536-65535成果是100了,当然这些条件都是计数器不可能会呈现“压圈”。

  用这样的办法完成的蜂鸣程序在运用时也有不同的当地,由于运用的switch状况一切在主循环中要一向调用:

  用这种办法能充沛的使用MCU,在蜂鸣器发声或发声距离的等待时间MCU能处理其他函数,可是还要有几点必需要分外员工