<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > EM78P447S單片機及其在直流電機紅外遙控系統中的應用

EM78P447S單片機及其在直流電機紅外遙控系統中的應用

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

1 EM78P447S的主要特點(diǎn)

EM78系列單片機是臺灣義隆電子股份有限公司采用CMOS工藝制造的8位高性?xún)r(jià)比單片機。該系列單片機一般都內置看門(mén)狗計數器(WDT)、RAM、ROM、可編程/計數器、預分頻器以及5層堆棧。該系列器件的絕大部分指令只需兩個(gè)振蕩周期,同時(shí)具有內外部、低電壓檢測、可編程I/0、內部上拉電阻和集電極開(kāi)路輸出、SLEEP方式等功能。另外,EM78P447S單片機還具有編程簡(jiǎn)單、速度快、功耗小、成本低等優(yōu)點(diǎn),能廣泛應用于玩具、家電、工業(yè)控制等方面。

EM78P447S的主要性能特點(diǎn)如下:

●工作電壓范圍:2.5-5.5V;

●允許溫度范圍:0-70°C;

●工作頻率范圍:

石英振蕩型:5V時(shí)的范圍為DC-20MHz,

3V時(shí)的范圍為DC-8MHz;

RC振蕩型:5V時(shí)的范圍為DC-4MHz;

3V時(shí)的范圍為DC-4MHz;

●一次可編程ROM達4K X 13bit;

●內部RAM為148 X 8bit;

●具有5層堆棧;

●內含一個(gè)可以自行規劃的看門(mén)狗計時(shí)器(WDT)和一個(gè)8位預分頻器;

●具有24個(gè)雙向三態(tài)I/O腳;

●睡眠狀態(tài)的I/O可做規劃;

●有十個(gè)具有提升電阻及叫醒CPU的I/O引腳;

●有兩個(gè)具有R-Option功能的I/O引腳,通過(guò)R-Option功能可在兩個(gè)或兩個(gè)以上應用程序中放人同一單片機時(shí),用一個(gè)輸入腳來(lái)判斷選擇哪一個(gè)程序。也就是說(shuō),R-option功能就是在EM78P447S的某兩個(gè)I/0腳上設置可選擇的下拉電阻,從而通過(guò)用戶(hù)是否外接下拉電阻(一般為510kΩ)來(lái)判斷該腳的狀態(tài),進(jìn)而判斷運行哪一個(gè)程序;

●有兩個(gè)可規劃為集電極開(kāi)路的輸出腳;

●可通過(guò)一個(gè)8位/計數器(TCC)來(lái)選擇信號源和觸發(fā)源,并可進(jìn)行8位預分頻;

●具有溢出功能;         

●具有上電、低檢測、RESET引腳輸入低復位、WDT超時(shí)溢出復位等功能;

●絕大部分指令只需兩個(gè)振蕩周期;

●具有低睡眠模式;

●具有TCC溢出、外部INT引腳輸入脈沖中斷和執行INT指令軟件中斷功能;

●采用32腳DIP封裝。

2 EM78P447S的引腳功能和寄存器

2.1 EM78P447S的引腳排列

圖1為EM78P447S的引腳排列。其各引腳的功能如下:

TCC:外部計數輸入腳;

OSCO:振蕩輸出腳;

VDD:正電源輸入腳;

OSCI:晶振或RC振蕩輸入腳;

NC:空腳;

BESET:復位輸入端,低電平有效;

VSS:接地腳;

INT:外部中斷輸入腳,下降沿輸入有效;

P50-P57:雙向I/O引腳;

P60-P67:雙向I/O引腳,可通過(guò)軟件規劃成有內部提升電阻;

P70-P77:雙向I/O引腳,其中P74、P75可以通過(guò)軟件規劃成有內部提升電阻;P76、P77通過(guò)軟件可設定為集電極開(kāi)路輸出腳;P70、P71可當作R-Option的輸入腳。

2.2 EM78P447S中的寄存器

EM78P447S內含9個(gè)操作用途寄存器。其中間接尋址寄存器R0(IAB)、/計數器R1(TCC)、程序計數器R2(PC)、狀態(tài)寄存器R3(STATUS)、RAM選擇寄存器R4(RSR)、I/O口寄存器R5(PORT5)、R6(PORT6)、R7(PORT7)等8個(gè)寄存器的地址按順序分別為00H-07H,而中斷狀態(tài)寄存器R3F(1SR)的地址為3FH。

在EM78P447S的148個(gè)通用寄存器(RAM)中,包括有地址為08H-1FH的寄存器和4個(gè)地址為20H-3EH的寄存器組(4個(gè)頁(yè)面地址由R4的位6、位7來(lái)決定)。

另外,EM78P447S中還有7個(gè)特殊功能寄存器。其中包括累加器A、控制寄存器CONT、輸入/輸出控制寄存器IOC5、IOC6、IOC7(分別控制port5,port6,port7的輸入/輸出模式)、WDT控制寄存器IOCE和中斷屏蔽寄存器IOCF。

2.3 EM78P447S的指令簡(jiǎn)介

