畢業(yè)設(shè)計(jì)(論文)-基于磁伸縮的線性液位計(jì)設(shè)計(jì)(軟件設(shè)計(jì))_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)-基于磁伸縮的線性液位計(jì)設(shè)計(jì)(軟件設(shè)計(jì))_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)-基于磁伸縮的線性液位計(jì)設(shè)計(jì)(軟件設(shè)計(jì))_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)-基于磁伸縮的線性液位計(jì)設(shè)計(jì)(軟件設(shè)計(jì))_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)-基于磁伸縮的線性液位計(jì)設(shè)計(jì)(軟件設(shè)計(jì))_第5頁(yè)
已閱讀5頁(yè),還剩103頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、畢 業(yè) 設(shè) 計(jì) (論 文)機(jī)械與電氣工程 學(xué)院 07自動(dòng)化 專業(yè)題目:基于磁伸縮的線性液位計(jì)設(shè)計(jì)軟件設(shè)計(jì)學(xué) 生 姓 名: 班 級(jí): 07自動(dòng)化 學(xué) 號(hào): 指 導(dǎo) 教 師: 完 成 日 期: 20011 年 5 月20日基于磁伸縮的線性液位計(jì)設(shè)計(jì)軟件設(shè)計(jì)Based on magnetostrictive linear liquidometer design (software design)總計(jì)畢業(yè)設(shè)計(jì)論文 38 頁(yè)表 格 4 幅插 圖 14 幅摘 要本設(shè)計(jì)為基于磁致伸縮原理的線性液位計(jì)設(shè)計(jì),共包括穩(wěn)壓電源、A/D轉(zhuǎn)換顯示電路、按鍵控制電路、RS485通訊電路和單片機(jī)控制電路五個(gè)局部。首先通過(guò)磁

2、致伸縮液位傳感器對(duì)液位進(jìn)行實(shí)時(shí)采集,但由于輸出是標(biāo)準(zhǔn)的4-20mA電流信號(hào),故不需進(jìn)行信號(hào)的放大,直接送A/D轉(zhuǎn)換電路進(jìn)行轉(zhuǎn)換,然后經(jīng)AT89S51單片機(jī)并存放數(shù)據(jù),同時(shí)將采集的液位送入液晶顯示模塊進(jìn)行顯示。本系統(tǒng)可通過(guò)六個(gè)按鍵“設(shè)置,加1,減1,左移,右移,確認(rèn), 分別用于控制對(duì)單片機(jī)的時(shí)間和液位初值。另外,本系統(tǒng)還可通過(guò)RS485電路對(duì)數(shù)據(jù)進(jìn)行遠(yuǎn)距離傳輸。關(guān)鍵詞: 磁致伸縮液位計(jì) 實(shí)時(shí)采集 AT89S51 RS485通訊AbstractThis design based on magnetostrictive principle for the design of linear liqui

3、dometer real-time control, level position with LCD actual pressure and time, with buttons adjust clock and level cap height, system level minimum degree of distinction 0.1 mm. Including : manostat, signal processing and amplifying circuit, A/D conversion display circuit, button control circuit, RS48

4、5 communication circuit and single-chip microcomputer control circuit. Design for the control chip AT89S51, the chip powerful function, and can satisfy the design.Keywords: level gauge Level measurement AT89S51 RS485uniform 目 錄TOC o 1-3 h u HYPERLINK l _Toc27857 基于磁伸縮的線性液位計(jì)設(shè)計(jì)軟件設(shè)計(jì) PAGEREF _Toc27857 8

5、 HYPERLINK l _Toc22607 摘 要 PAGEREF _Toc22607 9 HYPERLINK l _Toc30776 Abstract PAGEREF _Toc30776 7 HYPERLINK l _Toc25089 第一章 緒 論 PAGEREF _Toc25089 8 HYPERLINK l _Toc13838 第二章 系統(tǒng)總體設(shè)計(jì) PAGEREF _Toc13838 9 HYPERLINK l _Toc31710 2.1 研究?jī)?nèi)容 PAGEREF _Toc31710 9 HYPERLINK l _Toc20687 2.2 課題分析 PAGEREF _Toc20687

6、 9 HYPERLINK l _Toc18903 2.3 單片機(jī)核心局部的總體設(shè)計(jì) PAGEREF _Toc18903 10 HYPERLINK l _Toc21288 2.4 研制過(guò)程 PAGEREF _Toc21288 11 HYPERLINK l _Toc27240 2.5 其他說(shuō)明 PAGEREF _Toc27240 11 HYPERLINK l _Toc6590 第三章 硬件設(shè)計(jì) PAGEREF _Toc6590 12 HYPERLINK l _Toc16495 3.1 MCS-51系列單片機(jī)內(nèi)部結(jié)構(gòu)及功能部件 PAGEREF _Toc16495 12 HYPERLINK l _To

7、c12914 3.2 MAX197的概述 PAGEREF _Toc12914 16 HYPERLINK l _Toc23958 3.2.1 MAX197的控制字 PAGEREF _Toc23958 17 HYPERLINK l _Toc32337 3.2.2 數(shù)據(jù)的讀取 PAGEREF _Toc32337 19 HYPERLINK l _Toc1179 3.3 LCD12864簡(jiǎn)介 PAGEREF _Toc1179 20 HYPERLINK l _Toc2939 3.3.1 概述 PAGEREF _Toc2939 20 HYPERLINK l _Toc28687 3.3.2 LCD12864根

8、本特性 PAGEREF _Toc28687 20 HYPERLINK l _Toc17258 3.3.3 模塊接口說(shuō)明 PAGEREF _Toc17258 21 HYPERLINK l _Toc16391 3.3.4 指令說(shuō)明 PAGEREF _Toc16391 23 HYPERLINK l _Toc14420 3.4芯片MAX485和RS485通信的概述 PAGEREF _Toc14420 26 HYPERLINK l _Toc20210 3.4.1 芯片MAX485的概述 PAGEREF _Toc20210 26 HYPERLINK l _Toc29373 3.4.2 總線驅(qū)動(dòng)器芯片SN7

9、5176 PAGEREF _Toc29373 27 HYPERLINK l _Toc26341 第四章 系統(tǒng)的中斷,定時(shí)與串行通信 PAGEREF _Toc26341 28 HYPERLINK l _Toc26738 4.1單片機(jī)的中斷系統(tǒng) PAGEREF _Toc26738 28 HYPERLINK l _Toc1581 4.1.1 中斷的概念 PAGEREF _Toc1581 28 HYPERLINK l _Toc20613 4.1.3 中斷控制 PAGEREF _Toc20613 31 HYPERLINK l _Toc9943 4.2 單片機(jī)的定時(shí)與計(jì)數(shù)器 PAGEREF _Toc994

10、3 32 HYPERLINK l _Toc25602 4.2.1 定時(shí)/計(jì)數(shù)器方式控制存放器 PAGEREF _Toc25602 32 HYPERLINK l _Toc2957 4.2.2 定時(shí)/計(jì)數(shù)器控制存放器TCON PAGEREF _Toc2957 33 HYPERLINK l _Toc22901 4.3 串行通信及其接口 PAGEREF _Toc22901 34 HYPERLINK l _Toc15631 4.3.1 串行通信的根底知識(shí) PAGEREF _Toc15631 34 HYPERLINK l _Toc6524 4.3.2 串行口的工作方式 PAGEREF _Toc6524 3

