No.73665 作者:penghua001 邮件:penghua001@yahoo.com.cn ID:57294 登陆:4次 文章数:2篇 最后登陆IP:122.51.91.17 最后登陆:2009/8/7 12:31:34 注册:2006/7/23 21:06:00 财富:108 发帖时间:2009/8/7 2:40:13 发贴者IP:122.51.91.17 标题:penghua001:51单片机读端口的疑惑 摘要:No.7366551单片机读端口的疑惑 教科书上都写明,在读端口前,需要先向端口写1,然后再读. 但是,"为读端口而先写1",以及 "本来就是对该端口输出1",这两者如何区分呢? 我写了一个程序测试,结果真出问题了 void main() { unsigned char ch; p2=0x0f; // 这个是"本来就是对该端口的输出" p2=0xff; // 这个是"为读端口而先写1" ch=p2; // 读端口 p1=ch; // 写端口 while(1); } 这个程序本意是读取p2端口状态,然后写入到p1端口,但结果,连p2端口一起都改变了,p2变成了0xff. 这是为什么? ......
>>返回讨论的主题
|