www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]程序 :/*** 讀IO, 用按鈕控制點(diǎn)燈.*/#include #include // 10個(gè)LEDsbit P10 = P1^0;sbit P11 = P1^1;sbit P12 = P1^2;sbit P13 = P1^3;sbit P14 = P1^4;sbit P15 = P1^5;sbit P16 = P1^6;sbit P17 = P1^7;// 定義開關(guān)

程序 :

/**

* 讀IO, 用按鈕控制點(diǎn)燈.

*/

#include

#include

// 10個(gè)LED

sbit P10 = P1^0;

sbit P11 = P1^1;

sbit P12 = P1^2;

sbit P13 = P1^3;

sbit P14 = P1^4;

sbit P15 = P1^5;

sbit P16 = P1^6;

sbit P17 = P1^7;

// 定義開關(guān). 低電平有效.

sbit K1 = P3^2;

sbit K2 = P3^5;

void main( void )

{

while( 1 )

{

if( !K1 ) // K1按下, 點(diǎn)亮LED

{

P10 = 0;

}

if( !K2 ) // K2按下, 熄滅LED

{

P10 = 1;

}

}

}

總結(jié) :

1. 對于MCU來說, 所有的端口永遠(yuǎn)都提供高電平(低電平有效), 如果你想讓某個(gè)端口提供低電平, 必須手工設(shè)定(僅僅是猜測).

2. 上面的K1, K2在開發(fā)板上是以按鈕形式出現(xiàn), 按下就是提供低電平, 彈起就是提供高電平

對于第2點(diǎn),可以通過程序來考證 :

while( 1 )

{

// 當(dāng)K1被按下, 此時(shí)P3^2提供低電平, 彈起后P3^2依然是低電平.

if( !K1 )

{

P10 = 0;

P11 = 1;

}

else

{

P10 = 1;

P11 = 0;

}

}

仿真的時(shí)候, 很明白的看到是P11點(diǎn)亮, P10熄滅. 說明執(zhí)行的是else, 也就是K1一直處于電平狀態(tài).

當(dāng)按下K1之后, P10點(diǎn)亮 P11熄滅, 說明K1提供了低電平, 按鈕按下起了作用. 然后松手彈起K1, 看看到P10熄滅P11點(diǎn)亮. 說明K1又恢復(fù)了高電平.

由此可見按鈕是onPress時(shí)改變了管腳電平, onRelease的時(shí)候又恢復(fù)了.

作業(yè) :

把程序改為: 按K1,P10燈亮,P11燈滅。按K2,P10燈滅,P11燈亮。

/**

* 讀IO, 用按鈕控制點(diǎn)燈.

*/

#include

#include

// 10個(gè)LED

sbit P10 = P1^0;

sbit P11 = P1^1;

sbit P12 = P1^2;

sbit P13 = P1^3;

sbit P14 = P1^4;

sbit P15 = P1^5;

sbit P16 = P1^6;

sbit P17 = P1^7;

// 定義開關(guān)

sbit K1 = P3^2;

sbit K2 = P3^5;

void main( void )

{

while( 1 )

{

if( !K1 ) // K1按下, 點(diǎn)亮LED

{

P10 = 0;

P11 = 1;

}

if( !K2 ) // K2按下, 熄滅LED

{

P10 = 1;

P11 = 0;

}

}

}

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
關(guān)閉
關(guān)閉