單片機(jī)課程設(shè)計(jì)--基于MCS-51單片機(jī)的溫度采集系統(tǒng)畢業(yè)設(shè)計(jì)論文_第1頁(yè)
單片機(jī)課程設(shè)計(jì)--基于MCS-51單片機(jī)的溫度采集系統(tǒng)畢業(yè)設(shè)計(jì)論文_第2頁(yè)
單片機(jī)課程設(shè)計(jì)--基于MCS-51單片機(jī)的溫度采集系統(tǒng)畢業(yè)設(shè)計(jì)論文_第3頁(yè)
單片機(jī)課程設(shè)計(jì)--基于MCS-51單片機(jī)的溫度采集系統(tǒng)畢業(yè)設(shè)計(jì)論文_第4頁(yè)
單片機(jī)課程設(shè)計(jì)--基于MCS-51單片機(jī)的溫度采集系統(tǒng)畢業(yè)設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、微型計(jì)算機(jī)技術(shù)專(zhuān)業(yè)方向課程設(shè)計(jì)任務(wù)書(shū)題目名稱(chēng):基于單片機(jī)的數(shù)據(jù)采集系統(tǒng)專(zhuān)業(yè) 自動(dòng)化班級(jí)111班課程設(shè)計(jì)任務(wù)書(shū)課程名稱(chēng):微型計(jì)算機(jī)技術(shù)設(shè)計(jì)題目:基于mcs-51單片機(jī)的溫度采集系統(tǒng)系統(tǒng)硬件要求:1、配置單片機(jī)的外部程序rom空間,容量為外擴(kuò)rom, ram各32 kb (其大小由 設(shè)計(jì)者cl己設(shè)計(jì)),系統(tǒng)時(shí)鐘電路、復(fù)位電路等構(gòu)成的最小系統(tǒng)。2、配置0809芯片作為數(shù)據(jù)采集通道(也可以選擇其他芯片),對(duì)外部1路溫度 傳感器輸入信號(hào)采集。3、顯示部分為led動(dòng)態(tài)顯示設(shè)計(jì)和鍵盤(pán)設(shè)計(jì)。4、要求每is采樣一次,使用中斷完成,m:溫度測(cè)量范圍為-20-70度,精度要 求1度。5、接口電路的設(shè)計(jì):設(shè)計(jì)者擴(kuò)展一

2、個(gè)并行接口(8155或8255,鍵盤(pán)設(shè)計(jì)由設(shè) 計(jì)者根據(jù)需要設(shè)計(jì)鍵盤(pán)的數(shù)量,敁示采用led敁示,顯示電路也根據(jù)顯示的內(nèi)容 設(shè)計(jì);6、有開(kāi)機(jī)顯示狀態(tài)(如顯示88.);軟件設(shè)計(jì):1)主程序設(shè)計(jì)(ti拈初始化芯片,定時(shí)器,中斷以及sp指針等);2)各功能子程序設(shè)計(jì),溫度采集計(jì)算子程序、鍵盤(pán)子程序顯示子程序設(shè)計(jì), 定時(shí),中斷程序等;)選做要求:1、2路信號(hào)采集。2、可使用按鍵選擇輸入通道。3、具冇自動(dòng)通道輪換采樣功能。其他要求:1、每位同學(xué)獨(dú)立完成本設(shè)計(jì)。2、依據(jù)題要求,提出系統(tǒng)設(shè)計(jì)方案。3、設(shè)計(jì)系統(tǒng)電路原理圖。4、調(diào)試系統(tǒng)硬件電路、功能程序。5、編制課程設(shè)計(jì)報(bào)告書(shū)并裝訂成冊(cè),報(bào)告書(shū)內(nèi)容(按順序)(1)

3、報(bào)告書(shū)封面(2)課程設(shè)計(jì)任務(wù)書(shū)(3)系統(tǒng)設(shè)計(jì)方案的提出、分析(4)系統(tǒng)中典型電路的分析(5)系統(tǒng)軟件結(jié)構(gòu)框閣(6)系統(tǒng)電路原理圖(7)源程序(8) 課設(shè)字?jǐn)?shù)不少于2000字成績(jī)?cè)u(píng)語(yǔ)摘要本文是以mcs-51單片機(jī)系統(tǒng)為基礎(chǔ)的,通過(guò)熱電附pt100的附值隨溫度的 變化的特性,通過(guò)采集得到的模擬信號(hào),并通過(guò)a/d轉(zhuǎn)換器adc0809對(duì)模擬信號(hào) 進(jìn)行模數(shù)轉(zhuǎn)換,把轉(zhuǎn)換得到的數(shù)字信號(hào)按照順序分別送入單片機(jī),通過(guò)平片機(jī)進(jìn) 行均值濾波,并通過(guò)杳表得到溫度值。lk)數(shù)碼管顯示。本系統(tǒng)設(shè)計(jì)簡(jiǎn)單,性能 穩(wěn)定,能夠通過(guò)單凡機(jī)靈活編程進(jìn)行各種功能的設(shè)定和修改。丼且為以后溫度控 制系統(tǒng)的擴(kuò)展提供了方便,提供了鍵盤(pán)可以進(jìn)行

