当前位置: 首页 > 产品展示 > 数码模块

kok真人

PRODUCTS
×

kok真人:由数码管动态闪现浅说单片机措施

发布时间:2021-12-07 11:42:56 来源:kok直播 作者:kok直播网页版

  道理:动态显示的特质是将全数位数码管的段选线并联正在一同,由位选线担任是哪一位数码管有用。云云一来,就没有需要每一位数码管接一组IO口,从而大大地俭约了IO口。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮替向列位数码管送出字形码和相应的位选,愚弄发光管的余辉和人眼视觉暂留影响,使人的感想相像列位数码管同时都正在显示。 即实践上,每个数码管是一个个的次第点亮。愚弄人眼视觉停息,敏捷扫描,大凡每隔10ms以的下时光革新一次数码管显示即可看到安谧的显示成就。自己亲身试验,最好革新时光设定为5ms一下,高于5ms显示会略微有些晃眼。

  这里我念再次说一下闭于延时的题目。大凡教科书或者说目前绝大大都能看到的数码管处置次序原料公多都是依据上面的格式处置的。我念问一下,这里延时5ms的旨趣何正在?可否不延时?谜底是能够,但显示结果即是最终一个被点亮的数码管会斗劲亮,其余的都斗劲暗。至于原故很容易,点亮最终一个数码管后,单片机CPU还要跑其他次序,然后再次跑到数码管显示处置函数时再次第点亮第一第二个数码管。明显云云最终一个被点亮的数码管点亮的时光远远比其他的数码管时光要长,天然这一个奇特亮,其余的很暗浊。然而加上5ms延时的话呢?因为单片机速率还算斗劲疾(大凡一条指令1us),5ms相当于5000条指令。5000条指令什么观念呢?若何说呢,若次序里不必“delay”云云的空指令的话,大凡一个大型项目就差不多了。大凡而言,譬喻AD测温、adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=17&is_app=0&jk=85d214d39ac24f75&k=%B5%E7%D7%D3%CA%B1%D6%D3&k0=%B5%E7%D7%D3%CA%B1%D6%D3&kdi0=0&luki=8&n=10&p=baidu&q=98059059_cpr&rb=0&rs=1&seller_id=1&sid=754fc29ad314d285&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1831118&u=http%3A%2F%2F电子时钟等云云幼项目实践有效的指令绝对不会到达好几千的形状。以是说5ms对付单片机来说是个相当长的时光。

  再回到延时5ms后显示较为安谧的题目上。由于点亮最终一个数码管延时5ms后单片机正在跑其他的指令时相对要不了多久(条件是其余地方没有“delay”空指令),以是最终一个数码管比其他数码管多亮的时光就不太显然了,云云天然显示也会斗劲匀称少少。不过原形上,最终一个被点亮的数码管仍是稍微比其它数码管亮少少。谨慎上面所说的是单片机跑其他指令用的时光不长的处境。要是,次序斗劲大,模块良多,单片机要处置的事宜良多呢?例如说一个float型数据的除法(不清爽读者有没有正在单片机上试过)所糟塌的指令数或许你都联念不到(越发是对付内部不含硬件除法器单片机,其除法指令转换成其他的运算)。我当时做AD测电阻时用的sonix芯片(没有除法器),起源次序内部一个float型除法,所有次序当时有1.5k的形状,数码管显示,总是一个亮,其余的暗浊,况且很担心谧。自后查找原故,即是由于那条float型除法的题目,果然占了大几ms的时光。当删除那条指令后,所有次序惟有700多字节,也即是说就这么一条指令就直接让次序巨细翻倍了!查看编译器翻译成的汇编指令占了相当大一局限,况且尚有良多CALL指令。以是说,8位单片机 确实不适合做除法以及float运算。

  扯远了,回到数码管题目。综上面所述,delayms(5)的格式是不牢靠的。况且最为症结的时delay指令是毫无旨趣的,即是让单片机啥也不做,正在那里死等。试念一下,单片机还要处置其他事宜,光正在这里死等岂不是太蹧跶了吗?就比如人相同我能够正在用饭的同时听音笑,而不是先用饭,饭吃完了再特意听音笑。单片机也是相同,要的是效能,而不是正在那里死等。

  那么这种格式欠好,该若何办呢?要不要延时?延时必然是必要的,否则显示不匀称,但不是这种格式。准确的格式是按时器按时5ms,5ms到后革新一次数码管,云云一来单片机不会正在这里死等,二来数码管显示时光绝对匀称。对付按时器,大凡的单片机起码有一个,况且它举动单片机的独立模块,底子不影响cpu职责。以3个数码管为例,其次序代码如下

  云云CPU不必正在这里死等,每次次序跑到这里时,只需做个决断就好了,5ms到后就进去点亮数码管,不然就不进去,显示成就绝对匀称。同理,诸如键盘扫描次序,延时消抖,都能够采用这种格式,而不必delay。

  也许读者或许发掘了题目,。