微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > AT89C52 为什么P1口不能把数据送给P0能?

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是不具备输出驱动能力的,需要上拉电阻

我也遇到类似的问题了,小编解决了没有?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top