我想用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?