4、溫度設(shè)定和模式選擇。并且提供 丫利用visual stdio 2010編寫(xiě)的溫度調(diào)節(jié)上位機(jī)進(jìn)行溫度監(jiān)控和調(diào)試。為以后 的系統(tǒng)擴(kuò)展調(diào)試提供了方便。關(guān)鍵詞:a/d轉(zhuǎn)換器;熱電限;mcs-51,上位機(jī)章-賄7第二章系統(tǒng)總體設(shè)計(jì)72.1系統(tǒng)概述72.2系統(tǒng)原理分析8第三章硬件部分83.1單片機(jī)最小系統(tǒng)及鍵盤(pán)模塊8單八機(jī)選用at89c51,該器件采川atmfx高密度非易火存儲(chǔ)器制造技術(shù)制造,與工業(yè) 標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。山于將多功能8位cpu和閃爍存儲(chǔ)器組合在單個(gè) 芯片屮,atmel的at89c51足-種髙效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。8本系統(tǒng)包括品

5、振電路,復(fù)位電路,地址鎖存器電路,3-8譯碼器,鍵盤(pán)電路等。閣如下,其中譯碼器輸為p2. 7, p2. 6, p2. 5,譯碼產(chǎn)生8個(gè)片選信號(hào),分別來(lái)選通8155,外部ram,adc0809等芯片工作。保證了地址的擴(kuò)展和單片機(jī)的基木運(yùn)行。8圖二單片機(jī)最小系統(tǒng)原理圖93.2數(shù)椐采集通道模塊93.3 $行的選擇113.4并行1/0芯片及顯示模塊113.5溫度傳感器模塊12題r要求,采集溫度范圍為-20°c-70°c。經(jīng)過(guò)比較我們選擇pt100作力溫度傳感器, ptloo是鉑熱電肌,它的肌值跟溫度的變化成正比,鉑電肌的特點(diǎn)是精度高,穩(wěn)定性好,性 能口j靠。鍆在氧化性氣氛中,甚:至

6、在高溫下的物理、化學(xué)性質(zhì)都非常穩(wěn)定。因此鍆被公認(rèn)為 是h前制造熱電阻的最好材料。鉑電阻主要作為標(biāo)準(zhǔn)電阻溫度計(jì)使用,也常被用在工業(yè)測(cè)景 1110 12pt100的肌值與溫度變化關(guān)系為:當(dāng)pt100溫度為0°c吋它的肌值為100歐姆,在 100°c時(shí)它的阯伉約為138.5歐姆。它的丄業(yè)原理:當(dāng)pt100/十:0攝氏度的時(shí)候他的阯伉為 100歐姆,它的阻值會(huì)隨著溫度上升而成勻速增長(zhǎng)的。12圖七pt100橋式電路圖13根據(jù)電橋的運(yùn)算關(guān)系得出橋式電路輸出壓差為13査pt100分度表得出,-20°c-70nc對(duì)應(yīng)的電肌為92. 16q-127.08q,為了提高采集的精度,我們

7、把-20°c-70°c對(duì)應(yīng)的電壓變化利用惠斯通電橋和運(yùn)放,變換到mcs-51可以最大 程度識(shí)別和測(cè)量的范圍,所以當(dāng)-20ac的時(shí)候,對(duì)應(yīng)輸出電壓為0v。13i大i此,r9 = r3xr-vrpryrpt,13把r3=510q,rl=200£l,rpt=92.16q,帶入上式得出r9=l 106.8 q ;所以應(yīng)該調(diào)節(jié)滑動(dòng)變 阻器r9=1106.8q接入電路。13當(dāng)測(cè)量溫度為 70°c時(shí),對(duì)應(yīng)的 rpt= 127.08 q,r3=510q,rl=200q,r9=1106.8 q ,帶 入式得到u=0.366v。13為了輸入單片機(jī)mcs-51的電壓為0-5v

8、,應(yīng)該設(shè)計(jì)運(yùn)算放人器的放人倍數(shù)為a = 5v/=135/0366v*,為了留有一定的余景和現(xiàn)杏電阻人小,選擇運(yùn)算放人器的倍數(shù)為12a 14采集電壓范圍為0v-4.392v。14最終我們,我們?yōu)榱朔乐筧d輸入肌抗不夠大,而對(duì)采集電路的電壓造成影響,從而對(duì)電壓采集造成誤差。所以采用兩級(jí)運(yùn)放。第一級(jí)為杏分比例運(yùn)算電路,放大倍數(shù)為4被。 后面-級(jí)為比例運(yùn)算放人電路,放人倍數(shù)為3倍。最終放人倍數(shù)為12倍。運(yùn)算放人電路的 電路電阻匹配為1414我們?nèi)?,r4=r5=20k, r6=r7=80k; 1414我們?nèi)?,r8=12k,rll=24k;fl.為匹配電阻,r12=8k;14原理圖如下14圖八主電路原理圖

9、143.6 外部?jī)?chǔ)存器模塊15本系統(tǒng)擴(kuò)展32k rom, ram,分別用了四片2764和6264,其p2.7,p2.6,p2.5通過(guò)3-8譯碼器,編譯成y0-y7,作為什選信兮。其余地址線(xiàn)作為連接8k的13根地址線(xiàn)。.15 eg. u8: 0x0000-0x1u9: 0x2000-0x3fff15u10: 0x4000-0x5ftf ull: 0x6000-0x7fff15原理網(wǎng)如下15第四章軟件部分154.1主程序的設(shè)計(jì)154.2定時(shí)器中斷程序的設(shè)計(jì)164.3 a/d轉(zhuǎn)換和數(shù)據(jù)采樣程序的設(shè)計(jì)194.4鍵盤(pán)掃描程序的設(shè)計(jì)204.5 led顯示程序設(shè)計(jì)20#教獻(xiàn)25隱:25附錄一原理圍及pcb圖

