PIC單片機(jī)在遠(yuǎn)程控制中的應(yīng)用
關(guān)鍵詞: PIC16C54 單片機(jī) 遠(yuǎn)程控制
本文介紹了一種用單片機(jī)控制的采用電話遙控的簡(jiǎn)易遠(yuǎn)程教學(xué)系統(tǒng)。它借助于現(xiàn)有的豐富的電話網(wǎng)絡(luò)資源,具有結(jié)構(gòu)簡(jiǎn)單,造價(jià)低廉,易于操作等特點(diǎn),可以實(shí)現(xiàn)對(duì)錄像機(jī)的各種遠(yuǎn)距離控制操作。非常適合于貧困地區(qū)的電化教育的普及與發(fā)展。
1 系統(tǒng)的總體結(jié)構(gòu)
該電話遙控教學(xué)系統(tǒng)的總體結(jié)構(gòu)如圖1所示。
該系統(tǒng)由電話機(jī)、小型程控機(jī)、遠(yuǎn)程控制器和數(shù)臺(tái)錄像機(jī)、電視機(jī)組成,該系統(tǒng)既可以通過(guò)小型程控機(jī)構(gòu)成一個(gè)局域的小系統(tǒng),也可以利用電信網(wǎng)構(gòu)成一個(gè)跨省市的遠(yuǎn)距離遙控系統(tǒng)。在該系統(tǒng)中,遠(yuǎn)程控制器的設(shè)計(jì)與制造是該系統(tǒng)的核心與關(guān)鍵。
2 遠(yuǎn)程控制器的結(jié)構(gòu)及工作原理
該控制器的CPU采用美國(guó)Microchip公司生產(chǎn)的PIC16C54一次性用戶可編程(OPT)單片機(jī),同時(shí),配以鈴流檢測(cè)、模擬摘機(jī)、雙音多頻接收等技術(shù),接收遠(yuǎn)程操作指令,實(shí)現(xiàn)對(duì)錄像機(jī)的放像、暫停、快進(jìn)和倒帶等操作。
2.1 PIC單片機(jī)說(shuō)明
PIC16C54單片機(jī)是8位單片機(jī),它采用精簡(jiǎn)指令集(RISC)和Harvard總線結(jié)構(gòu),其數(shù)據(jù)總線是8位,指令總線則是12位。這意味著PIC的一個(gè)指令字長(zhǎng)比采用CISC指令集的8位字長(zhǎng)的單片機(jī)指令包含更多的處理信息。它僅有33條指令,且均為單字指令。它的工作電壓為2.5~6.0V,內(nèi)部有自振式看門狗(WDT),且具有保密可熔斷絲,保護(hù)程序不被拷貝。該芯片(見(jiàn)圖2)具有0.5K程序存儲(chǔ)器(ROM),25個(gè)內(nèi)部寄存器組(RAM),8個(gè)特殊功能寄存器,2級(jí)子程序堆棧。它的各引腳功能如下:
RA0~RA3:4輸入/輸出雙向單獨(dú)可編程I/OA口。
RB0~RB7:8輸入/輸出雙向單獨(dú)可編程I/OB口。
RTCC:實(shí)時(shí)時(shí)鐘/計(jì)數(shù)器輸入端。
OSC1和OSC2:振蕩信號(hào)輸入和輸出端。
振蕩方式有阻容、晶體、陶瓷等多種方式,本系統(tǒng)采用阻容式芯片,指令周期為1μs。
VDD和VSS:電源和地。
2.2 遠(yuǎn)程控制器的工作原理
遠(yuǎn)程控制器的工作原理如圖3所示,整個(gè)電路由振鈴檢測(cè),模擬摘機(jī),雙音多頻解碼器,輸出驅(qū)動(dòng)等部分組成,各部分在PIC單片機(jī)控制下,完成對(duì)錄像機(jī)的遙控操作。其工作原理如下:
當(dāng)電話鈴聲響時(shí),鈴流進(jìn)入以光耦817為主構(gòu)成的振鈴檢測(cè)電路,鈴流進(jìn)入輸入端,輸出端輸出方波信號(hào)。脈沖數(shù)等于振鈴次數(shù),計(jì)數(shù)任務(wù)由CPU的RTCC端完成。當(dāng)RTCC接收到2次振鈴就發(fā)1kHz的模擬摘機(jī)提示音,提示用戶可以進(jìn)行遙控操作了。
雙音多頻DTMF接收器由SC8870實(shí)現(xiàn),它的2、3腳接收來(lái)自電話線路的雙音多頻脈沖信號(hào),經(jīng)譯碼輸出4位二進(jìn)制代碼D4~D1。D4~D1連到CPU的RA3~RA0輸入端,CPU經(jīng)RA口識(shí)別4位代碼。
電話按鍵與相應(yīng)的譯碼輸出關(guān)系如表1所示。
其中,A,B,C,D4個(gè)按鍵常被用作重?fù)?、掛機(jī)、免提等功能。
為了獲得有效數(shù)據(jù),需將PIC16C54的RB7端與SC8870的數(shù)據(jù)有效端CID端相連,當(dāng)SC8870獲取有效的雙音多頻信號(hào)時(shí),CID端的電平由低變高,當(dāng)CPU檢測(cè)到這個(gè)上跳沿時(shí),通過(guò)CPU的A口接收有效的二進(jìn)制代碼。
3 系統(tǒng)控制軟件及工作過(guò)程
系統(tǒng)的軟件流程如圖4所示。
為了保證系統(tǒng)的安全性,通過(guò)軟件為系統(tǒng)設(shè)置了密碼,同時(shí),系統(tǒng)還提供了模擬摘機(jī)后10秒鐘內(nèi)無(wú)任何操作或操作不完整就自動(dòng)掛機(jī)的功能。
下面以操作錄像機(jī)放像為例說(shuō)明系統(tǒng)的工作過(guò)程:
假設(shè)系統(tǒng)的密碼為99,錄像機(jī)放像的操作碼為4#。當(dāng)操作人員撥通控制目標(biāo)電話號(hào)碼時(shí)開(kāi)始振鈴,當(dāng)CPU連續(xù)收到2次振鈴時(shí)RB5端輸出高電平,致使外線電壓降至5V左右,接通話路,此時(shí),CPU發(fā)模擬摘機(jī)提示音,操作人員聽(tīng)到提示音后,可以連續(xù)輸入密碼和操作碼。當(dāng)密碼有效且操作碼正確時(shí)(如994#),對(duì)應(yīng)的輸出端RB2端輸出高電平,同時(shí)發(fā)操作成功提示音,然后系統(tǒng)自動(dòng)掛機(jī)。若密碼或操作碼無(wú)效,則系統(tǒng)直接掛機(jī)不發(fā)提示音。
該遠(yuǎn)程控制系統(tǒng)具有結(jié)構(gòu)簡(jiǎn)單,操作方便的特點(diǎn),經(jīng)反復(fù)測(cè)試,運(yùn)行正常。此外,該系統(tǒng)也可改造成控制其它開(kāi)關(guān)量的遠(yuǎn)程控制系統(tǒng),滿足不同的需求。
評(píng)論