本帖最后由 wulin 于 2021-12-16 13:51 编辑 海澜之佳 发表于 2021-12-16 09:09 如果PCB图与实物数码管管脚没错,数码管不亮的主要原因是P0口没有高电平输出能力,排阻阻值过大不足以驱动数码管。把RP1改为330~510欧排阻。另外楼主的程序与仿真图的端口定义不一致,并且程序内容也较杂乱,就算把数码管搞亮也达不到楼主预想的功能。 |
实际电路图有吗? |
背面加unl2803,配合修改led驅動部份程式 |
love_ourlife 发表于 2021-12-15 10:02 输出寄存器给值怎么给呀。我 还是个菜鸡 ![]() |
jhczy 发表于 2021-12-15 09:39 现在实物已经做出来了 还有挽救的办法吗 ![]() |
AUG 发表于 2021-12-14 17:47 还是不亮 ![]() |
DATOY 发表于 2021-12-15 08:46 可是我位选段没有接电阻耶 |
seg推挽 你给0xFF, com 你注意设置成开漏,如果你的MCU端口有这些功能的话。如果没有,在确保SEG 5V的情况下,镊子将COM对地,看看有没亮的。 如果是IO口不听指挥,先不要给对应的bit ,防止宏定义出问题。直接输出寄存器给值。 还有 不要把com接在IO上,除非你的数码管很小。用三极管控制COM也好,共阴用NPN就行。 |
硬件问题,共阴数码管的8(含点)段码位上加上驱动三极管或者驱动芯片,降低位扫描频率,可以让数码管发光,但会觉得亮度不足 |
可能是电阻大小的问题 |
海澜之佳 发表于 2021-12-14 17:38 程序简单化,新建一个工程,两行代码,P00置高,位选IO置低,试试 |
谢谢,测试过了 但是数码管没有坏,每个段都可以亮 |
munuc_w 发表于 2021-12-14 17:26 RP1选的是1K 的 排阻,但是其他功能都正常只是数码管不亮而已,所以单片机应该没有问题……吧 |
![]() |
这种共阴极电路,流过数码管的段电流由RP1控制,这个电阻值要选的合适。再者,各段电流全部灌入单片机,当各个段都亮时,单片机可能就光荣了。 |
wc86110 发表于 2021-12-14 17:16 R7 R8是复位上面的电阻 应该不会影响数码管吧 ![]() |
实物上可以去掉 R7,R8 阻值 1K ,否则即使程序没问题也会让你摸不着头脑 |
上拉电阻有没有问题哦 |
AUG 发表于 2021-12-14 16:33 给了0xff测试以后还是不亮的,通过代码把他的位选给低电平测出来还是高电平不知道是怎么回事。所以现在可能是驱动不够的问题是吗?因为当时做的时候忘记接三极管开关选通,导致现在这个问题 ![]() |
仿真能行的电路不代表实物是可以的,因为仿真里面对电流这个参数是没做处理的,只对电压做了处理。你实物的COM端直接接单片机,对单片机来说不一定驱动得了,最好是用三极管去驱动位选,这样驱动能力强很多,同时你要确认数码管选型是否正确,共阳共阴是否正确。 还有一点,你说是共阴的数码管,而位选IO口的电压是5V我不理解,5V共阴的数码管不就不亮吗,要亮不应该是0V吗? 你可以试试直接段选给个0XFF,位选拉低为0,你看一下能否有亮灯不就知道驱动够不够吗? |
顶一下 |
相关仿真、PCB放入RAR了,麻烦各位大佬帮忙分析一下问题 |
|