10、25s十五總原理hi25十六pcb效果圖26附錄二部分程序代碼26第一章前言溫度是一個(gè)非常重要的物理量,因?yàn)樗苯佑绊懭紵?、化學(xué)反應(yīng)、烘烤、 煅燒、蒸餾、結(jié)晶、空氣流動(dòng)以及溫度漂移等物理和化學(xué)過(guò)程。溫度控制失誤就 可能引起生產(chǎn)安全、產(chǎn)品質(zhì)量、產(chǎn)品產(chǎn)量以及生活安全等一系列問(wèn)題。因此對(duì)溫 度的檢測(cè)的意義就越來(lái)越人。溫度釆集控制系統(tǒng)在丄業(yè)生產(chǎn)、科乎研究和人們的 生活領(lǐng)域中,得到了廣泛應(yīng)用。在工業(yè)生產(chǎn)過(guò)程中,很多時(shí)候都需要對(duì)溫度進(jìn)行 嚴(yán)格的監(jiān)控,以使得生產(chǎn)能夠順利的進(jìn)行,產(chǎn)品的質(zhì)量能夠得到充分的保證。 使用自動(dòng)溫度控制系統(tǒng)可以對(duì)生產(chǎn)環(huán)境的溫度進(jìn)行自動(dòng)控制,保證生產(chǎn)的自動(dòng) 化、智能化能夠順利、安全進(jìn)行,

11、從而提高企業(yè)的生產(chǎn)效率。并且溫度控制是一 個(gè)大慣性控制,控制難度比較大。溫度采集任務(wù)在溫度控制中是比較重耍的一個(gè) 環(huán)節(jié),因此本文來(lái)研究溫度采集系統(tǒng),意義重大。第二章系統(tǒng)總體設(shè)計(jì)根據(jù)課程設(shè)計(jì)耍求的性能指標(biāo),木系統(tǒng)要滿(mǎn)足一定精度的溫度采集的基木功 能,同時(shí)系統(tǒng)還具冇動(dòng)態(tài)顯示當(dāng)前的測(cè)量溫度值的功能和鍵盤(pán)操作的功能。2.2系統(tǒng)原理分析本文以mcs-51單片機(jī)系統(tǒng)為基礎(chǔ),通過(guò)溫度傳感器pt100隨溫度的變化而 得到的模擬信號(hào)進(jìn)行采集,連接adc0809實(shí)現(xiàn)單路路模擬信號(hào)的采集,并通過(guò) a/d轉(zhuǎn)換器對(duì)模擬信號(hào)進(jìn)行數(shù)模轉(zhuǎn)換,把轉(zhuǎn)換得到的數(shù)字信號(hào)送入單片機(jī),通過(guò) led顯示。本系統(tǒng)設(shè)計(jì)簡(jiǎn)單,性能穩(wěn)定,能夠通過(guò)

12、單片機(jī)靈活編程進(jìn)行各種功 能的設(shè)定和修改。根據(jù)本課題的設(shè)計(jì)目標(biāo)以及硬件的特點(diǎn),本系統(tǒng)的總體設(shè)計(jì)框 圖如圖所示。錯(cuò)誤!嵌入對(duì)象無(wú)效。一系統(tǒng)框第三章硬件部分3.1單片機(jī)最小系統(tǒng)及鍵盤(pán)模塊單片機(jī)選用at89c51,該器件采用atmel高密度非易失存儲(chǔ)器制造技術(shù)制造, 與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲(chǔ) 器組合在單個(gè)芯片巾,atmel的at89c51是一種高效微控制器,為很多嵌入式控制 系統(tǒng)提供y種靈活性高且價(jià)廉的方案。本系統(tǒng)包拈晶振電路,復(fù)位電路,地址鎖存器電路,3-8譯碼器,鍵盤(pán)電路等。 圖如下,其屮譯碼器輸為p2.7,p2.6,p2.5,譯碼產(chǎn)生8個(gè)

13、片選信號(hào),分別來(lái)選通 8155,外部ram, adc0809等芯片工作。保證了地址的擴(kuò)展和單片機(jī)的基本運(yùn)行。7<lsi38二單片機(jī)最小系統(tǒng)原理圖3.2數(shù)據(jù)采集通道模塊adc0809是八通道的八位逐次逼近式a/d轉(zhuǎn)換器。由單一的5v電源供 電,片內(nèi)帶宥鎖存功能的8選1的模擬開(kāi)關(guān)。由c、b、a的編碼來(lái)決定所選的 模擬通道。轉(zhuǎn)換吋間為loouso轉(zhuǎn)換誤差為1/2lsb。它的引腳的排列及其功能,其引腳圖見(jiàn)下cli<vccdoaodad1at>l>b1>2r>3estor>4est1t>5est2d6est3d7hst4eocest5start in6al

14、eest7oevief(-)vi e±'(+)三adc0809的引腳圖in7-in0 :八個(gè)通道的模擬輸入量。adda、addb、addc:模擬通道地址線(xiàn)。當(dāng)cba=000吋,in0輸入,當(dāng) cba=111 吋,in7 輸入。ale:地址鎖存信號(hào)。start:轉(zhuǎn)換啟動(dòng)信號(hào),高電平冇效。d7do:數(shù)據(jù)輸出線(xiàn)。三態(tài)輸出,d7是最高位,do是最低位。oe:輸出允許信號(hào),高電平有效。clk:吋鐘信號(hào),最高頻率為640khz。eoc:轉(zhuǎn)換結(jié)束狀態(tài)信號(hào)。上升沿后高電平有效。vcc: +5v 電源。vref:參考電壓。利用它可直接輸入8個(gè)單端的模擬信號(hào)分時(shí)進(jìn)行a/d轉(zhuǎn)換,在多點(diǎn)巡冋檢測(cè)和過(guò)

