- 相關(guān)推薦
單片機(jī)技術(shù)下燃?xì)鈭?bào)警器總體設(shè)計(jì)研究論文
摘 要: 燃?xì)鈭?bào)警器用來檢測(cè)燃?xì)獾男孤稘舛戎? 超過一定濃度就會(huì)產(chǎn)生報(bào)警。本文詳細(xì)介紹了基于AT89C52單片機(jī)的存儲(chǔ)系統(tǒng)以及燃?xì)鈭?bào)警器如何具體分配單片機(jī)的程序存儲(chǔ)和數(shù)據(jù)存儲(chǔ)。通過工程設(shè)計(jì)的過程理解單片機(jī)的存儲(chǔ)原理, 使理論與實(shí)踐有機(jī)結(jié)合, 為同類型的單片機(jī)應(yīng)用系統(tǒng)開發(fā)提供方法和實(shí)踐經(jīng)驗(yàn)。
關(guān)鍵詞:燃?xì)鈭?bào)警; 單片機(jī); 存儲(chǔ)器分配;
0、引言
隨著計(jì)算機(jī)技術(shù)的發(fā)展, 人們對(duì)計(jì)算機(jī)的要求越來越高。在計(jì)算機(jī)的大家族中, 單片微型計(jì)算機(jī)發(fā)展十分迅速, 滲透到電子設(shè)計(jì)領(lǐng)域的各個(gè)方面, 進(jìn)入智能控制領(lǐng)域, 因此開創(chuàng)了控制新局面。
在工業(yè)控制領(lǐng)域, 人們對(duì)計(jì)算機(jī)提出了控制要求。首先, 能夠面向控制對(duì)象, 便于進(jìn)行控制變量的輸入/輸出, 其次, 體積盡量小, 能夠嵌入控制系統(tǒng)內(nèi)部, 能適應(yīng)工業(yè)現(xiàn)場(chǎng)較為惡劣的工作環(huán)境, 并且具有豐富的用于控制的指令系統(tǒng)和I/O接口等。單片機(jī)系統(tǒng)能很好地滿足這些控制要求, 成為工業(yè)測(cè)控系統(tǒng)中最為理想的控制系統(tǒng)[1]。
燃?xì)鈭?bào)警器的氣體探測(cè)器準(zhǔn)確性高, 遇到燃?xì)庑孤┑揭欢舛葧r(shí), 可以顯示燃?xì)庑孤┝? 自動(dòng)切斷燃?xì)忾y, 發(fā)出聲光報(bào)警, 啟動(dòng)排風(fēng)扇, 這樣可以有效防止因燃?xì)膺^量泄露造成人員和財(cái)產(chǎn)的傷害。當(dāng)燃?xì)庑孤⿻r(shí), 能夠完成以上功能, 燃?xì)鈭?bào)警器通常會(huì)有以下功能模塊:LED顯示模塊、聲光報(bào)警模塊、排氣扇模塊、鍵盤模塊、通信模塊等。
1、 燃?xì)鈭?bào)警器的功能
燃?xì)鈭?bào)警器根據(jù)傳感器探頭采集數(shù)據(jù), 主要有兩方面功能。
(1) 燃?xì)庑孤毒榈奶幚。安裝在樓宇公寓各防區(qū)的燃?xì)庑孤└袘?yīng)器 (探頭) , 在有燃?xì)庑孤┌l(fā)生時(shí)產(chǎn)生輸出脈沖, 該脈沖經(jīng)過波形整形為矩形波之后經(jīng)過燃?xì)饪刂破髋袛嗵幚? 顯示泄漏燃?xì)饬? 同時(shí)伴有聲光報(bào)警, 報(bào)警器自動(dòng)關(guān)閉燃?xì)忾y, 啟動(dòng)排風(fēng)扇, 同時(shí)發(fā)送信息給用戶或中央監(jiān)控室。
(2) 燃?xì)獗砗挠昧康淖x取。安裝在樓宇公寓中的燃?xì)獗沓擞糜诔R?guī)的顯示功能之外, 每個(gè)表都配備了脈沖輸出功能。隨著用戶對(duì)燃?xì)獾南M(fèi), 按照單位計(jì)量比例輸出相應(yīng)的脈沖信號(hào)。脈沖信號(hào)經(jīng)過波形整形處理為矩形波后作為計(jì)數(shù)脈沖, 燃?xì)鈭?bào)警器通過實(shí)時(shí)采樣計(jì)數(shù)脈沖獲得表的消耗量。
2、 燃?xì)鈭?bào)警器總體設(shè)計(jì)
根據(jù)應(yīng)用系統(tǒng)所要實(shí)現(xiàn)的功能, 規(guī)劃出由硬件和軟件實(shí)現(xiàn)的功能部分。根據(jù)燃?xì)鈭?bào)警器的主要功能, 規(guī)劃對(duì)整體功能的設(shè)計(jì)。燃?xì)鈭?bào)警器的功能框圖如圖1所示。
圖1 燃?xì)鈭?bào)警器的功能框圖Fig.1 Functional block diagram of gas alarm
燃?xì)鈭?bào)警器主要由單片機(jī)擴(kuò)展了兩組信號(hào)輸入:燃?xì)庑孤┟}沖采集、燃?xì)庀牧坎杉?通信接口電路:可以及時(shí)發(fā)送信息給用戶或中控室;鍵盤:用戶可以設(shè)置基本功能;LCD顯示器:顯示泄漏量和消耗量;E2PROM 24C16:掉電保護(hù)信息和基本信息的存儲(chǔ)等。
(1) 由于燃?xì)獗硐牧亢腿細(xì)庑孤┝枯敵龆际敲}沖量, 所以燃?xì)饪刂破髦苯訉?duì)燃?xì)獗硐牧亢腿細(xì)?(探頭) 泄漏量脈沖輸出信號(hào)進(jìn)行采集, 從而避免了在燃?xì)饪刂破髦靼迳鲜褂肁/D轉(zhuǎn)換接口。利用單片機(jī)89C52的P1口作為燃?xì)獗砻}沖和報(bào)警脈沖信號(hào)的共同輸入通道, 燃?xì)獗砻}沖和燃?xì)庑孤┟}沖信號(hào)分別通過斯密特觸發(fā)器波形整形和74LS244緩沖器進(jìn)入CPU。這里分別用P3.4 (定時(shí)器T0的外部輸入) 和P3.5 (定時(shí)器T1的外部輸入) 口線作為分時(shí)有效使能端。
(2) 采用虛擬串行總線技術(shù)。LCD液晶顯示器和8K E2PROM 24C16用單片機(jī)I/O口線擴(kuò)展了串行接口器件, 采用了虛擬串行總線技術(shù)。用24C16存放有關(guān)初始化信息、燃?xì)獗淼南牧亢腿細(xì)庑孤┝恳约爸匾某跏蓟畔ⅰCD液晶顯示模塊, 內(nèi)置顯示RAM和驅(qū)動(dòng)控制器, 通過串行方法與單片機(jī)AT89C52相連。
(3) 通過單片機(jī)的P0口線串行擴(kuò)展了簡(jiǎn)易鍵盤, 實(shí)現(xiàn)人機(jī)交互。P0口作為普通的I/O使用時(shí), 輸出是漏極開路電路, 故需要外接上拉電阻5~10 KΩ左右才能正常工作。
(4) 通過無(wú)線轉(zhuǎn)換完成電平轉(zhuǎn)換與無(wú)線通信網(wǎng)絡(luò)連接。
3、 單片機(jī)的存儲(chǔ)分配
51系列單片機(jī)的存儲(chǔ)器在物理結(jié)構(gòu)上分為程序存儲(chǔ)器空間和數(shù)據(jù)存儲(chǔ)器空間, 共有4個(gè)存儲(chǔ)空間:片內(nèi)程序存儲(chǔ)器和片外程序存儲(chǔ)器空間, 片內(nèi)數(shù)據(jù)存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器空間[2]。4個(gè)存儲(chǔ)空間與其物理地址的對(duì)應(yīng)關(guān)系如圖2所示。
圖2 MSC-51單片機(jī)的存儲(chǔ)器分配Fig.2 Memory allocation for MSC-51 single-chip computer
AT89C52 (簡(jiǎn)稱89C52) 是美國(guó)ATMEL公司生產(chǎn)的低電壓、高性能CMOS 8位單片機(jī), 片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器 (RAM) 。
(1) 數(shù)據(jù)存儲(chǔ)器 (RAM) 。數(shù)據(jù)存儲(chǔ)器片內(nèi)為256個(gè)字節(jié), 片外最多可外擴(kuò)64K字節(jié)。
(2) 程序存儲(chǔ)器 (Flash) 。程序存儲(chǔ)器用來存儲(chǔ)程序。89C52片內(nèi)有8K字節(jié)的Flash存儲(chǔ)器, 如果片內(nèi)的程序存儲(chǔ)器的容量不夠, 片外最多可外擴(kuò)程序存儲(chǔ)器64K字節(jié)。
(3) 特殊功能寄存器 (SFR) 。特殊功能寄存器共有21個(gè), 用于CPU對(duì)片內(nèi)各種功能部件進(jìn)行管理、控制和監(jiān)視。這些特殊功能寄存器映射在片內(nèi)RAM區(qū)80H-FFH的地址區(qū)間內(nèi)。
程序是給微處理器處理問題的一系列命令, 是由機(jī)器碼組成的代碼串, 設(shè)計(jì)人員編寫的程序就存放在程序存儲(chǔ)器中, 俗稱只讀程序存儲(chǔ)器 (ROM) 。相應(yīng)的數(shù)據(jù)放到數(shù)據(jù)存儲(chǔ)器中[3]。
4、 燃?xì)鈭?bào)警器數(shù)據(jù)空間的分配
4.1、 燃?xì)鈭?bào)警器數(shù)據(jù)存儲(chǔ)空間的分配
根據(jù)89C52單片機(jī)的數(shù)據(jù)存儲(chǔ)空間, 數(shù)據(jù)區(qū)域如果不擴(kuò)展片外RAM, 則片內(nèi)RAM能夠利用的空間只有:
高128字節(jié)的80H~FFH的間接存儲(chǔ)空間
低128字節(jié)中20H~2FH的位存儲(chǔ)區(qū), 30H~7FH字節(jié)存儲(chǔ)區(qū)
根據(jù)可以利用的片內(nèi)RAM, 燃?xì)鈭?bào)警器的存儲(chǔ)空間分配如下:
4.1.1、 高128字節(jié)間接存儲(chǔ)地址分配
高128B數(shù)據(jù)區(qū)和特殊功能寄存器區(qū)的地址空間是重疊的, 高128B的直接尋址寄存器被用作特殊功能寄存器區(qū), 只有間接尋址的寄存器能夠用來存儲(chǔ)數(shù)據(jù)。在燃?xì)鈭?bào)警器中, 80H—FFH間接存儲(chǔ)的數(shù)據(jù)分配見表1。
表1 80H~0FFH間接存儲(chǔ)地址的分配Tab.1 Allocation of indirect storage addresses from 80H to 0FFH
匯編語(yǔ)言定義如下
4.1.2、 20H~2FH位寄存器地址分配
在片內(nèi)寄存器低128B根據(jù)不同的尋址方式又分為00H~FH為工作寄存器區(qū), 20H~2FH為位尋址區(qū), 燃?xì)鈭?bào)警器進(jìn)行位操作的數(shù)據(jù)存到20H~2FH位寄存器區(qū), 分配見表2。
表2 20H~2FH位寄存器分配Tab.2 Allocation of 20H~2FH bit registers
匯編語(yǔ)言定義如下:
4.1.3、 30H~7FH通用寄存器地址分配
通用寄存器在燃?xì)鈭?bào)警器中定義見表3。
4.2、 燃?xì)鈭?bào)警器程序存儲(chǔ)器的分配
整個(gè)程序存儲(chǔ)器分為片內(nèi)和片外兩部分, 尋址范圍分別為64KB, 燃?xì)鈭?bào)警器只用到了片內(nèi)程序存儲(chǔ)器。程序存儲(chǔ)器中除了存儲(chǔ)運(yùn)行程序之外還將常用表格固化到程序存儲(chǔ)器中[4]。
4.3、 燃?xì)鈭?bào)警器存儲(chǔ)空間的擴(kuò)展
電可擦除可編程的只讀存儲(chǔ)器E2PROM 24C16 (ELECTRICALLY ERASABLE PROGRAMMABLE READ-ONLY M EM ORY) 具有如下特點(diǎn):在線改寫數(shù)據(jù)和自動(dòng)擦除功能;斷電時(shí), 數(shù)據(jù)不會(huì)丟失;輸入輸出口與TTL兼容;片內(nèi)編程電壓發(fā)生器, 可以產(chǎn)生擦除和寫入操作時(shí)所需的電壓;片內(nèi)控制和定時(shí)發(fā)生器可控制擦除和寫入操作;具有整體編程允許和截止功能, 以增強(qiáng)數(shù)據(jù)的保護(hù)能力;具有二線串行接口, 可以在I2C上做從器件使用[5]。
5、 結(jié)束語(yǔ)
燃?xì)鈭?bào)警器數(shù)據(jù)采集監(jiān)控系統(tǒng)采用AT89C52設(shè)計(jì), 通過項(xiàng)目更好理解燃?xì)鈭?bào)警器存儲(chǔ)分配的原理和開發(fā)過程;趩纹瑱C(jī)設(shè)計(jì)的燃?xì)鈭?bào)警器, 在面向控制方面, 具有功能完善、穩(wěn)定可靠、體積小、價(jià)格低廉等優(yōu)點(diǎn), 被樓宇和住宅等地方采用, 已達(dá)到良好的效果。
參考文獻(xiàn):
[1]趙建領(lǐng), 薛園園. 51單片機(jī)開發(fā)與應(yīng)用技術(shù)詳解[M].北京:電子工業(yè)出版社, 2009.
[2]吳險(xiǎn)峰.51單片機(jī)項(xiàng)目教程 (C語(yǔ)言版) [M].北京:人民郵電出版社, 2016.
[3]王元一, 石永生, 趙金龍.單片機(jī)接口技術(shù)與應(yīng)用 (C51編程) [M].北京:清華大學(xué)出版社, 2014.
[4]唐繼賢.51單片機(jī)應(yīng)用系統(tǒng)開發(fā)實(shí)例精解 (C語(yǔ)言) [M].上海:上?茖W(xué)技術(shù)出版社, 2012.
[5]李朝青.單片機(jī)原理及串行外設(shè)接口技術(shù)[M].北京:北京航空航天大學(xué)出版社, 2008.
【單片機(jī)技術(shù)下燃?xì)鈭?bào)警器總體設(shè)計(jì)研究論文】相關(guān)文章:
PIC單片機(jī)控制點(diǎn)陣LED顯示技術(shù)研究工學(xué)論文04-30
基于單片機(jī)的交流源轉(zhuǎn)換直流源研究的論文04-27
多媒體技術(shù)課題研究論文03-02
訓(xùn)練模擬器總體設(shè)計(jì)技術(shù)及應(yīng)用04-26
現(xiàn)代教育技術(shù)下計(jì)算機(jī)教學(xué)模式研究論文(通用10篇)09-28