一種新穎的智能碼盤的研究
2.2 數(shù)據(jù)采集電路
本設(shè)計(jì)采用STC12C2052AD作為碼盤CPU,它是一款高速,低功耗,超小封裝的單片機(jī),其價(jià)格低廉,性能可靠,無(wú)需擴(kuò)展即可滿足設(shè)計(jì)要求。片內(nèi)2 KBFLASH和256 B片內(nèi)RAM,可以完成10萬(wàn)次以上的擦寫(xiě)次數(shù),引腳封裝和指令系統(tǒng)都與MCS-51兼容,系統(tǒng)硬件設(shè)計(jì)簡(jiǎn)單、軟件編程方便。數(shù)據(jù)采集在外部中斷中完成,當(dāng)按采集按鈕時(shí),系統(tǒng)立即響應(yīng)中斷,即執(zhí)行中斷處理程序,從P1口讀入撥碼開(kāi)關(guān)狀態(tài),然后拆分位碼和數(shù)碼,如果數(shù)據(jù)有效(數(shù)碼數(shù)值不大于9),則將采集數(shù)據(jù)存入相應(yīng)內(nèi)存,并轉(zhuǎn)存到E2PROM內(nèi),即完成了位碼指定位的數(shù)據(jù)輸入,然后碼盤CPU將這組數(shù)據(jù)發(fā)送至用戶系統(tǒng)CPU,再移植到控制參數(shù)緩沖器和送顯示器顯示,提示操作者設(shè)置控制參數(shù)的大小。當(dāng)所有位設(shè)置完成后,即可完成整體數(shù)據(jù)采集。
2.3 數(shù)據(jù)輸出電路
該碼盤數(shù)據(jù)輸出由碼盤CPU通過(guò)異步通信串行接口(UART)進(jìn)行串口發(fā)送,發(fā)送和接收波特率設(shè)置為1200b/s。
為保證通信可靠性,采用對(duì)講機(jī)通信方式,碼盤CPU采集數(shù)據(jù)完畢后(接到發(fā)送命令)主動(dòng)發(fā)送呼叫口令“S”,用戶控制系統(tǒng)CPU接收口令“S”后,應(yīng)答“O”來(lái)建立通信連接。聯(lián)結(jié)建立完畢后,將設(shè)置參數(shù)從高位到低位依次連續(xù)發(fā)送3遍。用戶系統(tǒng)CPU將接收到的3組數(shù)據(jù)進(jìn)行對(duì)應(yīng)表決校驗(yàn),來(lái)確定接收數(shù)據(jù)正確性。
用戶可以根據(jù)自己需要將接收到的16位數(shù)據(jù)將進(jìn)行數(shù)據(jù)前后分組,每組數(shù)據(jù)位數(shù)和物理含義由用戶自己決定。例如在環(huán)境檢測(cè)系統(tǒng)中1~3位為環(huán)境溫度,4~5位為空氣濕度,6~8位為二氧化碳濃度,9~13位為光照強(qiáng)度,14~16位為噪聲強(qiáng)度。
3 軟件設(shè)計(jì)
本設(shè)計(jì)采用匯編語(yǔ)言編程,主要包括主程序、數(shù)據(jù)采集子程序、顯示子程序、FLASH讀/寫(xiě)子程序、串口發(fā)送/接收子程序等。
3.1 碼盤CPU主程序流程圖
碼盤CPU主程序流程圖如圖4所示。本文引用地址:http://m.butianyuan.cn/article/160992.htm
主要由系統(tǒng)初始化、E2PROM讀出、顯示,虛擬串口發(fā)送等程序模塊組成,系統(tǒng)初始化主要置更新標(biāo)志為1,其目的是系統(tǒng)從E2PROM內(nèi)讀出斷電前最后一次保存的數(shù)據(jù),顯示,并發(fā)送給用戶控制系統(tǒng)CPU,供用戶系統(tǒng)使用。
3.2 數(shù)據(jù)輸入中斷服務(wù)程序
圖5為數(shù)據(jù)輸入子程序流程圖,主要處理數(shù)據(jù)采集,并將采集到的數(shù)據(jù)存入E2PROM中。數(shù)據(jù)輸入子程序是智能碼盤程序的核心部分,其執(zhí)行過(guò)程如下:
(1)將P1的數(shù)據(jù)讀入;
(2)拆分位碼、數(shù)碼;
(3)判斷數(shù)碼數(shù)據(jù)是否合法(若數(shù)碼大于9,則視為不合法),若不合法,采樣數(shù)據(jù)無(wú)效;
(4)將位碼、數(shù)碼數(shù)據(jù)寫(xiě)入E2PROM;
(5)向用戶CPU發(fā)送。
4 應(yīng)用實(shí)例
在木材干燥過(guò)程中,需要若干個(gè)干燥階段。每個(gè)階段都需要設(shè)置干燥時(shí)間、干燥溫度以及干燥濕度。若濕度太大,木材易發(fā)霉;若溫度過(guò)高,濕度太低,木材干燥過(guò)快,易引發(fā)內(nèi)裂,所以要求控制系統(tǒng)在滿足干燥濕度的條件下,盡快達(dá)到干燥溫度,并在該干燥溫度和濕度條件下保持干燥階段時(shí)間,使木材內(nèi)的水分自然流出。
只應(yīng)用該碼盤的前10位就能滿足干燥過(guò)程參數(shù)的設(shè)置,16~13位設(shè)置干燥時(shí)間(時(shí)/分),12~10位設(shè)置干燥溫度(干球溫度),9~7位設(shè)置干燥濕度(濕球溫度)。干燥控制系統(tǒng)從串行口接收到這些干燥控制參數(shù)保存到30H~39H中,即30H~33H保存干燥時(shí)間,34H~36H保存干燥溫度,37H~39H保存干燥濕度,控制系統(tǒng)在工作時(shí),根據(jù)實(shí)際采樣溫度、濕度與這些控制設(shè)置參數(shù)比較決策是否加熱提高干燥溫度、是否噴灑蒸氣提高干燥濕度、根據(jù)實(shí)際干燥時(shí)間是否更改干燥階段等控制。
5 結(jié)語(yǔ)
經(jīng)試驗(yàn)調(diào)試證明,本文提出的方法是切實(shí)可行的,系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,穩(wěn)定性好,占用硬件接口少(只占用計(jì)算機(jī)一個(gè)串行口),當(dāng)要求輸入數(shù)據(jù)越大,數(shù)字位數(shù)越多時(shí),本方法的優(yōu)越性越明顯。
評(píng)論