單片機(jī)遠(yuǎn)程燈控箱設(shè)計(jì)
電腦是現(xiàn)今信息時(shí)代的標(biāo)志,通過(guò)電腦實(shí)現(xiàn)遠(yuǎn)程實(shí)時(shí)自動(dòng)化控制是今后發(fā)展的一種趨勢(shì)。在大型商場(chǎng)、飯店、體育場(chǎng)館及娛樂(lè)場(chǎng)所里,通常有許多照明設(shè)備。以往的開(kāi)關(guān)控制和電閘控制,常常需要工作人員頻繁親臨現(xiàn)場(chǎng)操作,或向控制室拉接較長(zhǎng)的220V電線,實(shí)時(shí)性、安全性都較差。為了實(shí)現(xiàn)工作人員在控制室可以對(duì)分散在各個(gè)房間的遠(yuǎn)端照明設(shè)備進(jìn)行實(shí)時(shí)有效的狀態(tài)控制及狀態(tài)查詢,筆者開(kāi)發(fā)了一種基于單片機(jī)的遠(yuǎn)程燈控箱系統(tǒng)。該系統(tǒng)由一臺(tái)PC上位機(jī)控制多臺(tái)遠(yuǎn)端燈控箱,通過(guò)RS-485總線串行傳送指令,傳輸距離最遠(yuǎn)可達(dá)1.2km,并增強(qiáng)串行通信協(xié)議的制定,降低了噪聲干擾。一臺(tái)燈控箱可對(duì)16路燈進(jìn)行控制。燈控箱中選用SST89C58型單片機(jī),其方便的IAP功能可在線下載Hex文件并進(jìn)行調(diào)試,無(wú)需多次使用編程器。
1 系統(tǒng)結(jié)構(gòu)及功能
遠(yuǎn)程燈控箱系統(tǒng)的結(jié)構(gòu)如圖l所示,其中,PC上位機(jī)放在控制室里,各燈箱就近放置在照明設(shè)備附近。由PC上位機(jī)發(fā)送控制指令,通過(guò)RS-485總線將指令串行傳送給各遠(yuǎn)端燈控箱,這樣就可在控制室里實(shí)時(shí)開(kāi)關(guān)控制,查詢各個(gè)燈的狀態(tài)。從傳輸距離和性價(jià)比方面考慮選用RS-485總線。RS-485為平衡線路,可實(shí)現(xiàn)遠(yuǎn)距離、多節(jié)點(diǎn)控制。本設(shè)計(jì)的重點(diǎn)是燈控箱。下面將以一臺(tái)燈控箱為例介紹系統(tǒng)的軟件和硬件設(shè)計(jì)。
2 硬件設(shè)計(jì)
2.1主要元件
設(shè)計(jì)系統(tǒng)選用Silicon Storage。Technology公司推出的具有IAP(In-Application Programming)功能的SST89C58型單片機(jī)。它在指令系統(tǒng)、硬件結(jié)構(gòu)和片內(nèi)資源上與標(biāo)準(zhǔn)8052型單片機(jī)完全兼容,同時(shí)增大了內(nèi)部程序存儲(chǔ)Flash的容量,可達(dá)36KB。并增加了與Flash編程相關(guān)的6個(gè)特殊功能寄存器和2個(gè)與看門狗復(fù)位有關(guān)的特殊功能寄存器。對(duì)SST89C58的IAP功能采用一個(gè)通用程序編寫[1],選用Keil公司的μVision仿真軟件進(jìn)行編程仿真。將生成的Hex文件直接通過(guò)RS-232串口從PC下載到單片機(jī)上運(yùn)行調(diào)試,使用非常方便,縮短了開(kāi)發(fā)周期。ULN2803A型器件是TI公司生產(chǎn)的單片集成高壓、大電流達(dá)林頓晶體管陣列。該陣列由8個(gè)NPN達(dá)林頓管組成。其特點(diǎn)是電流增益高、負(fù)載能力強(qiáng)(輸出電流可達(dá)500mA)、工作電壓高(耐壓達(dá)50V)。選用的:X5045型器件為4K SPI電可擦除存儲(chǔ)器,用于掉電后保存從機(jī)站號(hào)。Maxim公司的MAX485型器件是通用半雙工收發(fā)器,傳輸速度為9.6Kb/s時(shí),傳輸距離可達(dá)1.2km.可實(shí)現(xiàn)上位機(jī)與單片機(jī)之間的串口異步通信。
圖2
2.2系統(tǒng)核心硬件
遠(yuǎn)程燈控箱系統(tǒng)的核心硬件圖如圖2所示,以SST89C58型單片機(jī)為核心,用P0口和P2口進(jìn)行信號(hào)控制,注意P0口要加上拉電阻器。通過(guò)2個(gè)ULN2803進(jìn)行電流放大,可驅(qū)動(dòng)16路繼電器。由于片內(nèi)帶有共陰極箝位二極管,可適應(yīng)感性負(fù)載,故輸出端可省去大量二極管。SST89C58驅(qū)動(dòng)16路繼電器,可控制16路燈信號(hào)。若要增加控制信號(hào),可增加8255型器件擴(kuò)展并行接口。用X5045保存RS-485網(wǎng)絡(luò)從機(jī)站號(hào)。SST89C58單片機(jī)的P1.2引腳用來(lái)模擬X5045的時(shí)鐘輸入信號(hào)SCK,CS=0時(shí),串行輸出SO在時(shí)鐘信號(hào)下降沿有效,串行輸入SI在上升沿有效(WP=1)。具體操作還需要寫入狀態(tài)字。串口部分選用MAX485。其中,RE與DE接在一起由單片機(jī)的RD(P3.7)控制。拉低為接收有效,拉高為發(fā)送有效。該系統(tǒng)還具有上電自動(dòng)復(fù)位和通電指示功能。設(shè)計(jì)PCB時(shí)應(yīng)注意合理布線,對(duì)單片機(jī)電源進(jìn)行濾波整流,并遠(yuǎn)離干擾源。
3 系統(tǒng)軟件設(shè)計(jì)
用C語(yǔ)言編譯器開(kāi)發(fā)單片機(jī)具有使用方便、編程效率高及仿真調(diào)試容易等突出特點(diǎn)。C51的版本很多,本系統(tǒng)軟件選用德國(guó)Keil Software公司的Keil C51編譯器開(kāi)發(fā)。該編譯器基于Windows平臺(tái)集成開(kāi)發(fā)環(huán)境,可編輯、編譯和調(diào)試匯編語(yǔ)言程序及C51程序,還可模擬仿真I/O口、定時(shí)器/計(jì)數(shù)器、串行口及中斷等單片機(jī)特有的功能部件,功能非常強(qiáng)大。
評(píng)論