Ⅰ 51單片機怎麼初始化io口為低電平
51單片機io初始化方式如下,在主程序裡面main裡面直接初始化如下,單片機所有的io都是低電平。
int
main(void)
{
//
io初始化
p0
=
0x00;
p1
=
0x00;
p2
=
0x00;
p3
=
0x00;
//
while(1)
{
.......................
}
}
Ⅱ 單片機 IO口初始化
1、首先注意51單片機上電的時候會有個復位的操作,復位的時候不執行單片機內部程序,復位之後51單片機的所有io口都為高電平;
2、在單片機復位之後在main函數里執行程序,如果要使io口初始化為低電平,就要在while循環的上方把io置低;例如:
一般程序的結構是這樣的:
void
main()
{
....
io
=
0
;
//在while的上方對io置低,
......
while(1)
{
}
}
3、基於上面的原理,在設計單片機外圍電路的時候,為了不讓外圍電路誤動作,一般把外圍電路設置成單片機io口低電平的時候
盡心動作,
比如:
點亮led燈的時候,,一般把led的負極接io口,,這樣單片機上電的時候,沒有進入程序之前,led是不會亮的,
Ⅲ 51系列單片機定時/計數器初始化的四個步驟
1、設置寄存器TMOD
2、計算初始值
3、開放中斷
4、啟動定時器
Ⅳ 單片機復位初始化
80C51復位後SP的內容為07H,即堆棧指針指向07H,而80C51單片機的堆棧屬於向上生長型,也就是指在向堆棧壓入(PUSH)時,堆棧指針是增加的,並且是堆棧指針先加1然後才放入數據,故第一個入棧的單元地址是08H。
Ⅳ 為什麼在讀51,系列單片機的並行埠之前要先對埠初始化
保證讀入數據不出錯。
51系列單片機在並行口PO、Pl、P2或P3作輸入數據的埠時,先給此8位並行口送去全1,然後再讀這些並行埠,才能保證讀入的數據不會出錯。這是由於單片機在設計之初存在的一個缺陷。