基于Internet的工業(yè)空調(diào)智能控制器開發(fā)
3. 3 數(shù)碼顯示電路
顯示模塊主要由數(shù)碼LED顯示塊和74HC164構(gòu)成,74HC164為單向8位移位寄存器,可實(shí)現(xiàn)串行輸入,并行輸出。74HC164編程簡單,性價(jià)比高。選用單片機(jī)的兩個(gè)I/O口完成與顯示模塊的串行顯示連接,其中把單片機(jī)的P2.4口作為移位脈沖輸出端,P2.5口作為數(shù)據(jù)輸出端。單片機(jī)的P2.2口接74HC164的CLK端,對單片機(jī)的P2.2口輸出的高低電平就是給74HC164數(shù)據(jù)移位的時(shí)鐘脈沖,在74HC164獲得時(shí)鐘脈沖的瞬間,如果數(shù)據(jù)輸入端是高電平,則就會有一個(gè)1進(jìn)入到74HC164的內(nèi)部,如果數(shù)據(jù)輸入端是低電平,則就會有一個(gè)0進(jìn)入其內(nèi)部,如此循環(huán)8次即可將一個(gè)8位數(shù)據(jù)傳送至74HC164中。74HC164的輸出(并行輸出)直接作為數(shù)碼管的段選控制信號,單片機(jī)的P2.0口和P2.1口驅(qū)動(dòng)輸出顯示的是位選控制信號。顯示段碼驅(qū)動(dòng)電路如圖4所示。
圖4 顯示驅(qū)動(dòng)電路
3. 4 以太網(wǎng)控制與串行通信模塊設(shè)計(jì)
以太網(wǎng)控制模塊主要是在Ethernet/Internet和微處理器之間起到一個(gè)橋梁的作用。將微處理器傳出的數(shù)據(jù)打包送到以太網(wǎng)上,或?qū)⒁蕴W(wǎng)上的數(shù)據(jù)接收進(jìn)來,供主處理器處理。其核心是以太網(wǎng)控制芯片RTL8019AS,為使RTL8019AS能與8位微處理器一起配合工作,就要對它工作時(shí)的模式、狀態(tài)及相關(guān)參數(shù)作硬件的設(shè)置。
以太網(wǎng)控制芯片RTL8019AS實(shí)現(xiàn)了以太網(wǎng)媒介訪問層(MAC)和物理層(PHY)的功能,包括MAC數(shù)據(jù)幀的組裝/拆分與收發(fā)、地址識別、CRC編碼/校驗(yàn)曼徹斯特編解碼、接收噪聲抑制、輸出脈沖成形、超時(shí)重傳、鏈路完整性測試、信號極性檢測與糾正等。
串行通信模塊是連接設(shè)備控制器與嵌入式網(wǎng)絡(luò)接口模塊的橋梁。由于單片機(jī)的串行數(shù)據(jù)接口并不是標(biāo)準(zhǔn)的RS-232-C串口,因此使用了MAXIM公司的MAX232電平轉(zhuǎn)換芯片將單片機(jī)的串行數(shù)據(jù)接口與標(biāo)準(zhǔn)的RS-232-C串行接口連接起來。MAX232是一種能夠?qū)崿F(xiàn)RS232與TTL兩種邏輯電平相互轉(zhuǎn)換的專用芯片,芯片內(nèi)部包含兩種接收器和驅(qū)動(dòng)器以及一個(gè)電源電壓變換器,并且只需要單一的+5V電源供電。MAX232芯片的硬件接口十分簡單,單片機(jī)的串行接收和發(fā)送端RXD, TXD可直接連接到MAX232的相應(yīng)端口上,通過外接1.0μF的電解電容便可以、使MAX232輸出RS-232-C串行通信所需要的±10V信號電平。由于MAX232芯片沒有片選端,在應(yīng)用系統(tǒng)中僅起到電平轉(zhuǎn)換的作用,因此它并不占用單片機(jī)的外部數(shù)據(jù)存儲空間。
3. 5 繼電器驅(qū)動(dòng)電路
在單片機(jī)應(yīng)用系統(tǒng)中,開關(guān)量輸出電路主要完成動(dòng)作信號的輸出,用于控制壓縮機(jī)和風(fēng)機(jī)的開關(guān)狀態(tài)。由于輸出信號不足以驅(qū)動(dòng)繼電器的開關(guān)動(dòng)作,在單片機(jī)的信號輸出口和繼電器之間采用了ULN2003A實(shí)現(xiàn)信號的放大及驅(qū)動(dòng)。ULN2003A是由7組達(dá)林頓晶體管陣列和相應(yīng)的電阻網(wǎng)絡(luò)以及箱位二極管構(gòu)成,具有同時(shí)驅(qū)動(dòng)7組負(fù)載的能力,為單片雙極型大功率高速集成電路;,它具有電流增益高、帶負(fù)載能力強(qiáng)、溫度范圍寬及工作電壓高等特點(diǎn),適合驅(qū)動(dòng)繼電器、顯示器等大功率器件。
繼電器驅(qū)動(dòng)電路設(shè)計(jì)如圖5所示,單片機(jī)控制信號經(jīng)P1.0~P1.3端口輸出,并通過P3.4的控制,將信號鎖存在74LS273中,74:LS273的輸出再經(jīng)過達(dá)林頓驅(qū)動(dòng)器ULN2003A反向放大后加到繼電器的輸入端,使壓縮機(jī)和風(fēng)機(jī)按要求動(dòng)作。74LS273鎖存控制信號,一方面增加輸出功率,另一方面也防止單片機(jī)復(fù)位時(shí)引起控制的誤動(dòng)作。
圖5 繼電器驅(qū)動(dòng)電路
4 軟件的設(shè)計(jì)與實(shí)現(xiàn)
系統(tǒng)軟件用C51編寫,采用了模塊化的設(shè)計(jì)思想,由主程序模塊、各個(gè)功能子程序模塊和中斷服務(wù)子程序模塊三大部分組成。主程序的功能是系統(tǒng)初始化、控制程序走向和調(diào)用功能子程序;功能子程序包括數(shù)據(jù)采集、數(shù)碼顯示、風(fēng)機(jī)和壓縮機(jī)的控制等子程序;中斷服務(wù)子程序包括遙控接收、定時(shí)中斷處理等。下面對主要程序模塊進(jìn)行描述。
主程序是整個(gè)控制系統(tǒng)軟件的樞紐,通過主程序有機(jī)地調(diào)用系統(tǒng)中各類的子程序及模塊,使它們形成一個(gè)聯(lián)系緊密的整體,有條不紊的完成各項(xiàng)預(yù)定的操作指令。系統(tǒng)上電或復(fù)位后,系統(tǒng)首先進(jìn)行初始化,包括各個(gè)寄存器和芯片的初始化;然后對室溫進(jìn)行采樣及加權(quán)處理;起始串行通信模塊確定是否接收到網(wǎng)關(guān)發(fā)送過來的命令和數(shù)據(jù),若接收到命令和數(shù)據(jù),設(shè)置相應(yīng)的參數(shù)和標(biāo)志位;調(diào)用鍵盤掃描程序,檢查是否有按鍵按下,若有按鍵按下,識別按鍵并設(shè)置相應(yīng)的參數(shù)和標(biāo)志位;調(diào)用顯示模塊用于顯示設(shè)定溫度、當(dāng)前室溫、定時(shí)時(shí)間、風(fēng)速、功能和定時(shí)狀態(tài)等信息;調(diào)用功能查詢及處理模塊使系統(tǒng)按所設(shè)定的參數(shù)和標(biāo)志位工作。只要系統(tǒng)上電,,主程序就不能停止,一直處于循環(huán)等待狀態(tài),所以主程序沒有結(jié)束運(yùn)行的指令。
評論