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