AT89C52 为什么P1口不能把数据送给P0能?
时间:10-02
整理:3721RD
点击:
想用P1口采集AD信号,从P0口输出到数码管显示,程序里做了temp=P1,P0=temp,为什么P0口和P1口的IO点电平不一样呢,从颜色上可以看出来啊,P0一直是高电平,数码管没有显示了啊

不知道你用数码管显示从AD采集的8位二进制数有什么用 乱码吧!
如果temp=P1,P0=temp这两句是连续的 可能是编译器不能识别 再加个变量 或者说把temp转化十进制的数动态显示出来
程序中做了将16进制转换成十进制的,动态显示,调试时强制P1口的某一位是可以赋值到P0的,可是用proteus仿真时确看不到P0的变化,用AD采集电位器上的电压,AD输出的8位同时也接到了8个发光二极管上,调节电位器时可以到发光二极管的变化,就是这个P0口不变
给P1赋个初值呢?
电路图是不是有问题,现在看到的是冰山一角,显示的不全
其实不需要将16进制转化成十进吧!应该能直接显示的。
电路图不全怎么看,P0口加上拉没有
难道是仿真不准确的原因,P0加了上拉电阻,单纯写程序让数码管显示数字的时候是可以显示出来的
哥们,看看51的手册,P0是不具备输出驱动能力的,需要上拉电阻
我也遇到类似的问题了,小编解决了没有?
