【正文】
ses to external memory. This pin is also the program pulse input (PROG) during Flash programming. In normal operation, ALE is emitted at a constant rate of 1/6 the oscillator frequency and may be used for external timing or clocking desired, ALE operation can be disabled by setting bit 0 of SFR location 8EH. With the bit set, ALE is active only during a MOVX or MOVC instruction. Otherwise, the pin is weakly pulled high. Setting the ALEdisable bit has no effect if the microcontroller is in external execution mode. PSEN Program Store Enable (PSEN) is the read strobe to external program memory. When the STC89C52 is executing code from external program memory, PSEN is activated twice each machine cycle, except that two PSEN activations are skipped during each access to external data memory. EA/VPP External Access Enable. EA must be strapped to GND in order to enable the device to fetch code from external program memory locations starting at 0000H up to FFFFH. Note, however, that if lock bit 1 is programmed, EA will be internally latched on reset. EA should be strapped to VCC for internal program executions. This pin also receives the 12volt programming enable voltage (VPP) during Flash programming. XTAL1 Input to the inverting oscillator amplifier and input to the internal clock operating circuit. XTAL2 Output from the inverting oscillator amplifier. 齊齊哈爾大學(xué)畢業(yè)設(shè)計(jì)(論文) 38 譯文: STC89C52 數(shù)據(jù)手冊 功能特性描述 STC89C52 是一種低功耗、高性能 CMOS8 位微控制器,具有 8K 在系統(tǒng)可編程 Flash 存儲(chǔ)器。 本次設(shè)計(jì)的可燃性氣體報(bào)警控制警器靈敏度高,在測量范圍內(nèi)具有較理想的特性,適用于低流速的可燃性氣體測量。根據(jù)設(shè)計(jì)要求、使用環(huán)境、成本等因素,選用 MQ2氣體傳感器。單一的軟件或是硬件的調(diào)試通過了并不能驗(yàn)證總的方案的可行性。對應(yīng)進(jìn)行編程調(diào)試時(shí),分為兩個(gè)步驟:第一,對其進(jìn)行初始化齊齊哈爾大學(xué)畢業(yè)設(shè)計(jì) (論文 ) 31 (即寫入命令控制字,最好定義為輸出方式) 。應(yīng)該利用軟件編程的方法來實(shí)現(xiàn)。 齊齊哈爾大學(xué)畢業(yè)設(shè)計(jì)(論文) 30 排除電源故障 在通電前,一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞。 排除邏輯故障 這類故障往往由于設(shè)計(jì)和加工制板過程中工藝性錯(cuò)誤所造成的。 齊齊哈爾大學(xué)畢業(yè)設(shè)計(jì) (論文 ) 29 5 系統(tǒng)調(diào)試 硬件的調(diào)試 在單片機(jī)開發(fā)過程中,從硬件設(shè)計(jì)到軟件設(shè)計(jì) 都需要做到準(zhǔn)確無誤。 16位 定 點(diǎn) 除 法求 出 Y 2=Z/X 1求 出 Y 濾 =Y 2+Y 下將 Y 濾 進(jìn) 行 十 六 進(jìn) 制 到 十 進(jìn)制 轉(zhuǎn) 化 并 送 至 顯 示 子 程 序 圖 43 線性化處理子程序流程圖 十六進(jìn)制轉(zhuǎn)化十進(jìn)制子程序設(shè)計(jì) 經(jīng)過線性化處理后的濃度是十六進(jìn)制的,而 LED 顯 示的濃度 是 十 進(jìn)制 的,所以要進(jìn)齊齊哈爾大學(xué)畢業(yè)設(shè)計(jì)(論文) 24 行 十六進(jìn)制轉(zhuǎn)化十進(jìn)制 子程序處理 ,再送入顯示子程序。流程圖如圖 42所示。在程序的編寫過程中,加入了詳細(xì)的文字注釋,以便于后期的改進(jìn)與維護(hù)。 STC89C52FET仿真工具的功能主要是將由 PC機(jī)打印機(jī)接口來的 8位并行數(shù)據(jù)與來自JTAG接口的串行數(shù)據(jù)進(jìn)行相互轉(zhuǎn)換,以實(shí)現(xiàn) PC機(jī)與 STC89C52芯片中的 JTAG接 口 的通訊。由于數(shù)碼管內(nèi)是沒有限流電阻的,在實(shí)際應(yīng)用時(shí),必須對每一段發(fā)光管回路中串一限流電阻,否則極容易損壞數(shù)碼管。 (4) 聲音報(bào)警模塊 由 STC89C5242 的 11腳 (TXD)實(shí)現(xiàn)聲音報(bào)警控制。為可靠起見,電源上電穩(wěn)定后還要經(jīng)一定的延時(shí),才能撤銷復(fù) 位信號,以防電源開關(guān)或電源插頭分一合過程中引起的抖動(dòng)而影響復(fù)位。OE=0,輸出數(shù)據(jù)線呈高阻; OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù)。 ADC0809 的內(nèi)部沒有時(shí)鐘電路,所需時(shí)鐘信號由外界提供,因齊齊哈爾大學(xué)畢業(yè)設(shè)計(jì)(論文) 12 此有時(shí)鐘信號引腳。 對 ADC0809 主要信號引腳的功能說明如下: IN7~ IN0—— 模擬量輸入通道 ALE—— 地址鎖存允許信號。使用高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè) 80C51 產(chǎn)品指令和引腳完全兼容。同時(shí)考慮選擇低價(jià)實(shí)用的機(jī)型,并為制同一系列的低功耗產(chǎn)品做準(zhǔn)備。因此,它具有優(yōu)秀的長期穩(wěn)定性,在正常使用條件下,其使用壽命可達(dá) 5 年。氣體濃度信號將電解液分解成陰陽帶電離子,通過電極將信號傳出。接觸燃燒式氣體傳感器在環(huán)境溫度下非常穩(wěn)定,并能對爆炸 F限的絕大多數(shù)可燃性氣體進(jìn)行檢測,普遍應(yīng)用于石化工廠、造船廠、礦井隧道、浴室、廚房等處可燃性氣體的監(jiān)測和報(bào)警。它使用固體電解質(zhì)材料作為氣敏元件。 (2) 利用物理性質(zhì)的氣體傳感器 :如熱導(dǎo)、光干涉、紅外吸收等。 (3) 系統(tǒng)的軟件編制。若有燃?xì)庑孤?,檢漏儀便會(huì)發(fā)出聲光報(bào)警,同時(shí)顯示氣體濃度,以便及時(shí)采取安全措施,防止爆炸等惡性事故的發(fā)生。日本政府和生產(chǎn)企業(yè)大力推廣報(bào)警器的使用,使燃?xì)庑孤┖捅ǖ仁鹿实氖鹿事蔬h(yuǎn)遠(yuǎn)低于歐美等發(fā)達(dá)國家。 本次設(shè)計(jì)采用以 STC89C52 芯片為核心, 用 半導(dǎo)體陶瓷式氣體傳感器 MQ2 來檢測外部氣體濃度, 結(jié)合外部硬件電路實(shí)現(xiàn)對可燃性氣體進(jìn)行報(bào)警控制裝置 。有些是因使用不當(dāng)而造成故障,因此不能進(jìn)行準(zhǔn)確,安全的報(bào)警和控制。它們易流動(dòng)、易燃燒,在生產(chǎn)、輸送、貯存和使用這些氣體的過程中,如違反操作規(guī)程或設(shè)備密封質(zhì)量不好,都有可能發(fā)生可燃?xì)怏w泄漏的現(xiàn)象。選用 MQ2 氣體傳感器對現(xiàn)場可燃性氣體濃度進(jìn)行檢測,采用功能和性價(jià)比較高的 STC89C52 單片機(jī)作為中央處理單元,對濃度信號進(jìn)行采集、數(shù)據(jù)處理、顯示、報(bào)警及打開排氣裝置等工作。 本設(shè)計(jì) 的可燃性氣體報(bào)警、控制器可以檢測空氣中以烷類氣體為主的多種可燃性氣體的濃度,實(shí)時(shí)顯示濃度值,當(dāng)達(dá)到預(yù)先設(shè)定的上限報(bào)警設(shè)定值時(shí),發(fā)出聲音報(bào)警和控制信號,以提示操作人員采取安全對策或自動(dòng)控制相關(guān)安全裝置。當(dāng)與空氣混合后的混合物達(dá)到一定的濃度時(shí),就是一種爆炸性混合物,遇火就會(huì)發(fā)生劇烈的化合反應(yīng),產(chǎn)生大量的熱,會(huì)燃起大火,進(jìn)而釀成火災(zāi)或爆炸事故,給國家和人民的生命財(cái)產(chǎn)造成損失。 2021 年 12 月,國家執(zhí)行新的可燃性氣體探測器標(biāo)準(zhǔn) (GB 153222021)《可燃?xì)怏w探測器》。 STC89C52 芯片具有功能強(qiáng)大,性價(jià)比高等一系列優(yōu)點(diǎn),適合產(chǎn)品大規(guī)模生產(chǎn)。其中 FIGARO、 理研都是專門研制、生產(chǎn)可燃性氣體報(bào)警控制器的廠家,他們生產(chǎn)的產(chǎn)品以采用最先進(jìn)的氣敏傳感器、響應(yīng)速度快、性能可靠、壽命長而著稱。 “ 探測器 +控制器 ” ,這是在工業(yè)裝置上和生產(chǎn)過程中使用最多的檢測儀器,可在防爆現(xiàn)場長期監(jiān)測氣體的濃度。在程序的編寫過程中,分別對主程序和各部分子程序進(jìn)行了流程圖的繪制,同時(shí)加入了 詳細(xì)的文字注釋,以便于后期的改進(jìn)與維護(hù) 。 (3) 利用電化學(xué)性質(zhì)的氣體傳感器 :如電流型、電勢型等。其原理是氣敏材料在通過氣體時(shí)產(chǎn)生離子, 形成電動(dòng)勢,鋇 U 量電動(dòng)勢從而測量氣體濃度。這類傳感器只能測量可燃性氣體,對不可燃性氣體不敏感。它的優(yōu)點(diǎn)是 :反映速度快、準(zhǔn)確、穩(wěn)定性好、能夠定量檢測,但壽命較短 (大于等于兩年 )。 圖 21給出了 MQ2元件對不同氣體的靈敏度特性。根據(jù)多方面的比較, 本 設(shè)計(jì)選用生產(chǎn)的 STC89C52系列單片機(jī)作為報(bào)警器的核心控制器。片上 Flash 允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。對應(yīng) ALE 上跳沿, A、 B、 C地址狀態(tài)送入地址鎖存器中。通常使用頻率為 500KHz 的時(shí)鐘信號 EOC—— 轉(zhuǎn)換結(jié)束信號。 Vcc—— +5V 電源。在本 設(shè)計(jì)中,采用的是阻容 RC上電復(fù)位電路,通過電容加到 RST 端上一個(gè)高電平復(fù)位信號,高電平持續(xù)時(shí)間取決于RC 電路參數(shù)。當(dāng)可燃性 氣體濃度超過限定值時(shí),揚(yáng)聲器發(fā)出鳴叫報(bào)警,同時(shí)啟動(dòng) 54 繼電器。本設(shè)計(jì)中數(shù)碼管用于顯示當(dāng)前的外界氣體濃度。具體包括: (1) 程序下載 當(dāng)用戶將源程序( C語言)經(jīng) keil軟件語法檢查無誤并生成代碼時(shí),就可以將程序代碼在如圖的環(huán)境中下載到 ]Flash芯片中,而用戶的系統(tǒng)可以是在線狀態(tài)。 主程序流程圖及設(shè)計(jì) 主 程序流程圖如圖 41所示,由于 MQ2 型氣體傳感器在不通電狀態(tài)下存放一段時(shí)間后,再通電時(shí),器件并不能立即投入正常工作,需要一定的時(shí)間預(yù)熱,所以采用延時(shí)程序?qū)鞲衅黝A(yù)熱。 初始化定時(shí)器 開始 初始化 AD 轉(zhuǎn)換器 AD 采集數(shù)據(jù) 按鍵掃描 初始化傳感器 數(shù)碼管顯示 按鍵處理 數(shù)據(jù)處理 齊齊哈爾大學(xué)畢業(yè)設(shè)計(jì) (論文 ) 21 開 始1 秒 ?采 樣 子 程 序3 次濾 波線 性 化 處 理超 過 上 限 值 ?十 六 進(jìn) 制 轉(zhuǎn) 化十 進(jìn) 制聲 音 報(bào) 警 , 啟 動(dòng)排 氣 裝 置采 樣 計(jì) 數(shù) + 1送 入 顯 示中 斷 返 回重 裝 T 0 初 值計(jì) 數(shù) 單 元 + 1YYYNNN 圖 42 T0 中斷子程序流程圖 線性化處理子程序設(shè)計(jì) 在單片機(jī)測控系統(tǒng)中,使用之前必須進(jìn) 行靜態(tài)標(biāo)定 (校準(zhǔn) ),以得到輸出信號與被測齊齊哈爾大學(xué)畢業(yè)設(shè)計(jì)(論文) 22 信號的關(guān)系 輸出曲線,用來作為使用過程中的計(jì)量依據(jù)。 流程圖如圖 44 所示。 可見調(diào)試的工作量比較大。主要包括錯(cuò)線、開路、短路。加電后檢查各插件上引腳的電位,一般先檢查 VCC與 GND 之間電位,若在 5V~ 之間屬正常。例如對片選信號,運(yùn)行 相關(guān) 小程序就可以檢測出譯碼片選信號是否正常。 第二, 將 LED結(jié)合起來,借助開發(fā)機(jī),通過編制程序(最好采用 “8” 字循環(huán)程序)進(jìn)行調(diào)試。只有將整個(gè)系統(tǒng) 的軟件硬件相結(jié)合連接起來進(jìn)行調(diào)試,也就是綜合調(diào)試。該傳感器是對以烷類氣體為主的多種可燃性氣體有良好敏感特性的廣譜型半導(dǎo)體敏感器件。本課題的工作為便攜式儀器的研制和實(shí)用化 提供了較好的實(shí)現(xiàn)方案,為今后該領(lǐng)域的研究提供了很好的參考依據(jù)。使用高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè) 80C51 產(chǎn)品指令和引腳完全兼容。作為輸出口,每位能驅(qū)動(dòng) 8個(gè) TTL邏輯電平。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流( IIL)。在 flash編程和校驗(yàn)時(shí), P2口也接收高 8位地址字節(jié)和一些控制信號。特殊寄存器 AUXR(地址 8EH)上的齊齊哈爾大學(xué)畢業(yè)設(shè)計(jì) (論文 ) 39 DISRTO位可以使此功能無效。否則, ALE 將被微弱拉高。如果需要,通過將地址為 8EH的 SFR的第 0位置 “1”, ALE操作將無效。晶振工作時(shí), RST腳持續(xù) 2個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位。在這種應(yīng)用中, P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送 1。 P1 口: P1口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 I/O 口, p1 輸出緩沖器能驅(qū)動(dòng) 4個(gè) TTL 邏輯電平。掉電保護(hù)方式下, RAM 內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止 。感謝他們 20多年來始終如一的培養(yǎng)。 本次設(shè)計(jì)也存在著一些需要完善的地方,譬如讓檢測進(jìn)行網(wǎng)絡(luò)連接,實(shí)行多點(diǎn)同時(shí)檢測、如何更加智能化的進(jìn)行報(bào)警工作,如何能更好的減少檢測誤差等問題值得去進(jìn)一步的研究和探討。 本次設(shè)計(jì)的可燃性氣體報(bào)警器由探測器與單片機(jī)控制電路兩大部分構(gòu)成。這部分是單片機(jī)制作過程中最重要的調(diào)試部分。不一致,一般為 LED 顯示器接觸不良所致,必須找出故障,排除后再檢測電路工作是否正常。這些信號大