11、7 HYPERLINK l _Toc24822 第五章 系統(tǒng)硬件設(shè)計(jì) PAGEREF _Toc24822 39 HYPERLINK l _Toc23794 5.1單片機(jī)處理模塊的設(shè)計(jì) PAGEREF _Toc23794 39 HYPERLINK l _Toc30644 5.1.1 時(shí)鐘電路 PAGEREF _Toc30644 39 HYPERLINK l _Toc10619 5.1.2 復(fù)位電路 PAGEREF _Toc10619 40 HYPERLINK l _Toc17259 5.2模擬信號(hào)轉(zhuǎn)化數(shù)字信號(hào)A/D模塊設(shè)計(jì) PAGEREF _Toc17259 40 HYPERLINK l _To

12、c1919 5.3液晶顯示模塊設(shè)計(jì) PAGEREF _Toc1919 41 HYPERLINK l _Toc26248 5.4 按鍵模塊設(shè)計(jì) PAGEREF _Toc26248 42 HYPERLINK l _Toc25804 5.5 RS485通信電路模塊設(shè)計(jì) PAGEREF _Toc25804 42 HYPERLINK l _Toc83 第六章 軟件設(shè)計(jì) PAGEREF _Toc83 45 HYPERLINK l _Toc29049 6.1 主程序軟件設(shè)計(jì) PAGEREF _Toc29049 45 HYPERLINK l _Toc32457 6.2 時(shí)鐘子程序設(shè)計(jì) PAGEREF _Toc

13、32457 46 HYPERLINK l _Toc28869 6.3 A/D轉(zhuǎn)換之程序設(shè)計(jì) PAGEREF _Toc28869 47 HYPERLINK l _Toc22652 6.4 按鍵處理子程序設(shè)計(jì) PAGEREF _Toc22652 48 HYPERLINK l _Toc1540 6.5 二進(jìn)制轉(zhuǎn)十進(jìn)制子程序設(shè)計(jì) PAGEREF _Toc1540 49 HYPERLINK l _Toc13909 6.6 液晶顯示子程序設(shè)計(jì) PAGEREF _Toc13909 50 HYPERLINK l _Toc1496 6.7程序的軟件調(diào)試和燒錄 PAGEREF _Toc1496 50 HYPERL

14、INK l _Toc5215 6.7.1 程序的軟件調(diào)試 PAGEREF _Toc5215 50 HYPERLINK l _Toc22085 7.7.2 燒錄器原理及方法介紹 PAGEREF _Toc22085 51 HYPERLINK l _Toc23057 第七章 總結(jié) PAGEREF _Toc23057 52 HYPERLINK l _Toc31848 參考文獻(xiàn) PAGEREF _Toc31848 53 HYPERLINK l _Toc11686 致 謝 PAGEREF _Toc11686 7 HYPERLINK l _Toc11474 附錄一 程序清單 PAGEREF _Toc1147

15、4 8第一章 緒 論隨著科學(xué)技術(shù)的迅猛開(kāi)展,高新技術(shù)在各行業(yè)中得到了廣泛的應(yīng)用,高科技含量的磁致伸縮液位傳感器,應(yīng)用于各類儲(chǔ)罐的液位測(cè)量。該種HYPERLINK :/baike.baidu /view/2031018.htm t _blank液位儀具有精度高、環(huán)境適應(yīng)性強(qiáng)、安裝方便等特點(diǎn)。因此,廣泛應(yīng)用于石油、化工等液位測(cè)量領(lǐng)域,并逐漸取代了其它傳統(tǒng)的傳感器,成為液位測(cè)量中的精品。采用磁致伸縮液位計(jì),進(jìn)行液位的測(cè)量,其優(yōu)點(diǎn)表現(xiàn)在: 1.可靠性強(qiáng):由于磁致伸縮液位計(jì)采用波導(dǎo)原理,無(wú)機(jī)械可動(dòng)局部,故無(wú)摩擦,無(wú)磨損。整個(gè)變換器封閉在不銹鋼管內(nèi),和測(cè)量介質(zhì)非接觸,傳感器工作可靠,壽命長(zhǎng)。 2.精度高:

16、由于磁致伸縮液位計(jì)用波導(dǎo)脈沖工作,工作中通過(guò)測(cè)量起始脈沖和終止脈沖的時(shí)間來(lái)確定被測(cè)位移量,因此測(cè)量精度高,分辨率優(yōu)于0.01%FS,這是用其它傳感器難以到達(dá)的精度。 3.平安性好:磁致伸縮液位計(jì)的防爆性能高,本安防爆,使用平安,特別適合對(duì)化工原料和易燃液體的測(cè)量。測(cè)量時(shí)無(wú)需開(kāi)啟罐蓋,防止人工測(cè)量所存在的不平安性。 4.磁致伸縮液位計(jì)易于安裝和維護(hù)簡(jiǎn)單:磁致伸縮液位儀一般通過(guò)罐頂已有管口進(jìn)行安裝,特別適用于地下儲(chǔ)罐和已投運(yùn)儲(chǔ)罐的安裝,并可在安裝過(guò)程中不影響正常生產(chǎn)。 5.便于系統(tǒng)自動(dòng)化工作:磁致伸縮液位計(jì)的二次儀表采用標(biāo)準(zhǔn)輸出信號(hào),便于微機(jī)對(duì)信號(hào)進(jìn)行處理,容易實(shí)現(xiàn)聯(lián)網(wǎng)工作,提高整個(gè)測(cè)量系統(tǒng)的自動(dòng)

17、化程度。第二章 系統(tǒng)總體設(shè)計(jì)2.1 研究?jī)?nèi)容文章針對(duì)液位計(jì)的現(xiàn)狀及開(kāi)展趨勢(shì),在閱讀了大量文獻(xiàn)及資料的根底上,成功設(shè)計(jì)、調(diào)試了一套用于計(jì)量液位的智能低功耗液位計(jì)系統(tǒng)。它基于磁致伸縮原理,對(duì)液位進(jìn)行實(shí)時(shí)控制,用液晶顯示實(shí)際壓力值和時(shí)間,用按鍵調(diào)整時(shí)鐘和水位上限高度,系統(tǒng)的水位最小區(qū)分度為。包括穩(wěn)壓電源、信號(hào)處理與放大電路、A/D轉(zhuǎn)換顯示電路、按鍵控制電路、RS485通訊電路和單片機(jī)控制電路。主要內(nèi)容有以下幾點(diǎn):112位的A/D轉(zhuǎn)換器及帶有顯示的時(shí)鐘轉(zhuǎn)換電路2高精度穩(wěn)壓電源:24V3點(diǎn)陣式液晶顯示器顯示:16位數(shù)顯4時(shí)鐘、水位高度設(shè)置控制鍵6鍵:設(shè)置、+、-、左移、右移、確認(rèn)5RS485通訊電路系統(tǒng)

18、可以同時(shí)測(cè)量總體液位和/或界面液位,以及溫度輸出,標(biāo)定極其簡(jiǎn)單,無(wú)需實(shí)標(biāo),僅僅只需按按鈕,可現(xiàn)場(chǎng)替換差壓式,電容式,超聲波式,雷達(dá)式,外浮筒式,核子式,鋼帶或鋼帶伺服式等液位變送器。2.2 課題分析課題任務(wù):任務(wù):設(shè)計(jì)一個(gè)基于磁伸縮的線性水位計(jì)。根本要求:1、設(shè)計(jì)一個(gè)高于12位的A/D轉(zhuǎn)換和一個(gè)時(shí)鐘電路并帶有顯示;2、設(shè)計(jì)一個(gè)24V的高精度穩(wěn)壓電源;3、數(shù)據(jù)由16位點(diǎn)陣式液晶顯示器顯示;4、由6鍵設(shè)置、+、左移、右移、確認(rèn)控制設(shè)置時(shí)鐘、水位高度;5、設(shè)計(jì)一個(gè)RS485通訊電路。 課題任務(wù)分析:課題中的水位計(jì)要用磁致伸縮式的傳感器,這種液位計(jì)不僅要能顯示液位高度,還需用鍵盤加以控制,完成“設(shè)置、

