粉丝20获赞376


我们先来看一下程序的运行效果啊,我们按第二个按键,这个灯就是会向右依次的点亮, 我们如果按第一个按键,他就会依次的向左点亮, 点到第一个,再按到第八个灯,这边也是到第八个,再到第一个, 我们来看一下它的实现原理啊。首先这个 k 一 键,这边是 p 三幺,这个 k 二键,这个是 p 三零,不知道它怎么回事哦,这两个没有按顺序, 这个是三幺,这个三零,然后如果就是这个三幺按下,我们就是让他左移,如果是这个三零按下,也就 k 二按下,就是让他右移, 就是他的灯右移移位,这个按下我们已经知道了,就是等于零,就判断他等于零的时候就是按下。 然后我们来看一下灯, led 模块呢,灯它就是这个 p 二端口有八位,就是这八个 led 灯,我们先让第一个 led 灯亮起来,然后就依次的循环,让这个移位操作就行了。 那么再来看一下源码啊,源码还是上面还是跟之前一样的,都是一些引入的一些库头文件一些,然后就是延时函数, 那这边就是一个慢,然后 p 二的 p 二,它就是它的 led 端口,一共有八位,我们这个是让它等于零 x 零幺,再一个取返 运算符,然后它就是相当于是 fe。 首先呢我们看它零 x 零幺,这就是十六镜子的 零幺,就相当于二镜子的零零零零零零幺,然后这个再把它取反,它就相当于是幺幺幺幺幺幺零,也就相当于十六镜子的 fe 啊,这个零呢就是 led 点亮啊,这个是二零,也就是它的第一个灯, 然后是如果 p 三幺等等于零,他就是呃第一个按键被按下,而这下面就是一个延时防抖动的,然后 v 二循环,就是按住不放的话一直在这里面,然后后面还有一个 这个防抖动的啊,上上一节课那个代码,我们前面加了一个防抖动,他这个后面没有加防抖动,他有可能会出现一些问题啊。这里这块我们把它加上 p 二,就是等于这个右移, 又移一位,哎,就又把 p 二,它现在是取反过后就是幺幺幺幺幺幺幺零,再又移一位,它就是零幺幺幺幺幺幺幺, 这个这个是应该是 p 二八,这个 p 二零,这个是 p 二八,因为我们那个 呃开压板上面的 led 灯啊,和我们这个位置它是反掉的,我们这边是右移,它就是到相当于是嗯第一个 led 灯灭了,第八个 led 灯亮,也就是 看看这个它是反的,它这个是二零,到这边是二七,我们这边的是这边是二零,到这边是二七, 所以这边的我们是右移循环右移,但是对应的实际情况它是这边是左移, 嗯,就是这一块容易搞混啊。然后下面一个就是判断它 p 三零等于零,也就是第二个按键被按下,然后这下面的就是一些防抖动,然后这边的是循环左移移位, 循环左移一位,再赋给这个 p 二循环左移就相当于这个 p 二零, 它这个第一个灯 p 二零被点亮,然后左移,就是 p 二幺被点亮,然后对应的开关上面它是 p 二零,是这个第一个灯,然后 p 二幺是第二个灯,它是向右点亮, 就是这两个会有点绕,可能会搞乱啊。就是这里我们实际代码是让它左移,但是,但是就是它的这个位置和因为位置和那个 呃二进之位它是相反的,所以这边的右移相当于那边的左移,这边的左移相当于那边的右移。 这里我们演示一下,看看如果 while 循环后面不加延时抖动的话是什么样的效果啊? 可以看到刚刚就是第八到第六按了一下,它跳了两个灯,这就是它如果不加延时抖动就会可能会出现这种情况。 嗯,又出现了,它不是百分之百出现的,但是有几率出现啊。

