AT89C2051的P3.7问题 点击:1354 | 回复:6



yeohleo

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:19帖 | 7回
  • 年度积分:0
  • 历史总积分:60
  • 注册:2005年8月23日
发表于:2005-12-04 22:24:00
楼主
我把P3.3,P3.4,P3.5,P3.7接到共阴极的数码管的共地上,进行仿真,单步执行每当遇到clr  p3.7指令就停在那了,而p3.3-p3.5运行正常,能使数码管点亮,不知道为什么,后来我把clr  p3.7放到程序的其他地方,同样只要遇到clr  p3.7就停到那了,我查了一下资料,P3口中只有AT89C2051的P3.7没有复用功能,请教高人有谁能解决这个问题?



周公

  • 精华:10帖
  • 求助:0帖
  • 帖子:119帖 | 5549回
  • 年度积分:0
  • 历史总积分:6446
  • 注册:2002年11月26日
发表于:2005-12-04 23:47:00
1楼
首先提醒你注意:‘把P3.3,P3.4,P3.5,P3.7接到共阴极的数码管的共地上’是不妥的:这几个口的驱动能力 20mA ,带一个数码管最大每段只有 5 mA,注意不要超限(特别是位扫描方式)。不知道你用多大数码管?
‘遇到clr  p3.7就停到那了’和‘P3口中只有AT89C2051的P3.7没有复用功能’没有关系。会不会是你程序中点亮该位一定时间后没有加‘ set  p3.7’?
如果有改线路的机会,下面方案你可参考:用共阳极数码管、P1口作为段驱动;位驱动用上述 4 个口经过 9012 放大作为位驱动。

yeohleo

  • 精华:0帖
  • 求助:0帖
  • 帖子:19帖 | 7回
  • 年度积分:0
  • 历史总积分:60
  • 注册:2005年8月23日
发表于:2005-12-05 08:31:00
2楼
数码管可以换,但我没有用过9012放大器,9012是个三极管把,好不好接线

周公

  • 精华:10帖
  • 求助:0帖
  • 帖子:119帖 | 5549回
  • 年度积分:0
  • 历史总积分:6446
  • 注册:2002年11月26日
发表于:2005-12-05 09:08:00
3楼
9012是个 PNP 三极管,好接线

MU

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:56
  • 注册:2003年3月05日
发表于:2005-12-05 17:33:00
4楼
上面的是好方法

yeohleo

  • 精华:0帖
  • 求助:0帖
  • 帖子:19帖 | 7回
  • 年度积分:0
  • 历史总积分:60
  • 注册:2005年8月23日
发表于:2005-12-05 21:47:00
5楼
P3.7的电压降不下来,和放大器有关系吗?就是程序遇到clr  p3.7就停那了,用万用表测p3.7是高电压,

周公

  • 精华:10帖
  • 求助:0帖
  • 帖子:119帖 | 5549回
  • 年度积分:0
  • 历史总积分:6446
  • 注册:2002年11月26日
发表于:2005-12-05 23:23:00
6楼
贴图?

热门招聘
相关主题

官方公众号

智造工程师