找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机动态显示数码管可以用三极管8550来控制公共端吗

查看数: 2518 | 评论数: 15 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2024-1-13 16:23

正文摘要:

我想显示34,给我显示了99. 我觉得可能是三极管的频率不够,所以将低了频率,还是不行。 #include<reg52.h> typedef unsigned char u8; typedef unsigned int u16; sbit smg1=P2^5; sbit smg2=P2^4; ...

回复

ID:1034262 发表于 2024-1-15 19:04
当然可以,经常用
ID:427868 发表于 2024-1-15 17:07
       在切换两位数码管轮流显示时,并没有先关闭上一位,延时时间又太短,频繁切换显示就会每位3与4有重复显示,造成都是显示99,如果是实际电路会看到笔画明暗程度差别较大。
      修改一下,试试。
  1. while(1)
  2.         {
  3.                   P1=gsmg_code[3];
  4.                   smg1=0;
  5.                   delay_10us(5000);
  6.                   P1=0XFF;
  7.                   smg1=1;
  8.                   P1=gsmg_code[4];
  9.                   smg2=0;
  10.                   delay_10us(5000);
  11.                   P1=0XFF;
  12.                   smg2=1;
  13.         }
复制代码
ID:1091094 发表于 2024-1-15 16:25
lkc8210 发表于 2024-1-15 15:21
第27,32行的消影消了个

哈哈哈  我看了一下,确实是这样
普中的教程视频里面也是这样子消影的。
然后你标的语句的顺序其实是可以的,在物理成面来说,因为时间很快两条指令的时间,观感上面是不影响的

但是你的想法确实是对的。严谨。
ID:161164 发表于 2024-1-15 15:21
第27,32行的消影消了个寂
ID:1091094 发表于 2024-1-15 15:19
tyrl800 发表于 2024-1-15 11:02
PNP三极管C极接个下拉电阻就好了

真的 马上就OK了,不明觉厉。
大佬大佬
大佬 我想问问实物不加下拉电阻可以吗?
ID:213173 发表于 2024-1-15 15:13
3038838599 发表于 2024-1-15 10:02
不会把,为什么不能截止?
因为我让基极悬空,这肯定是截止了吧。
截止时很重要的功能呀,Proteus这个 ...

你把延时加一个0,delay_10us(50000);就能看明白了。10楼的建议很好。
ID:275826 发表于 2024-1-15 11:02
PNP三极管C极接个下拉电阻就好了
ID:1091094 发表于 2024-1-15 10:05
rayin 发表于 2024-1-14 13:15
可以用8550控制COM端, 只不过是高电平截止, 低电平导通.

这就是啊,三极管控制公共端啊,很明显,你看一下就知道。
ID:1091094 发表于 2024-1-15 10:02
wulin 发表于 2024-1-13 21:43
电路和代码都没有问题,是仿真用的三极管不能截止,导致两个数码管同时交替显示3和4,笔画叠加在一起 ...

不会把,为什么不能截止?
因为我让基极悬空,这肯定是截止了吧。
截止时很重要的功能呀,Proteus这个功能都不给吗?那么说现实中应该可以吧。频率应该够。我查了有十几Mhz。
ID:213173 发表于 2024-1-14 14:28
Hephaestus 发表于 2024-1-14 12:41
你的解释与他的硬件图纸中七段数码管的引脚电平状态不符。

你哪来的自信?如果会玩Proteus,按楼主的电路和代码验证一下就懂了。图中数码管明显有DP端。共阳段码“4”=0x99=10011001。怎么绝对不可能是4高4低!内置译码的数码管??想多了吧。
ID:517951 发表于 2024-1-14 13:15
可以用8550控制COM端, 只不过是高电平截止, 低电平导通.
ID:883242 发表于 2024-1-14 12:41
wulin 发表于 2024-1-13 21:43
电路和代码都没有问题,是仿真用的三极管不能截止,导致两个数码管同时交替显示3和4,笔画叠加在一起 ...

你的解释与他的硬件图纸中七段数码管的引脚电平状态不符。
ID:634587 发表于 2024-1-14 11:17
三极管的开关频率应该可以到Mhz以上吧,再不行也可以试试用MOS管。
ID:213173 发表于 2024-1-13 21:43



电路和代码都没有问题,是仿真用的三极管不能截止,导致两个数码管同时交替显示3和4,笔画叠加在一起就成99。可以用反相器代替三极管就可以正常显示。
ID:883242 发表于 2024-1-13 17:17
盲猜你的Proteus模型用错了。

电路上RN3两端电压,从P1.7~P1.0就是十六进制0x9,二进制1001 1001,你注意到没有?二进制8位里面有4位高,4位低。

而显示的7段码“9”有6个高2个低,或者逻辑相反有有2个高6个低,绝对不可能是4高4低!

那么问题的原因就显而易见了。

你用的不是一般的7段数码管,而是内置译码的数码管,把你给的0x9电平翻译成“9”显示出来了。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表