EM78P447S單片機及其在直流電機紅外遙控系統中的應用
1 EM78P447S的主要特點(diǎn)
EM78系列單片機是臺灣義隆電子股份有限公司采用CMOS工藝制造的8位高性?xún)r(jià)比單片機。該系列單片機一般都內置看門(mén)狗計數器(WDT)、RAM、ROM、可編程定時(shí)/計數器、預分頻器以及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位定時(shí)/計數器(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)、定時(shí)/計數器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)文章:紅外遙控器原理
評論