AT89C52 为什么P1口不能把数据送给P0能?

2019-07-16 03:15发布


想用P1口采集AD信号,从P0口输出到数码管显示,程序里做了temp=P1,P0=temp,为什么P0口和P1口的IO点电平不一样呢,从颜 {MOD}上可以看出来啊,P0一直是高电平,数码管没有显示了啊
proteus.jpg
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
柳舞东城
1楼-- · 2019-07-16 05:08
不知道你用数码管显示从AD采集的8位二进制数有什么用 乱码吧!
柳舞东城
2楼-- · 2019-07-16 10:04
 精彩回答 2  元偷偷看……
jzhsh2007
3楼-- · 2019-07-16 13:27
柳舞东城 发表于 2012-12-9 09:56
如果temp=P1,P0=temp这两句是连续的 可能是编译器不能识别  再加个变量  或者说把temp转化十进制的数动态 ...

程序中做了将16进制转换成十进制的,动态显示,调试时强制P1口的某一位是可以赋值到P0的,可是用proteus仿真时确看不到P0的变化,用AD采集电位器上的电压,AD输出的8位同时也接到了8个发光二极管上,调节电位器时可以到发光二极管的变化,就是这个P0口不变
xiongjiek408
4楼-- · 2019-07-16 16:15
给P1赋个初值呢?
lovezjf234
5楼-- · 2019-07-16 21:07
电路图是不是有问题,现在看到的是冰山一角,显示的不全
岁月沉淀青春●
6楼-- · 2019-07-17 00:34
其实不需要将16进制转化成十进吧!应该能直接显示的。。。

一周热门 更多>