3个回答
展开全部
1、首先注意51单片机上电的时候会有个复位的操作,复位的时候不执行单片机内部程序,复位之后51单片机的所有io口都为高电平;
2、在单片机复位之后在main函数里执行程序,如果要使io口初始化为低电平,就要在while循环的上方把io置低;例如:
一般程序的结构是这样的:
void
main()
{
....
io
=
0
;
//在while的上方对io置低,
......
while(1)
{
}
}
3、基于上面的原理,在设计单片机外围电路的时候,为了不让外围电路误动作,一般把外围电路设置成单片机io口低电平的时候
尽心动作,
比如:
点亮led灯的时候,,一般把led的负极接io口,,这样单片机上电的时候,没有进入程序之前,led是不会亮的,
2、在单片机复位之后在main函数里执行程序,如果要使io口初始化为低电平,就要在while循环的上方把io置低;例如:
一般程序的结构是这样的:
void
main()
{
....
io
=
0
;
//在while的上方对io置低,
......
while(1)
{
}
}
3、基于上面的原理,在设计单片机外围电路的时候,为了不让外围电路误动作,一般把外围电路设置成单片机io口低电平的时候
尽心动作,
比如:
点亮led灯的时候,,一般把led的负极接io口,,这样单片机上电的时候,没有进入程序之前,led是不会亮的,
展开全部
如果只是简单的作为输入输出,相应位定义成1或0就可以。如果是uart等功能,用户是不需要自己初始化的,相应的寄存器就会自动初始化,但是这些功能通常都对应着相应的口,自己最好不要再去另外使用这些口
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有准确的答案,具体情况具体分析,要根据你程序的功能和所使的寄存器来看
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询