01:00
有声音吗?你听到吗?稍微等一下他们啊。能是吧,画面也OK是吧。好啊,咱们简单的说一下,咱们这个昨天讲了这个叫做哪些内容啊,然后呢,我们再来,呃解决一下,看有没有大家有什么问题啊。
02:25
我们昨天讲了一个叫做这个呼吸灯,那么这个呼吸灯的话呢,嗯,其实呢,它也是一种什么呢,它也是一种叫做现象啊,就是说这个灯的亮度的这个随着时间的变化呢,从最暗到最亮,然后呢,再从最亮到最暗啊这样呢,不断的这样的一个呃变化一个往返啊我们说像人的这个呼吸一样,是吧?啊然后呢,我们来呢,呃考虑去做,那么呃这样的话就干什么呢,就需要什么,就需要控制这个叫做灯的亮度,对吧?而我们控制灯儿亮度的话呢,我们又不能控制它,通过它什么,通过它的电流,因为什么,因为我们数字电路对吧,数字电路的话呢,就是说这边有一个数字的叫做IC啊,然后这边呢有一个灯泡啊,然后这边呢,是这个叫做呃,接N地啊,就是接地了对吧,或者说呢,也有可能是反过来的是吧,这有个灯泡这边呢,接的是VCC啊,这也有可能啊。
03:26
那么呃,对于无论哪一种吧,我们I sa呢,输出呢,要不就是高,要不就是低是吧,我们也不可能输出一个变化的这样的一个,就是说缓慢变化的这样的一个电压或者电流,我们输出不出来啊,那怎么办呢?所以呢,我们就给大家呢讲了什么,哎讲了叫做一个叫做人眼的视觉暂流是吧?那么对于人眼的视觉暂留来说呢,今天我们还会用到啊什么呢?就是说呢,一个物体啊,存在于这个大家的这个面前啊,然后呢,他呢,呃消失了以后,他的影像呢,还会在哪儿呢?还会在这个叫做这个脑子当中存在一会儿啊,那么我就利用这个现象的话呢,我们就干什么呢?我们之前是不是做过一个闪光灯啊,就是亮一秒灭一秒,亮一秒灭一秒,亮一秒灭一秒啊,咱们都能看到它在闪,那如果说呢,干什么呢,叫做亮一毫秒灭一毫秒,能看到什么呢?哎,就能看到了,哎它就这灯呢,就一直常亮不灭了,那常亮不灭了,那么它和一直。
04:26
亮着这个灯有什么区别呢?哎,那么它呢,很显然什么啊,很然呢,这个叫做亮一秒灭一秒啊,虽然是常亮,那么和正常从来没有灭过的这个灯啊相对比来说啊,亮一秒灭一秒这个灯呢,它亮度呢会暗一些啊,如果咱们呢,呃后边啊,大家还想自己去做实验的话呢,大家也可以自己去呢,用我们这个叫做那个分频那个方式啊分频那个方式,然后干什么呢?就是说我们去做这个叫做这个这个呃,就让它改变一下,比如说呢,哎是一毫秒,一毫秒再改成什么,改成0.5,然后改成1.5,就是说让它保持加起来保持不变,那么这样的话呢,看一下这个亮度和这个亮度的对比。
05:10
啊,就是说呢,就是亮0.5面1.5,这个对比的话呢,就是这个亮度要比这个呢,稍微大一点啊稍微大一点,那么这样的话,我们知道什么了,也就是说呢,如果说啊,点亮的时间加上不点亮的时间,就是熄灭的时间,我们称之为叫德尔塔T,如果德尔塔T的时间足够小,那么这个灯就会常亮,这是第一个,第二个如果点亮的比例,点亮的占的比例。越多它的亮度就会越大,所以我们根据这个的话呢,我们做了什么呢?我们就呃给大家呢讲了一个啊非常简单,就是说如果说我们能做出这是一个德尔塔T,然后呢,这是一个德尔塔T啊,然后呢,这是一个德尔塔T,然后呢,每次步进多少呢?我们可以说在这个里边没有点亮的,在这个里边呢,我们可以让它点亮什么千分之一德尔塔T,然后后边那个呢,是千分之二德尔塔T,然后呢,一直干什么,一直到最后啊,就千分之九百九十九德尔塔T啊,那么这样的话呢,一共啊,如果按我们这样来算的话呢,一共有多少个德尔塔T呢?一共是有1000个德尔塔T。
06:15
挖1000个灯贴,然后呢,它的亮度呢,就会从最暗变到最亮啊变这个这个从这个最暗变到最亮,那么对于我们来说的话呢,我们规定啊,这个呼吸灯的话啊,从暗到亮也好,从从这个呃这个这个亮到暗也好,都是两秒钟,所以我们规定的它是得T是多少呢?就是两秒钟出1000就是两毫秒啊,那你每次步进千分之一千分谁的千分之一啊,是德塔T的千分之一千分之一多少呢?就是两毫秒的千分之一就是两每秒,对不对,那我们怎么能够实现这个波形呢?哎,就是说得T是两毫秒,每次不仅是两毫秒,千分之一就是两微秒,对吧?那我们怎么来实现呢?所以我们给大家呢,讲了一个例子,对吧?哎,讲了一个例子,然后呢,用这个呃,这个叫做时间啊,分钟小时秒啊这样的这个三个啊计数器去做对比,然后呢,我们就是能够得出来一个占空比直线升高这样一个波形啊,然后呢,最终呢,我们把它呢给做了出来,那么做出来以后呢,这什么这只是一半对吧?然后我们发现什么呢。
07:15
说占控比呢,哎,如果是60%,那么它反过来呢,就是40%,对吧,也就是说呢,占控比是从千分之零到千分之九百九十九,那么它反过来正好是千分之一千到千分之一,所以呢,我们干什么呢?我们就把零到999这个身高这个模型呢,当成什么?当成了一个模板,然后呢,我们就未来考虑说第一个两秒钟呢,输出正模板,那就是逐渐点亮,第二个周期呢,输出反啊,输出反模板,就模板的反的反值,那么这样的话就会就是从这个最亮再慢慢降到最暗,所以就做成了这样一个呼吸灯的效果,对吧?那么大家把这个里边的叫做什么呢?各个参数啊,各个参数还有什么呢?还有这个各个的时间啊,各样各种各样的一些东西啊,一定要干什么呢?理解清楚,然后理解清楚以后呢,就是说去做仿真啊,然后呢,去做这几个计数器,那么这几个计数器之间的关系是吧?哎,就像大家所做的这个小时分钟秒。
08:15
是一样的啊,小时分钟秒是一样的对不对?哎,就是说呢,如果说你的分钟想动要求你的秒必须到59啊,你的小时想要求分针到59,秒针也要到59,然后小时呢才能变,注意怎么变还不知道呢,对吧,你小时变也不一定非要加一对吧,有可能还会清零对吧?所以要考虑一下,哎小时的时间是不是小于23对吧?所以呢,在这的话呢,我们就利用这样的一个呃三个记数去做对比,然后做出来了一半,然后呢,另外一半呢,是通过取反得来的,那么输入什么时候输入正的,什么时候输出反的呢?我们说两秒钟呢,哎,两秒钟啊,我给一个VO里的一个取反,那么这样的话有什么好处呢?就是说呢,奇数的时候啊,VO里都等于零,偶数的时候VO里都等于一,那么样的话我就干什么,就可以根据我里底等于零还是等于一来输出决定正模板还是反模板,因为我呢,每两毫秒啊,不是每两秒钟呢,它都会干什么,都会这个叫做取反一次嘛,对吧,I都会取反一次。
09:15
好了,那么呃这个呢,是我们所做的这个叫做呃这个这个呃呼吸灯的这个代码,那么呃对于这个来理解来说的话呢,首先呢,要理解一个呃问题就是说呃视觉暂流场量,这是第一个,第二个啊,就是怎么能满足水三流呢,就是说量和不量加起来的时间呢,要足够的小啊,那么第三个啊,既然它常量了,那么它的常量和人家直接产量有什么区别,就是亮度的改变,那么它这个亮度是怎么来调来调整呢?我们发现呢,在德T之内的亮度的比例是用来调节什么呢?是用来调节亮度的,那如果我从最暗到最亮,那肯定什么呢?那肯定就是在哎不同的登车梯里边,它点亮的比例要逐渐的升高,如果只要能够理解到这儿。
10:04
啊就可以了啊,那么再往下的时候呢,就是下面那个呢,其实就是什么,其实就是一种实验方法了,而那个实验方法呢,呃,我之前就说了是吧,可能是一堆玩数学的人呢,他觉得啊不是太久,应该说他发现了这样一个规律啊,正好可以做出来啊,正好可以做出来啊,所以说这个的话呢,我们就讲到这儿好吧,那么有问题的话呢,我们可以这个呃课下啊,或者说呢,这个呃,晚点给大家来解决啊,晚点大家来解决,那么下边的话呢,我们来上这个,呃,我们今天的内容啊,我今天的内容。好了啊,我们今天的内容呢,是讲解这个叫做呃数码管啊,关于叫做这个数码管的一个驱动啊,数码管的驱动,那么这个数码管的驱动的话呢,我们来呢,嗯,不着急啊,然后呢,给大家呢,一步一步的来去讲解这个数码管,然后我们把数码管讲解完事之后呢,我们看看有没有时间的讲解一部分叫做呃状态机啊,讲解一部分状态机啊,我们来一步一步的来给大家去这个呃捋顺啊这些东西啊,首先呢第一个啊,首先第一个呢,我们来去给大家来说一下。
11:29
嗯,什么是数码管呢?对吧?什么数码管呢?也就是说呢,呃,其实在咱们这个开发版上的话呢,大家也看到了是吧,就是说有好几个这个疤带点儿的那个叫什么呢?就叫做这个,呃数码管那就叫数码管,那么其实呢,这个应该从哪开始说呢?我们从最简单的东西开始说是吧,也就是说呢,呃,在很早之前我们有什么,我们有了叫做数字对吧,比如0123456789,也就说呢,这十个数字对不对?哎,这十个数字,那么这十个数字呢,哎,对吧,阿拉伯数字是吧,一旦这个他发明了以后呢,是吧,然后呢,在全世界内都是通用的,都是这么写,无论哪个国家零到九都是这么写的,对吧,那好了,那么对于我们来说的话呢,就随着这叫什么,随着这个叫做科技的不断进步啊,随着这个科技的慢进步,那怎么做呢?哎,我们就想让他不能总是手写对吧,那什么我想让它亮到一个什么呢。
12:30
啊,亮到能不能显示到一个屏幕上啊,显示到一个屏幕上,比如说呢,我来举个例子,比如说这个是一个屏幕,然后呢,我想让这个屏幕上显示什么,我想让显示零,它可以显示零,我想显示一可以显示一,显示二就可以示二,就像一个相框里面放照片似的,对吧?零到九的照片都在里边存着,我想让它亮什么它就亮什么啊那么这个我们怎么来做呢?啊做的方式呢有很多啊,做方式有很多,但是呢,呃,因为这个数字的显示的话呢,它不像我们汉字啊,不像我们汉字那么费劲啊,不像我们汉字那么费劲呢,就是说这个它的笔画比较多,或者说像字母一样啊,它的这个也比较各种拐弯,对吧?那么这些数字的话呢,也就说不同的人写的也是不同的拐弯,对不对,那么所以在这儿的话呢,我们为了构造显示屏的简单化,我们把数字做了一部分修改,修改成什么了,我们把数字修改成了一是这个样子的,二。
13:26
我们给它修改成这个样子了啊三也就是说呢,我们给它搞成什么,搞成了横平竖直啊四。五啊,前面少了个零是吧。零,然后呢是六。七啊,有的时候七这么写是吧,有的人七这么写是无论哪种都可以好吧。然后是九。啊,然后是九啊,这个一般情况都带着啊,这个一般都带着好了,那么呃,对于我们来说的话呢,呃,就是说如果我们当把这个零到九这十个数字啊,然后要是规规整整的写到这儿以后呢,我们就发现什么了,我就发现的话呢,就是说呢,这个所有的这十个数字啊,都可由谁呢?都可以由这个八去做一部分变化,比如这个九是吧,是不是就把这一小段没有了,是不是就变成九了,对于一来说,就是这前面啊,从这开始,这前面都不要了,后边就是一对不对,但当然了,对于23456其实都可以,所以你会发现什么呢?如果说我们能干什么,把这个八呢,拆分什么拆分成就是它不都不是连到一起的,它是这样的,也就是说呢,它的每一段呢,都是什么,都是可以独立控制的,就每一段都是一个什么呢?都是一个可以直接活动的情况下,那么这样的情况下呢,大家看一下是不是一共有几段呢?应该有这个1234567。
15:00
一共有什么,一共有这七段啊,就七段,那么对于这七段来说的话呢,如果说呢,我可以去控制这七段,就是分别独立来控制这什么这七段值,比如说呢,我说这一对有,这一对有,这一对有,这一对有,这一对有这对这对有好这七对都有,那就是八,那如果说我控制呢,外边一圈七段有,而而外边一圈这六段有,而中间这一段呢,它没有了,那怎么办呢?那它就干什么,那它就是零对不对,那么对于我们来说呢。我们也不能说直接把这一段抠走,对不对,那怎么办呢?所以呢,我们做的时候呢,我们大家可以理解为是这么来做的啊,这么来做的,比如说呢啊,我是在这儿呢,我这个就是比如说这是一个平整的一个板儿是吧,我在这个板上呢,这个里边呢,我挖一个长方形的,或者说我挖一个长方体的洞啊,长方体的坑啊,就个大坑是吧?挖个长方体的坑在这儿呢,我也挖一个方体的坑,在这呢,我也挖一个长方体的坑啊就是说我把这些挖个坑啊挖进去啊,那当然了,大家也可以理解为什么呢,大家也可以理解为呢,就是说呃,我在地上啊,我在这个一个平地上盖了什么呢?盖了这七栋房子啊,这盖了这七栋房子,那么这七栋房子呢,都是什么,都是长方体的,但是呢,我只盖周围啊,只盖四面啊,但是呢,我都没有不封顶啊,但是我不封顶啊,不封顶那么不封顶的话呢,这样的话呢,有什么好处呢。
16:30
哎,就是说呢,我们可以从上边啊,直接能够看到它盖的是一个框,对吧,盖是个框啊,那好了,那然后怎么做呢?我在什么呢?我在每一个小房子里放一个什么呢?放一个灯泡。我在每个小房子里放一个灯泡,然后这些灯泡的话呢,我当然是可以干什么,我当然是可以直接控制对吧?那好了,如果我们把它放这儿远远的去看的情况下啊,哪个灯,比如我把灯泡,灯泡设什么,我把灯泡设置成这个红色,那好了,灯泡一亮啊,是不是就会灯泡一亮是不是就有一个这样的一个满屋子一个从上面看就是一个长方形的横条,对吧,这个就是长方形的一个竖条,这个也是横条,这也是竖条,对不对,那好了,如果说呢,我控制灯,那么这个不亮这个灯呢,比如这个灯不亮,那那什么呢,大家看到的就是黑的啊,就是黑的,什么都看不到,就是黑的,那好了,对于我们来说的话呢,我给大家一直在讲什么,什么叫选中。
17:26
啊,什么叫选中呢?啊,其实什么就是你跟别人不一样,就是你选中了,就是你突出出来了,对吧?哎,或者说呢,别人都选中了,你不选中,那不突出出来了,还是你嘛,对不对,所以说的话呢,都一样,那对于我们来说,我们就是这样来想的啊,就是就是列边都有一个红灯,但我可以要求什么,这个红灯亮还是不亮,那么对于零来说的话呢,我们可以认为什么,我们可以认为就是说这这七个灯是吧,这七个灯呢,只有中间的灯不亮,剩下所有灯都是亮的啊,剩下所有灯都是亮的,那么你也可以反过来认为只有中间灯亮,其他灯都不亮,那么你会认为呢,也是一个。
18:01
这个零啊,为什么?因为你会觉得这个中间这个亮了,那旁边你就会显得就比较突出一点,但是呢,一般情况下我们都知道啊,这个灯亮出来的话呢,它亮度比较高一些的,突出性可能会强一些,对吧?啊所以呢,呃,是这样的啊,我们就认为让它亮的时候,就是说这一对有就认为是亮,那好了,那么这样的话呢,我们就已经把它呢,哎。造成了,那好了,就是说呢,呃,就是说如果在一个小板上,这个小板上盖了七个洞小房子,然后每个小房子里有个红灯,然后呢,我们就可以控制这个灯的亮与面,就可得到什么,就可以得到一个数字了,对不对?好了,那么我们如何来控制这七个灯的亮面呢?啊,如何来控制七个灯亮面呢?其实呢,这也很简单啊,也就是说呢,大家来想一想,我们的开发板上是如何来控制这就是灯的亮面的话呢,还记不记得在这的话呢,我来给大家去找一下我们的这个电路图。
19:08
好在我们电路图当中的话呢,是这样的对吧,也就是这样的,也就是说呢,这是四个灯是吧?我就只看流水灯也是这数值为高,这边就哎这数值为高,这这是正,这是负,这边接D了,所以这边为高,它就亮,这边为零,它就熄灭,对吧?那么当然了,这是什么?诶,这是一个非常简单的一个灯,对不对,但是呢,这是一个电路图对吧?那按道理说这是个电路图,然后我呢,我想把它摆成什么形状就摆成什么形状,对不对,这只是个电路图啊,这只是个电路图,也就是说它只是一个原理图啊,它不是实物图,实物图你可以随便放啊,随便放各种不同的一个位置都是可以的,那如果说呢,我就把这四个灯放到对应的这四个坑里呢,那我们直接就啊这样做啊,放到这放到这,比如说我有这个叫做呃。七个灯啊,我就放到这个对应的这七个啊坑里呢,那这样的话呢,是不是说我就控制这一个灯呢,就是说我控制这个灯亮面,其实就是控制嘛,就是控制这一行亮不亮,对吧?哎,就非常简单了,那么对于我们来说的话呢,哎,对于像这样的一些东西啊,对于像这样的一个,我称什么呢?就叫做数码管啊,就叫数码管啊,那么就是显示数码的一种管子,我们称之叫数码管,那么这个需不需要我们自己去焊,呃,需要需不需要我们自己去造呢?其实不用啊,因为你直接可以买回来,那么大家来想,如果我要把它买回来以后,那么这一个这一个叫做这个这个这个呃,这个叫做数码管上啊,它应该有什么,它应该有几个管角呢?就这一个上面,它应该有几个管角呢?它应该有什么呢?哎,首先呢,就是我们来看的话呢,也就是说,如果说我们都像这种接法的话呢,如果说我把这个上面所有的灯泡的阴极都接到一起,然后接到地上,然后把它所有的阳极都露出来,当做控制端。
20:56
那这样的话,这个里边一共什么?一共有七个灯对吧?所以七个灯的话呢,应该有七根控制线,因为有七个阳极对不对,然后呢,还有几个阴极呢,它应该有七个阴极,但是七个阴极呢,接到一起接成D了,然后再输入出来,就是有一个基ND对不对?所以的话,这样的话呢,这个数码管呢,就有什么就会有八根线啊八根线,那么这八根线的话呢,我们要需要把这一个D呢?哎,就我称之做公共端,一般用这个。com来称之为叫公共端,那么这公共端是基地嘛,所以把它直接接到地上就可以了,然后我们就控制七根线,那么这七根线就分别控制什么呢?控制这七个灯就可以了啊,七根线控制这七个灯亮遍就可以了,那么这样的话,比如我要亮一,那怎么办呢?是不是就是控制这个灯亮,这个灯亮,那么剩下灯都不亮,是不是就是一呀?哎,这就非常简单,那好了,下面我来讲一下什么叫共阳,什么叫共阴,那么什么叫共阳,什么叫共阴呢?其实呢,对于我们来说的话,我们说一个什么有正极,有负极,那么其实还有。
21:56
另论上叫什么叫阳极和阴极对吧?阳极其实就是什么,其实就是正是吧,阴极就是负对吧?那好了,那对于我们来说的话呢,因为他们的公共在就哪接到基因地上了对不对,那接到基因地上那怎么办?哎,所以我们就要把这种数码管的连接方式,什么叫做供因级数码管,所以大家就会明白,供因极数码管我们是控制的阳极,所以呢,给幺数码管会点亮,给零数码管会熄灭对吧?那如果是供阳极呢,也就是说呢,我们也可以说呢,把它所有的阳极接到一起,然后接到外边呢,接到哪接到VCC上对不对,然后把所有的阴极甩出来,那这样的话呢,控制它的阴极的时候啊,那这样的话就什么,就是我们给它为零就会点亮,给它为幺就会熄灭啊,这是一个供阳极数码管还是供阴极数码管啊,你都可以上网上去买,那你都可以去买得到,供养也好,供应也好,都可以买得到,那供阳也好,供应也好,都可以买得到,那好了。
22:54
那么下边的话呢,我们来呢,给大家呢,再来往下接着讲啊,比如说对于这个数码管来说的话呢,它一共有几段呢,它应该一共有这样的七段,对吧。
23:05
啊,有这样的一段。好,那么首先呢,我们来呢,我们先假设啊,我们先假设它是共阳的啊,假设它是啊,这刚才讲的是共阴的对吧,那就先假设它是供阴的啊,假设它是供阴极的数码管,那供阴极的数码管的什么意思呢?也就是说呢,它会有七个阳极控制线和一个阴极控制线,我们也可以认为这个阴极也是,呃,不是这个这个对啊,这个阳极,我这个阴极也是控制线,然后只不过这个阴极呢,我们可以决定它接到基因地,而是不接,如果它接到这个这个基因地上,那么阳极你给妖就会点亮,那么如果说我把这个阴极呢,是说它的低电本身该接到基因地的,我不接到基因地,我也接到电源上,那么你阳极给啥它也不会亮,对不对,你给啥它也不会亮,所以呢,这个呢,我们也可以称之为控制线,那么现在呢,我们先把这个叫做阴极控制线,怎么办呢?我们先把阴极控制线呢,我们先默认给它接到基因地上去,那好了,这样就OK了,好了,那么这就有什么。
24:09
那这是不是有七根线,那么这七根阳极控制线是控制这七段的,对吧?所以我们把呢控制呢,呃这个这个叫做呃控制哪一段哪一段点,比如这七个线选信号啊,哪段哪一段什么叫做选信号啊,这选号,那么这个断选信号用什么来表示呢?我们般用s seg来表示。啊,那好了,有七根线的,所以就s seg什么呢?六到零对不对啊,SEG6到零一般情况下我就就这七根线,那么这七根线分别谁对应谁呢?其实你对应谁都行,但是一般情况下我们会有一个默认的规定,怎么规定呢?就是说呢,这是这个六对应的,这是这个五对应的,这是这四,这是三,这是二,这是一,这是零,也就是说呢,我们会有呢,啊这样来去对应,那么这样来对应了以后呢,那么来想象一下说,如果现在我想让数码管量一的话,那么我的这个值应该等于什么呢?瑞等于七撇B。
25:15
这六这是不亮的,所以是啊,因为是阳极嘛,所以就是零,这个五也不亮,零四也不亮,零三也不亮,零二量一量零不亮好OK,这就是能量一了,那如果要量五呢,我要量五的话,是不是这格值练多少呢?是不是这格值就应该等于七撇B,然后呢,中间这一对是练了对吧?所以是幺,这一对也是练了对不对啊,所以应该是零,这一段是不是不亮啊啊这一段是不是不亮对吧?这对不亮,所以应该是啊,写错了是吧?这一对是亮了是吧?中间这对亮,这个亮,下边这个不亮是吧?100是吧?然后呢,三是亮了对吧?所以是幺,这个是亮了对吧?所以是幺,这个幺是不亮,就是零,然后这个零是亮了,所以是幺,就是就是变成这个了,1101101变成这样,所以呢,大家在这的话呢,就是说如果我们只有一个管子的情况下啊,只有一个。
26:16
产子的情况下,那么也就是说呢,如果我想让你亮五,那么呢,你就干什么,你需要把这个五呢,给我对应的翻转什么呢?翻转成五所对应的什么呢?所对应的段选值,那好了,那么我如了,如果说我给你的是X,那好了,那么你就干什么,你就给我翻译成X的段选值对不对?那好了,下边的话呢,我们来说一下啊,对于一个数码管来说的话呢,它是量什么,它是量零到九的对不对?那么我的这个X的话呢,也就只能是零到九对吧,那好,那这样的话呢,这个X的位宽应该是几位呢?X的位宽的话应该是四位的对吧?也就是说呢,四比特的对不对,零到九就是四比特嘛啊,零到九是四比特,那好了,这样的话呢,我们干什么,我们就可以说,哎,给的你是零到九当中的任何一个值,你只要想给我量出来,你就要给我翻译成对应的什么呢?对眼信号,但是呢,我们都知道一个问题啊,如果说呢,这因为输入是个四比特的信号,对吧?它呢,其。
27:16
值呢,不光是可以零到九,还可以什么?因为四比特的表示表示的是零到15对吧,那么对于他给的十到15这。六个数字我们应该怎么来显示呢?所以在这的话呢,我们借鉴谁呢?我们借鉴了16进制啊,在16进制当中啊,在16进制当中,那么对于十到15是用什么来表示呢?是用A到F来表示的,那么数码管上能显示零到九,那能显示A到F吗?所以在这儿的话呢,我们来给它举一个例子,比如说A如果写成这个样子。它不就可表示了吗B。如果你要这么写,这跟八是一样的,对吧?这跟八是一样,所以怎么办呢?写成小写B,然后C就是大写CD,如果要写成D的话,就是这样的,那这个D呢,又和零是一样的,所以我们干什么呢?要写成这个D。
28:11
然后呢,E。就是这个F,就是这个,这样的话呢,它都可以由数码管也可以表示出来,所以通过这个来说的话呢,我们就可以得到一个结果什么呢?就是说一个数码管它可以量任意的四比特数据啊,任意斯比特数据,如果斯比特数据是零到九,那量就是零到九,如果四比的数据是十到15,那么量的就是什么呢?就是A到F,好,一个数码管可以量什么呢?任意的四位二进制,那一个数码管可以量任意的四位二进制啊,量到A到F,那就是这个,它就等于这个十到15的一个值啊,量到零到九,那就是零到九的一个值,那这就是一个数码管,那好了,那么这样的话呢,我们就知道了,输入是一个四位的值,输出呢,就是说根据四位的值改成什么,做出它的段选信号,就是几位呢?哎,就是一个。
29:06
这个叫做这个这个呃,这个这个这个这个七位的啊,写错了,应该是七位的,因为总共七根嘛,那么在很多时候的话呢,数码管呢,有是七根的,也就说零到九,或者加上A到F不也是七根嘛,但是呢,有的时候这样的就是我们在日常生活当中的话呢,比如说我花了五块五,所以这个点呢,有的时候应用也挺多的,也不一定都表示点,比如还有什么呢?就比如说还表示一种叫做这个隔开,比如有的时候我们会写啊,就是比如说只有两个数码管啊,第一个数码管表示男生的个数,第一个数码表示女生的个数,那58,大家一看就是58嘛,58啥意思呢?就不知道,所以怎么办呢?有的时候我们就会在这加个点啊,就告诉你这分格的作用,这不代表五点吧,代表小数点,就是这个红点前面啊代表什么,代表是男生,这个代表是女生的个数,有的时候呢,我们还会写,比如说数码管呢,写的是啊1538,至少1358嘛,好像有的时候也不是这样认为的,怎么办呢?我们在这儿加个底,因为什么15:38,那这个底不并。
30:07
不代表小数点代表什么一个分隔的作用啊,那么在这儿啊,有的时候代表小数点就代表分隔,所以呢,现在的数码管都是怎么做的呢?现在的数码管的话呢,都是呢,呃,不仅仅有这样的七段了,是吧。啊,毕竟有七段了,还有什么呢?这还有一个就是说他不仅他不仅在这么他不仅在这盖了这个七栋,这个这个叫做呃,这个长方形的小房子,它还盖了一个圆形的房子,那当然这个里边呢,也会有一个灯,对不对,也会有一个灯,那好了,那么这样的话呢,这个断选值就有几位了呢?这个断选值呢,就有八位了啊就有八位了,那么它呢,对应的就是什么?对应就是76543210啊也就是说是这样的,那么如果说咱们呢,给的是四位数据的话,就小数点永远就不考虑它就是小点我永远让它熄灭啊,永远让它熄灭,那么这样的话呢,就是说呢,这个S这个漆啊,它一直就等于这个不点亮那个点片就可以了,其他就点亮就可以了啊,那么这样的话呢,我们都知道是吧,就就完了,这是一个什么呢?这就是一个非常简单的一个啊数码管啊,非常简单一个数码管,那么呃,其实呢。
31:24
它的到底是供阳还是供阴的呢?我们可以去分析一下,就是我们的开发板上的到底是供阳还是供阴的呢?在这儿我们来找到我们的这个数码管啊,这是我们的数码管的电路啊,我们这个数码管电路呢,是什么呢?我们这个数码点数码管电路呢,是供阳的啊,我们就是开发板上这个数码管呢,是供阳极的,那我们这个数码管呢,如果是供阳极的话呢,那就有一个什么作用呢?那就是说呢,我们七个或者我们叫八个控制线应该什么,应该是低电瓶点亮,高电瓶熄灭对吧?哎,低电瓶点亮高电瓶熄灭啊,因为呢,我们是供阳极的,所以就是认为什么,因为他们所有的阳极是接到一起了啊,所有的阳极的,那么所谓阴极是控制线,所以给零的时候量,给阴的时候不亮,对不对啊是这样的,那好了,那么它所有的阳极接哪接电源了嘛,其实在这儿我们也可以看到啊,所有的阳极呢,我并没有给它接到这个,这个电源上接到哪儿呢?我接到了这个叫做一。
32:24
这三极管上了,那么这个三极管什么,这个三极管正好是一个叫做pnp三极管,如果它是一个pnp三极管的话呢,也就是说它的机极呢,应该是低电瓶的时候,这个三极管才会导通啊,低电瓶的时候三极管导通,所以呢,也就是说呢,也就是它的所有的阴极呢,不是所有的阳极呢,是响接的电压,但是我给它加了个什么,加了个三极管,就加了个开关嘛,对不对,那么也就只有说,当我这个呃控制端输出为什么呢?控制端输出为这个这个叫做这个呃叫做这个这个低电瓶的时候,也就是他们才能接到呃这个电源上,如果我呢,诶给它开关是闭合的啊,不是这个开关是断开的,也就是说呢,我不让这个三极管导通,那这样的话,这边呢,这边是这个不是高璃屏,那这样的话呢,这个整个灯呢,是不能亮的啊,不能亮的好了,那么也就是说呢,在我们开发板上呢,有什么呢,有六个数码管啊六个数码管,但是现在我们先不考虑六个数码管,我们先考虑就是说有一个数码管,比如它这个数码馆的话呢,它呢,诶所有的啊,这个它的。
33:24
阳极啊是供阳极集到一起,然后呢,给到了一个三极管的这样的一个叫做这个极电极上,那么对于我们的这个所有的这个这个音集是拉出来啊是拉出来的,那么好了,下边的话呢,这个呢,我们给大家呢,呃,去做一下这个代码,然后大家来看一下啊来看一下。我们起个名字啊,我们叫七段数码管的驱动啊,今天我们也会做好多个版本啊,今天我们也会做好多个版本,然后并且的话呢,我们啊这个这个这个会给大家讲这个这个好多版本里边,然后呢,正好把这个整个数码管它的内部的连接形式呢,我们也就给大家讲明白了。
34:37
好,我们来新建个工程。
35:27
好,那么在这的话呢,我们会做这个叫做好多个版本对吧,我现在先不叫这个名字,我就在它后面加个什么,加个V1啊。加个V1,这是咱们做的第一个版本啊,我们会不断的去了解它啊,是咱们第一个版本,然后呢,把咱们第一个版本呢,设置成顶层啊,把第一个版本设置成顶层啊,那好了,当我设置成顶层以后呢,我来去写这个代码啊好,那么这样的话呢,我们都已经知道是吧?你比如说呢,我们来这个输出啊,输出有什么呢?有这个叫做啊,叫做这个断选信号,对吧?那么由于什么,由于我们是供阳极对不对,我们是供阳极,那么供阳极的话呢,也就是它的阴极,就是它的阴极是控制线,也就是给零的时候会点亮,给妖的时候会熄灭,对吧?那好了,那么我们是不是还有一个什,我们是不是还有一个叫什么叫做,就是说它的那个叫什么叫做这个,呃,这个供阳了嘛,但是供阳极,它的阳极呢,其实也没有接到数,也没有直接接到哪呢?没有直接接到这个叫做电源上,那没有直接电源上接到哪。
36:37
啊,它接到了这个叫做三极管的这个这个这一集上,那怎么办呢?也就是说这一个控制端,当这个控制端等于零的时候,它才能让这个数码管才能接上电,要不然都不让接电对不对,那好了,那这样的话呢,我在这儿呢,还有一个就是说选中这个数码管啊,就是说某一位数码管给不给电,我们称之为杠N啊C-N那好了,在这的话呢,我们A带一下,比如说cell-N等于一撇B0什么意思呢?那这样的话就认为什么认为我就给这个数码管通电了啊因为呢,它的这个电源呢是什么,它的电源呢,是接到三这个这个三极管上的,只有这一端等于零的时候,这个三极管才能导通,才能通电,对不对,它等于一的时候就不导通了,对吧?所以我们给零就是给数码管通电,通完电以后呢,我们再呃,我们这个也给它起这个名字吧,要不然看着不舒服。
37:35
好,那么这个的话我们给什么呢?现在的话呢,我们可以自己去想啊,比如说我现在量个几呢,我现在想让数码管去亮个几呢,我现在想让数码管子去亮一个三,比如我想数码管亮一个三,那么如果亮三的话呢,我们来想象一下啊,如果我要亮三的话,是不是应该对应的是这个样子啊。好了,那么对于这个样子的话呢,我的数码,我的这个断选信号呢,是有八位的对吧?那么这八位分别对应哪一段呢?分别对应的是这个是七,因为这个小数点对吧?这是七,这是六,这是五,这是四,这是三,这是二,这是一,这是零,那好了,点亮的位置,点亮的位置应该是零啊,因为我们是共阳极的,所以零它是点亮对吧?好了,那么我们这个数就等于八撇B7不亮。
38:28
不亮是要六亮六是零五不亮四不亮啊画横线三亮二亮一亮零亮好了,也就是说呢,我们直接给什么呢?直接给这样一个值,那么我们给通电的那个数码管应该亮几呢?应该亮的就是啊我们数字三,那么下面我们来看一下啊,在这我们给的是多少来着,呃,是1011啊1011_0000好,只要我们给呢,只要我们给这样的,那么它呢一下版啊,那么这个就不用仿真了,对吧,就是两句ZG,并且还都是固定值,也不用仿真了,那怎么办呢?我们直接综合分析一下。
39:09
然后呢,我们去干什么呢?去做一个下摆啊,在我们开发板上呢,不是有六个数码管了吗?我这儿呢,只是随意选一个数码管让它通电就行了,其他数码管不通电啊,出口先不通电啊,我们先来看一下啊,先来看一下。好,那么下面我们去分配一个管角。那么这个管角分配的话呢,我们来去。找一下。呃,在在我们的。这个位置是吧。
40:06
好,那么下边我们来找这个关于数码管的啊,数码管叫什么呢?呃,数码管叫这个名字啊,数码管叫这个名字好了,那么对于我们来说来看一下是吧,我们来了这个一定要对应分配啊,这个七应该是我们的A5啊,然后呢,这个应该对应的是我们的叫做B8,再往下,再往下应该是叫做A7,再往下应该是我们的,呃,四应该是B6啊,再往下应该是这个叫做B5啊,再往下应该是我们的这个。A6啊,再往下应该是我们的A8,再往下是我们的叫做B7,呃,最后一个是CLN,那么这个CLN的话呢,我们随便选一个数码管嘛,因为我们卡有六个数码管对不对,我们就选择这个B1这个数码管,比如说我们就C0对不对?好了,我们记住啊,我们现在用的是C0,因为呢,大家来想象一下,我们卡发板上不是有六个数码管吗?那么这六个数码管的话,大家来想,你说我的是410对应最左边的数码管呢?还是C15对应最左边那个数码管呢?呃,这个我也不知道,那咱就试一下,比如我选中的现在是这个对不对,选择现在是这个就是BB1,就是C10这个数码管啊,那么好了,我来看一下啊,到时候我就知道B1这个数码管对应是最左边还是最右边的,好了,现在我们把它的分配完了是吧?File close下边呢,我们来做一个,呃,生成一个下载文件,然后我们来下个版来看一看啊,下个版来看一看。
42:28
好,这个呢,是我们的这个数码管啊,然后呢,我们来下个板。那没有是吧,没有的话,呃,是不是设备管理器里没有啊,我找一下。啊,这是有的啊,然后呢,我们来再看一下。
43:07
嗯,OK啊,刚才可能还没有识别到。好了,我们来点一个这个。好,那么我们点完start以后呢,我们来看一下这个现象啊,大家这个呢,就是可能是有点儿反光啊,就看着像这个八一样是吧,他应该是三啊,我来给大家遮一下,看看能不能看清楚啊。嗯,就是它是三啊,他应该是三啊,这样就差不多了,对吧。啊,它是八啊,它不是八啊,看着比较像八,但是注意啊,它应该是三啊,它应该是三才对啊,它应该是三。诶好了好耗电了,是0.3啊0.3它不是把那两个呢,它根本就没有亮啊,那两个没有亮啊,只不过这个摄像头呢,它自动有补光啊,有什么各种各样一些功能啊,看着这个可能就像其他的这是三啊,这是三啊,因为我的这个板子呃是一个斜的是吧?嗯,我看怎么能给大家挑正是。
44:21
呃,对,应该是这样。稍等,因为我的线很短啊,所以说这个大家不太好看啊。呃,应该是得得这样开,这样是反的。那就得。啊,反正吧,就这个就是三嘛,这个这个这个不不再挑这个这个这个这个太恶心了好吧,呃,然后的话呢,呃,这个就是一个三,那么对于我们来说的话呢,我们可以这个呃去这个想办法啊,怎么做呢,我们可以把它呢代码改一下,比如现在的话呢,我不想亮这个三了啊,或者说呢,我们现在也看到了是吧,就是说我选中的什么呢?我选的是这个叫做这个这个这个这个410对不对,410的话呢,也是说在我们这个当中啊,我选择这是这个B1对不对,B对应什么?B1对应的就是最右边的对吧,最右边的数码管,这个大家也看到了是吧,应该是对应的叫做最右边的数码管啊,最右边的数码管。
45:20
好,那么呃,它对应的就是最右边的数码管,然后亮的是什么呢?亮的是三啊亮的是三,大家自己去反一下这个方向啊,因为我这可能不太好,那么呃,对于这个我们来说啊,知道这是三,那好,下边的话呢,我们大家就可以干什么呢?有这个原理对不对,那你就可以随便写了,你比如说呢,我就写这个,我就写这个叫做10101010,你也不用管这是几,我就直接给1010了,那好了,我再进行综合分析一下,那么1010按照我们来说的话,就就是我们自己呢,先不看现象之前我们自己分析一下啊,我们自己先分析一下啊,如果是1010的话,因为零是点亮嘛,腰是不亮,对不对,那零是点亮,腰是不亮,那就是说什么小数点不亮。
46:04
啊小点不亮,然后呢,中间这一横点亮,这一横不亮,这儿亮,这一横不亮,这儿亮,这一横不亮,这亮应该点出来之后应该是这样一个东西啊,应该是这样一个东西,也就是说呢,我们来看一下1010是不是我们出来之后就是这样的,那是不是就是这样的啊这个呢,就是你可以随便写啊,然后呢,大家就可以什么就可以知道啊,它就应该是这样的一个,呃,这个这个数码啊,这样的一个数码。好了,那么下边的话呢,我们来呢,嗯,把这个下壳板大家来看一下。好啊,那么这个的话呢,看的好像也是。诶,这样能。好一点啊,我能拿起来能好一点,有时大家能看到是吧,它应该是呃,怎么样能让大家看到,因为我的线比较短啊,所以说啊对这样。
47:00
更更更更光了,那还是算了吧。还是这样吧。对吧,就是大家移到这个就是反方向去看一下啊,就是说能看出来啊,他就应该是我们刚才自己画的啊,那个样子啊,自己画的样子啊好了,那么呃,对于我们来说,大家既然知道什么呢?大家既然知道这个叫做呃,这个这个这个就是我们直接呢,就是说给值,那么它就能选量不同的数对不对啊显示不同的数,那好了,那么这就是一个它那好了,下边的话呢,我们也可以怎么做呢?我们也可以呢,就是说去换一个不同的管子也可以,但现在呢,我们先不换管,也就是说呢,我们直接呢,就还是啊这样的一个值啊这样一个值好了,那么下边的话呢,我们来呢,呃给大家呢,来去做一个叫做第二个设计啊,第二个设计啊,每个设计呢,就是说呢,现在我们的一个数码管这么来做的,是不是显示什么,显示是这个固定值对不对,就是说我想让它亮的是几,我就直接写到这儿了啊,就写的固定值对吧?那好了,下边的话呢,我们来呢给大家。
48:05
来去做这个第二个版本啊,现在我们把它改成第二个版本。啊,改成这个第二个版本。那么这个第二个版本的话呢,我们先把第二版本设置成这个top level。好,那么当我们生成第二个这个版本以后呢,我们来呢,把它也改成二,好,那么下边我们怎么做呢?注意我们第二版本呢,要求大家做什么呢?就是说你的一个数码管是不是可以量任意的四位二进制数字,对吧?也就是你的数码管可以量任意的四位二进制数字,那好了,那如果我给你一个四位的二进制数字,你能不能够给我正确的量出来呢?所以呢,我们来呢,在这儿我们来给一个输入,比如说我们输入的叫做一个呃三到零的一个按键的值啊,我们用按键,比如说我们用这个开发板上,我们四个按键啊,看完四个按键啊来代表这个值,那么这样的话呢,你四个按键的值呢,你也不知道等于多少,所以呢,对大家来说呢,诶,你的数码管怎么亮你也不知道了,那怎么办呢?所以在这的话呢,我们就要啊,用这个功能性的语句把它给描述出来,比如说我们的叫做case key。
49:26
K-N是吧?好NK,也就是说呢,当这个按键是零,就是说四个都是零的时候,我们是不是要量零啊,那这样的话就是什么?就是我们的四字撇D0,然后的话呢,我们的S个啊,我们的SSE,它等于什么呢?因为你要量零对不对?亮零的话,零是多少呢?那零是多少呢?所以就是我们知道腰是不亮,小数点不亮,中间不亮,剩下全亮啊,这就是我们的一个量的是这个零啊,然后呢,四撇D1啊,如果是一的话呢,然后呢,它应该等于多少呢?它应该等于的是八撇B啊幺嘛,就只量这个后边两对对不对,1111,然后的话呢,001啊,写错了,应该是1001啊,这个就是亮的就是一啊,这个亮就是一啊,这个大家也可以知道是吧?小数点中间的左上左下下。
50:25
这个就是右下右上对吧,所以这两个右下右上点亮正好就是这个一对不对,那么剩下其他的呢,大家可以自己去写一下啊,大家可以自己去写一下,就是说自己可以琢磨一下啊,看看是多少就可以,那么在这的话呢,呃,就是说大家只要懂这个原理了,我还是愿意建议大家呢,就自己把这自己都写一下啊,当然了,呃,比如说你比较熟悉的是吧,我们也可以直接搜啊,供阳极数码管的这个呃,断码表啊,这个是可以你直接可以上网上是可以把它给搜出来的,然后搜出来以后呢,我们就直接就按着抄就完了,那按着抄就完了啊,这个也比较简单啊,这也比较简单。
51:10
嗯,这个呢是呃,我在网上找的一个啊,这个就是如果大家做单片机的话呢,可能就会知道有一个这样的啊,有个这样的值啊,就是说这些呢,就是一个正好是一个呃供阳极的一个码值,那么我把这个码值呢,我直接给复制到这个里边来,然后我就按着抄一下,注意0X其实就是16进制啊,其实这个就是C0嘛,这个就是八撇HC0嘛,C0看一下C0,这不就是C嘛,这不就是零嘛,这个是九,这个是F嘛,这是九嘛,所以就是F9嘛,所以再往下的话呢,呃,就是在这儿啊,我再往下写的时候呢,我就不再去给大家,呃展成什么呢?再展成这个二进制了,我就直接给大家写成16进制啊,这样的话呢,就跟上边保持一致,我就直接按着抄就完了,十十一十二十三十四十五啊。
52:10
注意就到15就没了啊啊,我们还要剩一个default好,那么应该是多少呢?应该是这个从这开始是吧,这个是不对的是吧,应该是八撇HA4啊,我就按照抄了啊八撇HA4啊,然后呢是八撇H是B0,注意啊在这个呃C当中用0X保持16进制啊在咱们这里边用这叫做这个呃,这个这个H列表16进制啊,这是B0,完事之后是九九是吧,九九。啊是八撇H99是九二。然后九二完事之后是八二。
53:01
是。好像是八零。然后是九零。然后是八八。然后是八三。然后是C6。然后是A1。诶,然后是8681怎么多了一个,是不是他写错了。01234567,哎呀,少写了一个八四第八我说怎么少了一个呢。
54:03
C-N它应该等于的是这个,呃F这。啊,应该是这样是吧,然后A1,然后A1完事之后呢,是这个。8686,然后八六完事之后是8E8E啊,然后最后一个呢,是这个这个default时我们就给FF进行全部亮好了,那么这样的话呢,就我就做完了,其实这个呢,也就是个case语句啊,其实对于大家来说,这个也没必要去仿真了,就是我们学到最后的时候,我们学着学着你就发现很多东西我们就不仿真了,因为比较简单对吧,比较复杂了,我们去仿真比较简单,我们就一看就知道了,就不用去仿真了啊,这个出错就是你这数错错了啊,就是你写错数了啊,这个呢,你去仿真,你也是给那个数据做对比对吧,你在这对比一下也是一样的,因为咱们已经知道这个是OK的了,好了,那么下边的话呢,我们来进行一个综合分析。
55:13
啊,这是咱们VR版本,那么这样的话呢,我一会呢,等他最终综合分析完事以后呢,干什么呢?我去分配一下这个四个按键,然后呢,我们用这四个按键干什么呢?用这四个按键啊来代表输入的这四位二进制,然后呢,我就按键按下,比如说我这个摁的时候,让它按成四个零,就显示是零啊按成四个几,这就是显示的四个几啊这个忘记改成RG类型了啊,不是它,应该是它。
56:12
好,那么下面的话呢,我们来呢,给它分配个管角。啊,那么在这个关系当中的话呢,我们就是剩了这个K0K3210是吧,我们的开发板上呢,呃,按键应该是比较多的是吧,我们按开发板上有七个按键啊六到零嘛,我们直接用这个三到零就可以了,好吧。那这样的话呢,我们来这个三啊三是K15,然后二二是E15,然后呢一啊一是E6啊,零零是M16,好OK呃,这样的话呢,我们来直接file close,然后呢,我们给它去做一个呃,生成下载文件啊,然后下边的话呢,我们来做一个这个叫做呃下版啊让大家来看一下啊,大家来看一下啊,它的这个效果啊,就是说我就按这四个按键,这个这个这个这四个按键啊来呃看一看这个数码管啊,它到底亮的是什么啊。
57:16
便宜完了是吧,按照我们来下载一下。好,那么下载完事以后呢,这个数码板量多少呢?他练的是这个F啊,他练的是F。嗯。啊,它亮的是F啊,亮的是F,那好了,那么为什么亮F呢?因为我们说了是吧,就是说我这按键给你的身份值,你就会亮什么值,那好,那我现在给多少呢?其实我一个按键都没摁对吧?我一个按键都没摁,那么没摁你为什么亮F呢?所以我现在来看一下我们的按键的电路是什么呢?这个大家之前可能都看过是吧,也就说按键如果不按的情况下,这不按的话,应该上拉是吧,应该是上拉就接到高建平了,所以呢,我四个按键都不按,那么四个按键呢,应该什么,应该是接到全部接四个上拉上了,那么接四个上拉上的话呢,就是四个幺四个幺就是十五十五就是F嘛,对不对,就是这样的,那好了,现在的话呢,我们来分别按一下,比如说呢,呃,这个呢,就是K0,它就是最低位,这这是这个这个呃第一位,这第二第三位,那好了,如果说呢,我把这个三一摁,就是三会变什么,三会变成零对吧?三变成零,基本上01103个幺应该是七对吧,我给按一下就是七对不对。
58:28
啊,这就是七好了,那么下边的话呢,如果说2N加零,那就是说101110应该多少呢?应该是八加三,应该十一十一是怎么表示,应该是B对吧。啊,就是B啊,那如果要按这个呢,就是11011101多少呢?啊1101多少1101就是这个八加四十二十二加一啊13啊13,呃,这个按键可能不好使了。嗯,我看一下这个按键应该是不好使,到时候我来换一个吧,这个按键可能是有点儿小问题啊,大家按一下这按键的话,应该是这个有反应,它应该变什么1101嘛,在1101啊,1101啊,呃,这个应该是没问题的啊,我看一下是不是什么地方写错了。
59:16
代码。嗯,我是不是把这个。13和14,嗯,十三十四没写成一样的啊,是分开的,可能就是这个,就是这个按键啊,可能是呃,不太好用了,那么这个大家到时候可以自己去做一下啊,应该是没问题的啊,K1的这个按键啊,K1的按键我这个可能不太好使了啊,不太好使了,那么呃,这个呢,就是我们的一个就是摁下这个啊,应该是E,因为是幺幺啊,1110啊110,那么啊,你要摁两个,比如说我要按这个和这个按两个,那就应该是三,因为是0011嘛,对不对啊,如果说我要按第一个和摁这个第三个和按第第一个是吧,那么这样一摁就是什么0110应该是六,对吧?啊,它应该是六啊,应该是六啊,那么你可以随便去摁啊,你可以随便去摁啊,你可以摁这个和这个呢,就是1010嘛,1010应该是A嘛。
60:18
对吧,它应该是A啊呃,这个它是这个这个这个按键不好使,到时候我去换一个新的按键就可以了啊这个这个有问题,这个应该是有问题了啊,或者管角分配的可能有错误啊,到时候我来晚点我来找下原因啊,应该是没错的啊,应该是没错,因为之前我们去做这个雨门的时候啊,我们做这个雨门的时候应该都是按照这个,呃,我记得是按照做雨门的时候,应该都是按照这个案件来进行分配的啊,应该是都没有问题啊,应该都没有问题,就是116M16啊好了,那么呃,下边的话呢,我们来呢,接着往后边来讲我们的这个呃设计啊接来讲我们设计好了,那么当我们知道呢,也就是说我们用这样的一种这个呃方法啊,用这样的一种方法,然后呢,我们去这个,呃,写我们的这个这个设计啊,学我们设计那好,也就是说呢,呃,我们只需要呢,在这个上面给出任意的值,它就翻译成段选啊就是。
61:18
说给你你是几,你给我翻译成断线,然后给我干什么,你给我这个叫做输入出来,那你给我输入出来,那么对于我们来说呢,就没有任何的这个这个问题就可以正常显示了,那么现在的话呢,是这样的啊,那我开发是什么,我开发板是有这个叫做六个数码管的,对吧?就咱们的开发板是有六个数码,第一个第二个,第三个,第四个是六个数码管的,那么这六个数码管按道理说的话呢,这个数码管什么有。八个灯这个说法有八个灯这个说法有都都是有八个灯,对不对,那好了,那么按道理说呢,它它有它应该有八个控制线,它有八个控制线,当然了,如果你要加上这个什么,加上这个,这个叫做这个电源,那个线看应该有九根线,对吧?但其实呢,他们做到什么,做了一个叫做六位一体的数码管,那如果是六位一体的数码管有什么作用呢?它怎么连接的呢?其实它是把这六个数码管的所有的,比如说就是这一对亮不亮,接到一起去了,就这一对亮,这一对就是这一对一亮,这一对其实也应该亮,都应该亮,但它为什么不亮呢?是因为没接电。
62:18
是因为没接电啊,也就是说呢,我们干什么呢?就是说所有的数码管啊,数码管啊,它呢是接到一起的啊,就是所有的断选是接到一起的,比如这一横和这一横,它的所有的控制线接到一起的,那为什么这个量这个没亮,是因为这个没给电。是因为这个没给电,那么如果说我们把这六个统一都给上电呢,统一都给上电的,那么这个数码管子将练什么,它将会练的都是一模一样的啊,这六个数跟链的都是一模一样,这为什么?因为它所有的呃都积电了,它所有的控制线接到一起的,比如这个线和这个线接到一起的,这个和这个接到一起的,就这六个是接到一起的,那么为了验证我们这思想呢,我们给大家呢,把这个再来去做一下,比如我们file另存为。
63:01
啊,我们再存到这个位置,我们再存到一个呃,V3上啊第三个版本好,我们在这改成V3。啊二三个是吧,A3然后呢,我们把这个呃三这个呢,设置成我们的叫做顶层啊top level好了,那么然后呢,我们在这的话呢,我们这个呢,我们这个就变成什么,变成了六位了,对吧?变成六位了啊变成六位了,那变成六位以后这个呢,就直接变么变成六撇D0,也就是我们把六个全给电啊把六个全给电好了,下面我们来进行呢综合分析一下。那么这个可能会报错啊,这个可能会报一个管角的错误,我们一会儿跟大家来说一下啊。
64:02
好,下面我们来这个分配个管角是吧。那么我们在这这个分配管角的时候,你就会发现啊,发现什么问题呢?发现这下边的话呢,呃,这个这个CELL0到五是都没有了,对吧?那么我们在这分配一下,因为这个分配完了也是白分配,但是呢,我们我还是给大家呢演示一下啊。在这儿,我们在这儿呢,把315找一下,下边是吧。415在这。是。然后呢,是B4。三是A3。然后二是。B3,然后是A2,然后是B1,好,完事了,完事以后呢,我们来再close一下,然后呢,我们来去做一个。
65:00
生成啊,下载文件啊,这个可能配置的时候啊,就是适配器的时候,他可能就会报错,因为我们在最早的时候好像做过一件事啊,他没报错是吧,没没报错我们就不管他了,那正好。没报错,我们求之不得,好吧,那我们下边下摆一下。好,那么我们下完板之后,大家可以看一下啊,就是说这六个数码管亮的是一模一样的啊,亮的是一模,比如我们按个按键,比如按个它啊,它会全部都是这个,我一按下就是六个七啊,我再放手啊,就是全是这个,应该是这个B啊,这个按键不好使啊,这个就是一摁就全是E啊,这不是三啊,这是E啊嗯,所以说的话呢,呃,大家的话呢,就是说啊,它的所有的啊控制线呢,它们是什么是接到一起的啊,我们可以控制它哪个给电,哪个不给电,就是现在的话呢,我说什么,我是六个全给电对吧,现在的话我也可以做一件事儿,比如说呢,我六撇B,然后呢,我是010101,这样的话呢,我就隔一个给个电,隔一个给个电,隔一个给个电,也就是说呢,呃,我只是干什么,我只是说把最后这个没给电,这个给了,这个没给,这个给了,这个没给,这个给了,也就是隔一个亮一个,我们来看一下啊,它应该还是一起同时变化的啊,我们再来综合分析一。
66:34
啊,我这个好像没有报错啊,拐角没有报错,没有报错我就不讲了啊,就是大家如果去做,如果报错的话怎么办?大家可以新建工程重新做一遍啊,重新做一遍。
67:05
好,那么这样的话呢,我们来去。下个板啊,我们这有是吧,下个。好,那么我们下完版之后,大家就看到什么,就只有这个量,这个量这个量这三个都不亮了,毕竟这三个量还是一样的啊,这三个量是一样的啊,就刚才我们这是六个量一样,这三个量一样的,所以这个数码管怎么做呢?这个数码管它就有一个作用,什么作用就是说你把哪个数码管通电,哪个数码管就能亮,亮的是几呢?啊,亮的就是说他们会有什么统一的控制线过来,比如亮三都亮三,亮八都亮八,就是只要你给电的亮三都是亮三啊,只要你给电的亮八都亮的都是八,它不会出现不一样的数字,都是一样的,除非你不让它亮,这是可以做到的,你说你不让它亮啊,那么它就不亮了,因为它没电嘛,其实他也想亮F来着,但是它亮不了,为什么?因为它没电呢?因为没给电嘛,对不对,所以在这的话呢,就是这样的啊这样的,那好了,那么我们下边来去往下讲一个它的一个原理啊,什么原理呢,就是说大家来想一个问题啊,你说这个造数码管这个人啊,他除非就是为了什么呢?为了要这种特效,比如说三啊六个全三啊八六个全八啊九六个全九,他为了他除非就是要为了要这种特效,一模一样。
68:25
要不然呢,我觉得他都没必要这么设计对吧,因为你把六个数码子就要干什么。它的所有的叫做控制线,就是都接到一起去了,那你这样的话呢,亮了要亮都一样,对吧,不亮都不亮要亮都一样,那感觉你跟一个没什么区别对吧?那么其实在这儿的话呢,我们可以通过一些呃,这个叫做呃方法,然后呢,把它呢亮成不一样的,比如说怎么可能亮成不一样的呢?你量成不一样,这是不可能的,为什么?因为他们所有的控制线是不是接到一起去了,比如你量三,你给三,你只要通电,除非你要六个全量,那就是六个都通电,六个都通电的情况下怎么办呢?六个都通电的话,你给这个信号的话,你给三都是三,给五都是五,那你怎么可能亮出不一样呢,还六个全量呢?那么下边我们就来讲一讲,这个我们是怎么来实现的啊,这个我们是怎么来实现的,那么像这种方式,什么叫动态驱动,叫动态扫描,那么下边我们一起来去分析一种情况啊,我们一起来分析一种情况。
69:24
那么嗯什么呢?嗯,我们来这画一下啊,假如说是这样的啊,假如这样,这不是有六个数码管吗。这六个数码的话呢。少一个是吧,接一个这六个数码管的话呢,每一个数码管是不是都可以量任意的四位二进制数字啊,那好了,那么如果说我要让这六个数码管都是量不同的数字,都是并且还是都是自己随意可选的情况下,那我是不是就可以量任意的四六二十四位数字了,那如果你给我一个24位数字的话,那么对应第一个数码量什么,我就让它量23到20呗,这个就是量19到第16呗,这个就是15到12呗,这个就是11到八,这个就是七到四,这个就是三到零,对不对,也就说呢,你只要只要给我24位数字,我都可以把它分成六组,然后把这六组呢分别显示上去,因为你刚才讲不是说,呃,我们这个它的接到一起了,要量都肯定都是同时亮是吧,要亮同时亮,要不然不亮就就不亮,那么如果说你要让六个同时点亮,它亮值肯定是一样,怎么可能亮出来六个不一样的数,还是随意随意的对吧,那那。
70:38
更更不可能对吧,好,下面我们来讲一下他怎么怎怎怎么搞好吧。怎么做呢?其实很简单啊,他这么来做,首先呢,我们我们是不是可以去控制这六个数码,管哪个亮,哪个不亮,这个是我们可以控制的,对吧,也说干什么呢,我们可以用这个C-N这个信号,比如说C-N呢,我们可以选择第一个量,剩下五个都不亮。
71:02
然后呢,这是没问题的,然后呢,我再选择CNN呢,我再选择第二个量,其他五个都不量,这是可以做得到的,对不对啊,我们用一个计数器写一下它多长时间切换一次,多长时间切换一次,多长时切换一次,对不对?好了,那么下面来举个例子说,假如说当cell-N点亮第一个数码管的时候,我让它亮几呢?我让它亮一,就是我给他的断选信号就是亮一,然后呢,我让它切换到第二个数码管,亮什么呢?我把这个断线切换成二,可不可以,这没问题对吧?然后呢,我再这量第三个就是量三,然后这辆四,这辆五,这辆六,然后再切换到第一个时候,我还让他给一,那这样的话就会看到什么呢?大家就会看到一个像这个流水灯一样的一个效果,对不对,就是说呢,第一个量一然后熄灭了,然后第二个量二然后熄灭了,第三个量三熄灭了,第四个量四啊,第五个量五,第六个量六然后熄灭了,但是大家想如果说我把这个切换的频率给加快了呢。切换的频率给加快了呢,加快了之后会有什么,那流动变快了呗,那他最终如果再加快能能发生什么呢?其实就是全量,那么如果我们不去考虑这六个,我们只考虑一个,大家想一想,比如说我只考虑第一个。
72:12
对于这第一个来说,假如说我认为啊,假如我认为认为什么呢?认为每一个数码管点亮的时间是德尔塔T啊,每一个数码管点亮的时间是德尔塔T,那好了,那如果我只看第一个数码管点亮的话,它是不是说一圈是六倍的德尔塔T,它点亮时间多少,它点亮的时间是不是德尔塔T啊,而第二数码管子其实一圈也是六德尔塔T,然后它点亮时间呢,也是德尔塔T好了,那也就是说,只要德尔塔T的时间足够短,只要德尔塔T的时间足够短,那么我们。利用我们之前讲的视觉暂留的话,是不是1/6的占控比是点亮的,那么这样的话呢,这个灯是不是就会一直常亮,只不过它的亮度可能会相对来说低一些,但是它呢,也会敞亮,对不对,是不是也会敞亮啊好了,那么这就是我们今天啊要讲的这个设计啊,这是我们今天要讲的这个设计,就是说你给我一个24位的值,我可以让它一秒钟切换一次,让它点亮出来,但是呢,随着我的不断加快,它就会全亮,所以呢,现在的话呢,我给大家呢,把整个设计给大家来做一下,让大家能够来知道啊,让大家来指导一下好了,那么下边的话呢,我们来去呃,给大家写一个最终版的啊,最终版的。
73:32
我们就直接把这个吧,File另存为一下,在这我就不要V几V几了啊,我就直接呢干什么呢,我就直接写成这个驱动。啊,有写成这个七段的一个驱动了啊。好,那么下边的话呢,我们来把它改一下是吧。改成这样的好,那么呃,下边这个呢,其实这个可以不要了,嗯,但是下边这个翻译这个还是需要的,好,那么下边我们来改一下这个纸啊。
74:07
呃,这个的话呢,应该是我们的时钟,因为我们和时间有关系的,对吧,和时间有关系的,那就必须要呃做这些啊,适中啊这个复位那好了,根据我们刚才所说的啊,它呢还要有一个输入,有一个24位的一个值是吧,24位的一个date啊,44位的一个date好了,那么在这儿我们首先来写一个premature,比如说就是一个灯啊,就是一个数码管亮的时间,其实我们应该亮多久呢?在这儿啊,我就是直接就是写成T就好了,那么我先给个多久呢?比如我先给个一秒钟,大家来看一下,就像这个流水灯一样啊,就是说第一个亮一,第二个亮二,第三亮三一直亮到最后啊,一直亮到最后,那么呃,然后呢,我再通过不断的加快,让大家能够看到呢,这六个呢,会达到全量的效果啊好,那么计数器呢,我也按照。
75:08
好一秒钟能放得下去,做这个我们之前一直常用了是吧,就26位。好,我们判断一下CT啊,是不是小于这个T减去一撇B1,然后CT等于CT加上一撇B1,然后else CT等于26撇D0啊好了,那么我们再往下呢,也就是说当我写了这个T是吧,也就是说当这个CT等于什么,当这CT它等于这个最大值就是CNT等于T减一的时候,也就是说呢,哎,它就会这个相当于就是一秒钟到了,对不对。
76:12
那疫苗到底怎么办?就是切换个管子办,那怎么管子怎么切换呢?切换管子这个我们其实已经知道了,就像我们当时做流水灯一样啊,做流水灯一样啊,我们的sev sel等于什么呢?它就等于六撇B011111,因为我们一是导通对不对,诶不是零是导通对吧。零是导通的话呢,那么对于我们来说干什么?也就是说呢,我们给零,它就选中这个管子,这个管子就导电了,那么我现在就选中一个管子,对不对啊,选中是一个管子,那好了,那么下边我就判断CT是不是等于T减去一撇B1,如果是的话呢,那么CL-N就等于什么,就是切换吧,换成下一个,但是你不能说一直把零往这边推,往右推推推推没了,对吧?那怎么办呢?这个之前我们讲过啊,叫做用位拼接实现的什么呢?一位啊,拼接实现的一位,这我们是讲过的啊,是五套1OK,那么如果说一秒钟不到呢,那么它呢就保持啊不变啊,它呢就保持不变啊好了,那么这样的话就干什么,就是每次点亮一个管啊,那么然后呢,注意这个是我们是每次点亮一个管啊,并没有全点亮,每次点亮一个,然后通过。
77:44
不断的移位啊,然后呢,让它逐渐切换啊,点亮第一个,等一会儿点亮第二个,然后点亮第三个,然后点亮第四个,一直点亮最后一个,哎,点亮最后一个,然后呢,点亮完最后一个之后,再切换回来啊,再切换回来,然后呢,再点亮到什么呢?再连点亮到我们的这个叫做呃,第一个是吧,就是一直这么循环,那好了,下面来想象一下啊,如果当我点亮的是第一个管子的时候,按照我们的设计是吧,点亮第一个管子的时候,我是不是应该什么,应该亮的是24位的高四位对吧?高四位,那好了,那么在这儿我们来看一下啊,那怎么做呢?我们在这写一个。
78:23
Reg,我们写一个三到零,就数码管呢,它会点亮三到零对不对?在这我们来写个show date啊数码管,一个数码管能点亮四位纸啊show it,然后呢,我们来写个always it星begin and,然后呢,我们在这K括号啊,我们再写一个它N的K啊,那么当它等于六撇B011111时,也就是说呢,当它选中最高位的时候,那选中最高位的时候怎么办呢?我们就让收date等于多少呢?它就等于我们的这个叫做输入进来的date的第23到D20啊,因为它呢是在最这个叫做这个呃左边啊,就是说它在最左边,那么最左边的话呢,它对应什么?它对应的数码管应该是高位啊高位好了,那么以此类推的话呢,我们就可以说直接呢。
79:23
就是根据它选择的不同的管子,我们选择出对应的四位出来啊,选择对应的四位出来,好那么在这我们来改一下,是23到20,下边应该是19到第十六十五到第十二十一到第八七到四,然后是三到零啊,最后一个啊default对吧,我们就直接给个四撇D0就可以了,好那么当我们做完这个之后呢,也就是说呢,我们根据它选择的不同的管子已经把什么。
80:23
已经把说哪个管子要显示哪四位已经选出来了,然后呢,我们选的这四位呢,是不是把这四位放到这儿,翻译成对应的断点信号是不是就可以了啊,其实就是这样啊,其实就是这样,那么这样的话呢,我们就能够啊去实现啊我们这个功能了,也就什么呢?也就是说当cell选择第一个管子,它点亮的就是什么,就是date的高四位的值啊高四位的值这个我们也讲过了是吧,你给个四位,四位是几它就会亮几,那么高四位是几呢?就是说选择不同的管子啊,它就是对应的四位取出来,然后给到给过去就可以了,那好了,下边的话呢,我们把它呢先做个仿真吧,因为这个呢,还是有一定的逻辑性的,对吧。
81:28
一那秒出现一皮秒好,那么下边我们做个绿化。
82:05
好,下面的话我们来写一个适中。复位啊数据数据的话是24位的对吧,然后是七到零的,呃,C-N然后呢,是这个六位是吧,应该是六个数码管对吧,就应该是五到零的cell杠好下面来写一下啊clock。复位date。
83:03
呃,C-N。和啊,直接过来是吧,C2-N。和这个四杆好OK,那么完事以后呢,我们要知道这里边呢有一个参数,因为我们是一秒钟切换一次,这个呢肯定不能仿真对吧,所以我们来修改参数啊,修改一下点T啊等于,比如等于五啊,就是五个周期千万个数码管,五个周期切万个数码管好了,下面来写时钟,呃,Repeat括号啊。五个啊,一个数码管点亮五个周期啊,我们总共有六个数码管,然后呢,我总共想看五轮了,Clock等于一撇B0,然后延时时,然后clock等于一撇B1,然后延时十,OK搞定,那么下边的话呢,写一个复位和数据好,那么复位的话呢,等于一撇B0,那么数据的话呢,因为它是四个一组,四个一组,所以四个四个一组的话呢,我们比较方便表示呢,就是说24撇H就是16进制来表示啊,123456。
84:28
啊123456,那这样的话呢,就是说呢,它的最高四位就是等于一次高四位等于二,再往下就是四,就是23456就可以了,好了,那么这个结束以后呢,我们来呢,延时啊,这个201,然后呢,这个复位啊,等于呢一撇B1好这就OK了,那么有人说这个date不变直嘛,注意啊,做咱们这个数码管的时候,Data大家最好不要变化啊,因为DATE1变,整个里边很多东西可能都就变了,就可能看不出来正确不正确了啊这样大家不要动啊,就直接就这样就可以。
85:03
啊,就是给他个值就可以啊,啊copy一下。那我们要先综合分析一下啊。就是说你设置完了之后,要综合分析一下啊,防止有错误。啊,果然是有错误是吧?
86:00
呃,CR-N啊,它应该有一个正确的数据类型是吧,就这应该是RG啊,刚才我写完这个之后就没编译啊,编译一下。好,那么编译通过以后呢,我们去做一个仿真。呃,报错了是吧,看一下啊。
87:01
呃。找不到啊,这个的drive的模块啊,我来看一下这个drive模块是不是没有设成顶层啊,对啊,这还是V3是吧,我还没有把这个设成顶层啊。没有把这个设置成顶层啊,就把它设置成顶层,因为仿真的话呢,它是这个顶层和TB啊。我们来重新啊,综合分析一下,然后把我们的字母关掉。啊,就像我们上一次做这个叫做这个,呃,这个叫做分频器一样啊,然后呢,怎么做呢,就是说你要仿真哪个,你要把哪个设置成顶层啊,仿真哪个把哪个设置顶,其实这句话并不对啊,那后边我们会告诉大家为什么不对啊,怎么来解决啊,这个呢,我们现在先认为啊,你要仿真哪个就把哪个先设置成顶层啊。
88:15
好,那么下面的话呢,我们来看一下。我们把名字缩减一下,然后呢,我们把date改成这个16进制啊,然后在这的话,我们来看一下是吧,你看啊,首先呢,在这儿来看,就是这个等于1101啊证明什么,这边选中了这个管子,然后亮了断选的是这个值啊,那么选中这个值,那么这个对不对呢?其实我们都不知道,那怎么办呢?我们可以呢,把这个设计当中的一个值找过来,比如说我们把show date找过来。啊,因为收值呢,是直接反映了这个数码管应该量级对不对。我们把改成这个16进制,我们放到这。
89:04
当你选中第二个数码管的时候,收对的就等于二,选中第三个数码是就等于三,选中第四个就是等于四,选中第五个等于五,选中第六个等于六,选中第一个就等于一,等于二,也是你选中对应数码管之后,它就对应的就是选择,就是它这个对应的哪四位就取出来了,那么取出来这四位以后,下边对应的段选信号对不对,对不对呢?其实这个呢,我们已经不用验证了,为什么呢?因为我们在最开始摁这个按键的时候呢,已经验证了,就是说当它等于几的时候,输出的结果都是对的对吧?好了,那么现在的话呢,我们就相当于呢,就把这个已经做完了,那已经做完了好了,那么下面的话呢,如果我们要去做下板的话呢,这个date其实需要干什么,其实得需要有一个人干什么,就是有一个模块。啊,需要data有需要有一个模块来给咱们提供这个值,那么现在的话呢,我们去下版的话呢,又没有人给咱提供,对吧?怎么办呢?在这儿啊,我就不要了啊,我先不要它了,那怎么办呢?我在这直接自己给个值,比如说呢,我在这写个呢where啊23到零的date啊date等于24撇H,比如给个123456啊我这样给,那这样的话,你一下版这个date呢,它会就会等于直接就会等于123456好了,那么按照我们现在的设计的话呢,按照我们现在这个设计的话呢,会怎么做呢?它就会啊呃,第一个数码网亮一,然后亮一秒钟,然后切换到第二个,再亮个二,再切到第三个啊亮3456,它就会这么来亮啊,它就会这么来量啊,因为呢,我们是每一个数码管量的,是这个一秒钟对吧,因为我们给的是。
90:46
50兆这个叫做时用周期啊,它就会亮这个一秒钟,那我们来这样来看一下啊,它会不会啊,亮一秒钟啊,我们来进行一个过效分配啊,应该都在。因为没有多别的啊C呃,这个K-N的零到三没有用到了啊对,还有时钟复位啊,差一点就不分配时钟复位就去下板去了啊,那么这个时钟的话呢,应该是这个。
91:14
E1复位是M15。啊,时钟的话是E1,复位的话是M15 OK。好,下面的话我们来进行一个生成配置文件。好,那么下边的话呢,来做一个这个下板。
92:02
大来看一下这个现象啊,它应该是第一个量一,然后第二个量二,第三个量三啊,量四量五量六啊,然后呢,再亮一,也就是说呢,因为我们什么,因为我们是一秒钟切换一次对吧,一秒钟切换一次啊,那么也就是说呢,这样的话就实现什么,就实现了我们所谓的这个功能,就是一秒钟量一啊,就是说六个数码管量的不同的数字啊,这是我们做到了,那如何,那如何让这六个全量呢?我们给大家说了是吧,就是说利用我们叫做什么叫做人眼的这个实时暂留效果啊,实时暂留这个这个这个信息啊,我们只要干什么啊,加快什么,加快它切换的频率就可以了啊,但是呃,从某种意义上来说,应该是越快越好啊,但是呢,呃,如果只是从这个理论上说是越快越好,但是呢,从实际上来说呢,呃,并不一定越快越好,为什么呢?因为在我们这个设计当中的话呢,呃,还有还有什么,还有一些电。
93:02
窦,比如说呢,还有一些这个三极管对不对,还有三极管,那么这个三极管是有什么三极管其实是它是有它自己的,什么叫做扶贫特性啊,这个三基管是有它自己的叫做扶贫特性的,那么什么叫扶贫呢?也就是说它的这个频率如果切换的过快了,它的输出呢,可能会紊乱啊,输出可能会紊乱啊,这个的话呢,我们也可以去诶尝试一下,因为我们代码呢,相对来说比较简单啊,比较小,我们可以尝试一下,比如说现在呢,是这个叫做一秒钟切换一次,我觉得大家都能看出来它在闪对不对,肯定不是全亮对吧?啊肯定不是全亮好了,那么下边的话呢,我来改个代码,比如说呢,你在这儿呢,让他一秒钟切换十次啊,就删一个零嘛,啊,保存一下,再生成个配置文件。这样就是一秒钟就会切换十次了,那一秒钟切换十次会看成会发生什么现象呢?其实这个的话呢,大家如果之前让大家做的这个什么呢,做了这个叫做流水灯也好啊,或者是让家做的闪光灯也好,就是说让大家去不断的去缩小时间,能看到个什么效果,就是就就是全亮啊,就是全亮啊,这个我也给大家今天来试一下。
94:36
嗯,编译完了之后,下个版我们来看一下。啊,从而能看到什么呢?从而能看到就是它就闪的速度变快了啊,闪的速度变快了啊,越来越加快啊,那好了,那就证明这个速度呢还是不够快,因为他呢还没有到全量对吧,我们再切一个零,就是一秒钟切100次。好,我再来去生成一个这个。
95:01
等会儿啊,这个是这个吧,把这个先关掉。啊,就是说再重新的这个编译一下啊,就是说将它一秒钟切换100次,我们来看一下啊,一秒钟切换100次,相当于一个数码管的是亮的是十毫秒,一个数码管亮十毫秒的话呢,就是说一个周期是60毫秒,我们来看一下,60毫秒的话,就是一个周期是六十六十毫秒,一个灯亮十毫秒,我们看一下人眼呢,还能不能反应过来呢?其实呢,呃,这个时候啊呃,其实按道理说应该是已经反应不过来,但是呢,如果我们认真去看的话,你会发现它当中可能会拖一个影子出来。啊,也是不是很舒服啊,也是看的话也比较累,也不是很舒服。啊,那么我们可以看一下啊,我不知道大家在摄像头下能不能看的清楚啊。
96:02
好啊,大家来看一下啊,呃,大家在摄像头里边好像已经看不到这个频闪了啊,就123456就看得比较清楚了,已经看不出来频闪了,但是呃,如果大家自己去做的话,你可能会发现这个还在闪,其实是还在闪啊,还在闪啊,那么呃,我们呢,想办法还是要把它这个加快啊,这个大家可能摄像头当中确实啊看不到它在闪啊,看确实看不到。啊,摄像头是捕捉不到它的这个变化频率的,那么呃,这样的话呢,我来呢,我就给大家说一下,就可以再加快一些啊,再加快一些,再加快一些呢,在你的真实你再来看的时候呢,它也就干什么,它也就不再去闪了啊注意一秒,这个一秒钟切换100次啊,大家可以自己去做,你自己一做你就会发现呢,真的能看到再闪啊,能看到再闪,虽然呢,呃已经能够清楚的看到六个全基本全亮了,然后呢,是123456啊这是没问题的啊,但是呢,你会看到什么,你会看到一个呃,非常不正常的效果,就是它一直在闪啊,摄像头捕捉不到啊,摄像头捕捉不到。
97:11
后边我们也会来给大家来讲,摄像头为什么捕捉不到这样的一些闪烁比较快的画面啊。好,下面我们再来下个班啊,这样这个的话呢,就是这个叫做呃,一秒切换什么呢,一秒钟现在就是切换了,这个叫做1000次。啊,这个的话呢,大家看着跟刚才好像是一样的,对吧,都是123啊,这个123456是吧,都是能看到的啊,能看到好了,那么如果说再加快呢,在这我就不带一个试了,比如说呢,我把它改成50啊,就是说我直接去去了三个零啊那么这样的话呢,呃,会发生什么呢?啊这样的话会发生什么呢?其实呢,那个三极管的浮民特性啊,就可能会出问题啊,出问题就是说该导通的不导通,不该导通的导通,那么就会出现什么呢?这个在摄像头下好像也不一定能看得很清楚啊,也不一定看得很清楚,大家到时候自己可以试一下,就是数码管呢,它的这个量的,呃,每一行啊,或者说它的这个几个亮度,比如两两个数码管的亮度本身应该是一样的,但是它的亮度可能会发生一些不一样的变化,或者说该量那一盒呢,它的这个亮度呢就会降低,而另外一横呢,亮度就比较稍微高一些,因为这个数码管呢,因为这个三极管它的这个这个。
98:36
什么它的这个频率达到一定上限以后,它的导通不导通啊,它的特性就开始改变了啊。我们来看一下啊,其实在这儿的话呢,大家从这儿呃又看到的好像是八一样,其实并不是啊,你认真去看,你会发现这一行啊,这一竖和这一竖,其实它这一竖有点亮了,上面这一竖呢,反而不亮,但是大家你要知道啊,它的正常值应该是一才对啊,它的正常值应该是一才对啊,所以呢,你切换过快以后就会出现这个问题啊,切换过快以后就会出现这个问题,就是三极管的很多特性它改变了好了,那么下边的话呢,在这儿我给大家说一下啊,呃,咱们的数码管啊,不要去切换过快,一般情况下数码管的话呢,就是呃,我做过啊,数码管无论你是有四个也好,还是有六个也好,还是有八个也好啊,大家最好做什么,就是一毫秒切换一次,就是一秒钟切换1000次啊,这种情况下的话呢,大家看中的数码管呢,就比较的什么了,就正常啊,就不会出现任何的一些错乱值,那么这个呢,是123456是吧,大家如果说愿意的话。
99:47
你可以自己去改,比如147ABC啊也可以啊,这都随意啊,147ABC也可以可以。呃,再次去下个板啊,这个也可以大家看一下啊。
100:01
也就是说你这改什么值都可以下板直接看到,注意这一定是H啊,这一定是H。好,那么下面的话来下个。啊,应该是147ABC是吧,把它关掉啊,然后呢啊,我把那个摄像头给关了,我再开一下啊。
101:00
好OK啊,这就是这个147啊,然后呢,应该是ABC啊就是这个呃,在摄像头下呢,确实看的不是很清楚,但是呢,大家如果说这个大家自己去做啊,大家自己去做,那么呃是没问题的啊,是没问题的就能够啊精确的看到啊你想要的几就是几,那么呃,这就是我们今天要讲的这个叫什么,就是说这个叫做啊这个数码管还是我们今天要讲的这个数码管的驱动,那么这个数码管的驱动的话呢,啊,这个数码管的驱动的话啊,一定要注意啊,数码管的驱动就是呃,我们再反过来啊,把这个呢给大家呢再来去呃总结一下啊,然后呢,呃,大家呢,来看一看有没有什么的一些问题啊,有没有什么一些问题。好了,那么呃,首先呢,我们来说一下是吧,呃对于数码管来说啊,这个数码管是什么呢?呃,我们之前呢,学了什么,我们之前只学了这个叫做灯泡啊,那么灯泡什么?灯泡是我们的一个输出设备啊,也就说我们用这个灯泡的亮和面呢,就是说能够去表示什么,呃表示一些这个这个这个叫做我们的一些,呃数字的状态啊,那么今天我们学了什么数字状态,就比如说我用四个灯泡,我想表示十这个四个比特数可不可以,当然了,比如说我用用亮灭亮灭亮灭是吧,亮灭亮灭那就是什么,那就是1010嘛,对不对,就非常简究可以表示出来了,那么呃,我们下边呢,随着这个不断发展的话呢,我们就就是说我们人呢,是熟悉的这个零到九的对不对啊,实际制数嘛,那么我能不能说,呃,这个在电子设备上啊,也显示出这样的零到九呢,所以呢,我们就把把零到九规规整整的。
102:52
写了一遍对吧?啊,规规整整的写了一遍,然后呢,就发现什么他们都是由这个这个类似于跟八似的这样一个,这样的一个,呃,这七段啊,然后呢,分别就可以抠出来,对吧?所以呢,我们干什么就造了七个灯,然后把七个灯呢封装成八的形式,然后呢,然后呢,这就是这七个灯嘛,然后有的时候我们会用上点,所以我们在这再放了个灯,就是八个灯,那么这八个灯呢。
103:17
我们干什么,这八个灯我们去做这个控制啊,这八个灯我们去做控制啊,那好了,这八个灯的话呢,我们把它的所有的阳极接到一起,接到电源上啊,这种方法叫什么呢?诶叫做供阳极,我们也可以把所有的阴极接到一起啊,称之为做供阴极,当然了,供阳极就是低电瓶点量,供阴极就是高电平点亮,那么。如果是这样的话呢,它一共有什么?一共有八对,对吧?那么这八对的话呢,哎,就分别对应的这八个控制线啊,八个控制线我们称之叫做IEG,那么小数点呢,是第七位,这是第六位,这是第五位,这是第四位,第三位,第二位第一位和第零位啊分别是这样的,好了,那么对应于这八位以后呢,我们如果是共阳的,那么我想量一应该是什么?我说共阴的我想量。
104:08
一应该是什么?这是正好是一个反值是吧?是个反值好了,那么我们接电源也好,或者接地也好,有的时候呢,我们就不会给你直接接上去,那怎么办呢?我会给个三极管加上,就是给你加了个开关,对不对,所以呢,还有什么,还有一个叫做未选信号,是不是叫做cell啊,是cell,那好了,这是一个数码管的驱动方式,那如果说呢,我要把这六个数码管都放到一起,因为有时候我要放什么呢?有的时候放六个数字对不对,因为我刚才怕讲不完,所以这一部分呢,可能讲的不是很清楚啊,这稍微补一下什么呢?如果说我要数码管呢,要放六个数码管的话呢,那应该有多少个IO呢?它应该有多就是公共端啊,它的公共端啊,它的公共端,它的公共端,公共端公共端就说我们所说的做,比如说就是这个叫做供阳级的好不好,那供阳极的话呢,哎,那供阳极的话呢,那么他们所有公共端什么是基因,而不是这个VCC对不对,我们把所有的VCC呢布集到一起,所有VC的都给个什么,都给个开关。
105:08
然后的话呢,接到这个这个VCC上,这个也接个开关,那么这个开关什么开关就三极管对不对,开关就三极管,然后的话呢,我们来呢,把什么,然后呢,我们再把这个数码管呢,它是不是得有八个控制线,它是不是也有八个,它是不是也有八个,你知道它是不是都有八个,那如果都是八个的情况下的话呢,那么就是六八会有48根的控制线,如果说这48个灯啊,这这就是说这六个数码管这每一个灯每个行都单独控制的话,那我们这个就可以直接接VCC了,就直接接上就行了,就不用去考虑这个,呃,这个到底供不供电了,因为呢,他们都可以单独控制么?像这种叫什么,如果这种驱动方式什么,就跟咱们驱动是一个是一样的,那么就说我们需要写六变驱动啊,写六变驱动啊,就比如说像什么呢?就比如说像我们这个设计。呃,像我们的应该是我们的啊,这个设计啊,就是说这个设计不就是把四位的啊,把四位的值啊去显示到一个数码管上吗?也就是说你把这个写六遍就可以了啊,就是六遍嘛,也分别七到零对应第一个,再写个七到零对应第二个,再写七到零对应三个,然后呢,KN呢,就是第一个四维,第二个思维,第三个思维,第四个思维就可以了,就是把这个代码写六遍就可以了,那么这种有什么不好的地方呢?就是说呢,它占用的管角比较多,因为你想就一个数码管非常简单,然后占多少管角,占用了48个管角,就电源还是直接接上的,对吧,占用48管角,那么这种呢就不太方便,那当然这种驱动叫什么叫静态驱动啊,叫静态驱动啊,那么静态驱动有什么好处呢?首先第一个电路比较简单啊,就直接往这一堆就就行了。
106:45
然后第二个是什么好处呢?就是它的驱动比较简单,就是咱们什么都不用考虑,直接就是说把给个四位翻译成八位断选,给个四位翻译成八位断选,然后就可以做出来了,就是说它比较简单,那么然后的话呢,那么对于我们来说的话呢,你比如说ipg的管角比较多,对吧,我们可以这个这个直接这个豪气一把,然后直接干什么呢?直接把这个叫做这个48根线都怼到IP机上也可以啊,也没问题,但是呢,如果你想单面呢。
107:12
我们一个普通单面机一共才多少管角,一共就才40个管角,也就是32个我们的IO,那么你的一个单面机还驱动不了这样的六个数码管了,对不对?所以那怎么办呢?所以呢,大家就想出一种方法,什么方法呢?就是啊,叫做动态驱动,什么动态驱动呢?就是说把这个供电端呢,别直接到PC上接个开关。啊,接个开关啊,都接个开关啊,然后的话呢,呃,把这个数码管的话呢,比如说这是啊这一段啊这一段就所有的相同的呢,它们不都是阳极已经接电了吗?就阳极接到开关接电了吗?那所有的阴极呢,我把这所有阴极接到一起。啊,都接到一起,那么都接到一起的话,就会出现什么,如果说六个都供电的话,那就是量一都量一,量二都量二,量级都量级,这就是他们的一个连到一起的效果,那么如果说除非你就为了要这种效果,你不要这种效果的话,那它没有意义,跟一个是一样的,那怎么怎么办呢?所以我们给大家呢,讲了一种方法,什么方法呢?就是说我先让第一个。
108:14
闭合,其他五个都断开,那这样的话呢,我让他亮一,那就是第一个数号我会亮一,其实第二数码也想亮一来着,但是没有电亮不了,然后呢,我把第一个数号再断开,然后咱第二个和尚,然后我给他亮二也可以,然后呢再亮三也可以,亮四也可以,但是这样的话就是说第一个数码量一,第二个数码量二,第三个数码量三,但是呢,他们都是分开的对吧?也就是说呢,你第一个亮完一之后,灭了第二个才能亮二,对不对,那好了,那这样的话呢,输码管是六个可以亮不同的数字了,但是呢,这速度太慢了对吧?也就是说我们记不住,或者我我想看到什么,我想看到是六个全量对吧?但是你这只能看到一个量对不对,所以那怎么办呢?所以我们就给大家用了,什么叫做人眼的视血在流,就是说如果说我可以快速切换呢,我快速的比如说我现在不是一个灯量疫苗了,一个双管疫苗了,我然是一个双卵管量一毫秒。
109:03
那么这样的话呢,我们就能得到什么呢?我们就能得到就是六个全量啊,六个全量啊六个全量,那么像这种驱动方式叫什么呢?叫动态驱动,那么动态驱动有什么好处呢?就是啊,它的用的IO比较少,怎么少呢?看一下六个数码管一共用了八个IO,加六个IO一共用了14个,那就像刚才呢,用了48个,所以这样的话呢,用了14个IO,那么14个IO呢,就会什么就会呃这个呃用的IO就会少很多,比如用单片机就可以实现了,因为单片机也是可以精确到一毫秒,这是没有问题的啊,这是没有问题的。好了,那么呃,动态系统有什么不好的地方呢?就是它比较复杂呗,啊比较复杂,那么我们这个数码管是静态的还是动态的,呃,有人说那是不是我们就买回来这八个,不是买回来这六个,然后插看我们怎么连电路了,注意不用了,就是说呃,因为如果说大家自己去网上去买这数码管的话呢,你买回来的直。
110:03
直接就是人家内部已经给你连好了,就是你买回来的数码管就是个动态的,就是你根本就静态驱动不了,因为人家都已经接到一起了,如果说你真的就要做个静态的48个人怎么办?也只能自己去,只能自己买单独的八个,然后自己回来画吧,画这48根线,我还没见过数码管的,六个数码管在一起的,然后呢,是静态驱动的,因为没有,因为内部人家就给你直接组成动态了啊,动态好了,那么呃,这个呢,就是我们的这一部分原理啊,希望大家一定要知道啊,一个数码管可以量任意的四位数字,就是零到九,再加上A到F啊A到F,如果我想让数码管亮12589,那怎么办?我只能给最高四位,给00001,这个呢给0010,这个呢给0101,这个呢给0101,这个呢给1000,这个呢给这个叫什么叫做1001,但是要注意啊,这个。
111:03
数啊,必须什么,就是你想让它量12555589,那么只能干什么,只能是四位给个数,四位给个数啊,因为什么?因为他们显示的时候是怎么显示的,他们显示的时候就是直接取四位显示的,直接取四位显示的,那么在这啊就要给大家后边这个还会讲到,今天先说一下,比如说我想让他亮个18,那我能不能直接给我们的。这个这个这个呃,这个值,比如我直接给个date,我给直接给个date,然后给date给多少呢?如果你要给date什么,如果你要给咱们的这个叫做这个date,如果你直接给一个什么呢?24撇D18,那么它亮出来不是18,如果你要给24撇H18,那就会亮幺是吧?那么有什么区别呢?在这我们来给大家来说一下啊,给家来说一下,就是如果是撇H18,它对应什么?它对应的是00011000,正好是四个一组,四个一组正好是幺八,如果是撇D18呢?那就是二,那就是什么?十进制的十八十进制的18是怎么写呢?是00010010,这是18啊,这是18,如果撇第18是这样了,所以呢,如果说你直接给撇第18的话,这量的是一和二啊,就变成一二了,而不是18了,因为四个一组正好16进制,对不对。
112:32
所以16进制的12就正好是十进制的18啊,或者我们不要,或者我们不应该说是16进的12,对吧?16进制当中不能说12,应该说16进制的幺二啊,16进制的幺二啊,所以一定要知道啊,一定要知道,那好了,那么这个呢,就是我们这个叫做呃,今天啊要讲的这个,呃,数码管的一个驱动啊,就是说呢,呃,这样的话,我们就开始么,就可以显示任意的24位数字了,那么。
113:02
我们去应用它的时候呢,直接干什么,直接把这一句话注释掉,把这一句话释放开,也就是说呢,它就可以输什么,输入24位数字了,然后呢,你给它啊四位是几,它就会显示几,当然了,我们是24位是拼到一起的,对吧?拼到一起的,注意你拼到一起到最后还是得分开啊,所以还是这四个A组,四个A组四个A组四个A组四个A组啊四个A组4A组下边这个断点信号啊,是我直接在网上抄的啊,就直接在网上抄的,那么这个我们验证过了是对的是吧。然后的话呢,大家这个的话最好也自己去呃写一下,比如说零到9A到F,它到底应该等于多少啊,自己也写一下啊,自己也写一下。好了,那么呃,这个是咱们的这个数码管的驱动,那么嗯,这个讲完之后呢,后边的话呢,我们可能会有一段时间可能会先用不到啊用不到,因为呢,我们现在只有什么,只有一个输出设备,对吧,那只有个输出设备那么。
114:06
我们现在先呃放一放啊,或者我们来先放一放,然后呢,我们干什么,然后我们来去讲这个,明天的话呢,去讲这个啊,明天休息是吧,下周周一啊,我们讲这个叫装态机,我们装载机讲一讲啊,装载机讲完之后呢,我们根据装态机的这个设计理论啊,设计方式,我们用什么,我们去实现一个自动收货机,我们去实现一个迅拟检测啊,也就说到这,我们这个在讲上就讲到状态机了,把状载机讲完以后,后边的话呢,这个其实我们讲也好,不讲也好,就是用这个装载机实验个数码管,到时候我们可以一起去讲它,然后讲到这儿的之后,我们后边啊,就开始去讲解关于这个,呃,其他的输出,比如封鸣器啊,还有按键,按键就输入了,然后讲完按键啊,讲完这个数码管,讲完当讲完透器后边我们做什么,就是做一些另外的一些复杂的设计了啊,就开始说做一些关于MATLAB联合去做呀,还有一些万年历啊,数字钟啊,呃这样。
115:06
的一些设计啊,这样的一些设计啊,呃,希望一定要跟上啊,然后呢,不断的去学习,有什么问题直接沟通就行啊好了,那么看有没有问题啊,没问题,今天就这样啊,因为剩点剩了几分钟是吧,我们也讲不完它了,我们也就不讲了啊,不讲了。没有问题是吧,OK啊,那就这个下周一再见好吧。
我来说两句