桂一元
1.硬件電路設(shè)計(jì)
(1)電源電路的設(shè)計(jì)。本系統(tǒng)設(shè)計(jì)了一個(gè)+5V的直流電源給單片機(jī)供電,該電路將市電220V交流電降壓為10V交流電,再經(jīng)過(guò)二極管橋式整流、電容濾波、LM7805穩(wěn)壓,最后輸出一個(gè)穩(wěn)定的+5V直流電,輸出的電壓偏差不超過(guò)0.1V,整體性能達(dá)到預(yù)期要求。
(2)主控制器的電路設(shè)計(jì)。主控制器選用單片機(jī)(AT89S51),搭配鍵盤、數(shù)碼顯示、復(fù)位、晶振及通訊外圍接口。鍵盤主要是用來(lái)輸入信息,這些信息包括各種啟停信號(hào)、分控制器地址號(hào)、復(fù)位等。
(3)分控制器電路設(shè)計(jì)。分控制器實(shí)現(xiàn)的控制和數(shù)據(jù)處理任務(wù)相對(duì)簡(jiǎn)單,采用單片機(jī)(AT89S2051),搭配晶振、實(shí)時(shí)時(shí)鐘芯片、可控硅控制電路、零點(diǎn)檢測(cè)電路、看門狗電路、通信接口電路。
照明亮度控制系統(tǒng)是將前面放大的硅光電池信號(hào)強(qiáng)度與設(shè)定的亮度信號(hào)進(jìn)行比較,根據(jù)差值情況調(diào)整輸出電壓來(lái)控制照明燈的亮度。
(4)RS485通信電路的設(shè)計(jì)。根據(jù)任務(wù),本系統(tǒng)設(shè)計(jì)由一個(gè)主機(jī)帶多個(gè)從機(jī)的通信系統(tǒng)。具體選用專用的485低功耗通信芯片(MAX485),用一對(duì)雙絞線將各個(gè)接口連接起來(lái)實(shí)現(xiàn)。將該芯片的RO和DI端連接到單片機(jī)的RXD和TXD,利用單片機(jī)控制芯片的和DE端,接收數(shù)據(jù)時(shí)令=0,發(fā)送數(shù)據(jù)時(shí)令DE=1。另外,采用光電耦合器提高系統(tǒng)的抗煩擾能力。
2.系統(tǒng)軟件設(shè)計(jì)
(1)程序總體結(jié)構(gòu)設(shè)計(jì)。整個(gè)程序設(shè)計(jì)要完成照明啟停、照明亮度調(diào)節(jié)、人機(jī)交互、通信控制這四大部分的控制任務(wù)。
(2)照明啟停控制程序設(shè)計(jì)。全部啟??刂瞥绦虿襟E:①數(shù)據(jù)初始化。②調(diào)用鍵盤掃描子程序,并判別是否有啟??刂菩盘?hào)輸入;如果沒(méi)有則返回上一步,如果有則進(jìn)入下一步。③讀取輸入信號(hào)。④主控制器發(fā)送全部啟停信號(hào)到各個(gè)分控制器。⑤各分控制器反饋給主控制器地址信號(hào)。⑥判別主、分地址是否一致。如果一致,主控制器給分控制器發(fā)送確定信號(hào)后返回;如果不一致,顯示錯(cuò)誤信息后返回。
單獨(dú)啟??刂瞥绦虿襟E:①數(shù)據(jù)初始化。②主控制器發(fā)送給某分控制器地址信號(hào)。③分控制器系統(tǒng)判別地址是否與主控制器發(fā)送的一致。如果不一致,關(guān)閉該分控制器系統(tǒng);如果一致,向主機(jī)匯報(bào)地址接收主機(jī)一致信息。④分控制器執(zhí)行主控制器發(fā)送的啟停信號(hào)。⑤執(zhí)行完成后返回。
(3)人機(jī)交互程序設(shè)計(jì)。鍵盤掃描程序設(shè)計(jì):鍵盤掃描程序主要完成前面提到的啟??刂?、分控制器控制、確認(rèn)等任務(wù),由于動(dòng)作的特殊性,需要在程序中考慮防抖,引入延時(shí)程序,在延時(shí)一段時(shí)間后再次鍵盤掃描,如果3次檢測(cè)都有信號(hào)即可說(shuō)明該按鍵確實(shí)動(dòng)作。
顯示程序設(shè)計(jì):本顯示系統(tǒng)主要是完成分控制器地址的顯示,具體的程序流程如下。①數(shù)據(jù)初始化。②查表讀取段碼。③將上面的碼送到驅(qū)動(dòng)顯示。④送信息給譯碼器選通低電位數(shù)碼管。⑤判別顯示是否完整。如果是則結(jié)束返回;如果不是則將顯示的緩沖區(qū)左移并返回到第二步,繼續(xù)往下執(zhí)行。
(4)RS485通信程序設(shè)計(jì)。主控制器通信程序設(shè)計(jì):
主控制器通信部分主要是完成向分控制器下達(dá)指令、接收分控制器反饋的各種信息。具體程序設(shè)計(jì)流程包括:第一步,初始化。第二步,主控制器向各個(gè)分控制發(fā)送地址幀。第三步,判別是否為廣播模式。如果不是,將等待從機(jī)信息反饋;如果是,執(zhí)行下一步。第四步,主控制器向分控制器發(fā)送數(shù)據(jù)。第五步,等待分控制器應(yīng)答,發(fā)送成果結(jié)束并返回。
分控制器通信程序設(shè)計(jì):第一步,數(shù)據(jù)初始化。第二步,判別主控制器發(fā)送的地址是否與本分控制器地址一致。如果一致,反饋給主控制器一致信息,然后到下一步;如果不一致,結(jié)束。第三步,執(zhí)行主控制器發(fā)送的控制任務(wù)。第四步,反饋給主控制器執(zhí)行成功信號(hào)。第五步,結(jié)束返回。
參考文獻(xiàn):
[1]盛嘯濤,姜延昭.樓宇自動(dòng)化[M].西安:西安電子科技大學(xué)出版社,2004.
[2]陳元麗.現(xiàn)代建筑電氣設(shè)計(jì)實(shí)用指南[M].北京:中國(guó)水利水電出版社,2000.