日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

利用一條IO口實(shí)現(xiàn)兩個(gè)按鍵功能的實(shí)現(xiàn)

出處:lmy050272 發(fā)布于:2011-08-25 11:22:51

 

  一條IO實(shí)現(xiàn)兩個(gè)按鍵,聽(tīng)上去確實(shí)挺新奇,既然別人能夠?qū)崿F(xiàn),我想我也應(yīng)該可以做到,看來(lái)得找找實(shí)現(xiàn)的方法。我有一個(gè)習(xí)慣,遇到某些問(wèn)題的時(shí)候,會(huì)在睡覺(jué)前想解決方法,想著想著就會(huì)睡著了,問(wèn)題的答案有沒(méi)有找到則不一定。

  我知道有用一條IO實(shí)現(xiàn)多個(gè)按鍵的方法,這樣的方法大多是選用的IO支持ADC功能,用電阻分壓后通過(guò)讀電壓判斷鍵值。如果IO不支持ADC功能,也不是不行,可以用電容充放電的方法實(shí)現(xiàn)ADC,從而用普通IO間接進(jìn)行測(cè)量。(參見(jiàn)我之前關(guān)于鍵盤掃描的文章)

  ADC,即移動(dòng)ADC,是Application data center的縮寫,其實(shí)是ASP模式與IDC業(yè)務(wù)的結(jié)合的演變,是由中國(guó)移動(dòng)推出的一項(xiàng)移動(dòng)信息化產(chǎn)品業(yè)務(wù),主要針對(duì)中小企業(yè),屬于移動(dòng)信息化的行業(yè)應(yīng)用,業(yè)務(wù)主要包括有移動(dòng)OA、手機(jī)郵箱、無(wú)線網(wǎng)站以及移動(dòng)進(jìn)銷存等四款行業(yè)應(yīng)用托管解決方案。真實(shí)世界的模擬信號(hào),例如溫度、壓力、聲音或者圖像等,需要轉(zhuǎn)換成更容易儲(chǔ)存、處理和發(fā)射的數(shù)字形式。模/數(shù)轉(zhuǎn)換器可以實(shí)現(xiàn)這個(gè)功能,在各種不同的產(chǎn)品中都可以找到它的身影。

  這樣用一條IO實(shí)現(xiàn)兩個(gè)按鍵給我的感覺(jué)是可能需要利用到電容充放電原理,于是在半夢(mèng)半醒之中找到了實(shí)現(xiàn)的方法。

  

  MCU(Micro Control Unit)中文名稱為微控制單元,又稱單片微型計(jì)算機(jī)(Single Chip Microcomputer)或者單片機(jī),是指隨著大規(guī)模集成電路的出現(xiàn)及其發(fā)展,將計(jì)算機(jī)的CPU、RAM、ROM、定時(shí)計(jì)數(shù)器和多種I/O接口集成在一片芯片上,形成芯片級(jí)的計(jì)算機(jī),為不同的應(yīng)用場(chǎng)合做不同組合控制。微控制器在經(jīng)過(guò)這幾年不斷地研究,發(fā)展,歷經(jīng)4位,8位,到現(xiàn)在的16位及32位,甚至64位。產(chǎn)品的成熟度,以及投入廠商之多,應(yīng)用范圍之廣,真可謂之空前。目前在國(guó)外大廠因開發(fā)較早,產(chǎn)品線廣,所以技術(shù),而本土廠商則以多功能為產(chǎn)品導(dǎo)向取勝。但不可諱言的,本土廠商的價(jià)格戰(zhàn)是對(duì)外商造成威脅的關(guān)鍵因素。

  先看上圖左邊部分,如果MCU_IO1為雙向IO口,假設(shè)單片機(jī)程序按以下流程處理,看看會(huì)得到什么樣的結(jié)果?

  1.MCU_IO1設(shè)定為輸出,輸出高電平一段時(shí)間,此時(shí)電容C1會(huì)充電,C1上的電壓接近電源電壓。

  2.MCU_IO1設(shè)定為輸入,如果J1、J2均不按下,此時(shí)MCU_IO1可以理解成一個(gè)阻值很大的電阻接地,電容C1上的電荷會(huì)通過(guò)這個(gè)電阻逐漸釋放掉,這樣C1上的電壓會(huì)逐漸降低到零。因?yàn)镃1上的電壓下降需要一個(gè)過(guò)程,當(dāng)MCU_IO1設(shè)為輸入后馬上讀一下MCU_IO1的狀態(tài),此時(shí)會(huì)讀到什么結(jié)果?顯然是高電平狀態(tài)1。

  3.再將MCU_IO1設(shè)定為輸出,輸出低電平一段時(shí)間,顯然不管電容C1處于什么狀態(tài),只要MCU_IO1輸出低電平時(shí)間足夠長(zhǎng),C1上的電壓應(yīng)該接近零。

  4.再將MCU_IO1設(shè)定為輸入,如果J1、J2同樣不按下,MCU_IO1讀到的是低電平狀態(tài)0。

  如果J1按下,再來(lái)看看這四步,此時(shí)電容C1已經(jīng)被強(qiáng)制接到電源上,MCU_IO1對(duì)其的充放電已經(jīng)不起作用,在步驟2中MCU_IO1讀到的狀態(tài)依然是1,但在步驟4中MCU_IO1讀到的狀態(tài)就不再是0,而是變?yōu)?。

  如果J2按下,同樣看這四步,此時(shí)電容C1被強(qiáng)制接到地,MCU_IO1對(duì)其充放電也失去作用,在步驟2中MCU_IO1讀到的狀態(tài)變?yōu)?,但在步驟4中MCU_IO1讀到的狀態(tài)保持為1。

  到這里我想大家應(yīng)該已經(jīng)明白了實(shí)現(xiàn)方法,根據(jù)此四步中讀到的MCU_IO1狀態(tài),就可以判斷出J1、J2是否按下。

  既然已經(jīng)找到方法,是不是就萬(wàn)事大吉了呢?不然,我們還得回過(guò)頭去看看此方法是不是足夠可靠。如果J1按下,電容C1直接接到電源上,當(dāng)MCU_IO1輸出低時(shí),MCU_IO1輸出的低電平直接與電源短路,弄不好就會(huì)燒壞MCU_IO1,同理當(dāng)J2按下時(shí)MCU_IO1輸出高也存在同樣的問(wèn)題。

  還有比這更嚴(yán)重的問(wèn)題,如果用戶同時(shí)按下J1和J2,哈!居然是電源和地直接短路,這樣的后果很可能就是整個(gè)產(chǎn)品的電源部分一股青煙了事,就別想產(chǎn)品還能不能工作了。

  不用擔(dān)心,看一看前面電路圖中的右半部分,在開關(guān)J3和J4上分別串聯(lián)了一個(gè)220歐的電阻,這個(gè)電路不管J3和J4如何按,都不會(huì)出現(xiàn)短路的情況,按前面的四個(gè)步驟即可判斷出J3和J4有沒(méi)有按下,不過(guò)如果J3和J4同時(shí)按下并不能進(jìn)行識(shí)別判斷。

 


  

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見(jiàn),您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見(jiàn)一經(jīng)采納,將有感恩紅包奉上哦!