单片机学习小组
直播中

韩凤英

7年用户 230经验值
私信 关注

数码管引脚的低电平不能拉低单片机引脚电平

我想用51单片机读4位7段数码管电位,然后反向还原成数据传给pc,P0.0~P0.7直接接数码管abcdefg引脚,  1.0~P1.3 直接接  A1 A2 A3 A4,数码管为扫描式共阳极,以下简述一下读数据操作
   1=oxff;
   delay();
  shu=P0;
  we=P1&0xf0;
  delay();
if(shu==P0&&we==P1&0xf0)
{反向译码,发送数据}
但我电脑每次收到的P0  p1口的数据都为15,而我用单片机的地接到数码管某个引脚上时,又能准确反映,(直接用5v和0v接单片机引脚实验也正确)比如a脚接地,那p0口数据为1111 1110,也就是说数码管引脚的低电平不能拉低单片机引脚电平。各位大侠能想想办法让我读出数码管数据吗?还有即使读出静态的一位的数据,比如说显示第一位数据9,数码管在一位一位快速闪烁显示着,在第一位数码管显示9期间电平能稳定拉低吗?还是有杂波的?还有单片机在它转向显示第二位数码管数据之前能读出来吗?一次可能不能读出所有数据位,有可能在读地位执行解码和传送时,就已经显示第二位了,那就要多读几次,这样延时多大会不会超过0.2s?

回帖(5)

孙灿

2019-7-4 14:15:02
头文件  #ifndef
举报

赵晓敏

2019-7-4 14:30:09
帮顶。。。。。
举报

陈霞玻

2019-7-4 14:37:07
你这应该要读的是控制数码管的7段的数据,那直接定义个变量,比如temp并赋值0x00,然后用temp与控制数码管口相或。这样就读到了数据
举报

吴思莹

2019-7-4 14:42:31
shu=P0,可以这样直接读的啊,我直接用5v  0v电压加到引脚上数据是对的,接数码管引脚就不对了
举报

更多回帖

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