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