单片机/MCUwilliam hill官网
直播中

zb316457

11年用户 11经验值
擅长:测量仪表 模拟技术 EDA/IC设计
私信 关注
[问答]

单片机数码管程序

用4位数码管,先让第1位的a段点亮后,第2位的a段点亮,第2位点亮时候第一位的a也要亮起,直到第4位,也就是说第4位的a段亮起时,前面3位也是亮点的,第4位a段亮起后,又让第4位的B段亮起,C段亮,但此时前面三位数码管不亮B,C段(还是只保持前A段亮起),再亮D位,此时让第三位的D段亮起,第二位的D段亮,一直到第一位F亮,此时,又从第一位的A段熄灭,第二位的A熄灭,一直到第一位的F段灭,就这样循环下去
(也可以简单的说,让各个数码管的最外段依次点亮,又熄),请教高手们这个要怎么写[url=]收起[/url]

自己设计威廉希尔官方网站

回帖(11)

人中狼

2017-8-5 10:03:05
跟普通的数码管驱动程序一样,简单说你这个程序有点象把数码管当流水灯用,跟普通的数码管驱动程序的区别只是显示代码不同,一般显示代码是0-9的数字,你这里是点亮一个段的显示代码,处理好显示代码应该就可以了
举报

zb316457

2017-8-5 10:54:32
引用: 人中狼 发表于 2017-8-5 10:03
跟普通的数码管驱动程序一样,简单说你这个程序有点象把数码管当流水灯用,跟普通的数码管驱动程序的区别只是显示代码不同,一般显示代码是0-9的数字,你这里是点亮一个段的显示代码,处理好显示代码应该就可以了

你应该没认真读我的题目,如果是你说的那样也是简单,问题在第4位数码显示A段后,我要让第4位B段又亮起。但此时前面三位的B段不能亮,我每次在送亮B段的数据时,前面三位的B段也就跟着亮了。
举报

zb316457

2017-8-5 10:55:41
引用: zb316457 发表于 2017-8-5 10:54
你应该没认真读我的题目,如果是你说的那样也是简单,问题在第4位数码显示A段后,我要让第4位B段又亮起。但此时前面三位的B段不能亮,我每次在送亮B段的数据时,前面三位的B段也就跟着亮了。

在亮第4位的B段时前面三位的A段是不熄灭的
举报

一个人

2017-8-5 11:49:34
说那么多,给钱我就给你做好    1 0 0 2 9 2 5 0 9 4           
举报

zb316457

2017-8-5 12:44:33
引用: ST_Lover 发表于 2017-8-5 11:49
说那么多,给钱我就给你做好    1 0 0 2 9 2 5 0 9 4

下个月的今天给你钱

给钱没的问题,给钱的设计我想你还没那本事,设计一个复印真钱的程序来嘛,你有那本事没嘛,你有那收钱的的本事就不得在这儿乱叫
举报

武林

2017-8-6 06:33:49
引用: zb316457 发表于 2017-8-5 10:54
你应该没认真读我的题目,如果是你说的那样也是简单,问题在第4位数码显示A段后,我要让第4位B段又亮起。但此时前面三位的B段不能亮,我每次在送亮B段的数据时,前面三位的B段也就跟着亮了。

楼上人中狼回复是正确的,不是人中狼没有读懂你的题目,而是你没有读懂人中狼的回复。实现多位数码管显示不同笔段的方法都是采用动态驱动,每一瞬间只能显示某一位的若干笔段,只要刷新速度足够快,就能实现你要的效果。
举报

zb316457

2017-8-7 16:18:57
引用: wulinwl 发表于 2017-8-6 06:33
楼上人中狼回复是正确的,不是人中狼没有读懂你的题目,而是你没有读懂人中狼的回复。实现多位数码管显示不同笔段的方法都是采用动态驱动,每一瞬间只能显示某一位的若干笔段,只要刷新速度足够快,就能实现你要的效果。 ...

就算刷新的速度再快,你在改变第四位的段码时,前面三个也会一起改变的,我现在用的是一个PO口加两个573来控制段选和位选,反正我是试了N次了,不行,
举报

zb316457

2017-8-7 16:19:05
引用: wulinwl 发表于 2017-8-6 06:33
楼上人中狼回复是正确的,不是人中狼没有读懂你的题目,而是你没有读懂人中狼的回复。实现多位数码管显示不同笔段的方法都是采用动态驱动,每一瞬间只能显示某一位的若干笔段,只要刷新速度足够快,就能实现你要的效果。 ...

就算刷新的速度再快,你在改变第四位的段码时,前面三个也会一起改变的,我现在用的是一个PO口加两个573来控制段选和位选,反正我是试了N次了,不行,
举报

zb316457

2017-8-7 16:19:08
引用: wulinwl 发表于 2017-8-6 06:33
楼上人中狼回复是正确的,不是人中狼没有读懂你的题目,而是你没有读懂人中狼的回复。实现多位数码管显示不同笔段的方法都是采用动态驱动,每一瞬间只能显示某一位的若干笔段,只要刷新速度足够快,就能实现你要的效果。 ...

就算刷新的速度再快,你在改变第四位的段码时,前面三个也会一起改变的,我现在用的是一个PO口加两个573来控制段选和位选,反正我是试了N次了,不行,
举报

zb316457

2017-8-7 16:19:09
引用: wulinwl 发表于 2017-8-6 06:33
楼上人中狼回复是正确的,不是人中狼没有读懂你的题目,而是你没有读懂人中狼的回复。实现多位数码管显示不同笔段的方法都是采用动态驱动,每一瞬间只能显示某一位的若干笔段,只要刷新速度足够快,就能实现你要的效果。 ...

就算刷新的速度再快,你在改变第四位的段码时,前面三个也会一起改变的,我现在用的是一个PO口加两个573来控制段选和位选,反正我是试了N次了,不行,
举报

武林

2017-8-7 17:56:33
引用: zb316457 发表于 2017-8-7 16:18
就算刷新的速度再快,你在改变第四位的段码时,前面三个也会一起改变的,我现在用的是一个PO口加两个573来控制段选和位选,反正我是试了N次了,不行,

你还没有了解数码管动态显示的实质,如果你一定要实现你所描述的显示效果,那得采用静态显示方式,用4个573锁存4位段码,1个573锁存位码。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分