19、+、-、左移、右移和確認(rèn)六個(gè)功能,同時(shí)還要有通訊電路,以便與上位機(jī)相連接,可以完成遠(yuǎn)程控制。要設(shè)計(jì)出能加以控制并顯示的液位計(jì),需要硬件電路和系統(tǒng)軟件的共同配合,硬件局部要完成液位計(jì)的電源動(dòng)力局部、按鍵局部、單片機(jī)外圍電路、顯示電路等。軟件局部要完成的任務(wù)有:主控程序、按鍵程序、顯示程序、通訊程序等局部。2.3 單片機(jī)核心局部的總體設(shè)計(jì) 本電路的設(shè)計(jì)包括感器模塊、信號(hào)處理與放大電路、A/D轉(zhuǎn)換模塊、按鍵控制模塊、LCD顯示模塊、RS485通訊模塊、電源模塊、MCU處理模塊,由傳感器采集數(shù)據(jù),由儀表放大電路對(duì)采集的信號(hào)進(jìn)行處理,然后 經(jīng)A/D轉(zhuǎn)換變?yōu)閿?shù)字信號(hào)輸送給單片機(jī)進(jìn)行處理并在LCD上顯示并還

20、顯示當(dāng)前時(shí)間,而且可以遠(yuǎn)程通訊。系統(tǒng)總體結(jié)構(gòu)框圖如以下圖所示。本課題設(shè)計(jì)液位高度和時(shí)間顯示可以完成如下功能:使用點(diǎn)陣式LCD顯示器來(lái)顯示現(xiàn)在水位高度和現(xiàn)在的時(shí)刻,顯示格式分別為“XX:XX:XX和“XXX.X mm。例如,“06:47:01”的時(shí)刻水位高度為“227.5 mm 。具有6個(gè)小按鍵操作來(lái)設(shè)置上限水位高度和現(xiàn)在的時(shí)刻。當(dāng)水位高度超過(guò)設(shè)置的上限高度時(shí), LCD顯示器會(huì)出現(xiàn)“錯(cuò)誤 字樣。通過(guò)“設(shè)置鍵選擇上限水位高度還是時(shí)間的調(diào)整,然后通過(guò)“左移 、“右移鍵確定哪位的設(shè)定,最后通過(guò)“+ 、“-可從數(shù)0開(kāi)始一直調(diào)到9中的任意數(shù)字。利用RS485可以遠(yuǎn)程通訊,其既作驅(qū)動(dòng)器用,將信息傳給計(jì)算機(jī),

21、又可作接收器用,從計(jì)算機(jī)獲取控制命令。2.4 研制過(guò)程通過(guò)查閱資料和書籍,結(jié)合自身的電路知識(shí)來(lái)設(shè)計(jì)。利用protel99se和Proteus將設(shè)計(jì)的原理圖畫出,為制作PCB提供依據(jù)。了解AT89C51的內(nèi)部資源,利用C語(yǔ)言進(jìn)行編程。4.程序的調(diào)試和燒錄取得印制電路板后,把器件按圖正確的焊接在PCB板上,然后將程序燒錄進(jìn)AT89C51并進(jìn)行系統(tǒng)電路的調(diào)試??紤]PCB板刻錄需儀器,我們自己手工焊接。2.5 其他說(shuō)明系統(tǒng)分為硬件局部和軟件局部。本論文給出了相關(guān)芯片的概略資料,主要介紹軟件設(shè)計(jì)思路,及概略介紹了硬件設(shè)計(jì)流程。第三章 硬件設(shè)計(jì)3.1 MCS-51系列單片機(jī)內(nèi)部結(jié)構(gòu)及功能部件圖3.1 AT

22、89C51芯片引腳圖DIP封裝下面以DIP封裝的AT89S51為例表達(dá)各個(gè)引腳的功能。1主電源線VCC40引腳:接+5V電源正端,正常操作和對(duì)EPROM編程及驗(yàn)證時(shí)均接+5V電源。GND20引腳:接電源地端。2外接晶體線XTAL119引腳:接外部晶體振蕩器的一端。在單片機(jī)的內(nèi)部,它是一個(gè)反相放大器的輸入端,這個(gè)放大器構(gòu)成了片內(nèi)振蕩器。當(dāng)采用外部時(shí)鐘時(shí),對(duì)于HMOS單片機(jī),該引腳接地;對(duì)于CHMOS單片機(jī),該引腳作為外部振蕩信號(hào)的輸入端。XTAL218引腳:接外部晶體振蕩器的一端。在單片機(jī)的內(nèi)部,它是片內(nèi)振蕩器的輸出端。當(dāng)采用外部時(shí)鐘時(shí),對(duì)于HMOS單片機(jī),該引腳接收振蕩器的信號(hào),即把該引腳接到

23、內(nèi)部時(shí)鐘發(fā)生器的輸入端;對(duì)于CHMOS單片機(jī),該引腳懸空。3I/O端口線MCS-51系列單片機(jī)共有四組并行I/O端口P0P3,每個(gè)端口有8條端口線,共有32條I/O端口線,每個(gè)接口的功能和用途有一定的差異。P0口3239引腳:P0.0P0.7統(tǒng)稱為P0口。P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。圖3.2 p0口引腳圖P1口18引腳:P1.0P1.7統(tǒng)稱為P1

24、口。P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。圖3.3 P1口引腳圖P2口2128引腳:P2.0P2.7統(tǒng)稱為P2口。P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)

25、器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能存放器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。圖3.4 p2口引腳圖P3口1017引腳:P3.0P3.7統(tǒng)稱為P3口。P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流ILL這是由于上拉的緣故。圖3.5 P3口引腳圖P3口也可作為AT89C51的一些特殊功能口,如表所示:表3.1 P3口第二功能端 口 功

26、 能第 二 功 能RXD串行輸入數(shù)據(jù)接收口TXD串行輸出數(shù)據(jù)發(fā)送口外部中斷0輸入線外部中斷1輸入線T0 定時(shí)器0外部輸入T1 定時(shí)器1外部輸入外部數(shù)據(jù)存儲(chǔ)器寫選通信號(hào)輸出外部數(shù)據(jù)存儲(chǔ)器讀選通信號(hào)輸入4控制線RST/VPD(9引腳):?jiǎn)纹瑱C(jī)復(fù)位/備用電源引腳。該引腳為單片機(jī)的上電復(fù)位或掉電保護(hù)端,該引腳上出現(xiàn)持續(xù)兩個(gè)機(jī)器周期的高電平,就可實(shí)現(xiàn)復(fù)位操作,使單片機(jī)恢復(fù)到初始狀態(tài)。上電時(shí),考慮到振蕩器有一定的震蕩時(shí)間,該引腳上的高電平必須持續(xù)10ms以上才能保證有效復(fù)位。當(dāng)VCC發(fā)生故障,降低到低電平規(guī)定值或掉電時(shí)該引腳可接上備用電源即VPD接+5V電源為內(nèi)部RAM供電,以保證RAM鐘的內(nèi)部數(shù)據(jù)信息不

