日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]硬件環(huán)境采用STM8SF103,電壓為3.3V。電路需要注意的是STM8SF103這系列的IO作為輸入口時(shí)只能是上拉輸入和懸浮輸入,雖然是弱上拉,在VCC為3.3V電壓時(shí),仍然能夠被拉升至3.0V左右。所以按鍵檢測(cè)電路IO口一端需要接地,

硬件環(huán)境采用STM8SF103,電壓為3.3V。

電路需要注意的是STM8SF103這系列的IO作為輸入口時(shí)只能是上拉輸入和懸浮輸入,雖然是弱上拉,在VCC為3.3V電壓時(shí),仍然能夠被拉升至3.0V左右。

所以按鍵檢測(cè)電路IO口一端需要接地,而不是外接上拉。懸浮方式下IO仍然會(huì)有0.89V左右電壓,讀取對(duì)應(yīng)的IO寄存器IDR,仍然處于邏輯高電平狀態(tài)。

軟件代碼相對(duì)很簡(jiǎn)單,只需要將IO口設(shè)置成上拉輸入即可。采用輪詢代碼如下:


//初始化只需要設(shè)置IO口模式即可。

GPIO_Init(KEY2_PORT,KEY2_PIN,GPIO_MODE_IN_PU_NO_IT);//上拉輸入,不產(chǎn)生中斷

//按鍵檢測(cè)部分

/*

#defineKEY10

#defineKEY1_PORT(GPIOD)

#defineKEY1_PIN(GPIO_PIN_4)

#defineKEY21

#defineKEY2_PORT(GPIOC)

#defineKEY2_PIN(GPIO_PIN_1)

*/

u8CheckKey(u8key)

{

if(key==KEY1)

{

if(KEY1_PORT->IDR&KEY1_PIN)//檢測(cè)到有按鍵了,IO口電壓會(huì)被拉低

{

delay_5ms();

if(KEY1_PORT->IDR&KEY1_PIN)//仍然存在低電平

{

while(!(KEY1_PORT->IDR&KEY1_PIN));//等待放開

returnKEY1;

}

}

return0;

}elseif(key==KEY2)

{

if(!(KEY2_PORT->IDR&KEY2_PIN))//檢測(cè)到有按鍵了

{

delay_5ms();

if(!(KEY2_PORT->IDR&KEY2_PIN))//仍然存在低電平

{

while(KEY2_PORT->IDR&KEY2_PIN);//等待放開

returnKEY2;

}

}

return0;

}

return0;

}



總結(jié):

硬件電路將按鍵IO口的一端接地。

軟件配置不能使用懸浮輸入方式,這種方式電壓可能會(huì)不穩(wěn)定。


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