
51单片机C语言编程中,测试某个口的电平。为什么不先设置此口为输入口,再测量。 avr和arm需要设置好再用
一会用作输出口,一会用作输入口,为什么不先设置一下啊是编程软件自动给设置了吗比如下面的程序sbitA0=P2^3;A0=1;if(A0==0)//前面设置的是输出模式,为...
一会用作输出口,一会用作输入口,为什么不先设置一下啊 是编程软件自动给设置了吗
比如下面的程序
sbit A0=P2^3;
A0=1;
if(A0==0) //前面设置的是输出模式,为什么这里没有设置成输入模式,就检测呢 还是软件给设置了
{
..........
} 展开
比如下面的程序
sbit A0=P2^3;
A0=1;
if(A0==0) //前面设置的是输出模式,为什么这里没有设置成输入模式,就检测呢 还是软件给设置了
{
..........
} 展开
7个回答
展开全部
实际上,单片机的IO口是有设置IO工作模式的寄存器的(设置作用),但是单片机默认把IO设置为双向模式了,所以即可作为输出模式也可作为输入模式。你可以根据你的需求设置单片机的IO工作为某种模式。不过通常来说,默认的双向模式已经可以满足使用了。如果要设置IO的工作模式的话,请参照你单片机的手册相关说明。
展开全部
总线分时复用,不需设输入输出,所以工作效率比AVR低
你要知道详细原理就去参阅51单片机的I内部结构图吧,当你执行一条I/O读指令时单片机内部的动作机制是怎么样的,当你执行一条写I/O指令时单片机内部又是怎么工作的?这些东西现在的教科书上基本都不写了,归根到底还是晶体管和电阻电容搭起来的电路。
你要知道详细原理就去参阅51单片机的I内部结构图吧,当你执行一条I/O读指令时单片机内部的动作机制是怎么样的,当你执行一条写I/O指令时单片机内部又是怎么工作的?这些东西现在的教科书上基本都不写了,归根到底还是晶体管和电阻电容搭起来的电路。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
avr 和 arm 每个io口都有相关寄存器,因为他们是比较高级的芯片,而且管脚的功能通常不止输入输出,还会有中断,或者是芯片控制什么的,但是51比较低级,它的io口就只有输入输出功能,里面也没有那么大内存去存放相关寄存器,所以就不用设置了,但相对的它的功能就会比较单一。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
“I/O”口,输入输出口,不需要设置。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的代码sbit不是avr的风格吧,avr单片上的端口配置通过DDRX和PORTX寄存器控制,而且在GCC环境下;sbit是keil软件中用到的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单片机结构决定了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询