EM78P447S單片機(jī)/在直流電機(jī)紅外遙控系統(tǒng)應(yīng)用
另外,EM78P447S中還有7個(gè)特殊功能寄存器。其中包括累加器A、控制寄存器CONT、輸入/輸出控制寄存器IOC5、IOC6、IOC7(分別控制port5,port6,port7的輸入/輸出模式)、WDT控制寄存器IOCE和中斷屏蔽寄存器IOCF。
2.3 EM78P447S的指令簡(jiǎn)介
EM78P447S單片機(jī)共有45個(gè)單字、58條指令。這58條指令包括19條邏輯指令、11條算術(shù)運(yùn)算指令、4條位元指令、4條轉(zhuǎn)移指令、10條控制指令和10條跳躍指令。表1給出了這些指令字按功能的分類。
EM78P447S單片機(jī)的指令主要有以下幾個(gè)特色:
●除改變程序計(jì)數(shù)器的指令需要兩個(gè)指令周期外,其余指令均為單指令周期;
●寄存器的每一個(gè)位元均可由位元型指令直接進(jìn)行設(shè)定、清除或測(cè)試;
●對(duì)應(yīng)于IO引腳的I/O寄存器也可以當(dāng)作一般寄存器進(jìn)行存取。也就是說(shuō),存取一般寄存器與I/O所使用的指令完全一樣。
3 在直流電機(jī)遙控系統(tǒng)中的應(yīng)用
采用EM78P447S為主控器設(shè)計(jì)的遙控系統(tǒng)可實(shí)現(xiàn)對(duì)直流電機(jī)正轉(zhuǎn)、反轉(zhuǎn)和停止的遙控控制。該遙控控制系統(tǒng)由發(fā)射模塊、接收輸入模塊和單片機(jī)處理輸出模塊三部分組成。
3.1發(fā)射模塊
筆者設(shè)計(jì)的該遙控控制系統(tǒng)中的發(fā)射模塊采用3V工作電壓,其電路板上有三個(gè)乒乓鍵KO、K1、K2,可分別用來(lái)控制電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)和停止操作。當(dāng)需要進(jìn)行發(fā)射時(shí),采用發(fā)射專用芯片PT2248及外圍放大電路把信號(hào)放大,即可進(jìn)行紅外發(fā)射。其硬件電路原理圖如圖2所示。
3.2接收輸入模塊
本遙控控制系統(tǒng)中的接收模塊采用5V工作電壓,且在該電路板上有一個(gè)接收器,可用以接收發(fā)射模塊傳送過(guò)來(lái)的信號(hào)。利用一個(gè)放大電路可將接收到的信號(hào)放大并傳送到接收專用芯片PT2249A,然后再通過(guò)74LS04處理后送給單片機(jī)??捎萌齻€(gè)發(fā)光二極管分別對(duì)應(yīng)于發(fā)射模塊的三個(gè)按鍵以顯示操作。當(dāng)按下某一個(gè)鍵時(shí),與之對(duì)應(yīng)的發(fā)光二極管發(fā)光。其硬件電路如圖3所示。
3.3單片機(jī)處理輸出模塊
單片機(jī)處理輸出模塊采用5V工作電壓,模塊上的三個(gè)乒乓鍵K3、K4、K5,分別對(duì)應(yīng)于發(fā)射模塊上的·KO、K1、K2三個(gè)鍵,可用來(lái)控制電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)和停止。這三個(gè)鍵可在遙控器出現(xiàn)問(wèn)題或丟失時(shí)代替KO、K1和K2進(jìn)行操作,因此非常方便實(shí)用。
單片機(jī)上的P5.0-P5.2引腳分別作為電機(jī)正轉(zhuǎn)、反轉(zhuǎn)和停止的信號(hào)輸入端,P6.0、P6.1引腳分別作為電機(jī)正轉(zhuǎn)、反轉(zhuǎn)的信號(hào)輸出端。要使電機(jī)停止操作,只要將無(wú)效信號(hào)送人P6.0、P6.1即可。單片機(jī)的輸出信號(hào)經(jīng)74LS04反向并送人ULN2003A進(jìn)行放大后,即可驅(qū)動(dòng)繼電器以使直流電機(jī)作相應(yīng)操作。
另外,還可用兩個(gè)發(fā)光二極管來(lái)顯示操作。這樣,當(dāng)電機(jī)正轉(zhuǎn)或反轉(zhuǎn)時(shí),其中的一個(gè)二極管將點(diǎn)亮,而當(dāng)按下停止按鈕時(shí),兩個(gè)都不亮。其硬件電路如圖4所示。
4 系統(tǒng)的軟件設(shè)計(jì)
該設(shè)計(jì)以EM系列單片機(jī)配套的開(kāi)發(fā)工具EMC為編程工具,由主程序不斷循環(huán)監(jiān)測(cè)乒乓鍵的狀態(tài)。當(dāng)某個(gè)按鍵被按下松開(kāi)后,其對(duì)應(yīng)的電機(jī)被啟動(dòng),然后系統(tǒng)再返回檢測(cè)按鍵的狀態(tài),以確定是否保持該運(yùn)行狀態(tài)或轉(zhuǎn)入其它狀態(tài)。
應(yīng)當(dāng)注意:當(dāng)機(jī)械開(kāi)關(guān)按下或放開(kāi)的瞬間,按鍵會(huì)因機(jī)械彈性的緣故在接點(diǎn)上產(chǎn)生彈動(dòng)。這個(gè)快速跳動(dòng)CPU會(huì)完全檢測(cè)到,因而會(huì)出現(xiàn)使用者只按了一次開(kāi)關(guān),而被CPU認(rèn)為是按下很多次的錯(cuò)誤情況。為了避免這種誤判現(xiàn)象,設(shè)計(jì)時(shí)可用延時(shí)來(lái)處理這種彈跳問(wèn)題。當(dāng)軟件在檢測(cè)到開(kāi)關(guān)被按下后,先延時(shí)一段時(shí)間再檢測(cè)一次,以避開(kāi)彈跳的時(shí)間,這個(gè)彈跳的產(chǎn)生通常在開(kāi)關(guān)被按下后開(kāi)始的20ms-50ms之間發(fā)生,因此只要避開(kāi)這段時(shí)間,而不要讀輸入腳的信號(hào)即可。其軟件流程如圖5所示。
參考文獻(xiàn)
[1]. EM78P447S datasheet http://www.dzsc.com/datasheet/EM78P447S_297719.html.
[2]. ROM datasheet http://www.dzsc.com/datasheet/ROM_1188413.html.
[3]. TCC datasheet http://www.dzsc.com/datasheet/TCC_1064984.html.
[4]. PT2248 datasheet http://www.dzsc.com/datasheet/PT2248_1076365.html.
[5]. PT2249A datasheet http://www.dzsc.com/datasheet/PT2249A_1076366.html.
[6]. 74LS04 datasheet http://www.dzsc.com/datasheet/74LS04_772886.html.
[7]. ULN2003A datasheet http://www.dzsc.com/datasheet/ULN2003A_500971.html.
[8]. EMC datasheet http://www.dzsc.com/datasheet/EMC_2342312.html.
[9].鄧錦城。EM78447入門與實(shí)作
[10].吳建生。EM78154/x56/x57系列8位單片機(jī)原理及應(yīng)用。福州新源電子技術(shù)研究所,1998,3
紅外遙控器相關(guān)文章:紅外遙控器原理tcp/ip相關(guān)文章:tcp/ip是什么
評(píng)論