15、程控制、運(yùn)動(dòng)控制屮應(yīng)用十分廣泛。本次設(shè)計(jì)配置0809芯片作為數(shù)據(jù)采 集通道。連接如圖圖四數(shù)據(jù)采集通道原理圖3.3串行口的選擇該申行口選用了標(biāo)準(zhǔn)rs-232c接口,它是電t與ttl電y轉(zhuǎn)換驅(qū)動(dòng)電路。 常用的芯片是max232,max232的優(yōu)點(diǎn)是:(1) 一片芯片吋以完成發(fā)送轉(zhuǎn)換和接收轉(zhuǎn)換的雙蜇功能。(2) 單一電源+5v供電(3) 它的電路設(shè)計(jì)與連接比較簡(jiǎn)單而且功能齊全。電路圖如下r27+5vc2!|0juf 1c2o.luf 4txrx 12上15ci + cl- c2+ c2-vdd(rtiintioutt2int2outri()t;t runr2out r2ingndveeull5max

16、232acpe16146jc26zflufi| o.lufc27o.lufii10d connector 9丄+5vres i iki五串行口原理i3.4并行i/o芯片及顯示模塊8155芯片內(nèi)包含有256字節(jié)ram,2個(gè)8位、1個(gè)6位的可編程并行i/o 口,和1個(gè)14位定吋器/計(jì)數(shù)器。巾于8155既具有ram又具有i/o 口,因而是 單片機(jī)系統(tǒng)中最常用的外圍接口芯片之一。led數(shù)碼顯示管是一種由led發(fā)光二極管組合顯示字符的顯示器件。它使 用了 8個(gè)led顯示管,jt屮7個(gè)用于顯示字符,1個(gè)用來(lái)顯示小數(shù)點(diǎn),故通常 稱(chēng)之為八段發(fā)光二極管數(shù)碼顯示器。對(duì)led數(shù)碼顯示器的控制可以采用按時(shí)間 向它提供

17、具有一定驅(qū)動(dòng)能力的位選和段選信號(hào)。原理圖如下dfysis5井行k)l 1+數(shù)碼帝過(guò)不s1k.3 i6v4 7'*11 r) q wr h)alep01p02p04h)?20c 1- i o 6 5 4 1. 1-1 0 7 6 4. 4 3 2 i u vccwpcrwpnpbpbpbpbpbpbpbpapapapapafarapa405v丁u135v3911avcc2 a1y3a2y4aiv5a4y6a5ygnqfry14 丁3s32 di3754d216pcr6 01v5】ft90414n1133713323174ls07rdk305v«155iadfy,/tlhndp(

18、bcomq1comq227126125424523b721829281avcc2aiv.1a2y4a1y5a4y6a5y?a6y8a?ygnd*公.a?嶺hy15141、131110c r- <:rr,rp14dr z -r . r*t,hmjk16 kqfyroncomdfycom圖六并行i/o芯片及顯示模塊3.5溫度傳感器模塊題目要求,采集溫度范圍為-2(rc-7(rc。經(jīng)過(guò)比較我們選擇ptioo作為溫度 傳感器,ptloo是鉑熱電阻,它的阻值跟溫度的變化成正比,鉑電阻的特點(diǎn)是精 度高,穩(wěn)定性好,性能可靠。怕在氧化性氣氛中,其至在高溫下的物理、化學(xué)性 質(zhì)都非常穩(wěn)定。w此鉑被公認(rèn)為是目

19、前制造熱電阻的最好材料。鉑電阻主要作為 標(biāo)準(zhǔn)電阻溫度計(jì)使用,也常被用在工業(yè)測(cè)量屮。pt100的阻值與溫度變化關(guān)系為:當(dāng)pt100溫度為0°c時(shí)它的阻值為100歐姆, 在loor吋它的阻值約為138.5歐姆。它的工業(yè)原理:當(dāng)pt100在0攝氏度的吋候他 的阻值為100歐姆,它的阻值會(huì)隨著溫度上升而成勻速增長(zhǎng)的。七pt100橋式電路圖根據(jù)電橋的運(yùn)算關(guān)系得出橋式電路輸出壓差為pt + rvt+查pt100分度表得出,-20°c-70°c對(duì)應(yīng)的電阻為92. 16q-127.08q,為了提 高采集的精度,我們把-20°c-70°c對(duì)應(yīng)的電壓變化利用惠斯通

20、電橋和運(yùn)放,變換 到mcs-51可以最人程度識(shí)別和測(cè)量的范圍,所以當(dāng)-20°c的時(shí)候,對(duì)應(yīng)輸出電壓為 0v。把r3=510q ,rl=200q ?rpt=92.16q,帶入上式得出r9=l 106.8 q ;所以應(yīng)該 調(diào)節(jié)滑動(dòng)變阻器r9=l 106.8 q接入電路。當(dāng)測(cè)量溫度為70ec吋,對(duì)應(yīng)的rpt=127.08 q , r3=510q ,rl=200q,r9=1106.8 0,帶入式得到u=0.366v。為了輸入單片機(jī)mcs-51的電壓為0-5v,應(yīng)該設(shè)計(jì)運(yùn)算放大器的放大倍數(shù)為 a =5v/= i 7 s"/°-366v ",為了留冇一定的余量和現(xiàn)冇

21、電阻大小,選擇運(yùn)算放大器的倍 數(shù)為12倍。采集電壓范圍為0v-4.392v。最終我們,我們?yōu)榱朔乐筧d輸入阻抗不夠大,而對(duì)采集電路的電壓造成影 響,從而對(duì)電壓采集造成誤差。所以采用兩級(jí)運(yùn)放。第一級(jí)為齊分比例運(yùn)算電路, 放大倍數(shù)為4被。后面-級(jí)為比例運(yùn)算放大電路,放大倍數(shù)為3倍。最終放人倍數(shù) 為12倍。運(yùn)算放大電路的電路電阻匹配為al = r6/r4 = 4,且r4=r5, r6=r7我們?nèi)。瑀4=r5=20k, r6=r7=80k;我們?nèi)?,r8=12k,r11=24k;且為匹配電阻,r12=8k;原理圖如下r420kr5 20k80kr8,j2kr12 8k . /vava12vrll24k溫

