如何將單片機(jī)的引腳配置為上拉輸入
1.什么是上拉電阻
在學(xué)習(xí)單片機(jī)的時(shí)候,我們經(jīng)常遇到一組名詞:上拉電阻和下拉電阻,通過(guò)學(xué)習(xí)我們知道上下拉電阻不僅能使當(dāng)前電平穩(wěn)定避免受到干擾,同時(shí)上拉電阻還能提高單片機(jī)的驅(qū)動(dòng)能力。
閱讀擴(kuò)展:什么是單片機(jī)的上拉電阻?點(diǎn)擊閱讀。
2. 上拉電阻的幾個(gè)典型應(yīng)用
在使用中,用到上拉電阻的場(chǎng)合有這么幾個(gè)典型:
按鍵輸入檢測(cè);
IIC通訊;
通常,我們都習(xí)慣這樣設(shè)計(jì)按鍵:按鍵按下時(shí)單片機(jī)檢測(cè)到低電平,按鍵松開(kāi)時(shí)檢測(cè)到高電平,這個(gè)高電平就是通過(guò)上拉電阻實(shí)現(xiàn)的:
IIC是一種通訊方式,只需要通過(guò)SCL和SDA即可實(shí)現(xiàn)數(shù)據(jù)的傳輸,在典型的IIC器件手冊(cè)上都會(huì)發(fā)現(xiàn)SCL和SDA引腳上,都會(huì)推薦接上拉電阻:
3. 如何配置為上拉輸入模式
如果在設(shè)計(jì)硬件電路的時(shí)候,忘記了設(shè)計(jì)上下拉電阻,該怎么辦呢?別著急,
32位的單片機(jī),其GPIO口基本上都配有內(nèi)部上下拉電阻,通過(guò)寄存器控制,可以將某個(gè)引腳設(shè)置為上下拉模式:
以STM32單片機(jī)為例。STM32單片機(jī)的每個(gè)GPIO口都可以獨(dú)立設(shè)置為上拉或者下拉輸入模式。
在將GPIO口設(shè)置為輸入模式后,只需要將對(duì)應(yīng)端口的PXODR設(shè)置為1即配置為上拉輸入,將PXODR設(shè)置為0即配置為下拉輸入。
如下是將STM32單片機(jī)的PA15設(shè)置為上拉輸入模式的程序: