大家好,今天小编关注到一个比较有意思的话题,就是关于如何用按键控制数码管亮灭的问题,于是小编就整理了3个相关介绍如何用按键控制数码管亮灭的解答,让我们一起看看吧。
太阳能控制器一个按钮怎么设置?
1、找到控制器上的设置按键,按住不放开等到数码管开始闪烁时再放开,一般需要3秒的时间,数码管闪烁代表进入了调节模式,就可以松开按键,进行调节。
2、接着按设置键,这时候不用长按,按下就松开,会看到数码管上的数字会随着按键次数进行变化,按一下就换一个数字,只要按到上面的数字与所需模式数字一致就可以。
数码管显示全亮并且该亮的竟然和不亮的一样亮按住按键才能显示?
看不清楚单片机是什么型号的,但看样子,肯定不是STC的。估计是AT89S51吗?
问题就在这,AT89S51是不能直接驱动数码管的,就是这个亮度。
不知你的数码管是共阳的还是共阴的。
再说,关键的问题,你这样接,那数码管肯定是不动态扫描的显示方式,就算是亮了,也显示不出四位数的。
仿真的时候好使,那只是显示一位数才行。仿真就不存在驱动问题,当然好使了,可这是实物,不是仿真。
建议你用STC单片机,P0口就可以直接驱动共阳数码管,但是要同时显示四位数,必须要采用动态扫描显示电路。
数码管为什么会闪烁?
原因很简单,这是代码和数码管驱动的问题 按键会影响数码管显示,这是单片机直接驱动数码管会出现的问题,而数码管则是工作在动态扫描方式的,若是采用带有锁存器件的数码管驱动,则不会出现此类现象,因为单片机是周期性的扫描工作方式,单片机直接驱动数码管的电路,当单片机扫描到按键的时候,数码管部分就停止了(一般的代码都这样,除非数码管是工作在静态扫描方式) 直接驱动数码管,按键的代码一般都会写一些延时,用来软件消除按键的抖动,若延时的时间太长,就会影响数码管的显示效果,另外有些还会增加等待按键松开的语句,这种语句一般都是一个死循环,除非按键被松开 解决办法是,减少按键消抖动延时的时间,在等待按键松开的死循环语句中调用数码管显示函数,这样基本上就可以解决此类问题
如果你的硬件已连接完善,那编程需:
1、动态扫描:在已个 t 时间内(可以是几个ms)选中 1 位数码管,以亮点该位数码管对应的码段,其他关断(不亮);而下一个 t 时间需点亮下一位数码管......以此类推,循环起来。这个 t 可以用定时器准确控制。当然,如果你只是为了实现单纯的3个数码管显示,可以不精确时间,循环起来就是了(只要保证耽搁的显示时间少于肉眼识别时间,就是看起来不会一闪一闪的就行);
2、显示内容:多数情况下,待显示的字符/数字先按数码定义编码,存放在表格中。按自己的编程需要,在显示的时候从表格中提取。当然,如果只是简单实验,显示的内容是固定的,也可以程序里用立即数。 多试一试吧。
到此,以上就是小编对于如何用按键控制数码管亮灭的问题就介绍到这了,希望介绍关于如何用按键控制数码管亮灭的3点解答对大家有用。