22、度圖八主電路原理圖3.6外部?jī)?chǔ)存器模塊木系統(tǒng)擴(kuò)展32k rom, ram,分別用了網(wǎng)片2764和6264,其p2.7,p2.6,p2.5 通過(guò)3-8譯碼器,編譯成y0-y7,作為片選信號(hào)。其余地址線(xiàn)作為連接8k的13根地 址線(xiàn)。eg. u8: 0x0000-0x1 fffu9: 0x2000-0x3iffu10: 0x4000-0x5fffull: 0x6000-0x7fft原理圖如不圖九外部?jī)?chǔ)存器的連接原理圖第四章軟件部分4.1主程序的設(shè)計(jì)設(shè)計(jì)思路:主程序主要執(zhí)行l(wèi)cd顯示和鍵盤(pán)的掃描,ad的采集在外部中斷 中執(zhí)行,采樣數(shù)據(jù)處理以及l(fā)cd顯示數(shù)據(jù)的更新均在定時(shí)器中斷中完成。主程 序開(kāi)始時(shí)首先

23、定義相關(guān)的指針,并對(duì)定時(shí)器t0,外部屮斷into, adc0809進(jìn) 行初始化設(shè)置。adc0809轉(zhuǎn)換完成吋,單片機(jī)將收到低電平,所以將into設(shè)為 下降沿觸發(fā)。題目要求每隔is更新一次顯示溫度,這里選用定時(shí)方式1,方式1 的最大定時(shí)時(shí)間為:tmax = 2l6x1us=65.536ms這里每次溢出吋設(shè)為50ms,每溢出20次進(jìn)行一次數(shù)據(jù)更新。重裝值的計(jì)算公式為:tc=216-50ms/lus=15536=3cb0h51單片機(jī)的中斷優(yōu)先級(jí)默認(rèn)為,into高于to,當(dāng)在定時(shí)器中斷執(zhí)行數(shù)據(jù)處理程 序吋應(yīng)避免外部屮斷的打斷,因此設(shè)為t0屮斷為高優(yōu)先級(jí)。循環(huán),等待屮斷。 流程圖:主程序記義相關(guān)指針10

24、, into,及 a dc 0809初始化 開(kāi)cpu中斷:lcd溫度顯小工鍵盤(pán)捫描圖十主程序流程圖4.2定時(shí)器中斷程序的設(shè)計(jì)設(shè)"tb思路:定時(shí)屮斷函數(shù)主要進(jìn)行采樣數(shù)據(jù)的處理以及溫度的轉(zhuǎn)換。為了減小誤差,取最近十次的采樣值相加求取平均值,然后轉(zhuǎn)換為相應(yīng)的溫度。求平均值 時(shí),16位的除法操作比較網(wǎng)難,對(duì)于高八位可以看做是n個(gè)255,用高八位乘以 25.5,即除以10之后的值,在與低八位除以10之后的數(shù)裾相加,就是最后的平 均值。對(duì)于adc0809來(lái)說(shuō),它的采集電壓范圍為0-5v,電路設(shè)計(jì)時(shí)留有余量,參 考值為4.09v,因此采集的最大值為208。進(jìn)行溫度轉(zhuǎn)換吋,-2(tc對(duì)應(yīng)0,70&#

25、176;c 對(duì)應(yīng)208,按照對(duì)應(yīng)關(guān)系可以用查表進(jìn)行。查出相應(yīng)溫度后轉(zhuǎn)為十位、個(gè)位bcd 碼,為后面的lcd顯示做準(zhǔn)備。圖十一定時(shí)器流程求平均值時(shí)的代碼:dataexplosc:push acc push dpl push dph/*把寄存器切換到1區(qū)*/clr rsi setb rso clr amov r4,#00h mov r5,#00h mov r3,#10 clrcmovr1,#32hloop_add:addc a,r1 jc addhighs sjmp addcontinue add_high_8:incr4clrcaddcontinue:inc r1djnz r3,loop add

26、mov r5,aad一ave:mov a,r4mov b,#25mulabmov r2,amov a,r4mov b,#2divabadd a,r2mov r4,amov a,r5mov b,#10divabadd a,r4mov 2ah,a/把最終的數(shù)裾送入2ah屮溫度轉(zhuǎn)換代碼:ad data using:movdptr,#tem_datab; /溫度轉(zhuǎn)換表格地址movca,a+dptr;/查表得相應(yīng)溫度movb,#0ah;/被除數(shù)10給bdivabmov2fh,bmov30h,acjnea,#57,treat1;/將釆樣數(shù)位與57比較,若不相等則treat 1mov31h,#0ah;/若相

27、等,幅值fuhaowei,57,即正數(shù)ljmpdown_adtreat 1:jctreat2;/若 cy=l,貝ijtreat2mov31h,#0ah;ljmpdownadtreat2:mov31h,#0bh;/因cy為0,為負(fù)溫度ljmpdown addown_ad: pop dph pop dpl pop acc ret4.3 a/d轉(zhuǎn)換和數(shù)據(jù)采樣程序的設(shè)計(jì)設(shè)計(jì)思路:本設(shè)計(jì)程序中,由adc0809轉(zhuǎn)換完成信號(hào)觸發(fā)外部中斷進(jìn)行數(shù)裾的采集,并預(yù)留十個(gè)地址暫存采樣數(shù)據(jù),末位地址存入數(shù)據(jù)之后重新從首地址開(kāi) 始存入,進(jìn)行數(shù)據(jù)處理時(shí)便可以取最近十次的值進(jìn)行計(jì)算,提高精度。流程圖:判斷是否為鋝 存區(qū)最大