EM78P447S單片機共有45個(gè)單字、58條指令。這58條指令包括19條邏輯指令、11條算術(shù)運算指令、4條位元指令、4條轉移指令、10條控制指令和10條跳躍指令。表1給出了這些指令字按功能的分類(lèi)。

EM78P447S單片機的指令主要有以下幾個(gè)特色:

●除改變程序計數器的指令需要兩個(gè)指令周期外,其余指令均為單指令周期;

●寄存器的每一個(gè)位元均可由位元型指令直接進(jìn)行設定、清除或測試;

●對應于IO引腳的I/O寄存器也可以當作一般寄存器進(jìn)行存取。也就是說(shuō),存取一般寄存器與I/O所使用的指令完全一樣。

3 在直流電機遙控系統中的應用

采用EM78P447S為主控器設計的遙控系統可實(shí)現對直流電機正轉、反轉和停止的遙控控制。該遙控控制系統由發(fā)射模塊、接收輸入模塊和單片機處理輸出模塊三部分組成。

3.1發(fā)射模塊

筆者設計的該遙控控制系統中的發(fā)射模塊采用3V工作電壓,其電路板上有三個(gè)乒乓鍵KO、K1、K2,可分別用來(lái)控制電機的正轉、反轉和停止操作。當需要進(jìn)行發(fā)射時(shí),采用發(fā)射專(zhuān)用芯片PT2248及外圍放大電路把信號放大,即可進(jìn)行紅外發(fā)射。其硬件電路原理圖如圖2所示。

3.2接收輸入模塊

本遙控控制系統中的接收模塊采用5V工作電壓,且在該電路板上有一個(gè)接收器,可用以接收發(fā)射模塊傳送過(guò)來(lái)的信號。利用一個(gè)放大電路可將接收到的信號放大并傳送到接收專(zhuān)用芯片PT2249A,然后再通過(guò)74LS04處理后送給單片機??捎萌齻€(gè)發(fā)光二極管分別對應于發(fā)射模塊的三個(gè)按鍵以顯示操作。當按下某一個(gè)鍵時(shí),與之對應的發(fā)光二極管發(fā)光。其硬件電路如圖3所示。

3.3單片機處理輸出模塊

單片機處理輸出模塊采用5V工作電壓,模塊上的三個(gè)乒乓鍵K3、K4、K5,分別對應于發(fā)射模塊上的·KO、K1、K2三個(gè)鍵,可用來(lái)控制電機的正轉、反轉和停止。這三個(gè)鍵可在遙控器出現問(wèn)題或丟失時(shí)代替KO、K1和K2進(jìn)行操作,因此非常方便實(shí)用。

單片機上的P5.0-P5.2引腳分別作為電機正轉、反轉和停止的信號輸入端,P6.0、P6.1引腳分別作為電機正轉、反轉的信號輸出端。要使電機停止操作,只要將無(wú)效信號送人P6.0、P6.1即可。單片機的輸出信號經(jīng)74LS04反向并送人ULN2003A進(jìn)行放大后,即可驅動(dòng)繼電器以使直流電機作相應操作。

另外,還可用兩個(gè)發(fā)光二極管來(lái)顯示操作。這樣,當電機正轉或反轉時(shí),其中的一個(gè)二極管將點(diǎn)亮,而當按下停止按鈕時(shí),兩個(gè)都不亮。其硬件電路如圖4所示。

4 系統的軟件設計

該設計以EM系列單片機配套的開(kāi)發(fā)工具EMC為編程工具,由主程序不斷循環(huán)監測乒乓鍵的狀態(tài)。當某個(gè)按鍵被按下松開(kāi)后,其對應的電機被啟動(dòng),然后系統再返回檢測按鍵的狀態(tài),以確定是否保持該運行狀態(tài)或轉入其它狀態(tài)。

應當注意:當機械開(kāi)關(guān)按下或放開(kāi)的瞬間,按鍵會(huì )因機械彈性的緣故在接點(diǎn)上產(chǎn)生彈動(dòng)。這個(gè)快速跳動(dòng)CPU會(huì )完全檢測到,因而會(huì )出現使用者只按了一次開(kāi)關(guān),而被CPU認為是按下很多次的錯誤情況。為了避免這種誤判現象,設計時(shí)可用延時(shí)來(lái)處理這種彈跳問(wèn)題。當軟件在檢測到開(kāi)關(guān)被按下后,先延時(shí)一段時(shí)間再檢測一次,以避開(kāi)彈跳的時(shí)間,這個(gè)彈跳的產(chǎn)生通常在開(kāi)關(guān)被按下后開(kāi)始的20ms-50ms之間發(fā)生,因此只要避開(kāi)這段時(shí)間,而不要讀輸入腳的信號即可。其軟件流程如圖5所示。

參考文獻

1.鄧錦城.EM78447入門(mén)與實(shí)作

2.吳建生.EM78154/x56/x57系列8位單片機原理及應用.福州新源電子技術(shù)研究所,1998,3

紅外遙控器相關(guān)文章:紅外遙控器原理


關(guān)鍵詞: 定時(shí) 中斷 復位 電平

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>