27、喪失,使復(fù)電后能持續(xù)正常運(yùn)行。/PSEN29引腳:外部程序存儲(chǔ)器的選通信號(hào),低電平有效。當(dāng)從外部程序存儲(chǔ)器讀取指令或數(shù)據(jù)時(shí),每個(gè)機(jī)器周期該信號(hào)兩次有效,以通過(guò)數(shù)據(jù)總線P0口讀回指令或常數(shù)。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),該信號(hào)處于無(wú)效狀態(tài)。ALE/PROG30引腳:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0

28、。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。 /EA/VPP31引腳:當(dāng)/EA保持低電平時(shí),那么在此期間外部程序存儲(chǔ)器0000H-FFFFH,不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源VPP。3.2 MAX197的概述MAX197是Maxim公司推出的具有12位測(cè)量精度的高速A/D轉(zhuǎn)換芯片,只需單一電源供電,且轉(zhuǎn)換時(shí)間很短(6ms),具有8路輸入通道,還提供了標(biāo)準(zhǔn)的并行接口8位

29、三態(tài)數(shù)據(jù)I/O口,可以和大局部單片機(jī)直接接口,使用十分方便。 Max197芯片相應(yīng)的功能 CLK:時(shí)鐘輸入,在外部時(shí)鐘模式下,輸入與TTL/MOS相匹配的始終脈沖,在內(nèi)部時(shí)鐘模式下,從這個(gè)引腳接一個(gè)電容CCLK至地,設(shè)置內(nèi)部時(shí)鐘頻率;當(dāng)CCLK=10pF時(shí),CLK典型值為1.56MHz。CS:片選腳,低電平有效。WR:當(dāng)CS為低電平時(shí),在內(nèi)部采集模式,WR的上升沿講鎖住數(shù)據(jù),并發(fā)出一個(gè)采集脈沖。當(dāng)CS為低電平時(shí),在外部采集模式下,WR的第一個(gè)上升沿啟動(dòng)一次采集,WR的第二個(gè)上升沿結(jié)束采集并開(kāi)始一次轉(zhuǎn)換。RD:如果CS為低電平,RD的下降沿講實(shí)現(xiàn)數(shù)據(jù)總線上的一次讀操作。HBEN:輸入腳,控制數(shù)據(jù)

30、總線復(fù)用,以得到12位轉(zhuǎn)換結(jié)果,當(dāng)HBEN為高電平時(shí),數(shù)據(jù)總線上輸出高4位數(shù)據(jù);當(dāng)SHDN為低電平時(shí),器件進(jìn)入掉電工作狀態(tài)。D7D4:三態(tài)數(shù)據(jù)I/O口。D3/D11D0/D8:三態(tài)數(shù)據(jù)I/O口。當(dāng)HBEN=0時(shí),輸出為D3D0的數(shù)據(jù),當(dāng)HBEN=1時(shí),輸出為D11D8數(shù)據(jù)。AGND:模擬地。CH0CH7為八路模擬輸入通道。INT:中斷輸出腳,當(dāng)轉(zhuǎn)換完畢,輸出數(shù)據(jù)準(zhǔn)備就緒,INT變?yōu)榈碗娖?。REFADJ:為帶隙電壓基準(zhǔn)輸出/外部調(diào)節(jié)引腳,可連接一個(gè)0.01uF電容旁路至地。當(dāng)在REF腳上采用外部基準(zhǔn)電壓時(shí),此管腳連到VDD上。REF:緩沖器基準(zhǔn)電壓輸出/ADC基準(zhǔn)電壓輸入。在內(nèi)部基準(zhǔn)電壓模式下,

31、基準(zhǔn)緩沖器提供4.096V的標(biāo)準(zhǔn)輸出電壓??稍赗EFADJ腳微調(diào),在外部基準(zhǔn)電壓模式下,通過(guò)把REFADJ接至VDD使內(nèi)部緩沖器無(wú)效。VDD:+5V電源,通過(guò)0.1uF電容旁路至地。DGND:數(shù)字地。 MAX197的控制字MAX197的控制字格式如表3.2所示:表3.2 MAX197的控制字格式D7D6D5D4D3D2D1D0PD1PD0ACQMODRNGBIPA2A1A0表中的各個(gè)控制位如下:PD1、PD0:選擇時(shí)鐘和低功耗模式,其設(shè)置如表3.3所示:表3.3 PD1、PD0位設(shè)置PD1PD0說(shuō)明00正常工作,外部時(shí)鐘模式01正常工作,內(nèi)部時(shí)鐘模式10后備低功耗模式,不影響時(shí)鐘模式11低功耗

32、模式,不影響時(shí)鐘模式MAX197可以以內(nèi)部或外部時(shí)鐘模式工作。控制字節(jié)的D6,D7位選擇內(nèi)部或外部時(shí)鐘模式。一旦選擇了所要求的時(shí)鐘模式,改變這些位編程選擇低功耗模式時(shí),不會(huì)影響時(shí)鐘模式。剛上電時(shí),選擇外部時(shí)鐘模式。內(nèi)部時(shí)鐘模式設(shè)置控制字節(jié)的D7位為0,D6位為1可以選擇這種模式。在CLK腳和地之間接一個(gè)100pf的電容,可產(chǎn)生156mhz頻率。外部時(shí)鐘模式設(shè)置控制字節(jié)的D7位為0,D6位=0選擇外部時(shí)鐘模式。一般情況,要求100khz2mhz的外部時(shí)鐘具有45%55%的占空比。當(dāng)工作時(shí)鐘頻率低于100khz時(shí),在保持電容上將產(chǎn)生一個(gè)電壓降導(dǎo)致性能降低。2ACQMOD:0為內(nèi)部控制采集,1為外部

33、控制采集。通過(guò)寫控制字節(jié)的ACQMOD位為0,選擇內(nèi)部采集方式。此方式產(chǎn)生一個(gè)脈沖初始化采集間隔,這個(gè)時(shí)間是內(nèi)部定時(shí)的。當(dāng)六個(gè)時(shí)鐘周期采集間隔結(jié)束時(shí),轉(zhuǎn)換開(kāi)始。通過(guò)寫控制字節(jié)的ACQMOD位為1.選擇外部采集方式。外部采集方式可以更精確的控制采樣間隔和轉(zhuǎn)換。在這種方式下,用戶通過(guò)2個(gè)寫脈沖控制采集和啟動(dòng)轉(zhuǎn)換。在第一個(gè)寫脈沖中,要使ACQMOD位=1,它將啟動(dòng)一次采集開(kāi)始。在第二次寫脈沖中要使ACQMOD位=0,在WR的上升沿開(kāi)始轉(zhuǎn)換并結(jié)束采集。在發(fā)第一個(gè)第二個(gè)寫脈沖時(shí),多路輸入通道的地址位值必須一樣。在第二個(gè)寫脈沖中低功耗模式位PD0,PD1可以設(shè)一個(gè)新值。3RNG,BIP:RNG位是選擇輸入