28、地址將暫存區(qū)首地址重賦予k0否返冋主函數(shù)圖十二a/d轉(zhuǎn)換和數(shù)據(jù)采樣程序相關(guān)代碼:adc finish:push dph push dpl push acccjne r7,#ooh,dual_mode ljmpch1_1dual mode:setb rsi clr rsocjne r6,#00h,chlmov r6,#01hmov dptr,#adr adc0809 cho minchi:mov r6,00hljmp chanle1 conventch1_1:movdptr,#adr adc0809 chi minsing_convent:/movdptr,#adr adc0809 cho mi

29、nmovxa,dptr;"取值movr0,a;/將采樣值送到存儲(chǔ)地址movxdptr,a;/重新啟動(dòng)adc0809incro ;/存儲(chǔ)地址加一djnzrl,intloop;/判斷足否存滿(mǎn)十個(gè)數(shù)據(jù),否,返回主函數(shù)movr0,#32h/填滿(mǎn)十個(gè)采樣值后,更新采樣首地址mov rl,#10 ljmp intloopchan le 丄con vent:/movdptr,#adr adc0809 cho minmovxa,dptr;"取值movr0,a;/將采樣值送到存儲(chǔ)地址movxdptr,a;/重新啟動(dòng)adc0809incro ;/存儲(chǔ)地址加一djnzrl,intloop;/判斷

30、是否存滿(mǎn)十個(gè)數(shù)裾,否,返in主函數(shù)movr0,#42h/坡滿(mǎn)十個(gè)采樣值后,更新采樣酋地址movr2,#10ljmpintloopintloop: popaccpopdplpopdphreti4.4鍵盤(pán)掃描程序的設(shè)計(jì)設(shè)計(jì)思路:本次課設(shè)中用到的鍵盤(pán)為單排八個(gè)按鍵,程序設(shè)計(jì)比較簡(jiǎn)單,只 要給一個(gè)高電平,再檢測(cè)相應(yīng)按鍵接口即可,在此無(wú)需贅述。4.5 led顯示程序設(shè)計(jì)實(shí)際思路:木次課設(shè)采用三個(gè)數(shù)碼管,共陰極設(shè)計(jì),控制信號(hào)分為位選信號(hào)和段 選信號(hào)。先屮8155的c 口輸出片選信號(hào)選通將要顯示的數(shù)碼管,然后由a 口輸 出段選信號(hào),使數(shù)碼管顯示相應(yīng)數(shù)字。流程軋lcd顯示8155控制字c口輸出位選信號(hào)a口輸出

31、段選信號(hào)判斷是否 顯7k完月乂、圖十三顯示程序流程圖/札ed數(shù)碼管顯示子程序吟led_dip:push accmov r3,#10h cjne r7,#o,next1 mode ljmp ddoopnextl_mode:cjne r7,#l,next2_modeljmp dd00p1 next2_mode:setb rsi clr rso mova,r5 cjnea,#ooh,dd1 mov r5,#00h clr rso clr rsiljmp ddoopdd1:mov r5,#01h clr rso clr rsi ljmp ddoop 1ddoop: mov dptr,#adr pc m

32、in;/指向 c 口mov a, #11111110bmovx dptr,a;/選中個(gè)位數(shù)碼管mov dptr,#dtatab;/數(shù)裾表格起始地址送dptrmov a,02fh;movc a,a+dptr; /查得個(gè)位數(shù)碼管輸出信號(hào)movdptr,#adr_pa min;/指向 a 口movxdptr,a;/數(shù)碼管輸出個(gè)位數(shù)acalldelay;/延時(shí)5 msmovdptr,#adrpcminmov a,#11111101bmovxdptr,a/選中十位數(shù)碼管movdptr,#dtatab;/數(shù)據(jù)表格起始地址送dptrmova,30hmovca,a+dptr;/查得十位數(shù)碼管輸出信號(hào)movdp

33、tr,#adr pa min;/桁向 a 口movxdptr,a;/數(shù)碼管輸出十位數(shù)acalldelay;/延吋5 msmovdptr,#adrpc minmov a,#11111011bmovxdptr,a;/選中符號(hào)位數(shù)碼管mov dptr,#dtatab;/數(shù)據(jù)表格起始地址送dptrmova,31hmovca,a+dptr;/ s得符號(hào)位數(shù)碼管輸f 1 i信號(hào)movdptr,#adr pamin;/指 h':j a umovxdptr,a;/數(shù)碼管輸出符號(hào)位acalldelay;/延吋5 msretddoop1:mov dptr,#adr_pc_min;mova,#1111111

34、0bmovx dptr,a; /選中個(gè)位數(shù)碼管dptr,#dtatab; /數(shù)據(jù)表格起始地址送dptr a,032h;a,a+dptr; /查得個(gè)位數(shù)碼管輸出信號(hào) dptr,#adr pa min;/指 h'd a u dptr,a; /數(shù)碼管輸f h個(gè)位數(shù) delay;/延吋 5msdptr,#adr pc min/指向c umovmovmovcmovmovxacallmovmova,#11111101bmovx dptr,a/選屮十位數(shù)碼管dptr,#dtatab;/數(shù)據(jù)表格起始地址送dptra,33ha,a+dptr; /查得十位數(shù)碼管輸出信兮 dptr,#adr_pa min;

