新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)EM78P156的I/O口復(fù)用技巧

單片機(jī)EM78P156的I/O口復(fù)用技巧

作者: 時(shí)間:2013-10-16 來(lái)源:網(wǎng)絡(luò) 收藏

0 引言
大多設(shè)計(jì)中都需要很多的引腳來(lái)實(shí)現(xiàn)各種各樣的輸入檢測(cè)和輸出顯示或控制功能。這在引腳數(shù)不能再增加的前提下。常常會(huì)顯得引腳數(shù)不夠。所以能否把芯片的固有資源發(fā)揮到極致,往往是決定此系統(tǒng)性?xún)r(jià)比的關(guān)鍵。本文借鑒軟件操作系統(tǒng)的分時(shí)復(fù)用原理,來(lái)把任務(wù)分成多個(gè)時(shí)間片,在不同的時(shí)間片執(zhí)行不同的任務(wù)。從而實(shí)現(xiàn)了較少I(mǎi)/O口的多功能控制。

1 N的主要功能

N是臺(tái)灣義隆公司推出的8位,圖1所示是該芯片的引腳排列圖。該器件的主要功能如下:

◇工作電壓:2.5~5.5 V;

◇工作溫度范圍:-40℃~85℃;

◇工作頻率在晶振模式時(shí)的范圍為:DC~20MHz(5V)、DC~8MHz(3V)和DC~4MHz(2.5V);而在外部RC振蕩時(shí)的頻率范圍為:DC~4MHz (5V),DC~4 MHz(3V)和DC~4MHz(2.5V);

◇低功耗:工作在5V/4MHz時(shí)工作電流小于2mA,工作在3V/32kHz時(shí)的工作電流20μA,工作在休眠模式時(shí)的工作電流1μA;

◇帶有1K×13B程序空間;

◇具有雙向I/O口;

◇有5級(jí)堆棧深度;

◇有8個(gè)可編程上拉腳,7個(gè)可編程下拉腳,8個(gè)可編程橫漏極開(kāi)路輸入腳,2個(gè)可編程R-op-tion腳。

2 硬件電路的總體設(shè)計(jì)

本設(shè)計(jì)中控制電路的MCU部分如圖2所示。圖2中的單片機(jī)采用外部RC振蕩,振蕩頻率為4MHz。其中LED1~LED6和按鍵K2、K3共用了P61~P65五個(gè)I/O口。在該電路設(shè)計(jì)時(shí),要注意按鍵按下時(shí)不能影響LED的正常點(diǎn)亮,所以在I/O口與按鍵之間串了一個(gè)2kΩ的電阻,這樣即使按住按鍵不放。LED也能正常點(diǎn)亮。每一路LED燈的點(diǎn)亮須由兩個(gè)I/O口同時(shí)控制,一路置高、一路置低,使LED產(chǎn)生正向壓降才能點(diǎn)亮。而其余的I/O口則作為正常的輸入、輸出控制。

3 程序流程

本文以按鍵輸入、LED輸出為例,按鍵K2控制第一組LED1~3做跑馬燈變化,按鍵K3控制第二組LED4~6做跑馬燈變化,第一組與第二組燈中每次只能同時(shí)亮一個(gè)。這里的復(fù)用實(shí)際上是利用人眼的視覺(jué)暫留功能,實(shí)際LED是閃爍的,只是人眼分辨不出來(lái)而已。每組燈點(diǎn)亮的周期為20ms,按鍵檢測(cè)占用的時(shí)間為10μs左右,在這么短的時(shí)間內(nèi),人眼不可能察覺(jué)到LED的變化。所以在實(shí)際電路設(shè)計(jì)中,顯示和按鍵等人機(jī)接口部分的功能最容易實(shí)現(xiàn)分時(shí)復(fù)用。點(diǎn)亮LED1與LED4的I/O口的工作波形如圖3所示。將按鍵檢測(cè)的值送到keybuf中,并做20 ms的延時(shí)比較檢測(cè),主要是為了增加按鍵檢測(cè)的可靠性。其程序邏輯如圖4所示。

這里需要注意的是,在作為按鍵檢測(cè)的時(shí)候,P6.2、P6.3、P6.4必須輸出高電平,或者作為輸入口打開(kāi)內(nèi)部上拉(如圖3中的P6.2)。這樣可以避免LED在這時(shí)被點(diǎn)亮形成鬼影,而影響整個(gè)系統(tǒng)的顯示效果。當(dāng)然也可以將LED驅(qū)動(dòng)換成帶三極管驅(qū)動(dòng)的繼電器。但因?yàn)槔^電器的吸合或斷開(kāi)需要幾毫秒的響應(yīng)過(guò)程,而按鍵檢測(cè)所需的10μs時(shí)間絕對(duì)不足以讓繼電器發(fā)生狀態(tài)跳變。

晶振相關(guān)文章:晶振原理

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