單片機(jī)+CPLD的多路精確延時(shí)控制系統(tǒng)
每個(gè)系統(tǒng)由n(本系統(tǒng)設(shè)計(jì)中n=9)個(gè)輸出控制單元組成,這n個(gè)單元輸出控制獨(dú)立并行工作,如圖4所示。N0.1~N0.n以ATMEL公司5l系列單片機(jī)AT89C2051為核心。AT89C205l是低功耗、高性能CMOS 8位單片機(jī),具有15個(gè)雙向輸入/輸出(I/O)端口、片內(nèi)含2 K字節(jié)的可反復(fù)擦寫的只讀Flash程序存儲(chǔ)器和128字節(jié)的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM);采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS一5l指令系統(tǒng)。輸出控制單元(NO.1~NO.n)并行工作,完成延時(shí)時(shí)間設(shè)置、μs/ms變換設(shè)置、控制信號(hào)輸出和延時(shí)顯示等功能,延時(shí)時(shí)間顯示通過單片機(jī)串口實(shí)現(xiàn),由3片串/并變換器件74LSl64驅(qū)動(dòng)3個(gè)共陽數(shù)碼管。本文引用地址:http://cafeforensic.com/article/162113.htm
4 系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)軟件設(shè)計(jì)包括CPUO單元、NO.1~NO.n輸出單元及CPLD單元程序設(shè)計(jì)。由于對時(shí)間要求嚴(yán)格,采用匯編語言編寫,信號(hào)輸出由中斷程序完成,由于中斷響應(yīng)過程、現(xiàn)場保護(hù)以及中斷后必要的設(shè)置條件檢測需要時(shí)間,所以軟件必須通過容余指令(比如NOP)的延時(shí),可保證counter0輸出和控制信號(hào)延時(shí)起點(diǎn)在同一時(shí)刻。
CPU0單元程序流程如圖5所示。CPU0主程序完成系統(tǒng)初始化、按鍵檢測、去抖動(dòng)信號(hào)輸出和工作狀態(tài)提示音輸出等工作,中斷服務(wù)程序計(jì)時(shí)基準(zhǔn)信號(hào)counterO輸出。輸出控制單元NO.1一NO.n程序流程如圖6所示,各單元主程序完成μs/ms設(shè)置檢測,延時(shí)設(shè)置讀取,延時(shí)時(shí)間顯示,中斷程序完成控制信號(hào)輸出功能。CPLD程序采用VHDL語言編寫,采用QHalftusⅡ軟件編譯仿真。
5 結(jié)語
該系統(tǒng)設(shè)計(jì)可應(yīng)用于電容組(9只)放電控制系統(tǒng),在放電電子開關(guān)控制端、
評論