35、 /指句 a u dptr,a; /數(shù)碼管輸出十位數(shù) delay;/延時(shí) 5msdptr,#adr_pc_minmovmovmovcmovmovxacallmovmov a,#111110113movxdptr, a;/選中符號(hào)位數(shù)碼管dptr,#dtatab;/數(shù)據(jù)表格起始地址送dptra,34ha,a+dptr; /杳得符號(hào)位數(shù)碼管輸出信號(hào) dptr,#adr pa min;/指向 a 口movmovmovcmovmovxacalldptr,a;delay;/數(shù)碼管輸fli符號(hào)位/延時(shí)5msdjnz r3,ddoop; /循環(huán)顯示十次pop accretdtatab: db 3fh, 06

36、h, 5bh, 4fh, 66h, 6dh, 7dh db 07h, 7fh,6fh, ooh, 40h第五章輔助調(diào)試工具使用visual stdio 2010編寫(xiě)的溫度調(diào)節(jié)上位機(jī)進(jìn)行溫度監(jiān)控和調(diào)試系統(tǒng), 利用串u實(shí)現(xiàn)pc機(jī)和單片機(jī)的通訊,該調(diào)試系統(tǒng)具有溫度設(shè)定,pid參數(shù)調(diào)整, 溫度保存文件,溫度變化曲線(xiàn)顯示等功能,為以后系統(tǒng)的擴(kuò)展提供了方便。系統(tǒng) 效果圖如下:圖十四溫度調(diào)節(jié)工具效果圖,總結(jié):通過(guò)本次課程設(shè)計(jì)使我們學(xué)到了怎樣去杳找翻閱宥關(guān)理論資料和技術(shù)手冊(cè),把書(shū)木上知識(shí)總結(jié)起來(lái)去應(yīng)用于實(shí)踐,初步學(xué)到了研究、開(kāi)發(fā),設(shè)計(jì) 單片微型計(jì)算機(jī)對(duì)工業(yè)過(guò)程控制的一套完整的方法,受益很大。作為自動(dòng)化111

37、班1組課程設(shè)計(jì)的組長(zhǎng),我平時(shí)定期給組員開(kāi)會(huì),督促組員設(shè)計(jì)進(jìn)度,在整個(gè)設(shè) 計(jì)過(guò)程屮我不斷鼓勵(lì)隊(duì)員,讓他們?cè)谡麄€(gè)設(shè)計(jì)過(guò)程屮真正的學(xué)到東西,首先沖整 體上把握本次設(shè)計(jì)的目的,從而達(dá)到鞏固課本知識(shí)的目的。然后再根據(jù)每個(gè)人的 特點(diǎn)合理分配每個(gè)人的任務(wù),最終每個(gè)人都很好的完成了分配的任務(wù)。達(dá)到了很 好的合作效果。我在本次設(shè)計(jì)過(guò)程中,主要負(fù)責(zé)的任務(wù)如下:一,作為組長(zhǎng),掌 握課程設(shè)計(jì)的總進(jìn)度。二、督促隊(duì)員,給他們?cè)O(shè)計(jì)的積極性和戰(zhàn)斗力。三、完成 了系統(tǒng)的硬件設(shè)計(jì)并給隊(duì)員們真正的講明白。四、進(jìn)行軟件的最終匯總和加入了 附加部分的功能,思考設(shè)計(jì)出,解決16為數(shù)據(jù)求平均值的算法。五、使用c#語(yǔ) 言編寫(xiě)了上位機(jī)系統(tǒng),為

38、以后擴(kuò)展提供方便。六、制作ppt,為最終答辯提供方 便。在這個(gè)過(guò)程中我不僅僅學(xué)到了課本中的知識(shí),把課本知識(shí)掌握的更加熟練, 并且將之用于實(shí)際,并在此過(guò)程中體會(huì)到了團(tuán)隊(duì)合作的重要性,每個(gè)人身上都宥 優(yōu)點(diǎn)。作為組長(zhǎng),我應(yīng)該學(xué)會(huì)善于發(fā)現(xiàn)別人的長(zhǎng)處,并給隊(duì)員合理安排合適的任 務(wù)。這樣會(huì)達(dá)到極佳的效果。最后感謝老師給我們這次鍛煉的機(jī)會(huì)。這種課設(shè)的 模式真的不多,不僅讓學(xué)生參與的積極性有很大提高,能夠保質(zhì)保量完成任務(wù), 并且還可以提高同學(xué)們的閉隊(duì)合作能力。在此,感謝老師對(duì)我的經(jīng)心指導(dǎo)和隊(duì)友 們的大力支持。參考文獻(xiàn):?jiǎn)纹瑱C(jī)原理及其接口技術(shù)(第三版)胡漢冰主編 數(shù)字電子技術(shù)基礎(chǔ)(第五版)清華大學(xué)電子學(xué)教研室組

39、編閻石主編 模擬電子技術(shù)基礎(chǔ)(第四版)清平大學(xué)電子學(xué)教研室組編平成英童詩(shī) 白主編自動(dòng)檢測(cè)技術(shù)及儀表控制系統(tǒng)(第三版)張毅張窀芬曹麗彭黎輝編附錄:附錄一原理及pcb5fc-a一二ssss三二ii|=|三|5232下栽模塊十五總原理圖十六pcb效果圖附錄二部分程序代碼/*/*單片機(jī)課程設(shè)計(jì)*/*動(dòng)化ill班一姐全體成員/*2013.12.20*/*description*/*mecro define*/*rom*/adr rom1min data 0000h adr rom1 max data 1fffh adr_rom2_mtn data 2000h adr_rom2_max data 3fff