34、端的滿量程電壓范圍,BIP位選擇單極性式和雙極性轉(zhuǎn)換模式,這兩位設(shè)置如表3.4所示:表3.4 BIP設(shè)置BIPRNG輸入范圍v00050101010+-511+-104A2,A1,A0:用于選擇多路輸入、輸出的地址,如表3.5所示:表3.5 多輸入多輸出設(shè)置A2A1A0CH0CH1CH2CH3CH4CH5CH6CH7000-001-010-011-100-101-110-111- 數(shù)據(jù)的讀取在單極性方式下,輸出數(shù)據(jù)格式為二進(jìn)制數(shù);在雙極性方式下,其格式為補(bǔ)碼形式的二進(jìn)制數(shù),在讀輸出數(shù)據(jù)時(shí),CS和RD必須為低電平。器件輸出的數(shù)據(jù)一共是12位,當(dāng)HBEN為低電平時(shí),讀低8位;當(dāng)HBEN為高電平時(shí),

35、讀取較高的4個(gè)MSB位,輸出數(shù)據(jù)的D4D7位。數(shù)據(jù)的讀取格式如表3.6所示:表3.6 數(shù)據(jù)讀取格式數(shù)據(jù)位HBEN=0HBEN=1D0B0(LSB)B8D1B1B9D2B2B10D3B3B11(MSB)D4B4B11D5B5B11D6B6B11D7B7B113.3 LCD12864簡(jiǎn)介 LCD12864是 概述帶中文字庫(kù)的128X64是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國(guó)標(biāo)一級(jí)、二級(jí)簡(jiǎn)體中文字庫(kù)的點(diǎn)陣圖形液晶顯示模塊;其顯示分辨率為12864, 內(nèi)置8192個(gè)16*16點(diǎn)漢字,和128個(gè)16*8點(diǎn)ASCII字符集.利用該模塊靈活的接口方式和簡(jiǎn)單、方便的操作指令,可構(gòu)成全

36、中文人機(jī)交互圖形界面。可以顯示84行1616點(diǎn)陣的漢字. 也可完成圖形顯示.低電壓低功耗是其又一顯著特點(diǎn)。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點(diǎn)陣液晶顯示模塊相比,不管硬件電路結(jié)構(gòu)或顯示程序都要簡(jiǎn)潔得多,且該模塊的價(jià)格也略低于相同點(diǎn)陣的圖形液晶模塊。 LCD12864根本特性1、低電源電壓VDD:+3.0-+5.5V2、顯示分辨率:12864點(diǎn) 3、內(nèi)置漢字字庫(kù),提供8192個(gè)1616點(diǎn)陣漢字(簡(jiǎn)繁體可選)4、內(nèi)置 128個(gè)168點(diǎn)陣字符5、2MHZ時(shí)鐘頻率6、顯示方式:STN、半透、正顯7、驅(qū)動(dòng)方式:1/32DUTY,1/5BIAS8、視角方向:6點(diǎn)9、背光方式:側(cè)部高亮白色LED,功耗

37、僅為普通LED的1/51/1010、通訊方式:串行、并口可選11、內(nèi)置DC-DC轉(zhuǎn)換電路,無(wú)需外加負(fù)壓12、無(wú)需片選信號(hào),簡(jiǎn)化軟件設(shè)計(jì)13、工作溫度: 0 - +55 ,存儲(chǔ)溫度: -20 - +60 模塊接口說(shuō)明*注釋1:如在實(shí)際應(yīng)用中僅使用串口通訊模式,可將PSB接固定低電平,也可以將模塊上的J8和“GND用焊錫短接。*注釋2:模塊內(nèi)部接有上電復(fù)位電路,因此在不需要經(jīng)常復(fù)位的場(chǎng)合可將該端懸空。*注釋3:如背光和模塊共用一個(gè)電源,可以將模塊上的JA、JK用焊錫短接。LCD12864各引腳功能說(shuō)明如表3.7所示:表3.7 LCD12864各引腳功能說(shuō)明管腳號(hào)管腳名稱電平管腳功能描述1VSS0V

38、電源地2VCC3.0+5V電源正3V0-比照度亮度調(diào)整4RS(CSH/LRS=“H,表示DB7DB0為顯示數(shù)據(jù)RS=“L,表示DB7DB0為顯示指令數(shù)據(jù)5R/W(SID)H/LR/W=“H,E=“H,數(shù)據(jù)被讀到DB7DB0R/W=“L,E=“HL, DB7DB0的數(shù)據(jù)被寫到IR或DR6E(SCLK)H/L使能信號(hào)7DB0H/L三態(tài)數(shù)據(jù)線8DB1H/L三態(tài)數(shù)據(jù)線9DB2H/L三態(tài)數(shù)據(jù)線10DB3H/L三態(tài)數(shù)據(jù)線11DB4H/L三態(tài)數(shù)據(jù)線12DB5H/L三態(tài)數(shù)據(jù)線13DB6H/L三態(tài)數(shù)據(jù)線14DB7H/L三態(tài)數(shù)據(jù)線15PSBH/LH:8位或4位并口方式,L:串口方式見(jiàn)注釋116NC-空腳17/RE

39、SETH/L復(fù)位端,低電平有效見(jiàn)注釋218VOUT-LCD驅(qū)動(dòng)電壓輸出端19AVDD背光源正端+5V見(jiàn)注釋320KVSS背光源負(fù)端見(jiàn)注釋3*注釋1:如在實(shí)際應(yīng)用中僅使用并口通訊模式,可將PSB接固定高電平,也可以將模塊上的J8和“VCC用焊錫短接。*注釋2:模塊內(nèi)部接有上電復(fù)位電路,因此在不需要經(jīng)常復(fù)位的場(chǎng)合可將該端懸空。*注釋3:如背光和模塊共用一個(gè)電源,可以將模塊上的JA、JK用焊錫短接??刂破鹘涌谛盘?hào)說(shuō)明:RS,R/W的配合選擇決定控制界面的4種模式:表3.8 控制界面的選擇RSR/W功能說(shuō)明LLMPU寫指令到指令暫存器IRLH讀出忙標(biāo)志BF及地址記數(shù)器AC的狀態(tài)HLMPU寫入數(shù)據(jù)到數(shù)據(jù)

40、暫存器DRHHMPU從數(shù)據(jù)暫存器DR中讀出數(shù)據(jù)E信號(hào)結(jié)果如表3.9所示:表3.9 E信號(hào)結(jié)果E狀態(tài)執(zhí)行動(dòng)作結(jié)果高低I/O緩沖DR配合/W進(jìn)行寫數(shù)據(jù)或指令高DRI/O緩沖配合R進(jìn)行讀數(shù)據(jù)或指令低/低高無(wú)動(dòng)作 忙標(biāo)志:BF BF標(biāo)志提供內(nèi)部工作情況.BF=1表示模塊在進(jìn)行內(nèi)部操作,此時(shí)模塊不接受外部指令和數(shù)據(jù).BF=0時(shí),模塊為準(zhǔn)備狀態(tài),隨時(shí)可接受外部指令和數(shù)據(jù).利用STATUS RD 指令,可以將BF讀到DB7總線,從而檢驗(yàn)?zāi)K之工作狀態(tài). 字型產(chǎn)生ROMCGROM 字型產(chǎn)生ROMCGROM提供8192個(gè)此觸發(fā)器是用于模塊屏幕顯示開(kāi)和關(guān)的控制。DFF=1為開(kāi)顯示DISPLAY ON),DDRAM

