单片机如何用c语言来设置I/O口,使I/O口进入到输入或输出模式?

 我来答
zhxiufan
2012-07-05 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38375
国家科技进步奖

向TA提问 私信TA
展开全部
单片机的IO口缺省时一般都是双向,既可以是输入又可以是输出,C语言中判断这个口是输入还是输出要看表达式的形式,比如:
sbit key=P1^0;
if(key==1).....这里是作为输入的,因为是读入,再判断值
key=1;这里是作为输出,因为直接给其赋值。
禾康智慧养老
2012-07-05 · 超过25用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:53.4万
展开全部
用c语言编程时,你肯定会包含该单片机的头文件定义吧,在头文件定义里面,有该单片机的每个端口的位定义,找到端口的定义,直接赋值(0或者1),就能达到相应的设置。
追问
有一问题不明白,比如我设置
sbit key0=P1^0;
key==1;(这个判断这拿P1^0的输出值作判断,还是拿它的外部输入值作判断?)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
春夏秋冬
2012-07-05 · 知道合伙人教育行家
春夏秋冬
知道合伙人教育行家
采纳数:490 获赞数:1419

向TA提问 私信TA
展开全部
51系列单片机四个I/O口已经定义了四个配套寄存器:P0,P1,P2,P3,直接使用即可。
他们都可以实现输入、输出,或读、写操作
追问
有一问题不明白,比如我设置
sbit key0=P1^0;
key==1;(这个判断这拿P1^0的输出值作判断,还是拿它的外部输入值作判断?)
追答
根据你这个写法,应该是根据P1^0的输出值作判断
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangfan2000
2012-07-05 · TA获得超过2549个赞
知道小有建树答主
回答量:586
采纳率:50%
帮助的人:562万
展开全部
如果是按字节操作,直接用大写的P0~P3就好,如果是按位操作,一般用SBIT指令先符号定义再操作。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
敖元洲w0
2020-03-22 · TA获得超过946个赞
知道小有建树答主
回答量:1311
采纳率:100%
帮助的人:5.5万
展开全部
通过寄存器,一般都有个PxDIR的寄存器的,设置为1就是输出,否则就是输入
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式