40、h adr rom3 min data 4000h""mbadr_rom3_max data 5fffh adr rom4 min data 6000h adr rom4 max data 7fffh/個(gè)位bcd數(shù)據(jù)存放位置 /十位bcd位數(shù)據(jù)存放位置/符號(hào)位/請(qǐng)累加器a /開(kāi)cpu中斷/*ram*/adr一ram 1一min data ooooh adr_ram1_max data 1fffh adr ram2 min data 2000h adr ram2 max data 3fffh adr_ram3_min data 4000h adr一ram3一max data

41、5fffh adr_ram4_m1n data 6000h adr ram4 max data 7fffh /*adc0809*/adr_adc0809_ch0_min data oaoooh adr一adc0809一cho一max data obffbhadr adc0809 chi min data oaoolh adr adc0809 ch1 max data obf側(cè) /*8155*/adr一control一min data 8000h adr_control_max data 9ff8hadr pa min data 8001h adr pa max data 9ff9h adr p

42、b min data 8002h adr一pb_max data 9ffah adr_pc_m1n data 8003h adr pc max data 9ffbhgeweidata 2fh;shiweidata 30h;fuahowei data 31h; /*the mecro end*/*main structer start */org oooohsjmp mainorg 0003hsjmp adc一finish org 000bh sjmp timo irq org 0023h ljmp usart_send main:mov sp,#60hclr a;setb ea;setbeto

43、 ;/開(kāi)定吋器to中斷movtmod,#21h;/選用to的計(jì)時(shí)方式1movth0,#3ch/定吋器重裝值movtl0,#82h/*串口初始化-*/movth1,#of4hmovtl1,#of4hmovpcon,#80hsetb trisetb essetbexo;setbito;setbpto;movrl,#10;movr4,#20;setbtromov scon,#40h/開(kāi)into外部中斷/下降沿觸發(fā)/定時(shí)屮斷優(yōu)先級(jí)窈/循環(huán)采樣計(jì)數(shù)值/采樣間隔為ls,定吋中斷為50ms,需耍進(jìn) /啟動(dòng)tomov dptr,#adr adc0809 cho min; /adc0809 地址給 dptr m

44、ovx dptr,a;/啟動(dòng) adc0809/*815510 u工作模式設(shè)定*/mov dptr,#adr control min; /dptr 桁向狀態(tài)口/令a,b,c 口為輸出/調(diào)用示子程序 /調(diào)用掃描子程序mov a,#80h movx dptr,a;loop:lcall led_dip lcall scan ;ljmp loop/*串口發(fā)送接受中斷程序*/*-若使用上位機(jī),發(fā)送數(shù)裾前先發(fā)送0x23*/usart_send:push psw push accsetb rso setb rsimov c,ti jc send sjmp acceptsend:clr timov a,r7 m

45、ov sbuf,a sjmp usart_down accept:clrri mov a,sbuf mov r6,a usart down:pop acc poppsw clr rso clr rsi ret1/*tim0中斷進(jìn)行平均求值,進(jìn)行數(shù)碼管顯示*/adcfinish:push dph push dpl push acccjne r7,#00h,dual mode ljmp chi jdual一mode:setb rsi clr rsocjne r6,#00h,chl mov r6,#01hmov dptr,#adr_adc0809_ch0_minchi:mov r6,00hljmp

46、chanle j convent ch1_1:mov dptr,#adr adc0809 chi minsingconvent:/movdptr,#adradc0809 cho minmovxa,dptr;"取值movr0,a ;/將采樣值送到存儲(chǔ)地址movxdptr,a;/重新啟動(dòng)adc0809incro ;/存儲(chǔ)地址加一djnzr1,intloop;/判斷是否存滿(mǎn)十個(gè)數(shù)據(jù),否,返回主ml數(shù)movr0,#32h/填滿(mǎn)十個(gè)采樣值后,更新采樣首地址movrl,#10ljmpintloopchan le_1_con vent:movxa,dptr;"取值movr0,a ;/將采

47、樣值送到存儲(chǔ)地址movxdptr,a;/重新啟動(dòng)adc0809incro ;/存儲(chǔ)地址加一djnzrl,intloop;/判斷是否存滿(mǎn)十個(gè)數(shù)據(jù),否,返回主函數(shù)/坡滿(mǎn)十個(gè)采樣值沿,史新采樣首地址mov r0,#42h mov r2,#10 ljmp 1ntloopintloop:pop acc pop dpl pop dphreti/*int0外部中斷,adc0809轉(zhuǎn)挽完畢,進(jìn)行adc0通道讀取,并開(kāi)始熏新一次轉(zhuǎn)化*/ timo irq:push dph push dplpushaccmovth0,#3ch;movtl0,#82hdjnzr4,done;movr4,#20/定時(shí)屮斷服務(wù)函數(shù)/若

48、沒(méi)到20次,直接返回主函數(shù)acall dataexplose;done:popaccpopdplpopdphret1/求采樣平均位子函數(shù)retic/*鍵盤(pán)掃描程序*/scan:push acc push dpl push dph movp1,#offh mov a,plcjne a,#offh,key_on ljmp down_key key on:lcall delay /10ms 延時(shí)消抖 lcall delaymovp1,#offhmov a,plcjne a,#offh,key_on_rcally ljmp down一key key_on_really:setb rsoclr rsi /使用1區(qū)寄存器 cjne a,#ofeh,next1 mov r7,#0 next1:cjne a,#0fdh,next2 mov r7,#l next2:cjne a,#0fbh,next3 mov r7,#2 next3:mov r7,#0 down_key:clr rso clr rsi pop dph pop dpl pop acc retdataexplose:push acc push dpl

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論