發(fā)布時(shí)間:2018/10/31 13:16:48 來源:本站
為滿足系統(tǒng)要求將系統(tǒng)電路板設(shè)計(jì)為兩塊:主控板和分控板。主控板控板采用STC89C52單片機(jī),各個(gè)功能通過不同模塊來實(shí)現(xiàn),主要包括:單片機(jī)最小系統(tǒng)(晶振電路、復(fù)位電路)[4]、232電平轉(zhuǎn)換電路、CAN總線控制器電路、CAN總線收發(fā)器電路、12864液晶顯示電路、DS1302實(shí)時(shí)時(shí)鐘電路、AT24C02存儲(chǔ)器電路、光信號(hào)采集電路、模數(shù)轉(zhuǎn)換電路、按鍵電路、電源電路等組成主控板系統(tǒng)架構(gòu)。
軟件設(shè)計(jì)就是對各個(gè)硬件模塊的操作。主要包括:按鍵程序、12864顯示程序、CAN總線程序、DS1302實(shí)時(shí)時(shí)鐘程序、AT24C02程序、AD轉(zhuǎn)換程序。
主控板主函數(shù)主要包括對各個(gè)硬件模塊的初始化初始化包括:SJA1000、12864液晶、SIM900A模塊、DS1302時(shí)鐘芯片。讀取AT24C02存儲(chǔ)器中的系統(tǒng)狀態(tài)信息并發(fā)送到分控板,之后進(jìn)入主循環(huán)掃描按鍵狀態(tài)、讀取AD采集的亮度值、等待SIM900A產(chǎn)生串口中斷。分控板主函數(shù)首先初始化SJA1000芯片,PWM輸出配置。初始化完成后等待接收主控板發(fā)送的開關(guān)及亮度信息[5]。主控板主程序流程圖如圖1所示。
CAN總線通信部分主要是對SJA1000芯片內(nèi)部寄存器的初始化,包括:首先進(jìn)入復(fù)位模式,設(shè)置始終分頻寄存器,使能接收中斷,設(shè)置驗(yàn)收代碼寄存器,設(shè)置驗(yàn)收屏蔽寄存器,設(shè)置CAN總線傳輸波特率,設(shè)置輸出方式,最后進(jìn)入運(yùn)行模式,打開中斷。
本次設(shè)計(jì)12864液晶工作在串行模式,主要是對其進(jìn)行初始化操作。首先設(shè)置液晶工作在基本指令集,打開顯示,清屏。之后等待主程序調(diào)用。
圖1 主控板主程序流程
編程時(shí)沒有模塊化編程,把所有程序全部寫到同一個(gè)文件中,F(xiàn)象不正確需要修改時(shí)特別麻煩?勺x性差。之后學(xué)習(xí)模塊化編程,將程序按照硬件模塊分為幾個(gè)對應(yīng)的模塊來編程。這樣各個(gè)文件都不是很長而且條理清晰,很容易就能讀懂,且修改時(shí)也很方便。之后在編寫程序的過程中還遇到了一些問題,在老師和同學(xué)的以及自己的努力下一一解決,最終完成本系統(tǒng)。
LED路燈是一種節(jié)能半導(dǎo)體冷光源路燈[6],由于該系統(tǒng)可能應(yīng)用的各種復(fù)雜的環(huán)境中所以在硬件的設(shè)計(jì)過程中,最主要是要具有較強(qiáng)的抗干擾能力。在選擇構(gòu)成系統(tǒng)電路的元器件時(shí),應(yīng)著重考慮其工作溫度范圍、抗干擾性能。在硬件的制作過程中,應(yīng)盡量減小電源的波動(dòng)對系統(tǒng)的影響,以及在做PCB板時(shí)可通過網(wǎng)格線的方式增加系統(tǒng)的抗干擾能力。本系統(tǒng)能適應(yīng)復(fù)雜環(huán)境。所有開關(guān)均使用電子器件無機(jī)械開關(guān)也適用于煤礦,易燃?xì)怏w的化工廠等。
|
||