41、 的內(nèi)容就顯示在屏幕上,DFF=0為關(guān)顯示DISPLAY OFF)。DFF 的狀態(tài)是指令DISPLAY ON/OFF和RST信號(hào)控制的。 顯示數(shù)據(jù)RAMDDRAM 模塊內(nèi)部顯示數(shù)據(jù)RAM提供642個(gè)位元組的空間,最多可控制4行16字64個(gè)字的中文字型顯示,當(dāng)寫入顯示數(shù)據(jù)RAM時(shí),可分別顯示CGROM與CGRAM的字型;此模塊可顯示三種字型,分別是半角英數(shù)字型(16*8)、CGRAM字型及CGROM的中文字型,三種字型的選擇,由在DDRAM中寫入的編碼選擇,在0000H0006H的編碼中其代碼分別是0000、0002、0004、0006共4個(gè)將選擇CGRAM的自定義字型,02H7FH的編碼中將選

42、擇半角英數(shù)字的字型,至于A1以上的編碼將自動(dòng)的結(jié)合下一個(gè)位元組,組成兩個(gè)位元組的編碼形成中文字型的編碼BIG5A140D75F,GBA1A0-F7FFH。 字型產(chǎn)生RAM(CGRAM) 字型產(chǎn)生RAM提供圖象定義(造字)功能, 可以提供四組1616點(diǎn)的自定義圖象空間,使用者可以將內(nèi)部字型沒(méi)有提供的圖象字型自行定義到CGRAM中,便可和CGROM中的定義一樣地通過(guò)DDRAM顯示在屏幕中。 地址計(jì)數(shù)器AC 地址計(jì)數(shù)器是用來(lái)貯存DDRAM/CGRAM之一的地址,它可由設(shè)定指令暫存器來(lái)改變,之后只要讀取或是寫入DDRAM/CGRAM的值時(shí),地址計(jì)數(shù)器的值就會(huì)自動(dòng)加一,當(dāng)RS為“0”時(shí)而R/W為“1”時(shí)

43、,地址計(jì)數(shù)器的值會(huì)被讀取到DB6DB0中。光標(biāo)/閃爍控制電路 此模塊提供硬體光標(biāo)及閃爍控制電路,由地址計(jì)數(shù)器的值來(lái)指定DDRAM中的光標(biāo)或閃爍位置。 指令說(shuō)明模塊控制芯片提供兩套控制命令,根本指令和擴(kuò)充指令如表3.10、表:表3.10 根本指令RE=0指 指 令 碼功 能令RSR/WD7D6D5D4D3D2D1D0去除顯示0000000001將DDRAM填滿20H,并且設(shè)定DDRAM的地址計(jì)數(shù)器(AC)到00H地址歸位000000001X設(shè)定DDRAM的地址計(jì)數(shù)器(AC)到00H,并且將游標(biāo)移到開(kāi)頭原點(diǎn)位置;這個(gè)指令不改變DDRAM的內(nèi)容顯示狀態(tài)開(kāi)/關(guān)0000001DCBD=1: 整體顯示 O

44、NC=1: 游標(biāo)ONB=1:游標(biāo)位置反白允許進(jìn)入點(diǎn)設(shè)定00000001I/DS指定在數(shù)據(jù)的讀取與寫入時(shí),設(shè)定游標(biāo)的移動(dòng)方向及指定顯示的移位游標(biāo)或顯示移位控制000001S/CR/LXX設(shè)定游標(biāo)的移動(dòng)與顯示的移位控制位;這個(gè)指令不改變DDRAM 的內(nèi)容功能設(shè)定00001DLXREXXDL=0/1:4/8位數(shù)據(jù)RE=1: 擴(kuò)充指令操作RE=0: 根本指令操作設(shè)定CGRAM地址0001AC5AC4AC3AC2AC1AC0設(shè)定CGRAM 地址設(shè)定DDRAM地址0010AC5AC4AC3AC2AC1AC0設(shè)定DDRAM 地址顯示位址第一行:80H87H第二行:90H97H讀取忙標(biāo)志和地址01BFAC6A

45、C5AC4AC3AC2AC1AC0讀取忙標(biāo)志(BF)可以確認(rèn)內(nèi)部動(dòng)作是否完成,同時(shí)可以讀出地址計(jì)數(shù)器(AC)的值寫數(shù)據(jù)到RAM10數(shù)據(jù)將數(shù)據(jù)D7D0寫入到內(nèi)部的RAM(DDRAM/CGRAM/IRAM/GRAM)讀出RAM的值11數(shù)據(jù)從內(nèi)部RAM讀取數(shù)據(jù)D7D0(DDRAM/CGRAM/IRAM/GRAM)表3.12 擴(kuò)充指令RE=1指指 令 碼功 能令RSR/WD7D6D5D4D3D2D1D0待命模式0000000001進(jìn)入待命模式,執(zhí)行其他指令都可終止待命模式卷動(dòng)地址開(kāi)關(guān)開(kāi)啟000000001SRSR=1:允許輸入垂直卷動(dòng)地址SR=0:允許輸入IRAM和CGRAM地址反白選擇0000000

46、1R1R0選擇2行中的任一行作反白顯示,并可決定反白與否。初始值R1R000,第一次設(shè)定為反白顯示,再次設(shè)定變回正常睡眠模式0000001SLXXSL=0:進(jìn)入睡眠模式SL=1:脫離睡眠模式擴(kuò)充功能設(shè)定00001CLXREG0CL=0/1:4/8位數(shù)據(jù)RE=1: 擴(kuò)充指令操作RE=0: 根本指令操作G=1/0:繪圖開(kāi)關(guān)設(shè)定繪圖RAM地址0010AC60AC50AC4AC3AC3AC2AC2AC1AC1AC0AC0設(shè)定繪圖RAM 先設(shè)定垂直(列)地址AC6AC5AC0,再設(shè)定水平(行)地AC3AC2AC1AC0將以上16位地址連續(xù)寫入即可備注:當(dāng)IC1在接受指令前,微處理器必須先確認(rèn)其內(nèi)部處于非

47、忙碌狀態(tài),即讀取BF標(biāo)志時(shí),BF需為零,方可接受新的指令;如果在送出一個(gè)指令前并不檢查BF標(biāo)志,那么在前一個(gè)指令和這個(gè)指令中間必須延長(zhǎng)一段較長(zhǎng)的時(shí)間,即是等待前一個(gè)指令確實(shí)執(zhí)行完成。MAX485是用于通信的低功耗收發(fā)器,每個(gè)器件中都具有一個(gè)驅(qū)動(dòng)器和一個(gè)接收器。 芯片MAX485的概述1)引腳排列、引腳說(shuō)明和典型工作電路 MAX481/MAX483/MAX485的引腳排列和典型工作電路分別如圖3.6所示: EMBED PBrush 圖3.6 MAX485的引腳排列和典型工作電路2)其具體引腳說(shuō)明如下表3.13所示:表3.13 MAX481/MAX483/MAX485引腳說(shuō)明MAX481/MAX4

48、83/MAX485引腳 名稱 功能 1 RO接收器輸出端。假設(shè)A比B大200mV,RO為高,假設(shè)A比B小200mV,RO為低 2/RE接收器輸出使能端。當(dāng)/RE為低時(shí),RO有效;當(dāng)/RE為高時(shí),RO為高阻狀態(tài) 3 DE驅(qū)動(dòng)器輸出使能端。假設(shè)DE為高,驅(qū)動(dòng)輸出A和B有效;假設(shè)DE為低,它們成高阻狀態(tài),假設(shè)驅(qū)動(dòng)器輸出有效,器件作為線驅(qū)動(dòng)器用;假設(shè)為高阻狀態(tài)時(shí),/RE為低,器件作線接收器用。 4 DI驅(qū)動(dòng)器輸入端。DI為低,將迫使輸出為低;假設(shè)DI為高,將迫使輸出為高。 5GND地 6 A 同向接收器輸入和同向驅(qū)動(dòng)器輸出端 7 B反向接收器輸入和反向驅(qū)動(dòng)器輸出端 8VCC正電源輸入端: 總線驅(qū)動(dòng)器芯

