智能儀器課程設計[1]01_第1頁
智能儀器課程設計[1]01_第2頁
智能儀器課程設計[1]01_第3頁
智能儀器課程設計[1]01_第4頁
智能儀器課程設計[1]01_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、目 錄一 引言 (1二 智能溫度計的基本組成方框 (1三 系統(tǒng)硬件組成 (2(一 溫度傳感器 AD590及其應用 (2(二 放大器 (3(三 A/D轉換器 MC1443 (3(四 LED 顯示器 (4(五 系統(tǒng)核心單片機部分閃電存儲器型器件 AT89C51(5(六 其它 (10四 智能溫度計的流程圖 (10五 系統(tǒng)主程序 (12六 總結和體會 (22七 參考文獻 (23智能溫度計設計摘要 本論文敘述了應用單片機 AT89C51構成的智能溫度計主要的功能、硬件 的組成和軟件的設計。 該系統(tǒng)的功能是通過溫度傳感器對溫度進行采集, 然后通 過 A/D轉換器 MC14433進行模數(shù)轉換, 傳給單片機進

2、行處理, 從而實現(xiàn)溫度的實時 顯示。整個系統(tǒng)結構緊湊、簡單可靠、操作靈活、功能強、性能價格比高,較好 地滿足了現(xiàn)代農業(yè)生產(chǎn)和科研的需要。關鍵詞 單片機 溫度傳感器 A/D轉換器 實時顯示一、引言單片機自問世以來, 性能不斷提高和完善, 其資源又能滿足很多應用場合的需要, 加之 單片機具有集成度高、功能強、速度快、體積小、功耗低、使用方便、價格低廉等特點,因 此,在工業(yè)控制、智能儀器儀表、數(shù)據(jù)采集和處理、通信系統(tǒng)、高級計算器、家用電器等領 域的應用日益廣泛, 并且正在逐步取代現(xiàn)有的多片微機應用系統(tǒng)。 單片機的潛力越來越被人 們所重視。特別是當前用 CMOS 工藝制成的各種單片機,由于功耗低,使用

3、的溫度范圍大, 抗干擾能力強、 能滿足一些特殊要求的應用場合, 更加擴大了單片機的應用范圍, 也進一步 促使單片機性能的發(fā)展。而現(xiàn)在單片機在農業(yè)上也有了很多的應用。溫度是日常生活、工業(yè)、醫(yī)學、環(huán)境保護、化工、石油等領域最常遇到的一個物理量。 測量溫度的基本方法是使用溫度計直接讀取溫度。 最常見到的測量溫度的工具是各種各樣的 溫度計,例如,水銀玻璃溫度計,酒精溫度計,熱電偶或熱電阻溫度計等。它們常常以刻度 的形式表示溫度的高低, 人們必須通過讀取刻度值的多少來測量溫度。 利用單片機和溫度傳 感器構成的電子式智能溫度計就可以直接測量溫度, 得到溫度的數(shù)字值, 既簡單方便, 又直 觀準確。二、智能溫

4、度計的基本組成方框圖 1 1是智能溫度計的基本組成方框。主要由溫度傳感器,放大器, A/D轉換器,單 片機控制, LED 顯示器,電源等組成。溫度傳感器是把溫度轉換成電壓(或電流的器件, 溫度傳感器輸出電壓的大小隨溫度的高低變化而變化, 電壓值的變化范圍從幾個微伏到幾個 毫伏。 不同的溫度傳感器, 輸出電壓的范圍也差別很大。 放大器的主要功能是把微弱的溫度 電壓信號放大到(0 2伏或(0 5伏的范圍內,以便進行 A/D轉換。 A/D轉換器把放 大后的模擬溫度電壓信號轉換成對應的數(shù)字溫度電壓信號。單片機 8051是智能溫度計的控 制核心,一方面控制 A/D轉換器實現(xiàn)模擬信號到數(shù)字信號的轉換,另一

5、方面將采集到的數(shù) 字溫度電壓值,經(jīng)過計算處理,得到相應的溫度值,送到 LED 顯示器以數(shù)字形式顯示測量 的溫度。 LED 顯示器用于顯示測量溫度的結果。圖 1 1 智能溫度計方框圖三、系統(tǒng)硬件組成 圖 1 2 測量攝氏(溫度的電路原理。假定 :溫度測量范圍:0 150。攝氏(溫度數(shù)字顯示: 000.0 或 112.8等,十進制小數(shù)點后一位。(一 、溫度傳感器 AD590及其應用AD590是美國模擬器件公司生產(chǎn)的單片集成兩端感溫電流源。它的主要特性如下: (1 流過器件電流的微安數(shù)等于器件所處環(huán)境溫度的熱力學溫度(開爾文度數(shù)。即 I T /T=1µA /K式中的 I T 為流過器件(A

6、D590的電流,單位 µA , T 為溫度,單位為 K 。(2 AD590的測溫范圍為 -55 -+150。(3 AD590的電源電壓范圍為 4V30V。電源電壓從 4V 到 6V 變化,電流 I T 變化 1µA ,相 當于溫度變化 1K 。 AD590可以承受 44V 正相電壓和 20 V 反相電壓。因而器件反接也 不會損壞器件。 (4 輸出電阻為 710M 。(5 精度高。AD590在出廠以前已經(jīng)校對,精度高。因為流過 AD590的電流于熱力學溫度成正比, 如兩個電阻之和為1K , 溫度變化 1°C , 那么輸出電壓 Vo 變化為1mV/K。 但由于 AD5

7、90 的增益有偏差,電阻也有誤差,調整的方法與對 P -N 結溫度傳感器調整的方法相同。 即,把 AD590放于冰水混合物中,調整電位器,使 Vo =273.2mV 。或在室溫下,例如 25 條件下調整電位器使 V o =273.2+25=298.2(mV 。但這樣調整只可以保證 0或 25附 近有較高精度。圖中用電位器 R 1調零點,用 R2調增益,方法如下:在 0o C 時調整 W1使輸出 Vo = 273.2mV 。 然后在 100時調 W2使 V o =373.2mV 。 然后反復多次, 直至 0時 V o =273.2mV , 100時 Vo =373.2mV 為止。最后在室溫下進行

8、校驗。例如,若室溫為 25,那么 V o 應為 298.2mV 。 0和 100環(huán)境的產(chǎn)生方法:冰水混合物是 0的環(huán)境,沸水為 100環(huán)境。 (二 、 放大器放大器由運算放大器 A 組成,常用的芯片有:LF335, LF336, CA3140等,主要功能 是把模擬的溫度電壓信號放大到 A/D轉換器要求的輸入電壓范圍。 A/D轉換器 MC14433要 求,模擬輸入電壓的范圍為:0 2V 。 W3的作用是抵消溫度傳感器 AD590在攝氏 0時 產(chǎn)生的溫度電壓 Vo =273.2mV ,使放大器 A 的輸出電壓為 0.0V 。放大器 A 的放大倍數(shù)選擇 為 10,保證溫度在 0 150范圍內變化,而

9、放大器的輸出電壓在 0 1。 50V 的范圍內。電 位器 W2用于調整放大器的放大倍數(shù)。(三 、 A/D轉換器 MC14433A/D轉換器由雙積分型 3又 1/2位 A/D轉換器 MC14433來完成。 因為溫度的變化具有慣 性,變化緩慢, MC14433的轉換速度完全可以滿足溫度測量的要求。MC14433的方框圖和引腳如圖 3所示,它是單片 CMOSA/D轉換器 , 它采用雙積分原理實 現(xiàn) A/D轉換。 因為轉換后的數(shù)字量有三位十進制數(shù), 而最高位只能輸出0或1, 故稱為3又 1/2位 A/D轉換器.該電路需要外接積分電阻R和電容C,外接失調補償電容 C 。該電路具 有自動調零、自動極性轉換

10、功能,它精度高、功耗低、使用方便并能與微機或其他數(shù)字電路 兼容。它廣泛用于數(shù)字面板表、數(shù)字萬用表、數(shù)字量具和遙控遙測系統(tǒng)。 圖 1 3 MC14433的方框圖和引腳引腳引線功能如下:G 被測電壓 VX 和參考電壓 VR 的模擬接地端VR 外接參考電壓端(+2V或 +200MvVX 被測電壓輸入端R1, R1/C1, C1 外接積分電阻 R1和積分電容 C1元件端。外接元件典型值:當量程為 2V 時, C = 0.1F,R = 470k;當量程為 200mV 時, C1 = 0.1F, R1 = 27kC01,C02 外接失調電容 C0端。 C0典型值為 0.1FDU 數(shù)據(jù)顯示控制端。當 DU

11、和 EOC (引腳 14連接時,每次 A/D轉換都輸出CLKI , CLKO 時鐘振蕩器外接電阻 RC 端, RC的典型值為 470k ,時鐘頻率隨 RC 增加 而下降VEE 模擬負輸入端。典型值為 -5VVSS 數(shù)字地, 除 CLKO 端外所有輸出端的低電平基準。 當 VSS 與 VAG 相連 (即數(shù)字地和 模擬地相連時,輸出電壓幅度為 VAG VDD (0V +5V ;當 VSS 與 VEE (-5V 相連,輸出 電壓幅度為 VEE VDD (-5V +10V 。實際應用時一般是 VSS 與 VAG 相連EOC 轉換結束控制端(輸出 。每當一個 A/D轉換周期結束, EOC 端輸出一個寬度

12、為時 鐘周期 1/2寬度的正脈沖OR 過量程標志輸出端。平時為高電平。當|VX | VR 時(被測電壓輸入絕對值大 于參考電壓 , OR 端輸出低電平DS1DS4 多路選通脈沖輸出端, 對應 DS1千位, 對應 DS4個位。 每個選通脈沖寬度為 18個時鐘脈沖,兩個相鄰脈沖之間間隔為 2個時鐘周期Q0Q3 BCD 碼數(shù)據(jù)輸出線。其中為 Q0最低位, Q3為最高位。當 DS2 、 DS3和 DS4選 通期間, Q0Q3除了表示千位的 0或 1外,還表示了轉換值的正負極性和欠量程還是過量 程VDD 正電源端。典型值為 +5VMC14433的外部連接電路盡管 MC14433外部連接元件很少, 為使其

13、工作于最佳狀態(tài), 也必須注意外部電路的連接 和外接元件的選擇,其實際連接電路如圖 11 18所示。為了提高電源抗干擾的能力,正、 負電源分別通過去耦電容 0.047F 、 0.02F 與 VSS(VAG相連。MC14433和單片機 8051采用查詢方式連接。 MC14433的多路選通脈沖輸出端和 BCD 碼數(shù) 據(jù)輸出端 Q0-Q7和單片機的 P0口連接。 EOC 端和 8051的 /INT0連接,單片機 8051通過不 斷查詢 /INT0端的狀態(tài), 了解 MC14433的每次 A/D轉換是否結束, 在 A/D轉換結束后, 經(jīng) P0口讀取 A/D轉換的結果, 存入 CPU 內部的輸入數(shù)據(jù)緩沖區(qū)。

14、 MC1403是高精度的基準源 (2.5V , 它的輸出經(jīng) 10K 可調電位器,調整到 2.0V 提供 MC14433的基準電壓。(四 、 LED 顯示器LED顯示器由 4位共陰極 LED 顯示器組成, 采用動態(tài)分時掃描方式。 采用 4位共陰極 LED 示器使為了保證溫度超過 100時, 測量結果仍能保持在小數(shù)點后一位顯示, 例如:110.4, 提高測量顯示精度。共陰極 LED 顯示器的陽極和單片機 CPU 的 P1口連接,顯示段碼由 CPU 通過 P1口傳送 到 LED 顯示器的陽極。位掃描碼由單片機 8051的 P2口低四位輸出,經(jīng)同相驅動器傳送到 LED 顯示器的陰極, 選通 LED 顯

15、示器的數(shù)位, P2.3, P2.2,P2.1,P2.0輸出電平為 0111 時, 選通左邊的第一位數(shù)字, P2.3, P2.2,P2.1,P2.0輸出電平為 1011時,選通左邊的第二 位數(shù)字, P2.3, P2.2,P2.1,P2.0輸出電平為 1101時,選通左邊的第三位數(shù)字, P2.3, P2.2,P2.1,P2.0輸出電平為 1110時,選通左邊的第四位數(shù)字。(五 、系統(tǒng)核心單片機部分 -閃電存儲器型器件 AT89C51單片機 AT89C51有內部 RAM , 可以作為各種數(shù)據(jù)區(qū)使用, 內部閃電存儲器存放智能溫 度計的控制程序。它的主要功能是控制 MC14433,實現(xiàn)溫度的數(shù)字值采集,

16、完成溫度的數(shù) 字采集值到對應數(shù)字溫度的轉換計算, 并把計算的數(shù)字溫度轉換相應的顯示段碼, 控制 LED 顯示器以動態(tài)掃描方式進行溫度顯示。AT89系列單片機是 ATMEL 公司生產(chǎn)的。這是當前最新的一種電擦寫 8位單片機,與 MCS-51系列完全兼容, 有超強的加密功能, 可完全替代 87C51/52和 8751/52。 它物美價廉, 深受用戶歡迎。與 87C51相比, AT89系列的優(yōu)越性在于,其片內閃電存儲器的編程與擦除完全用電實 現(xiàn);數(shù)據(jù)不易揮發(fā),可保存 10年;編程 /擦除速度快,全 4K 字節(jié)編程只需時 3s ,擦除時間 約用 10ms ; AT89系列了實現(xiàn)在線編程;也可借助電話線

17、進行遠距離編程。AT89C51是一種低功耗、高性能內含 4K 字節(jié)閃電存儲器(Flash Memory的 8位 CMOS 微控制器。這種器件系以 ATMEL 高密度不揮發(fā)存儲技術制造,與工業(yè)標準 MCS-51指令系統(tǒng) 和引腳完全兼容。 片內閃電存儲器的程序代碼或數(shù)據(jù)可在線寫入, 亦可通過常規(guī)的編程器編 程。例如, MP-100這樣一種經(jīng)濟型的編程器,它支持通用 EPROM 等各種存儲器、 PAL 、 GAL 以及 INTEL 、 ATMEL 和 PHILIPS 等各公司的全系列 51單片機的編程。 ME5103和 ME5105仿真 器支持 AT89系列所有器件的調試、仿真和編程。AT89C51

18、具有下列主要性能:. 4KB可改編程序 Flash 存儲器(可經(jīng)受 1, 000次的寫入 /擦除周期. 全靜態(tài)工作:0Hz 24MHz. 三級程序存儲器保密. 128 X 8字節(jié)內部 RAM. 32條可編程 I/O線. 2個 16位定時器 /計數(shù)器. 6個中斷源. 可編程串行通道. 片內時鐘振蕩器另外, AT89C51是用靜態(tài)邏輯來設計的,其工作頻率可下降到 0 Hz ,并提供兩種可用軟 件來選擇的省電方式空閑方式(Idle Mode和掉電方式(Power Down Mode 。在空 閑方式中, CPU 停止工作,而 RAM 、定時器 /計數(shù)器、串行口和中斷系統(tǒng)都繼續(xù)工作。在掉電 方式中,片內

19、振蕩器停止工作,由于時鐘被“凍結” ,使一切功能都暫停,只保存片內 RAM中的內容,直到下一次硬件復位為止。(1主電源引腳(a.Vcc 電源端(b.GND 接地端(2外接晶體引腳 XTAL1和 XTAL2(a.XTAL1 接外部晶體的一個引腳。 在單片機內部, 它是構成片內振蕩器的反相放大 器的輸入端。 當采用外部振蕩器時, 該引腳接收振蕩器的信號, 既把此信號直接接到內部時 鐘發(fā)生器的輸入端。(b.XTAL2 接外部晶體的另一個引腳。 在單片機內部, 它是上述振蕩器的反相放大器的 輸出端。采用外部振蕩器時,此引腳應懸浮不連接。(3.控制或與其它電源復用引腳 RST 、 ALE/PROG、 /

20、PSEN和 /EA/Vpp(a.RES 復位輸入端。 當振蕩器運行時,在該引腳上出現(xiàn)兩個機器周期的高電平將 使單片機復位。(b.ALE/PROG 當訪問外部存儲器時, ALE (地址鎖存允許 的輸出用于鎖存地址的低 位字節(jié)。即使不訪問外部存儲器, ALE 端仍以不變的頻率(此頻率為振蕩器頻率的 1/6周 期性地出現(xiàn)正脈沖信號。因此,它可用作對外輸出的時鐘,或用于定時目的。然而要注意的 是:每當訪問外部數(shù)據(jù)存儲器時,將跳過一個 ALE 脈沖。在對 Flash 存儲器編程期間,該引 腳還用于輸入編程脈沖(/PROG 。如果需要的話,通過對專用寄存器(SFR 區(qū)中 8EH 單元的 D0位置數(shù),可禁止

21、 ALE 操 作。該位置數(shù)后,只有在執(zhí)行一條 MOVX 或 MOVC 指令期間, ALE 才會被激活。另外,該引腳 會被微弱拉高,單片機執(zhí)行外部程序時,該設定禁止 ALE 位無效。(c. /PSEN 程序存儲允許(/PSEN輸出是外部程序存儲器的讀選通信號。當 AT89C51/LV51由外部程序存儲器取指令(或常數(shù)時,每個機器周期兩次 /PSEN有效(既輸 出 2個脈沖 。但在此期間內,每當訪問外部數(shù)據(jù)存儲器時,這兩次有效的 /PSEN信號將不 出現(xiàn)。(d./EA/Vpp 外部訪問允許端。要使 CPU 只訪問外部程序存儲器(地址為 0000H FFFFH ,則 /EA端必須保持低電平(接到 G

22、ND 端 。然而要注意的是,如果保密位 LB1被編 程,復位時在內部會鎖存 /EA端的狀態(tài)。當 /EA端保持高電平(接 Vcc 端時, CPU 則執(zhí)行內部程序存儲器中的程序。在 Flash 存儲器編程期間,該引腳也用于施加 12V 的編程允許電源 Vpp (如果選用 12V 編程 。(4輸入 /輸出引腳 P0.0 P0.7、 P10. P1.7、 P2.0 P2.7 和 P3.0P3.7(a.P0端口 (P0.0 P0.7 P0是一個 8位漏極開路型雙向 I/O端口。 作為輸出口用 時, 每位能以吸收電流的方式驅動 8個 TTL 輸入, 對端口寫 1時, 又可作高阻抗輸入端用。 在訪問外部程序

23、和數(shù)據(jù)存儲器時,它是分時多路轉換的地址(低 8位 /數(shù)據(jù)總線,在 訪問期間激活了內部的上拉電阻。在 Flash 編程時, P0端口接收指令字節(jié); 而在驗證程序時, 則輸出指令字節(jié)。 驗證時, 要求外接上拉電阻。(b.P1端口(P1.0 P1.7 P1是一個帶有內部上拉電阻的 8位雙向 I/O端口。 P1的輸出緩沖器可驅動(吸收或輸出電流方式 4個 TTL 輸入。對端口寫 1時,通過內部的 上拉電阻把端口拉到高電位,這時可用作輸入口。作輸入口時,因為有內部的上拉電阻, 那些被外部信號拉低的引腳會輸出一個電流。在對 Flash 編程和程序驗證時, P1接收低 8位地址。(c.P2端口 (P2.0P

24、2.7 P2是一個帶有內部上拉電阻的 8位雙向 I/O端口。 P2的輸出緩沖器可驅動(吸收或輸出電流方式 4個 TTL 輸入。對端口寫 1時,通過內部的 上拉電阻把端口拉到高電位,這時可用作輸入口。 P2作輸入口使用時,因為有內部的上拉 電阻,那些被外部信號拉低的引腳會輸出一個電流。在訪問外部程序存儲器和 16位地址的外部數(shù)據(jù)存儲器 (如執(zhí)行 MOVX DPIR指令 時, P2送出高 8位地址。在訪問 8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行 MOVX RI指令時, P2口引腳上的內容(就是專用寄存器(SFR 區(qū)中 P2寄存器的內容 ,在整個訪問期間不會改 變。在對 Flash 編程和程序驗證期間,

25、P2也接收高位地址和一些控制信號。(d .P3端口(P3.0P3.7 P3 是一個帶有內部上拉電阻的 8位雙向 I/O端口。 P2的輸出緩沖器可驅動(吸收或輸出電流方式 4個 TTL 輸入。對端口寫 1時,通過內部 的上拉電阻把端口拉到高電位,這時可用作輸入口。 P3作輸入口使用時,因為有內部的上 拉電阻,那些被外部信號拉低的引腳會輸出一個電流。在 AT89C51中, P3端口還用于一些專門功能,這些兼用功能見表 1 在對 Flash 編程和程序驗證時, P3還接收一些控制信號。(5 Flash 存儲器的編程和程序校驗:AT89C51單片機內部有一個 4K 字節(jié)的 Flash PEROM 。

26、這個 Flash 存儲陣列通常是處于已 擦除狀態(tài) (既存儲單元的內容為 FFH , 隨時可對它進行編程。 編程接口可接收高電壓 (12V 或低電壓(Vcc 的允許編程信號。低電壓編程方式可很方便地對 AT89C51內的用戶系統(tǒng)進 行編程;而高電壓編程方式則可與通用的 EPROM 編程器兼容。AT89C51的程序存儲器陣列是采用字節(jié)寫入方式編程的,既每次寫入一個字節(jié)。要對片 內的 PEROM 程序存儲器寫入任何一個非空字節(jié), 都必須用片擦除方式將整個存儲器的內容清 除。(6 對 Flash 存儲器編程編程前, 必須按照表 2和圖 5建立好地址、 數(shù)據(jù)和相應的控制信號。 編程單元的地址加 在 P1

27、端口和 P2端口的 P2.0P2.3(11位地址為 0000H 0FFFH ,數(shù)據(jù)從 P0端口輸入。引 腳 P2.6、 P2.7和 P3.6、 P3.7的電平選擇見表 2。 /PSEN應保持低電平,而 RST 應保持高電 平。 /EA/VPP是編程電源的輸入端,按要求加入編程電壓。 ALE/PROG端輸入編程脈沖(應 為負脈沖信號 。編程時,采用 420 MHz的振蕩器。對 AT89C51編程的步驟如下:(a在地址線上輸入要編程單元的地址。(b在數(shù)據(jù)線上輸入要寫入的數(shù)據(jù)字節(jié)。(c激活相應的控制信號。(d在采用高電壓編程方式時,將 /EA/VPP端的電壓加到 12V 。(e每對 Flash 存儲

28、陣列寫入一個字節(jié)或每寫入一個程序加密位, 加一個 ALE/PROG編程脈沖。改變編程單元的地址和要寫入的數(shù)據(jù),重復步驟 a e ,直到全部文件編程完畢。 每個字節(jié)寫入周期是自動定時的,通常不大于 1.5ms 。表 1 2 Flash 編程方式(7數(shù)據(jù)查詢方式AT89C51單片機用數(shù)據(jù)查詢方式來檢測一個寫周期是否結束。在一個寫周期期間,如果 想讀出最后寫入的哪個字,則讀出數(shù)據(jù)的最高位(P0.7是原來寫入字節(jié)最高位的反碼。寫 周期一旦完成后, 有效的數(shù)據(jù)就會出現(xiàn)在所有輸出端上, 這時可開始下一個寫周期。 一個寫 周期開始后,可在任何時間開始進行數(shù)據(jù)查詢。 圖 1 5 Flash編程 圖 1 6 程

29、序的校驗圖 1 7 Flash 編程和校驗的波形(高電平編程方式(8準備就緒 /忙信號字節(jié)編程的過程也可通過 RDY/BSY輸出信號來監(jiān)視。在編程期間,當 ALE 變?yōu)楦唠娖?后, P3.4(RDY/BSY端的電平被拉低,表示忙(正在編程狀態(tài)。編程完畢后, P3.4的 電平變高表示就緒狀態(tài)。(9程序的校驗 如果加密位 LB1和 LB2沒有被編程,那么就可以對 AT89C51內部已編好的程序進行校 驗。 這時采用圖 6所示的引腳接法。 程序存儲器的地址仍由 P1端口和 P2端口的 P2.0P2.3輸入, 數(shù)據(jù)由 P0端口輸入。 P2.6、 P2.7和 P3.6、 P3.7的電平見表 1-4。 /

30、PSEN保持低電平, 而 ALE 、 /EA和 RST 保持高電平。校驗時,在 P0端口上要求外接約 10K 左右的上拉電阻。程序加密位不能直接校驗。加密位的校驗可通過觀察它們的功能是否被允許來進行。 Flash 存儲器編程和程序校驗時的時序圖見圖 1 7(高電平編程和圖 1 8(低電壓編 程 。 圖 1 8 Flash 編程和校驗的波形(低電壓編程方式(六、其它為增強系統(tǒng)在工作現(xiàn)場的抗干擾能力, 在硬件設計方面采取了一系列措施, 例如, 信號 的輸入/輸出采用電平轉換、光電隔離;正確配置接地系統(tǒng),處理好共地信號;強電信號和 弱電信號分開走線, 傳輸線盡可能使用雙絞線和屏蔽電纜; 設置WDT時

31、鐘監(jiān)視電路, 自動 監(jiān)視CPU運行狀態(tài),出現(xiàn)故障自動處理,同時具有硬件自診斷功能,避免“死機”現(xiàn)象發(fā) 生等等。四 . 智能溫度計的流程圖在軟件設計上, 采用了良好的人機交互環(huán)境, 可通過選擇功能熱鍵執(zhí)行特定的程序, 如 任意設定檢測參數(shù)值, 選擇顯示方式和控制模式等, 還可設置優(yōu)先權直接進行人為干預以便 達到靈活控制的目的,如果某一檢測通道被鍵設置成關閉,那么不管此通道外部情況如何, 系統(tǒng)均不作任何反應。為了提高系統(tǒng)的抗干擾能力, 除硬件上采取了相應的措施外, 在軟件設計中也采取了若 干措施, 如在數(shù)據(jù)采集時采用數(shù)字濾波; 采取指令冗余設計,在程序中適當?shù)夭迦肟詹僮髦噶? 對一些重要的指令重寫

32、等等。 從而有效地提高了系統(tǒng)運行的可靠性, 使其檢測控制工作 及時準確、安全穩(wěn)定,達到良好的環(huán)境模擬控制性能要求。圖 9是智能溫度計的流程圖。 因為智能溫度計的控制和計算相對簡單, 由該流程方框圖 可見,該主程序是循環(huán)線性結構。在初始化時,清除內部 RAM ,設定標志位和標志單元, 設置堆棧指針,檢測 LED 顯示器工作是否正常等。它主要包括了下述一些子程序:(1 從 A/D轉換器 MC14433讀取溫度數(shù)字電壓子程序:查詢 A/D轉換狀態(tài), 一旦本次 A/D轉換結束, CPU 將溫度電壓的 BCD 碼數(shù)字值送到 RAM 中的輸入緩沖區(qū)存放。(2 溫度電壓數(shù)字值到溫度數(shù)字轉換子程序; 將緩沖區(qū)

33、中的溫度電壓數(shù)字 BCD 碼轉換為實 際的溫度十進制數(shù)字。(3溫度數(shù)字到 LE D 顯示段碼轉換子程序:把溫度十進制數(shù)字轉換成相應的 LED 顯示段 碼,存放在顯示段碼緩沖區(qū)供 LED 顯示器顯示傳送子程序(4 LED 顯示段碼到 LED 顯示器顯示傳送和動態(tài)掃描子程序(5 BCD 碼加,減,乘,除子程序;(6 BCD 碼在緩沖器間傳送子程序;(7 其它專用子程序; 圖 9 智能溫度計的流程圖 四、 系統(tǒng)主程序系統(tǒng)主程序 :ORG 0000HLJMP MAINORG 0013HLJMP SUBORG 0100HMAIN: MOV SP,#40HMOV A, #78HMOV R7, #09HMO

34、VX A,DPTRMOV R0,ACLR CSUBB A,#34HJNC LOOP1CLR CMOV A,R0SUBB A,#3AHJC LOOPMOV A,R0ACALL TEMPLOOP:MOV DPTR,#EF00HMOV R1,#0F8HMOV A, #33HMOVX R1, AMOV A,R0MOVC A,A+DPTRDEC R1MOVX R1,AMOV A,R2INC R1MOVX R1,AINC R0MOV A,R2CLR CRRC AMOV R2,AMOV A,#00HMOV DPTR,#00F8HMOVX DPTR,AAJMP GOLOOP1: MOV P1,#8FHAJMP

35、 GOLOOP2: MOV P1,#0BFHGO : POP DPHPOP DPLPOP ACCPOP PSWRETIENDTEMP: MOV DPTR,TABLEMOV A,R0MOV B,#04HCLR CMUL ABJNC NOOINC DPHNOO: MOVC A,A+DPTRMOV 80H,AINC DPTRMOVC A,DPTRMOV 81H,AAJMP LOOPORG 0300HTAB: DB 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 77H 83H MAIN:MOV 20H,#0MOV 21H,#0MOV R0,#3CHMOV R1,#12

36、LCALL CLEARSETB PT0ML2: NOPNOPNOPMOV A,P1CJNE A,#0FBH,ML3AJMP MAINML3: MOV A,PIN1INC ASUBB A,PIN3CJNE A,#0,ML4AJMP TEST0ML4: JC TEST0JNB E1,TEST0AJMP COMPPTEST0:MOV PIN3,#0MOV A,P1CJNE A,#0FDH,TEST AJMP EXITTEST:MOV A,P1CJNE A,#0FFH,TEST1 EXIT:MOV R0,#79H MOV R1,#50HHEX: ACALL HEXASCMOV R2,#6MOV R0,

37、#5AHACALL INICLR FLAG3SJMP HERECOMPP:AJMP COMPSECOO:JNB P1.5,SSECOAJMP SECOSSECO:AJMP SECMINII:JNB P1.5,MMINIAJMP MINIMMINI:AJMP MINHOURR:JNB P1.5,HHOURAJMP HOURHHOUR:AJMP HOUTEST1:JNB P1.0,SETT TEST2:SETB EAJNB P1.4,EXITJNB P1.5,DEALAJMP TESTSETT:CLR EAMOV C,P1.4MOV F0,CJNB P1.1,SECOOJNB P1.2,MINII

38、JNB P1.3,HOURRAJMP TEST2DEAL:SETB E1JNB P1.4,OVERMOV R0,#49HMOV R1,#6ACALL CLEARMOV B,#3MOV A,PIN1MUL ABADD A,R4MOV PIN,AMOV A,PIN1CJNE A,#4,AAA MOV PIN1,#0MOV PIN2,#3EH MOV PIN,#3CH AAA: JNB P1.4,OVER JNB P1.1,SECOO JNB P1.2,MINII JNB P1.3,HOURR AJMP AAA OVER:SETB E2INC PIN1MOV R2,#6MOV R0,#3AHMOV

39、R1,PIN1ACALL INI MOV R0,#49HMOV R2,#3MOV R1,PINZIP: MOV A,R0MOV R1,AINC R0MOV A,R0SWAP AORL A,R1MOV R1,AINC PININC R0INC R1DJNZ R2,ZIP AJMP EXIT COMP:MOV A,PIN2CJNE A,#4AH,J AJMP OVRJ: MOV R0,PIN2MOV R1,#7EHMOV R2,#3JJJ:MOV A,R0ANL A,#0F0HSWAP AXRL A,R1JNZ ENDDDEC R1MOV A,R0ANL A,#0FHXRL A,R1JNZ END

40、DDEC R1DEC R0DJNZ R2,JJJSETB FLAG2INC PIN3AJMP TESTENDD:MOV A,PIN2ADD A,#3MOV PIN2,AAJMP COMPOVR: MOV PIN2,#3EHAJMP TESTHOUR:ACALL DELYMOV R0,#7EHJNB F0,SUB1ACALL DAAD1MOV A,R2XRL A,#24HJNZ ML0ACALL CLR0AJMP ML0MINI:ACALL DELYMOV R0,#7CHJNB F0,SUB1ACALL DAAD1MOV A,R2XRL A,#60HJNZ ML0ACALL CLR0AJMP M

41、L0SECO:ACALL DELYMOV R0,#7AHJNB F0,SUB1ACALL DAAD1MOV A,R2XRL A,#60HJNZ ML0ACALL CLR0 ML0: MOV R0,#79HACALL HEXASCMOV R2,#6MOV R0,#5AHACALL INI AJMP SETT SUB1:SETB F0ACALL SUBAJMP ML0 CLEAR:MOV R0,#0INC R0DJNZ R1,CLEAR RETHOU: ACALL DELYSETB E0MOV R0,#4EH ACALL DAAD1MOV A,R2XRL A,#24HJNZ ML00ACALL C

42、LR0AJMP ML00 MIN: ACALL DELYSETB E0MOV R0,#4CHACALL DAAD1MOV A,R2XRL A,#60HJNZ ML00ACALL CLR0AJMP ML00 SEC: ACALL DELYSETB E0MOV R0,#4AHACALL DAAD1MOV A,R2XRL A,#60HJNZ ML00ACALL CLR0 ML00:MOV R0,#49HMOV R1,#30HACALL HEXASCMOV R2,#6MOV R0,#3AHINC R1ACALL INI AJMP AAADELY:MOV R1,#0FFHA1: MOV R2,#0FFH

43、 LOOP:NOPNOPNOPDJNZ R2,LOOPDJNZ R1,A1RETPITO:PUSH PSWPUSH 0E0HPUSH DPHPUSH DPLSETB PSW.3MOV A,P1MOV TL0,#01HMOV TH0,#1FHCJNE A,#0FDH,SSS MOV TL0,#0EDH MOV TH0,#0FBH SSS: JNB P1.5,GETNUM DDD: MOV A,2FHDEC AMOV 2FH,AJNZ RET0MOV 2FH,#10HMOV R0,#7AHACALL DAAD1MOV A,R2XRL A,#60HJNZ RET0ACALL CLR0MOV R0,#

44、7CHACALL DAAD1MOV A,R2XRL A,#60HJNZ RET0ACALL CLR0MOV R0,#7EHACALL DAAD1MOV A,R2XRL A,#24HJNZ RET0ACALL CLR0 RET0:SETB TR0POP DPLPOP DPHPOP 0E0HPOP PSWRETIGETNUM:JB FLAG1,EEMOV R1,#49HMOV R2,#6CO: MOV R1,#0INC R1DJNZ R2,COSETB FLAG1EE: AJMP DDDDAAD1:MOV A,R0DEC R0SWAP AORL A,R0ADD A,#1DA AMOV R2,AANL A,#0FHMOV R0,AMOV A,R2INC R0ANL A,#0F0HSWAP AMOV R0,ASETB FLAG3RETSUB: DEC R0DEC R0CJNE R0,#0FFH,RET2 INC R0CJNE R0,#0,AA DEC R0MOV R0,#0RETAA: DEC R0MOV R0,#9RET2: SUB0: BB: RET3: CLR0: FUL0: INI: INC R0 DEC R0 CJNE R0,#0FFH,RET2 MOV R0,#0 SETB FLAG3 RET DEC R0 DEC R0 CJNE R0,#0FFH,RET2 INC R0

溫馨提示

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

評論

0/150

提交評論