片機(jī)系統(tǒng)運(yùn)行參數(shù)的保存及有效性判別
【摘 要】 對(duì)單片機(jī)控制系統(tǒng)運(yùn)行參數(shù)有效性的判別方法進(jìn)行了介紹,并對(duì)系統(tǒng)運(yùn)行參數(shù)如何實(shí)現(xiàn)保存進(jìn)行了探討。同時(shí)給出了存儲(chǔ)過(guò)程中的數(shù)據(jù)校驗(yàn)和運(yùn)行參數(shù)的取值范圍檢驗(yàn)過(guò)程。
關(guān)鍵詞:?jiǎn)纹瑱C(jī),運(yùn)行參數(shù),數(shù)據(jù)校驗(yàn),取值范圍
1 引 言
在單片機(jī)構(gòu)成的控制系統(tǒng)中,系統(tǒng)控制時(shí)需要使用和保存已經(jīng)設(shè)置或優(yōu)化的參數(shù)。如果將運(yùn)行參數(shù)僅僅存儲(chǔ)于單片機(jī)的RAM區(qū)中,則系統(tǒng)在掉電或重啟時(shí)將會(huì)丟失這些重要參數(shù),不能正常運(yùn)行。為了解決上述問(wèn)題,保證控制系統(tǒng)正常、可靠地運(yùn)行,需要將這些運(yùn)行參數(shù)保存在足夠容量的電可擦除存儲(chǔ)器(EEPROM)中。在寫(xiě)入或讀出EEPROM中的數(shù)據(jù)時(shí),為保證數(shù)據(jù)操作的正確性,則需要進(jìn)行數(shù)據(jù)校驗(yàn)。在系統(tǒng)運(yùn)行這些參數(shù)之前,為檢查運(yùn)行參數(shù)的取值是否在許可范圍之內(nèi),則需要進(jìn)行參數(shù)取值范圍的檢驗(yàn)。本文結(jié)合作者開(kāi)發(fā)的電梯轎廂門機(jī)控制系統(tǒng),來(lái)詳細(xì)討論參數(shù)保存和校驗(yàn)的設(shè)計(jì)及實(shí)現(xiàn)。
2 系統(tǒng)運(yùn)行參數(shù)的存儲(chǔ)
在單片機(jī)組成的控制系統(tǒng)中,系統(tǒng)設(shè)置的運(yùn)行參數(shù)是系統(tǒng)正常運(yùn)行所必須使用的,既要保證運(yùn)行參數(shù)的可修改性,又要保證運(yùn)行參數(shù)在系統(tǒng)停機(jī)或掉電的情況下能夠正確保存,因而運(yùn)行參數(shù)應(yīng)保存在電可擦除存儲(chǔ)器(EEPROM)中。根據(jù)參數(shù)個(gè)數(shù)的多少,決定所使用EEPROM的存儲(chǔ)容量。例如,在本文的單片機(jī)系統(tǒng)中,電梯轎廂門機(jī)控制運(yùn)行所需要的參數(shù)有:門寬參數(shù)、有無(wú)光電檢測(cè)、輸出保持力矩、開(kāi)門加速步頻、關(guān)門加速步頻、開(kāi)門減速步頻、關(guān)
門減速步頻、工作計(jì)數(shù)器等,設(shè)計(jì)中要求存儲(chǔ)的參數(shù)共需28個(gè)字節(jié),再加上一個(gè)字節(jié)校驗(yàn)和,所以選用32字節(jié)容量的EEPROM。Xicro公司的X24C44能滿足上述可修改性和容量的要求。
2.1 EPROM芯片簡(jiǎn)介及硬件組成
電可擦除存儲(chǔ)芯片X24C44是一個(gè)八引腳的芯片,其內(nèi)部有存儲(chǔ)矩陣和RAM兩個(gè)存儲(chǔ)區(qū),外部引腳的功能如圖1所示。芯片各引腳的功能為:CE為芯片使能引腳;Vcc及Vss為電源引腳;電壓為+5V;SK是讀寫(xiě)X24C44數(shù)據(jù)時(shí)所用到的外部時(shí)鐘同步信號(hào);DI為命令或數(shù)據(jù)串行輸入X24C44的信號(hào)引腳;DO為X24C44數(shù)據(jù)串行輸出的信號(hào)引腳;STORE為低電平時(shí),允許將EEPROM中RAM的內(nèi)容保存到存儲(chǔ)矩陣;RECALL為低電平時(shí),允許將EEPROM的存儲(chǔ)矩陣的內(nèi)容傳送到EEPROM的RAM中。
對(duì)X24C44的讀寫(xiě)操作是串行數(shù)據(jù)操作,其讀時(shí)序如圖2所示。結(jié)合圖2中的讀時(shí)序,讀出 X24C44中某兩字節(jié)的數(shù)據(jù)操作為:芯片的使能引腳CE為高電平,在時(shí)鐘SK信號(hào)的同步下,先向X24C44的數(shù)據(jù)串行輸入引腳DI送讀出兩字節(jié)的命令1AAAA11X(其中AAAA為要讀出的起始地址,X表示X24C44對(duì)該值忽略),數(shù)據(jù)串行輸出引腳在第9個(gè)時(shí)鐘由高阻態(tài)轉(zhuǎn)為數(shù)據(jù)串行輸出,16個(gè)比特為一個(gè)讀出內(nèi)容,通過(guò)將CE信號(hào)置為低電平,先關(guān)閉芯片的讀出數(shù)據(jù)操作。
按照向X24C44寫(xiě)入兩字節(jié)內(nèi)容的時(shí)序,寫(xiě)入兩字節(jié)數(shù)據(jù)的操作類似于讀出操作過(guò)程。
X24C44采用串行讀寫(xiě)數(shù)據(jù),其與單片機(jī)的接線簡(jiǎn)單,除了片選信號(hào)CE外,只要與單片機(jī)的三根I/O引腳相連即可,作用為時(shí)鐘CLK,數(shù)據(jù)輸入DI,數(shù)據(jù)輸出DO,其中DO引腳要接一個(gè)10kΩ的上拉
電阻。硬件電路接線如圖3所示。
2.2 EEPROM讀寫(xiě)的實(shí)現(xiàn)
控制系統(tǒng)中所采用的是51系列單片機(jī),其中讀寫(xiě)子程序設(shè)計(jì)用匯編也較容易 實(shí)現(xiàn)結(jié)構(gòu)化編程。根據(jù)X24C44的時(shí)序和操作過(guò)程,下面給出讀出EEPROM中數(shù)據(jù)的匯編子程序。單片機(jī)將數(shù)據(jù)寫(xiě)入EEPROM的過(guò)程與讀出過(guò)程相類似。讀出EEPROM中數(shù)據(jù)的匯編子程序如下:
read:push psw;讀數(shù)據(jù)子程序入口
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開(kāi)關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論