49、片SN75176常用的RS485總線驅(qū)動(dòng)芯片有SN75174,SN75175,SN75176。SN75176芯片有一個(gè)發(fā)送器和一個(gè)接收器,非常適合作為RS485總線驅(qū)動(dòng)芯片。其邏輯關(guān)系如圖3.7所示。圖3.7 SN75176芯片及其邏輯關(guān)系第四章 系統(tǒng)的中斷,定時(shí)與串行通信4.1單片機(jī)的中斷系統(tǒng) 中斷的概念 中斷系統(tǒng)又叫作中斷管理系統(tǒng),其功能是使處理機(jī)對(duì)外界異步事件具有處理能力。中斷是一個(gè)過(guò)程,當(dāng)中央處理器CPU在處理某件事情時(shí),外部又發(fā)生了另一緊急事件,請(qǐng)求CPU暫停當(dāng)前的工作而去迅速處理該緊急事件。處理結(jié)束后,再回到原來(lái)被中斷的地方,繼續(xù)原來(lái)的工作。引起中斷的原因或發(fā)出中斷請(qǐng)求的來(lái)源,稱為

50、中斷源。 單片機(jī)一般允許有多個(gè)中斷源,當(dāng)幾個(gè)中斷源同時(shí)向CPU請(qǐng)求中斷時(shí),就存在CPU優(yōu)先響應(yīng)哪一個(gè)中斷請(qǐng)求源的問(wèn)題優(yōu)先級(jí)問(wèn)題,一般根據(jù)中斷源的輕重緩急排隊(duì),優(yōu)先處理最緊急事件的中斷請(qǐng)求,于是便規(guī)定每一個(gè)中斷源都有一個(gè)中斷優(yōu)先級(jí)別,并且CPU總是響應(yīng)級(jí)別最高的中斷請(qǐng)求。 當(dāng)CPU正在處理一個(gè)中斷源請(qǐng)求的時(shí)候,又發(fā)生了另一個(gè)優(yōu)先級(jí)比它高的中斷源請(qǐng)求,如果CPU能夠暫時(shí)中止對(duì)原來(lái)中斷處理程序的執(zhí)行,轉(zhuǎn)而去處理優(yōu)先級(jí)更高的中斷源請(qǐng)求,待處理完以后,再繼續(xù)執(zhí)行原來(lái)的低級(jí)中斷處理程序,這樣的過(guò)程稱為中斷嵌套。具有這種功能的中斷系統(tǒng)稱為多級(jí)中斷系統(tǒng)。沒(méi)有中斷嵌套功能的中斷系統(tǒng)稱為單級(jí)中斷系統(tǒng)。主程序中斷相

51、應(yīng)中斷效勞程序中斷返回繼續(xù)執(zhí)行主程序MCS-51系列單片機(jī)中斷系統(tǒng)可以提供5個(gè)中斷源,具有2個(gè)中斷優(yōu)先級(jí),可實(shí)現(xiàn)兩級(jí)中斷嵌套。用戶可以用關(guān)中斷指令或復(fù)位來(lái)屏蔽所有的中斷請(qǐng)求,也可以用開(kāi)中斷指令使CPU接收中斷請(qǐng)求;每一個(gè)中斷源可以用軟件獨(dú)立地控制為開(kāi)或關(guān)中斷狀態(tài);每一個(gè)中斷級(jí)別均可用軟件設(shè)置。現(xiàn)從工作過(guò)程和編程方法來(lái)介紹MCS-51的中斷系統(tǒng)。 中斷源和中斷請(qǐng)求標(biāo)志 在MCS-51系列單片機(jī)中,不同類型的單片機(jī),其中斷源個(gè)數(shù)和中斷標(biāo)志位的定義也有所不同。1)定時(shí)/計(jì)數(shù)控制存放器TCONTCON為定時(shí)/計(jì)數(shù)器T0、T1的控制器,同時(shí)也鎖存了T0、T1的溢出中斷請(qǐng)求信號(hào)標(biāo)志和外部中斷請(qǐng)求信號(hào)標(biāo)志,

52、其各位的定義如所示。 表4.1 TCON各位定義位編號(hào)位地址8FH8EH8DH8CH8BH8AH89H88H位定義TF1TR1TF0TR0IE1IT1IE0IT0TF1:定時(shí)器T1溢出中斷申請(qǐng)位。定時(shí)器T1被允許計(jì)數(shù)后,從初值開(kāi)始加一計(jì)數(shù),當(dāng)產(chǎn)生溢時(shí)置TF1=1,向CPU請(qǐng)求中斷,直到CPU響應(yīng)該中斷時(shí)才由硬件清零。TR1:定時(shí)/計(jì)數(shù)器T1的啟??刂莆?。TR1=1時(shí),定時(shí)器T1開(kāi)始計(jì)數(shù)工作,TR1=0時(shí),T1停止計(jì)數(shù)。TR1狀態(tài)由軟件設(shè)置。TF0:定時(shí)器T0溢出中斷申請(qǐng)位。T0被允許計(jì)數(shù)后,從初值開(kāi)始加一計(jì)數(shù),當(dāng)產(chǎn)生溢時(shí),硬件自動(dòng)置TF0為1,向CPU請(qǐng)求中斷,當(dāng)CPU響應(yīng)該中斷后,該位由硬件

53、清零。TR0::定時(shí)/計(jì)數(shù)器T0的啟??刂莆?。TR0=1時(shí),定時(shí)器T0開(kāi)始計(jì)數(shù)工作;TR0=0時(shí),T0停止計(jì)數(shù)。TR0狀態(tài)由軟件設(shè)置。IE1:外部中斷/INT1(P3.3)請(qǐng)求標(biāo)志位。當(dāng)CPU 檢測(cè)到在/INT1(P3.3)引腳上出現(xiàn)的外部中斷信號(hào)時(shí)低電平或脈沖下降沿時(shí),由硬件自動(dòng)將該位置位,請(qǐng)求中斷。當(dāng)CPU響應(yīng)中斷進(jìn)入相應(yīng)中斷效勞程序后,該位被硬件自動(dòng)清0指脈沖邊沿觸發(fā)方式,電平觸發(fā)方式時(shí)不能由硬件清0。IT1:外部中斷/INT1(P3.3)觸發(fā)方式控制位。由軟件來(lái)置1或清0,以控制外部中斷1的觸發(fā)類型。當(dāng)IT1=1時(shí)為邊沿觸發(fā)方式,CPU在每個(gè)機(jī)械周期采樣/INT1P3.3引腳輸入電平,

54、假設(shè)相繼的兩次采樣中一個(gè)采樣周期為高電平,接著下一個(gè)采樣周期為低電平,那么視為有中斷請(qǐng)求信號(hào)產(chǎn)生,置位IE1。采用邊沿觸發(fā)方式時(shí),外部中斷源輸入的高電平和低電平時(shí)間必須保持一個(gè)機(jī)械周期,才能保證CPU可靠的檢測(cè)到由高到低的負(fù)跳變。當(dāng)IT1=0時(shí),設(shè)定為低電平觸發(fā)中斷方式,當(dāng)/INT1(P3.3)引腳輸入低電平時(shí),有中斷請(qǐng)求信號(hào)產(chǎn)生,置位IE1,申請(qǐng)中斷。采用電平觸發(fā)方式時(shí),外部中斷引腳/INT1(P3.3)必須保持低電平有效,直到該中斷被CPU響應(yīng)為止。同時(shí),在該終端效勞程序執(zhí)行完之前,外部中斷輸入引腳/INT1(P3.3)的有效電平必須被撤銷,否那么將產(chǎn)生另一次中斷。IE0:外部中斷/INT

