PIC单片机william hill官网
直播中

左冷禅

8年用户 74经验值
擅长:嵌入式
私信 关注
[问答]

关于不用锁存器实现数码管的动态显示的程序

我是一个刚入门不久的菜鸡,买的还是一个单片机开发板。。。。。。教程里点亮动态的数码管的时候都是用到了锁存器,但是这个板子上没有锁存器啊,数码管是共阳极通过三极管来控制的。所以要怎么写程序,才能实现像锁存器一样能够保留上一次的数据呢?想请教各位大神 我要写一个从0000~1000的显示程序的话,应该怎么写呢?
  • 截图00.png

回帖(6)

曲终人散

2016-10-6 17:50:43
那就只能引脚电平不变了,而且还不能干别的
举报

左冷禅

2016-10-6 21:54:56
引用: @曲终人散@ 发表于 2016-10-6 17:50
那就只能引脚电平不变了,而且还不能干别的

大神我就是不太明白 ,他这四个数码管都是集合到一起了,一共12个引脚,4个片选8个段选啊,怎么才能利用单片机上P0口的8个接口同时控制多个数码管显示不同的数据呢?就是:每一个数码管点亮不就都需要p0来控制吗,比如p0输出0xff,那到底是4个数码管中哪个数码管显示对应的数据呢?
举报

1653508689.134400

2016-10-7 16:37:14
不是有4个片选 么,片选就是控制哪个数码管显示的,如果Q接的是VCC,LZ的数码管应该是共阳的(P2片选输出高电平,P1段选输出低电平数码管才会亮)。
当P2<0-3>全部输出高电平,P1也输出高电平时数码管不亮。
当P2=0xff(1111 1111),   P1=0x00(0000 0000)  四个数码管上全部亮
当P2=0xff(1111 0001),   P1=0x00(0000 0000)  第一个数码管上全部亮
当P2=0xff(1111 0010),   P1=0x00(0000 0000)  第二个数码管上全部亮
显示什么数字用P1口控制  0-9对应的编码为
0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6
0      1      2       3      4     5     6       7      8       9
举报

徐某

2018-7-15 08:48:33
建议用共阴极数码管,共阳数码管很少人用的
举报

星之守护star

2018-7-19 11:54:16
是的,一般共阴数码管好赋值,给1就亮,1可以移位等等操作,比较方便;另外你可以设想1个变量替代这个4位数字,相当于这个变量从0000-1000显示,你可以把变量通过数学运算分别赋值给4个位的数码管,采用动态扫描方式循环让数码管点亮。
举报

星之守护star

2018-7-19 11:56:19
单片机本身引脚不多,因此实际使用的时候经常用到锁存器,移位寄存器等等数字芯片,一方面拓展单片机本身的控制引脚,一方面也能加强负载驱动能力,数码管这一块在单片机是有独立的学习模块的,静态显示和动态显示都可以学一学,结合硬件威廉希尔官方网站 和软件程序,一般都能学会并掌握的,不要想得太难。
举报

更多回帖

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