大家好,今天我们来介绍一个基于无压单面积的高级计算器设计,我们先把它给擦掉,然后我们找它的仿真,仿真文件是由 proteus 七点八和八点九两个版本来制作的,我们用 proteus 八点九将它打开, 然后我们把程序烧写进来,找到它的程序文件夹,把编辑好的程序烧进来,点这里确定,然后我们点这里运行。 我们首先简单介绍一下哈,这个是五幺单片机,这个是金正,这个是复位,然后这个是矩阵键盘的输入,这里有很多的功能,我们等下慢慢来介绍。 这个是蜂鸣器,然后这个是 lcd 幺六零二的显示模块,现在这里显示的是时间十分秒,然后我们时间是可以调整的。怎么调整?点这个点这个调整时间,这里点一下,然后直接输入你需要的时间,假如我们需要 二十一点,点这个点二十一点五十九分, 再点一下,点五十五秒,然后我们按一下这个等于时间就出来了,这就是我们输入的时间了。好,那我们把这个时间切换成计算器,就直接按下这个时间和计算切换, 就切换到计算模式了。计算模式的话,我们先看一下一些简单计算,加减乘除七十八,加上 八十八等于一百六十六,然后我们看下减法, 十九等于负三十三,我们看下乘法它最大能计算多少? 十三位 好,十三位乘十三位,我们等于就等于一乘以十的二十六次方了,这就是他能计算的最大的值了。然后除法,我们看一下, 二十二除以三等于七点三十三,现在我们看到它是有小数点后五位,假如我们数字更大一点,假如 再除以三,等于这个小数点,就是后面两位了,因为他前面的数字比较大了,然后他可以进行一个负数的运算, 负数零点零二五乘以零点五, 哎,错掉了,回退一下,零点五等于 负零点零一二五,这个也是可以运算的哈。还有一个功能就是我们看一下六十六加 五十五,你最后不要输,等于你如果要连加的话,直接再按下加,他就计算出这个结果,然后这加号就在后面了, 如果你一定要减,就减他计算的结果,然后你这样乘, 等于,如果你等于之后把结果算出来了之后,你再也想去按照这个数字就不可以了哈,你如果再想三百五十减多少,他就不可以了,他就把前面的清除掉了, 这简单的功能就这样的,然后我们看一下它的一些公式,计算上瘾,我们看一下上瘾怎么按。先回退输入,这个上瘾要点这个输入切换 好,输入切换,这里就是这个标志, s 标志好上引上引三十 三十不是三十度啊,我们要加一个度还是一样,这里是除法,我们要按一下输入切换, 除法变成度三十度。上影三十度等于多少?等于二分之一,等于零点五,然后我们看下这个 cosine 也是一样,输入调整, cosine 三十度, 三十一定要输入度啊,不要输错了,三十度等于二分之根号三,就等于零点八六六,然后 ten 卷, ten 卷四十五度,我们试一下 ten 卷四十五度等于一嘛, 输入这个度,一下面这个度,一下面这个度,一的指数,我们看一下啊, 一的一次方就等于二点七,一八,就这么多。这个公式就是令以一为底的对数,我们看一下 令令十吧,它也没有什么好的, 等于二点三零二。要注意的一个就是这两个公式不能在一起用哈,如果放一块,它就会 error, 就 会报错。我们看一下,假如我们想以这个为底啊,回推线, 我们想以这个为底,然后再去以这个为底,然后再去以这个为指数,它不能这样的啊, 然后我们看一下下面这个公式,这个 log 就是 以十为底的对数, 十为底的对数,那如果是十的话,就是一嘛,就等于一啊,然后下面这个公式是开根号, 开根号的就一百嘛,一百的开根号是多少?就是十,这公式就好看了,这公式是指数二 二的三次方,二的三次方等于八。好,下面这个就是 pad 了, pad 我 们可以直接输入 拍等于三点一四,对吧?然后这个是导数,导数就是导向嘛,我们看一下 导导数零点一,导数零点一等于十,那导数十就是零点一嘛,我们看再来一次导数十 就零点一。好,那功能就是这么多的哈,我们看一下它的程序, 程序这里我们用 k l 五将它打开,我们编一下,好,编一正常,我们浏览一下这些程序哈,这注示还是蛮多的,我们浏览一下, 那我们看一下这里还有它的原理图,原理图,我们用 ad 软件将它打开,还有 pcb, pcb 我 们也用 ad 软件将它打开。 我们先看这原理图,这原理图和我们的反针也是差不多的,这里加了一个电源,然后这个是 pcb, 我 们看 pcb。 好,那资料就是这些哈,如果有需要的话大家点赞收藏,然后扫这个公众号去获取哈,感谢大家观看。