55、0(P3.2)請(qǐng)求標(biāo)志位。外部中斷0產(chǎn)生中斷請(qǐng)求信號(hào)時(shí),硬件自動(dòng)將該位置1,請(qǐng)求中斷,當(dāng)中斷響應(yīng)之后,該位被清零,其功能與IE1類同。外部中斷/INT0(P3.2)觸發(fā)方式控制位。IT0=0時(shí),外部中斷0為低電平觸發(fā)方式;當(dāng)IT0=1時(shí)為邊沿觸發(fā)方式,其功能和IT1類似。串行口控制存放器SCON。SCON為串行口控制存放器,SCON的低兩位鎖存串行口接收中斷和發(fā)送中斷標(biāo)志RI和TI,其格式如表4.2所示:表4.2 SCON各位定義位編號(hào)位地址9FH9EH9DH9CH9BH9AH99H98H位定義SM0SM1SM2RENTB8RB8T1R11TI:串行口發(fā)送中斷標(biāo)志。在串行口發(fā)送完一組數(shù)據(jù)時(shí),T

56、I由硬件自動(dòng)置為1,請(qǐng)求中斷。當(dāng)CPU響應(yīng)中斷進(jìn)入終端效勞子程序后,TI狀態(tài)不能被硬件自動(dòng)去除,必須在終端效勞程序中由軟件來(lái)去除。RI:串行口接收中斷標(biāo)志位。在串行口接收完一組數(shù)據(jù)時(shí),RI由硬件自動(dòng)置為1,請(qǐng)求中斷。當(dāng)CPU響應(yīng)中斷進(jìn)入終端效勞子程序后,RI狀態(tài)不能被硬件自動(dòng)去除,必須在終端效勞程序中由軟件來(lái)去除。其他各位是控制串行口的工作狀態(tài)的,與中斷沒(méi)有關(guān)系。單片機(jī)系統(tǒng)復(fù)位后,TCON、SCON中各位均為0,應(yīng)用時(shí)應(yīng)注意各位的初始狀態(tài)。MCS51單片機(jī)中,當(dāng)中斷源申請(qǐng)時(shí)首先要置位相應(yīng)的中斷標(biāo)志位,CPU檢測(cè)到中斷標(biāo)志位之后才決定是否響應(yīng)。當(dāng)CPU響應(yīng)了中斷請(qǐng)求,相應(yīng)的標(biāo)志位就要被去除,否那

57、么CPU在執(zhí)行完本次中斷效勞程序之后還要再次響應(yīng)該中斷請(qǐng)求,會(huì)造成混亂。因此在應(yīng)用中需要注意中斷請(qǐng)求的撤銷以及中斷標(biāo)志的去除。以下圖為中斷源及其對(duì)應(yīng)的矢量地址: 中斷源 中斷入口地址 外部中斷0 0003H 定時(shí)器T0中斷 000BH 外部中斷1 0013H 定時(shí)器T1中斷 001BH 串行口中斷 0023H 中斷控制MCS-51單片機(jī)有兩個(gè)特殊功能存放器,用于中斷系統(tǒng)的控制,分別為中斷允許存放器IE和中斷優(yōu)先級(jí)存放器IP。1中斷允許存放器IEIE控制CPU對(duì)中斷源的開(kāi)放或屏蔽,以及每個(gè)中斷源是否允許中斷,其格式為位編號(hào)位地址AFH _ _ACHABHAAHEA9HA8H位定義EA _ _ES

58、ET1EX1ET0EX0EA:CPU中斷開(kāi)放標(biāo)志。EA=1,CPU開(kāi)放中斷;EA=0,CPU屏蔽所有的中斷請(qǐng)求。ES:串行中斷允許位。ES=1,允許串行口中斷;ES=0,禁止串行口中斷。ET1:定時(shí)/計(jì)數(shù)器T1溢出中斷允許位。ET1=1,允許T1中斷;ET1=0,禁止T1中斷。EX1:外部中斷1中斷允許位。EX1=1,允許外部中斷1中斷;EX1=0,禁止外部中斷1中斷。ET0:定時(shí)/計(jì)數(shù)器T0溢出中斷允許位。ET0=1,允許T0中斷;ET0=0,禁止T0中斷。EX0:外部中斷0中斷允許位。EX=1,允許外部中斷0中斷;EX=0,禁止外部中斷0中斷。 MCS-51單片機(jī)復(fù)位后,IE中各位均被清0

59、,即禁止所有中斷。因此,想要開(kāi)放所需要的中斷請(qǐng)求,那么必須在程序中用軟件指令來(lái)實(shí)現(xiàn)。中斷優(yōu)先級(jí)存放器IPMCS-51單片機(jī)具有兩個(gè)中斷優(yōu)先級(jí),每個(gè)中斷源可編程為高優(yōu)先級(jí)中斷或低優(yōu)先級(jí)中斷,并可實(shí)現(xiàn)二級(jí)中斷嵌套。特殊功能存放器IP就是用來(lái)設(shè)定各中斷源優(yōu)先級(jí)別的,其格式如下:位編號(hào)位地址 BCHBBHBAHB9HB8H位定義 PSPT1PX1PT0PX0PS:串行口中斷優(yōu)先級(jí)控制位。PS=1,設(shè)定串行口為高優(yōu)先級(jí)中斷;PS=0,設(shè)定串行口為低優(yōu)先級(jí)中斷。PT1:定時(shí)/計(jì)數(shù)器T1中斷優(yōu)先級(jí)控制位。PT1=1,設(shè)定定時(shí)/計(jì)數(shù)器T1為高優(yōu)先級(jí)中斷:PT1=0,設(shè)定定時(shí)/計(jì)數(shù)器T1低優(yōu)先級(jí)中斷。PX1:外

60、部中斷1中斷優(yōu)先級(jí)控制位。PX1=1,設(shè)定外部中斷1為高優(yōu)先級(jí)中斷;PX1=0,設(shè)定外部中斷1為低優(yōu)先級(jí)中斷。PT0:定時(shí)/計(jì)數(shù)器T0中斷優(yōu)先級(jí)控制位。PT0=1,設(shè)定定時(shí)/計(jì)數(shù)器T0為高優(yōu)先級(jí)中斷;PT0=0,設(shè)定定時(shí)/計(jì)數(shù)器T0為低優(yōu)先級(jí)中斷。PX0:外部中斷0中斷優(yōu)先級(jí)控制位。PX0=1,設(shè)定外部中斷0為高優(yōu)先級(jí)中斷;PX0=0,設(shè)定外部中斷0為低優(yōu)先級(jí)中斷。 當(dāng)系統(tǒng)復(fù)位后,IP各位均為0,所有中斷設(shè)置為低優(yōu)先級(jí)中斷。 通過(guò)設(shè)置IP存放器把各中斷源的優(yōu)先級(jí)分為高、低兩級(jí),他們遵循兩條根本原那么:1、低優(yōu)先級(jí)中斷可以被高優(yōu)先級(jí)中斷所中斷,反之不能。2、一種中斷一旦得到響應(yīng),與它同級(jí)的中斷不

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論