单片机IO口的问题

一个单片机IO端口有可能既是输入又是输出口么如果可以怎么用C语言实现?... 一个单片机IO端口有可能既是输入又是输出口么 如果可以怎么用C语言实现? 展开
 我来答
空雪梦见
2013-07-14 · TA获得超过5598个赞
知道大有可为答主
回答量:2522
采纳率:75%
帮助的人:1291万
展开全部
可以,但是不能同时。
作输出的原理很简单,你给它赋值0它就是0,你给它赋值1它就是1,端口上的电平随之改变
作输入的原理差不多,你给它1,这个时候按照输出来说它就是1,但是此时你可以通过电路把这个输出1的端口和地线(0电位)连接起来,此时它就变成了0,程序里去读它的值,能读出0。
百度网友c6746721f
2013-07-13 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:72
采纳率:100%
帮助的人:60.7万
展开全部
对于51单片机,输入输出口直接操作就可以

对于像PIC单片机或者AVR单片机等高级一点的单片机就需要设置输入输出的方向;
像avr单片机 DDRA(端口A)=0xF0;//高四位端口为输出,低四位端口为输入
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
redlover68
2013-07-13 · TA获得超过154个赞
知道小有建树答主
回答量:125
采纳率:0%
帮助的人:59.6万
展开全部
答案是肯定的,51单片机就是,你看说明书标I/O的 都是输入输出口,
实现很简单,还是比如51 P1^0=0; 输出0 P1^0=1; 输出1,int a; a=P1^0; 是0 是1就读出来了
追问
假如我把A口部分设为输出口 部分设为输入口   但我需要给其传递信号时  该如何传递  如果读取键值应该是十六位 但此时A口的输入口不足16位  我该如何赋予信号
追答
输出 A=A| 0x0f; 表示将A的低4位置一,A=A&0xf0;表示将 A的低四位置零,不足16位的话看你怎么接,将多余的与掉就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wgq930
2013-07-13 · TA获得超过2262个赞
知道大有可为答主
回答量:4926
采纳率:51%
帮助的人:1993万
展开全部
书上有例子啊
输出和检测
都可以实现.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hed8
2013-07-14
知道答主
回答量:27
采纳率:0%
帮助的人:13万
展开全部
51 P1^0=0; 输出0 P1^0=1; 输出1,int a; a=P1^0; 是0 是1就读出来了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式