關(guān)鍵詞:微控制器,自動(dòng)存儲(chǔ),液晶顯示
1 引 言
在工業(yè)控制和自動(dòng)測(cè)量領(lǐng)域,經(jīng)常希望對(duì)所測(cè)得的結(jié)果進(jìn)行自動(dòng)處理、存儲(chǔ)記錄,使其不受斷電等影響,如用于記錄與顯示織布長(zhǎng)度、故障指示等的紡織數(shù)控織機(jī)、用于記錄電、煤氣等的各種儀表、汽車(chē)計(jì)價(jià)器等。本文介紹一種為數(shù)控織機(jī)設(shè)計(jì)的碼表,它可通過(guò)RS232接口與控制主板進(jìn)行數(shù)據(jù)通訊,能實(shí)時(shí)處理、顯示主機(jī)的開(kāi)機(jī)時(shí)間、工作時(shí)間、工作效率、主機(jī)轉(zhuǎn)速,能實(shí)時(shí)統(tǒng)計(jì)并顯示故障次數(shù)、故障原因、織布布長(zhǎng),按設(shè)定落布布長(zhǎng)輸出落布停車(chē)信號(hào)等。具體功能為:
·能方便地進(jìn)行落布布長(zhǎng)、緯密、經(jīng)長(zhǎng)、工作班次等的設(shè)定;
·能快速地完成米/碼、碼/米、英寸/厘米、厘米/英寸等的轉(zhuǎn)換;
·能方便地實(shí)現(xiàn)各班次工作時(shí)間、效率等的轉(zhuǎn)換、保存;
·能實(shí)時(shí)顯示、記錄織機(jī)開(kāi)機(jī)時(shí)間、運(yùn)轉(zhuǎn)時(shí)間、工作效率;
·能實(shí)時(shí)統(tǒng)計(jì)、顯示、記錄停車(chē)次數(shù)、停車(chē)原因,實(shí)時(shí)顯示主機(jī)轉(zhuǎn)速;
·能實(shí)時(shí)統(tǒng)計(jì)、記錄織機(jī)的織布長(zhǎng)度,當(dāng)累計(jì)布長(zhǎng)等于設(shè)定落布布長(zhǎng)時(shí),通過(guò)RS232接口發(fā)出落布停車(chē)信號(hào)。
該碼表主要由AT89C52微處理器、X24C45串行SRAM、RS232轉(zhuǎn)換電路MAX202E、LCD顯示控制模塊MDLS16265B、鍵盤(pán)控制電路等構(gòu)成。
2 主要器件簡(jiǎn)介
2.1 AT89C52簡(jiǎn)介
AT89C52是ATMEL公司生產(chǎn)的低功耗、高性能8位微控制器,它內(nèi)部具有8K字節(jié)的Flash存儲(chǔ)器、256×8Bit RAM、32個(gè)可編程輸入/輸出端口、3個(gè)16位定時(shí)/計(jì)數(shù)器、8個(gè)中斷源、存儲(chǔ)器具有1000次可寫(xiě)/擦壽命、可編程串行輸入/輸出端口、最高工作頻率24MHz。由于89C52內(nèi)部具有2K字節(jié)的Flash存儲(chǔ)器和256字節(jié)的RAM,這就使它無(wú)需其它外圍芯片,就可構(gòu)成一個(gè)獨(dú)立的小系統(tǒng),從而被廣泛應(yīng)用于各種儀表。
2.2 X24C45簡(jiǎn)介
X24C45是XICOR公司生產(chǎn)的串行SRAM,其內(nèi)部包含256位的RAM和256位的EEPROM,且RAM和EEPROM陣列位對(duì)位重疊。X24C45上電時(shí),數(shù)據(jù)可自動(dòng)從EEPROM調(diào)到SRAM中,系統(tǒng)在正常工作時(shí),數(shù)據(jù)存放在SRAM中,對(duì)5V供電系統(tǒng)而言,當(dāng)電源電壓降到4.0~4.3V時(shí),數(shù)據(jù)開(kāi)始自動(dòng)從SRAM中保存到EEPROM中,當(dāng)電源電壓降到3.5V以下時(shí),將不能繼續(xù)數(shù)據(jù)存儲(chǔ)操作;為了保證數(shù)據(jù)能夠可靠存入EEPROM,必需有5ms的存儲(chǔ)時(shí)間。
X24C45為8腳DIP/SOIC封裝,其中CE腳為片選輸入;SK腳為串行時(shí)鐘輸入;DI為數(shù)據(jù)輸入;DO為數(shù)據(jù)輸出;VCC為電源供電;VSS為接地;/RECALL為調(diào)用輸入端,可以用單片機(jī)的一個(gè)輸入/輸出口來(lái)控制;/AS為漏極開(kāi)路輸出端,它有效時(shí)表示VCC已降至自動(dòng)存儲(chǔ)門(mén)限之下,它可和多個(gè)漏極開(kāi)路/AS輸出端線(xiàn)連接,并可用作微控制器中斷輸入或作低功率復(fù)位電路的輸入。X24C45內(nèi)部有一個(gè)8位的指令寄存器,可通過(guò)DI輸入端對(duì)它進(jìn)行訪(fǎng)問(wèn),數(shù)據(jù)在SK的上升沿由時(shí)鐘同步輸入,在整個(gè)數(shù)據(jù)操作期間,CE必須為高電平。對(duì)X24C45的操作包括寫(xiě)指令、讀指令、用程序進(jìn)行數(shù)據(jù)存儲(chǔ)和掉電數(shù)據(jù)自動(dòng)存儲(chǔ)、上電數(shù)據(jù)自動(dòng)調(diào)用與用程序進(jìn)行數(shù)據(jù)調(diào)用。
2.3 MAX202E簡(jiǎn)介
MAX202E是MAXIM公司生產(chǎn)的RS232接口芯片,其最高數(shù)據(jù)傳送速率為120kbps,其各端口可承受的ESD電壓為15kV,其正常工作電壓為單一+5V供電。
2.4 MDLS16265B模塊簡(jiǎn)介
MDLS16265B液晶顯示模塊由點(diǎn)陣LCD、控制電路HD44780、驅(qū)動(dòng)電路等構(gòu)成,具有體輕、體薄、微功耗、功能豐富、通用性強(qiáng)、可與微處理器和微處理機(jī)直接接口的特點(diǎn)。它可顯示二行5×7或5×11點(diǎn)陣字符;其內(nèi)存字符發(fā)生器ROM可顯示192種字符、數(shù)字、符號(hào),并具有可自編點(diǎn)陣字符的字符發(fā)生器RAM;它可直接與4位或8位微處理器MPU接口;它具有豐富的指令功能,包括清屏、光標(biāo)的設(shè)置/移位/開(kāi)關(guān)/閃爍、顯示行數(shù)及字符規(guī)格的設(shè)置、數(shù)據(jù)讀/寫(xiě)、接口設(shè)置等。
3 硬件電路工作原理
所設(shè)計(jì)的數(shù)字碼表電原理圖如圖1所示。它由微控制器、RS232接口電路、串行SRAM數(shù)據(jù)存儲(chǔ)電路、鍵盤(pán)與LCD顯示控制電路、電源變換電路等構(gòu)成。
MAX202E及其外圍器件構(gòu)成RS232接口轉(zhuǎn)換電路,完成RS232信號(hào)與TTL信號(hào)電平互相轉(zhuǎn)換的功能。其一將主機(jī)輸入的RS232信號(hào)轉(zhuǎn)換為T(mén)TL信號(hào),輸?shù)轿⒖刂破鞯拇休斎攵?;其二將微控制器輸出的TTL信號(hào)轉(zhuǎn)換為RS232信號(hào),輸出到主機(jī)。AT89C52微處理器的功能包括:作為定時(shí)器,產(chǎn)生實(shí)時(shí)時(shí)鐘信號(hào),用于統(tǒng)計(jì)開(kāi)機(jī)時(shí)間、實(shí)際正常運(yùn)轉(zhuǎn)時(shí)間及工作效率;響應(yīng)串行中斷信號(hào),實(shí)時(shí)處理來(lái)自主機(jī)的各種數(shù)據(jù)信號(hào),實(shí)時(shí)統(tǒng)計(jì)主機(jī)運(yùn)轉(zhuǎn)速度、轉(zhuǎn)速、織布長(zhǎng)度、故障次數(shù)、故障部位等;實(shí)時(shí)響應(yīng)來(lái)自鍵盤(pán)的外部中斷信號(hào),完成鍵盤(pán)操作功能,該碼表有6個(gè)開(kāi)關(guān),分別為‘模式’、‘復(fù)位’、‘↑’‘↓’‘→’‘←’,其中‘模式’開(kāi)關(guān)實(shí)現(xiàn)LCD顯示器顯示畫(huà)面的切換,‘復(fù)位’開(kāi)關(guān)實(shí)現(xiàn)功能復(fù)位,‘→’、‘←’開(kāi)關(guān)實(shí)現(xiàn)光標(biāo)的左右移動(dòng),‘↑’‘↓’關(guān)實(shí)現(xiàn)參數(shù)的設(shè)置;輸出LCD顯示所需的數(shù)據(jù);實(shí)現(xiàn)對(duì)LCD背景光顯示時(shí)間的控制,當(dāng)P1.0輸出高電平信號(hào)時(shí),D2導(dǎo)通,LCD背景光電路工作;實(shí)現(xiàn)對(duì)處理數(shù)據(jù)的存儲(chǔ),當(dāng)電源電壓降到4.0~4.3V期間,自動(dòng)將數(shù)據(jù)保存到X24C45中的EEPROM中,在斷電時(shí),D2、C12用來(lái)延遲電壓的跌落速度,以保證X24C45有足夠的數(shù)據(jù)存儲(chǔ)時(shí)間。74HC540用于實(shí)現(xiàn)LCD和鍵盤(pán)對(duì)P0口的共享,當(dāng)G信號(hào)為高電平時(shí),P0口接收來(lái)自鍵盤(pán)的中斷響應(yīng)信號(hào),暫停輸出LCD顯示所需的數(shù)據(jù);當(dāng)G為低電平時(shí),P0口停止對(duì)鍵盤(pán)的中斷響應(yīng),輸出LCD顯示所需的數(shù)據(jù)。
4 軟件設(shè)計(jì)簡(jiǎn)介
為了完成該碼表的功能,所設(shè)計(jì)的軟件由定時(shí)子程序、串口中斷子程序、鍵盤(pán)中斷與功能切換子程序、參數(shù)設(shè)置子程序、數(shù)據(jù)處理和故障判斷與統(tǒng)計(jì)子程序、各種計(jì)算子程序、LCD顯示與數(shù)據(jù)傳送子程序、微處理器將數(shù)據(jù)寫(xiě)入X24C45的EEPROM與從X24C45的EEPROM中將數(shù)據(jù)讀出子程序等。其工作流程如圖2所示,下面簡(jiǎn)要地予以介紹。
接通電源后,X24C45自動(dòng)將EEPROM中的數(shù)據(jù)傳送到對(duì)應(yīng)的SRAM中,微控制器完成初始化后,調(diào)用存儲(chǔ)在X24C45中上次斷電時(shí)的數(shù)據(jù),并將其傳送到LCD顯示器,即恢復(fù)上次斷電時(shí)的記錄;然后,依次判斷是否有定時(shí)中斷、串行中斷、鍵盤(pán)中斷及電源斷電等。如果有定時(shí)中斷,則執(zhí)行定時(shí)中斷子程序,對(duì)主機(jī)開(kāi)機(jī)時(shí)間、有效工作時(shí)間及工作效率進(jìn)行計(jì)算,并更新LCD顯示內(nèi)容。當(dāng)有串行中斷時(shí),執(zhí)行串行中斷子程序,接收并處理主機(jī)傳送來(lái)的各種數(shù)據(jù),包括速度的判斷、織布長(zhǎng)度的計(jì)算、故障部位的判斷與統(tǒng)計(jì)、是否到落布長(zhǎng)度的判斷、如織布長(zhǎng)度等于設(shè)置的落布長(zhǎng)度則發(fā)出落布停車(chē)信號(hào)等。當(dāng)有鍵盤(pán)中斷時(shí),程序調(diào)用鍵盤(pán)中斷子程序,完成顯示畫(huà)面的切換、參數(shù)的設(shè)置等功能。當(dāng)判斷有電源電壓跌落時(shí),優(yōu)先執(zhí)行數(shù)據(jù)存儲(chǔ)子程序,將有用的、需記錄保持的數(shù)據(jù)存儲(chǔ)到X24C45中的EEPROM。
5 結(jié)束語(yǔ)
此數(shù)字碼表具有硬件結(jié)構(gòu)簡(jiǎn)單、成本低、軟件功能強(qiáng)、操作簡(jiǎn)單、抗干擾能力強(qiáng)等優(yōu)點(diǎn),現(xiàn)已批量生產(chǎn)。其工作電壓為12V,功耗小于0.2W,串行通訊數(shù)據(jù)的誤碼率小于10-6,LCD數(shù)據(jù)更新時(shí)間0.5s,鍵盤(pán)響應(yīng)時(shí)間小于200ms,接口承受ESD試驗(yàn)電壓大于8kV,通過(guò)EMC試驗(yàn)。對(duì)此碼表的軟件進(jìn)行修改,增加相應(yīng)的傳感器,就可實(shí)現(xiàn)數(shù)據(jù)的采集與傳輸任務(wù),將所采集的數(shù)據(jù)通過(guò)RS232送PC進(jìn)行處理;同樣,對(duì)軟件進(jìn)行修改,就可實(shí)現(xiàn)對(duì)工控設(shè)備的控制,它可按鍵盤(pán)預(yù)設(shè)狀態(tài)實(shí)現(xiàn)控制功能,也可通過(guò)串口接收PC指令,實(shí)現(xiàn)對(duì)工控設(shè)備的控制
評(píng)論