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

下載本文檔

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

文檔簡(jiǎn)介

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

2、8155或8255,鍵盤設(shè)計(jì)由設(shè)計(jì)者根據(jù)需要設(shè)計(jì)鍵盤的數(shù)量,顯示采用LED顯示,顯示電路也根據(jù)顯示的內(nèi)容設(shè)計(jì);6、有開機(jī)顯示狀態(tài)如顯示88.;軟件設(shè)計(jì): 1主程序設(shè)計(jì)包括初始化芯片,定時(shí)器,中斷以及SP指針等; 2各功能子程序設(shè)計(jì),溫度采集計(jì)算子程序、鍵盤子程序顯示子程序設(shè)計(jì),定時(shí),中斷程序等;選做要求:2路信號(hào)采集??墒褂冒存I選擇輸入通道。具有自動(dòng)通道輪換采樣功能。其他要求:每位同學(xué)獨(dú)立完本錢設(shè)計(jì)。2、依據(jù)題目要求,提出系統(tǒng)設(shè)計(jì)方案。3、設(shè)計(jì)系統(tǒng)電路原理圖。調(diào)試系統(tǒng)硬件電路、功能程序。編制課程設(shè)計(jì)報(bào)告書并裝訂成冊(cè),報(bào)告書內(nèi)容按順序1報(bào)告書封面2課程設(shè)計(jì)任務(wù)書3系統(tǒng)設(shè)計(jì)方案的提出、分析4系統(tǒng)中

3、典型電路的分析5系統(tǒng)軟件結(jié)構(gòu)框圖6系統(tǒng)電路原理圖7源程序8課設(shè)字?jǐn)?shù)不少于2000字成績?cè)u(píng)語摘要 本文是以MCS-51單片機(jī)系統(tǒng)為根底的,通過熱電阻PT100的阻值隨溫度的變化的特性,通過采集得到的模擬信號(hào),并通過A/D轉(zhuǎn)換器ADC0809對(duì)模擬信號(hào)進(jìn)行模數(shù)轉(zhuǎn)換,把轉(zhuǎn)換得到的數(shù)字信號(hào)按照順序分別送入單片機(jī),通過單片機(jī)進(jìn)行均值濾波,并通過查表得到溫度值。LED數(shù)碼管顯示。本系統(tǒng)設(shè)計(jì)簡(jiǎn)單,性能穩(wěn)定,能夠通過單片機(jī)靈活編程進(jìn)行各種功能的設(shè)定和修改。并且為以后溫度控制系統(tǒng)的擴(kuò)展提供了方便,提供了鍵盤可以進(jìn)行溫度設(shè)定和模式選擇。并且提供了利用Visual Stdio 2021編寫的溫度調(diào)節(jié)上位機(jī)進(jìn)行溫度監(jiān)

4、控和調(diào)試。為以后的系統(tǒng)擴(kuò)展調(diào)試提供了方便。關(guān)鍵詞:A/D轉(zhuǎn)換器;熱電阻;MCS-51,上位機(jī) TOC o 1-3 h z u HYPERLINK l _Toc263671907 第一章 前言 PAGEREF _Toc263671907 h 1第二章 系統(tǒng)總體設(shè)計(jì) 1系統(tǒng)概述 1系統(tǒng)工作原理分析1 HYPERLINK l _Toc263671919 第三章 硬件局部2 HYPERLINK l _Toc263671914 3 HYPERLINK l _Toc263671914 數(shù)據(jù)采集通道模塊5 HYPERLINK l _Toc263671915 串行口模塊5 HYPERLINK l _Toc26

5、3671916 3.4并行I/O芯片及顯示模塊 6 HYPERLINK l _Toc263671917 3.5 溫度傳感器模塊 PAGEREF _Toc263671917 h 6 HYPERLINK l _Toc263671918 7 HYPERLINK l _Toc263671927 第四章 軟件局部8 HYPERLINK l _Toc292606224 4.1 主程序的設(shè)計(jì) PAGEREF _Toc292606224 h 8 HYPERLINK l _Toc292606225 4.2 定時(shí)器中斷程序的設(shè)計(jì)9 HYPERLINK l _Toc292606226 數(shù)據(jù)采樣程序的設(shè)計(jì) PAGER

6、EF _Toc292606226 h 9 HYPERLINK l _Toc292606227 4.4 A/D轉(zhuǎn)換程序的設(shè)計(jì) PAGEREF _Toc292606227 h 11 HYPERLINK l _Toc292606227 4.5 LED顯示程序設(shè)計(jì). PAGEREF _Toc292606227 h 12 HYPERLINK l _Toc263671927 第五章 輔助調(diào)試工具16 HYPERLINK l _Toc263671931 總結(jié)17 HYPERLINK l _Toc263671933 參考文獻(xiàn)17 HYPERLINK l _Toc263671934 附錄1硬件原理圖及PCB圖1

7、7 HYPERLINK l _Toc263671934 附錄2分程序代碼 HYPERLINK l _Toc263671934 18第一章 前言 溫度是一個(gè)非常重要的物理量,因?yàn)樗苯佑绊懭紵⒒瘜W(xué)反響、烘烤、煅燒、蒸餾、結(jié)晶、空氣流動(dòng)以及溫度漂移等物理和化學(xué)過程。溫度控制失誤就可能引起生產(chǎn)平安、產(chǎn)品質(zhì)量、產(chǎn)品產(chǎn)量以及生活平安等一系列問題。因此對(duì)溫度的檢測(cè)的意義就越來越大。溫度采集控制系統(tǒng)在工業(yè)生產(chǎn)、科學(xué)研究和人們的生活領(lǐng)域中,得到了廣泛應(yīng)用。在工業(yè)生產(chǎn)過程中,很多時(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)

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

9、,通過LED顯示。本系統(tǒng)設(shè)計(jì)簡(jiǎn)單,性能穩(wěn)定,能夠通過單片機(jī)靈活編程進(jìn)行各種功能的設(shè)定和修改。根據(jù)本課題的設(shè)計(jì)目標(biāo)以及硬件的特點(diǎn),本系統(tǒng)的總體設(shè)計(jì)框圖如下圖。 圖一 系統(tǒng)框圖第三章 硬件局部3.1 單片機(jī)最小系統(tǒng)及鍵盤模塊 單片機(jī)選用AT89C51,該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。 本系統(tǒng)包括晶振電路,復(fù)位電路,地址鎖存器電路,3-8譯碼器,鍵盤電路等。圖如下,其中譯碼器輸為P2.

10、7,P2.6,P2.5,譯碼產(chǎn)生8個(gè)片選信號(hào),分別來選通8155,外部RAM,ADC0809等芯片工作。保證了地址的擴(kuò)展和單片機(jī)的根本運(yùn)行。 圖二 單片機(jī)最小系統(tǒng)原理圖 ADC0809是八通道的八位逐次逼近式A/D轉(zhuǎn)換器。由單一的5V電源供電,片內(nèi)帶有鎖存功能的8選1的模擬開關(guān)。由C、B、A的編碼來決定所選的模擬通道。轉(zhuǎn)換時(shí)間為100us。轉(zhuǎn)換誤差為1/2LSB。它的引腳的排列及其功能,其引腳圖見下圖三 ADC0809的引腳圖IN7IN0 :八個(gè)通道的模擬輸入量。ADDA、ADDB、ADDC:模擬通道地址線。當(dāng)CBA=000時(shí),IN0輸入,當(dāng)CBA=111時(shí),IN7輸入。ALE:地址鎖存信號(hào)。

11、START:轉(zhuǎn)換啟動(dòng)信號(hào),高電平有效。D7D0:數(shù)據(jù)輸出線。三態(tài)輸出,D7是最高位,D0是最低位。OE:輸出允許信號(hào),高電平有效。CLK:時(shí)鐘信號(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è)和過程控制、運(yùn)動(dòng)控制中應(yīng)用十分廣泛。本次設(shè)計(jì)配置0809芯片作為數(shù)據(jù)采集通道。連接如圖圖四 數(shù)據(jù)采集通道原理圖該串行口選用了標(biāo)準(zhǔn)RS-232C接口,它是電平與TTL電平轉(zhuǎn)換驅(qū)動(dòng)電路。常用的芯片是MAX232,MAX232的優(yōu)點(diǎn)是:1一片芯片可以完成發(fā)送轉(zhuǎn)換和接收轉(zhuǎn)換的雙重

12、功能。2單一電源+5V供電3它的電路設(shè)計(jì)與連接比擬簡(jiǎn)單而且功能齊全。電路圖如下圖五 串行口原理圖3.4 并行I/O芯片及顯示模塊8155芯片內(nèi)包含有256字節(jié)RAM,2個(gè)8位、1個(gè)6位的可編程并行I/O口,和1個(gè)14位定時(shí)器/計(jì)數(shù)器。由于8155既具有RAM又具有I/O口,因而是單片機(jī)系統(tǒng)中最常用的外圍接口芯片之一。LED數(shù)碼顯示管是一種由LED發(fā)光二極管組合顯示字符的顯示器件。它使用了8個(gè)LED顯示管,其中7個(gè)用于顯示字符,1個(gè)用來顯示小數(shù)點(diǎn),故通常稱之為八段發(fā)光二極管數(shù)碼顯示器。對(duì)LED數(shù)碼顯示器的控制可以采用按時(shí)間向它提供具有一定驅(qū)動(dòng)能力的位選和段選信號(hào)。原理圖如下圖六 并行I/O芯片及

13、顯示模塊3.5 溫度傳感器模塊題目要求,采集溫度范圍為-20-70。經(jīng)過比擬我們選擇PT100作為溫度傳感器,pt100是鉑熱電阻,它的阻值跟溫度的變化成正比,鉑電阻的特點(diǎn)是精度高,穩(wěn)定性好,性能可靠。鉑在氧化性氣氛中,甚至在高溫下的物理、化學(xué)性質(zhì)都非常穩(wěn)定。因此鉑被公認(rèn)為是目前制造熱電阻的最好材料。鉑電阻主要作為標(biāo)準(zhǔn)電阻溫度計(jì)使用,也常被用在工業(yè)測(cè)量中。PT100的阻值與溫度變化關(guān)系為:當(dāng)PT100溫度為0時(shí)它的阻值為100歐姆,在100時(shí)它的阻值約為138.5歐姆。它的工業(yè)原理:當(dāng)PT100在0攝氏度的時(shí)候他的阻值為100歐姆,它的阻值會(huì)隨著溫度上升而成勻速增長的。 圖七 PT100橋式電

14、路圖根據(jù)電橋的運(yùn)算關(guān)系得出橋式電路輸出壓差為 查PT100分度表得出,-20-70,為了提高采集的精度,我們把-20-70對(duì)應(yīng)的電壓變化利用惠斯通電橋和運(yùn)放,變換到MCS-51可以最大程度識(shí)別和測(cè)量的范圍,所以當(dāng)-20的時(shí)候,對(duì)應(yīng)輸出電壓為0V。因此,,把R3=510,R1=200接入電路。當(dāng)測(cè)量溫度為70,R3=510,R1=200,帶入式得到U=0.366V。為了輸入單片機(jī)MCS-51的電壓為0-5V,應(yīng)該設(shè)計(jì)運(yùn)算放大器的放大倍數(shù)為,為了留有一定的余量和現(xiàn)有電阻大小,選擇運(yùn)算放大器的倍數(shù)為12倍。采集電壓范圍為0V-4.392V。最終我們,我們?yōu)榱朔乐笰D輸入阻抗不夠大,而對(duì)采集電路的電壓

15、造成影響,從而對(duì)電壓采集造成誤差。所以采用兩級(jí)運(yùn)放。第一級(jí)為查分比例運(yùn)算電路,放大倍數(shù)為4被。后面一級(jí)為比例運(yùn)算放大電路,放大倍數(shù)為3倍。最終放大倍數(shù)為12倍。運(yùn)算放大電路的電路電阻匹配為我們?nèi)。琑4=R5=20K,R6=R7=80K;我們?nèi)?,R8=12K,R11=24K;且為匹配電阻,R12=8K;原理圖如下圖八 主電路原理圖3.6 外部儲(chǔ)存器模塊 本系統(tǒng)擴(kuò)展32K ROM, RAM,分別用了四片2764和6264,其P2.7,P2.6,P2.5通過3-8譯碼器,編譯成Y0-Y7,作為片選信號(hào)。其余地址線作為連接8K的13根地址線。 Eg. U8:0 x0000-0 x1fff U9:0 x

16、2000-0 x3fff U10:0 x4000-0 x5fff U11:0 x6000-0 x7fff原理圖如下 圖九 外部儲(chǔ)存器的連接原理圖 HYPERLINK l _Toc263671927 第四章 軟件局部 HYPERLINK l _Toc292606224 主程序的設(shè)計(jì)設(shè)計(jì)思路: 主程序主要執(zhí)行LCD顯示和鍵盤的掃描,AD的采集在外部中斷中執(zhí)行,采樣數(shù)據(jù)處理以及LCD顯示數(shù)據(jù)的更新均在定時(shí)器中斷中完成。主程序開始時(shí)首先定義相關(guān)的指針,并對(duì)定時(shí)器T0,外部中斷INT0,ADC0809進(jìn)行初始化設(shè)置。ADC0809轉(zhuǎn)換完成時(shí),單片機(jī)將收到低電平,所以將INT0設(shè)為下降沿觸發(fā)。題目要求每隔

17、1s更新一次顯示溫度,這里選用定時(shí)方式1,方式1的最大定時(shí)時(shí)間為:=這里每次溢出時(shí)設(shè)為50ms,每溢出20次進(jìn)行一次數(shù)據(jù)更新。重裝值的計(jì)算公式為:TC=-50ms/1us=15536=3CB0H51單片機(jī)的中斷優(yōu)先級(jí)默認(rèn)為,INT0高于T0,當(dāng)在定時(shí)器中斷執(zhí)行數(shù)據(jù)處理程序時(shí)應(yīng)防止外部中斷的打斷,因此設(shè)為TO中斷為高優(yōu)先級(jí)。 循環(huán),等待中斷。流程圖: 圖十 主程序流程圖 HYPERLINK l _Toc292606225 4.2 定時(shí)器中斷程序的設(shè)計(jì)設(shè)計(jì)思路: 定時(shí)中斷函數(shù)主要進(jìn)行采樣數(shù)據(jù)的處理以及溫度的轉(zhuǎn)換。為了減小誤差,取最近十次的采樣值相加求取平均值,然后轉(zhuǎn)換為相應(yīng)的溫度。求平均值時(shí),16

18、位的除法操作比擬困難,對(duì)于高八位可以看做是n個(gè)255,用高八位乘以25.5,即除以10之后的值,在與低八位除以10之后的數(shù)據(jù)相加,就是最后的平均值。對(duì)于ADC0809來說,它的采集電壓范圍為0-5V,電路設(shè)計(jì)時(shí)留有余量,參考值為4.09V,因此采集的最大值為208。進(jìn)行溫度轉(zhuǎn)換時(shí),-20對(duì)應(yīng)0,70對(duì)應(yīng)208,按照對(duì)應(yīng)關(guān)系可以用查表進(jìn)行。查出相應(yīng)溫度后轉(zhuǎn)為十位、個(gè)位BCD碼,為后面的LCD顯示做準(zhǔn)備。 圖十一 定時(shí)器流程圖求平均值時(shí)的代碼: DATA_Explose: PUSH ACC PUSH DPL PUSH DPH /*把存放器切換到1區(qū)*/ CLR RS1 SETB RS0 CLR A

19、 MOV R4,#00H MOV R5,#00H MOV R3,#10 CLR C MOV R1,#32H LOOP_ADD: ADDC A,R1 JC ADD_High_8 SJMP ADD_Continue ADD_High_8: INC R4 CLR C ADD_Continue: INC R1 DJNZ R3,LOOP_ADD MOV R5,A AD_AVE: MOV A,R4 MOV B,#25 MUL AB MOV R2,A MOV A,R4 MOV B,#2 DIV AB ADD A,R2 MOV R4,A MOV A,R5 MOV B,#10 DIV AB ADD A,R4 M

20、OV 2AH,A/把最終的數(shù)據(jù)送入2AH中溫度轉(zhuǎn)換代碼: AD_DATA_USing: MOV DPTR,#TEM_DATAB; /溫度轉(zhuǎn)換表格地址 MOVC A,A+DPTR; /查表得相應(yīng)溫度 MOV B,#0AH; /被除數(shù)10給B DIV AB MOV 2FH,B MOV 30H,A CJNE A,#57,TREAT1; /將采樣數(shù)值與57比擬,假設(shè)不相等那么TREAT1 MOV 31H,#0AH; /假設(shè)相等,幅值FUHAOWEI,57,即正數(shù) LJMP DOWN_ADTREAT1: JC TREAT2; /假設(shè)Cy=1,那么TREAT2 MOV 31H,#0AH; LJMP DOW

21、N_AD TREAT2: MOV 31H,#0BH; /因Cy為0,為負(fù)溫度 LJMP DOWN_AD DOWN_AD: POP DPH POP DPL POP ACC RET HYPERLINK l _Toc292606226 A/D轉(zhuǎn)換和數(shù)據(jù)采樣程序的設(shè)計(jì)設(shè)計(jì)思路:本設(shè)計(jì)程序中,由ADC0809轉(zhuǎn)換完成信號(hào)觸發(fā)外部中斷進(jìn)行數(shù)據(jù)的采集,并預(yù)留十個(gè)地址暫存采樣數(shù)據(jù),末位地址存入數(shù)據(jù)之后重新從首地址開始存入,進(jìn)行數(shù)據(jù)處理時(shí)便可以取最近十次的值進(jìn)行計(jì)算,提高精度。流程圖:圖十二 A/D轉(zhuǎn)換和數(shù)據(jù)采樣程序相關(guān)代碼:ADC_Finish: PUSH DPH PUSH DPL PUSH ACC CJNE

22、 R7,#00H,DUAL_MODE LJMP CH1_1DUAL_MODE: SETB RS1 CLR RS0 CJNE R6,#00H,CH1 MOV R6,#01H MOV DPTR,#ADR_ADC0809_CH0_MIN CH1: MOV R6,00H LJMP CHANLE_1_CONVENTCH1_1: MOV DPTR,#ADR_ADC0809_CH1_MINSING_CONVENT: /MOV DPTR,#ADR_ADC0809_CH0_MIN MOVX A,DPTR; /取值 MOV R0,A ; /將采樣值送到存儲(chǔ)地址 MOVX DPTR,A; /重新啟動(dòng)ADC0809

23、INC R0; /存儲(chǔ)地址加一 DJNZ R1,INTLOOP; /判斷是否存滿十個(gè)數(shù)據(jù),否,返回主函數(shù) MOV R0,#32H /填滿十個(gè)采樣值后,更新采樣首地址 MOV R1,#10 LJMP INTLOOPCHANLE_1_CONVENT: /MOV DPTR,#ADR_ADC0809_CH0_MIN MOVX A,DPTR; /取值 MOV R0,A ; /將采樣值送到存儲(chǔ)地址 MOVX DPTR,A; /重新啟動(dòng)ADC0809 INC R0; /存儲(chǔ)地址加一 DJNZ R1,INTLOOP; /判斷是否存滿十個(gè)數(shù)據(jù),否,返回主函數(shù) MOV R0,#42H /填滿十個(gè)采樣值后,更新采樣

24、首地址 MOV R2,#10 LJMP INTLOOPINTLOOP: POP ACC POP DPL POP DPH RETI HYPERLINK l _Toc292606227 鍵盤掃描程序的設(shè)計(jì)設(shè)計(jì)思路:本次課設(shè)中用到的鍵盤為單排八個(gè)按鍵,程序設(shè)計(jì)比擬簡(jiǎn)單,只要給一個(gè)高電平,再檢測(cè)相應(yīng)按鍵接口即可,在此無需贅述。 HYPERLINK l _Toc292606227 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ù)字。流程圖: 圖十三 顯示程

25、序流程圖/*LED數(shù)碼管顯示子程序*/ LED_DIP: PUSH ACCMOV R3,#10HCJNE R7,#0,NEXT1_ModeLJMP DDOOPNEXT1_Mode: CJNE R7,#1,NEXT2_ModeLJMP DDOOP1NEXT2_Mode: SETB RS1CLR RS0MOV A,R5CJNE A,#00H,DD1MOV R5,#00HCLR RS0CLR RS1 LJMP DDOOPDD1: MOV R5,#01HCLR RS0CLR RS1LJMP DDOOP1DDOOP:MOV DPTR,#ADR_PC_MIN;/指向C口 MOV A,#11111110BM

26、OVX DPTR,A; /選中個(gè)位數(shù)碼管MOV DPTR,#DTATAB; /數(shù)據(jù)表格起始地址送DPTRMOV A,02FH; MOVC A,A+DPTR;/查得個(gè)位數(shù)碼管輸出信號(hào)MOV DPTR,#ADR_PA_MIN;/指向A口MOVX DPTR,A;/數(shù)碼管輸出個(gè)位數(shù)ACALL DELAY;/延時(shí)5msMOV DPTR,#ADR_PC_MINMOV A,#11111101BMOVX DPTR,A /選中十位數(shù)碼管MOV DPTR,#DTATAB; /數(shù)據(jù)表格起始地址送DPTRMOV A,30HMOVC A,A+DPTR; /查得十位數(shù)碼管輸出信號(hào)MOV DPTR,#ADR_PA_MIN;

27、/指向A口MOVX DPTR,A; /數(shù)碼管輸出十位數(shù)ACALL DELAY;/延時(shí)5msMOV DPTR,#ADR_PC_MINMOV A,#11111011BMOVX DPTR,A; /選中符號(hào)位數(shù)碼管 MOV DPTR,#DTATAB; /數(shù)據(jù)表格起始地址送DPTRMOV A,31HMOVC A,A+DPTR;/查得符號(hào)位數(shù)碼管輸出信號(hào)MOV DPTR,#ADR_PA_MIN; /指向A口MOVX DPTR,A;/數(shù)碼管輸出符號(hào)位ACALL DELAY; /延時(shí)5ms DJNZ R3,DDOOP; /循環(huán)顯示十次RET DDOOP1: MOV DPTR,#ADR_PC_MIN; /指向C

28、口 MOV A,#11111110B MOVX DPTR,A; /選中個(gè)位數(shù)碼管 MOV DPTR,#DTATAB; /數(shù)據(jù)表格起始地址送DPTR MOV A,032H; MOVC A,A+DPTR;/查得個(gè)位數(shù)碼管輸出信號(hào) MOV DPTR,#ADR_PA_MIN;/指向A口 MOVX DPTR,A;/數(shù)碼管輸出個(gè)位數(shù) ACALL DELAY;/延時(shí)5ms MOV DPTR,#ADR_PC_MIN MOV A,#11111101B MOVX DPTR,A /選中十位數(shù)碼管 MOV DPTR,#DTATAB; /數(shù)據(jù)表格起始地址送DPTR MOV A,33H MOVC A,A+DPTR;/查得

29、十位數(shù)碼管輸出信號(hào) MOV DPTR,#ADR_PA_MIN;/指向A口 MOVX DPTR,A;/數(shù)碼管輸出十位數(shù) ACALL DELAY; /延時(shí)5ms MOV DPTR,#ADR_PC_MIN MOV A,#11111011B MOVX DPTR,A; /選中符號(hào)位數(shù)碼管 MOV DPTR,#DTATAB; /數(shù)據(jù)表格起始地址送DPTR MOV A,34H MOVC A,A+DPTR; /查得符號(hào)位數(shù)碼管輸出信號(hào) MOV DPTR,#ADR_PA_MIN; /指向A口 MOVX DPTR,A;/數(shù)碼管輸出符號(hào)位 ACALL DELAY;/延時(shí)5ms DJNZ R3,DDOOP; /循環(huán)顯

30、示十次 POP ACC RETDTATAB: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH DB 07H, 7FH, 6FH, 00H, 40H HYPERLINK l _Toc263671927 第五章 輔助調(diào)試工具使用Visual Stdio 2021編寫的溫度調(diào)節(jié)上位機(jī)進(jìn)行溫度監(jiān)控和調(diào)試系統(tǒng),利用串口實(shí)現(xiàn)PC機(jī)和單片機(jī)的通訊,該調(diào)試系統(tǒng)具有溫度設(shè)定,PID參數(shù)調(diào)整,溫度保存文件,溫度變化曲線顯示等功能,為以后系統(tǒng)的擴(kuò)展提供了方便。系統(tǒng)效果圖如下: 圖十四 溫度調(diào)節(jié)工具效果圖 總結(jié):通過本次課程設(shè)計(jì)使我們學(xué)到了怎樣去查找翻閱有關(guān)理論資料和技術(shù)手冊(cè),把書本上知識(shí)總

31、結(jié)起來去應(yīng)用于實(shí)踐,初步學(xué)到了研究、開發(fā),設(shè)計(jì)單片微型計(jì)算機(jī)對(duì)工業(yè)過程控制的一套完整的方法,受益很大。作為自動(dòng)化111班1組課程設(shè)計(jì)的組長,我平時(shí)定期給組員開會(huì),催促組員設(shè)計(jì)進(jìn)度,在整個(gè)設(shè)計(jì)過程中我不斷鼓勵(lì)隊(duì)員,讓他們?cè)谡麄€(gè)設(shè)計(jì)過程中真正的學(xué)到東西,首先沖整體上把握本次設(shè)計(jì)的目的,從而到達(dá)穩(wěn)固課本知識(shí)的目的。然后再根據(jù)每個(gè)人的特點(diǎn)合理分配每個(gè)人的任務(wù),最終每個(gè)人都很好的完成了分配的任務(wù)。到達(dá)了很好的合作效果。我在本次設(shè)計(jì)過程中,主要負(fù)責(zé)的任務(wù)如下:一,作為組長,掌握課程設(shè)計(jì)的總進(jìn)度。二、催促隊(duì)員,給他們?cè)O(shè)計(jì)的積極性和戰(zhàn)斗力。三、完成了系統(tǒng)的硬件設(shè)計(jì)并給隊(duì)員們真正的講明白。四、進(jìn)行軟件的最終匯總

32、和參加了附加局部的功能,思考設(shè)計(jì)出,解決16為數(shù)據(jù)求平均值的算法。五、使用C#語言編寫了上位機(jī)系統(tǒng),為以后擴(kuò)展提供方便。六、制作PPT,為最終辯論提供方便。在這個(gè)過程中我不僅僅學(xué)到了課本中的知識(shí),把課本知識(shí)掌握的更加熟練,并且將之用于實(shí)際,并在此過程中體會(huì)到了團(tuán)隊(duì)合作的重要性,每個(gè)人身上都有優(yōu)點(diǎn)。作為組長,我應(yīng)該學(xué)會(huì)善于發(fā)現(xiàn)別人的長處,并給隊(duì)員合理安排適宜的任務(wù)。這樣會(huì)到達(dá)極佳的效果。最后感謝老師給我們這次鍛煉的時(shí)機(jī)。這種課設(shè)的模式真的不多,不僅讓學(xué)生參與的積極性有很大提高,能夠保質(zhì)保量完成任務(wù),并且還可以提高同學(xué)們的團(tuán)隊(duì)合作能力。在此,感謝老師對(duì)我的經(jīng)心指導(dǎo)和隊(duì)友們的大力支持。參考文獻(xiàn):?單

33、片機(jī)原理及其接口技術(shù)?第三版 胡漢才 主編 ?數(shù)字電子技術(shù)根底?第五版 清華大學(xué)電子學(xué)教研室組 編 閻石 主編?模擬電子技術(shù)根底?(第四版) 清華大學(xué)電子學(xué)教研室組 編 華成英 童詩白主編 ?自動(dòng)檢測(cè)技術(shù)及儀表控制系統(tǒng)?第三版 張毅 張寶芬 曹麗 彭黎輝 編附錄:附錄一 原理圖及PCB圖 圖十五 總原理圖圖十六 PCB效果圖附錄二 局部程序代碼/*-*/ /*-單片機(jī)課程設(shè)計(jì)-*/ /*-自動(dòng)化111班一組全體成員-*/ /*-2021.12.20-*/ /*-Description-*/ /*Mecro define*/ /*ROM*/ ADR_ROM1_MIN DATA 0000H ADR

34、_ROM1_MAX DATA 1FFFH ADR_ROM2_MIN DATA 2000H ADR_ROM2_MAX DATA 3FFFH ADR_ROM3_MIN DATA 4000H ADR_ROM3_MAX DATA 5FFFH ADR_ROM4_MIN DATA 6000H ADR_ROM4_MAX DATA 7FFFH /*RAM*/ ADR_RAM1_MIN DATA 0000H ADR_RAM1_MAX DATA 1FFFH ADR_RAM2_MIN DATA 2000H ADR_RAM2_MAX DATA 3FFFH ADR_RAM3_MIN DATA 4000H ADR_RAM

35、3_MAX DATA 5FFFH ADR_RAM4_MIN DATA 6000H ADR_RAM4_MAX DATA 7FFFH /*ADC0809*/ ADR_ADC0809_CH0_MIN DATA 0a000H ADR_ADC0809_CH0_MAX DATA 0bff8H ADR_ADC0809_CH1_MIN DATA 0a001H ADR_ADC0809_CH1_MAX DATA 0bff9H /*8155*/ ADR_CONTROL_MIN DATA 8000H ADR_CONTROL_MAX DATA 9FF8H ADR_PA_MIN DATA 8001H ADR_PA_MAX

36、 DATA 9FF9H ADR_PB_MIN DATA 8002H ADR_PB_MAX DATA 9FFAH ADR_PC_MIN DATA 8003H ADR_PC_MAX DATA 9FFBH GEWEI DATA 2FH;/個(gè)位BCD數(shù)據(jù)存放位置 SHIWEI DATA 30H;/十位BCD位數(shù)據(jù)存放位置 FUAHOWEI DATA 31H; /符號(hào)位 /*The mecro end*/ /*MAIN Structer start */ ORG 0000H SJMP MAIN ORG 0003H SJMP ADC_Finish ORG 000BH SJMP TIM0_IRQ ORG 0

37、023H LJMP USART_Send MAIN: MOV SP,#60H CLR A ; /請(qǐng)累加器A SETB EA; /開CPU中斷 SETB ET0; /開定時(shí)器T0中斷 MOV TMOD,#21H; /選用TO的計(jì)時(shí)方式1 MOV TH0,#3CH /定時(shí)器重裝值 MOV TL0,#82H /*-串口初始化-*/ MOV TH1,#0F4H MOV TL1,#0F4H MOV PCON,#80H SETB TR1 MOV SCON,#40H SETB ES SETB EX0; /開INT0外部中斷 SETB IT0; /下降沿觸發(fā) SETB PT0; /定時(shí)中斷優(yōu)先級(jí)高 MOV R

38、1,#10; /循環(huán)采樣計(jì)數(shù)值 MOV R4,#20; /采樣間隔為1s,定時(shí)中斷為50ms,需要進(jìn) SETB TR0; /啟動(dòng)TO MOV DPTR,#ADR_ADC0809_CH0_MIN; /ADC0809地址給DPTR MOVX DPTR,A; /啟動(dòng)ADC0809 /* 8155IO口工作模式設(shè)定 */ MOV DPTR,#ADR_CONTROL_MIN; /DPTR指向狀態(tài)口 MOV A,#80H MOVX DPTR,A; /令A(yù),B,C口為輸出 Loop: LCALL LED_DIP;/調(diào)用顯示子程序 LCALL SCAN; /調(diào)用掃描子程序 LJMP Loop /*串口發(fā)送接受

39、中斷程序*/ /*-假設(shè)使用上位機(jī),發(fā)送數(shù)據(jù)前先發(fā)送0 x23*/USART_Send: PUSH PSW PUSH ACC SETB RS0 SETB RS1 MOV C,TI JC SEND SJMP ACCEPTSEND:CLR TI MOV A,R7MOV SBUF,ASJMP USART_DOWNACCEPT:CLR RIMOV A,SBUFMOV R6,AUSART_DOWN:POP ACCPOP PSWCLR RS0CLR RS1RETI /*TIM0中斷進(jìn)行平均求值,進(jìn)行數(shù)碼管顯示*/ ADC_Finish: PUSH DPH PUSH DPL PUSH ACC CJNE R7

40、,#00H,DUAL_MODE LJMP CH1_1DUAL_MODE: SETB RS1 CLR RS0 CJNE R6,#00H,CH1 MOV R6,#01H MOV DPTR,#ADR_ADC0809_CH0_MIN CH1: MOV R6,00H LJMP CHANLE_1_CONVENTCH1_1: MOV DPTR,#ADR_ADC0809_CH1_MINSING_CONVENT: /MOV DPTR,#ADR_ADC0809_CH0_MIN MOVX A,DPTR; /取值 MOV R0,A ; /將采樣值送到存儲(chǔ)地址 MOVX DPTR,A; /重新啟動(dòng)ADC0809 INC

41、 R0; /存儲(chǔ)地址加一 DJNZ R1,INTLOOP; /判斷是否存滿十個(gè)數(shù)據(jù),否,返回主函數(shù) MOV R0,#32H /填滿十個(gè)采樣值后,更新采樣首地址 MOV R1,#10 LJMP INTLOOPCHANLE_1_CONVENT: MOVX A,DPTR; /取值 MOV R0,A ; /將采樣值送到存儲(chǔ)地址 MOVX DPTR,A; /重新啟動(dòng)ADC0809 INC R0; /存儲(chǔ)地址加一 DJNZ R1,INTLOOP; /判斷是否存滿十個(gè)數(shù)據(jù),否,返回主函數(shù) MOV R0,#42H /填滿十個(gè)采樣值后,更新采樣首地址 MOV R2,#10 LJMP INTLOOPINTLOOP

42、: POP ACC POP DPL POP DPH RETI /*INT0外部中斷,ADC0809轉(zhuǎn)換完畢,進(jìn)行ADC0通道讀取,并開始重新一次轉(zhuǎn)化*/ TIM0_IRQ: PUSH DPH PUSH DPL PUSH ACC MOV TH0,#3CH; /定時(shí)中斷效勞函數(shù) MOV TL0,#82H DJNZ R4,DONE; /假設(shè)沒到20次,直接返回主函數(shù) MOV R4,#20 ACALLDATA_Explose; /求采樣平均值子函數(shù)DONE: POP ACC POP DPL POP DPH RETI RETI C/*-鍵盤掃描程序-*/SCAN: PUSH ACC PUSH DPL P

43、USH DPH MOV P1,#0FFH MOV A,P1 CJNE A,#0FFH,KEY_ON LJMP DOWN_KEY KEY_ON: LCALL DELAY /10ms延時(shí)消抖 LCALL DELAY MOV P1,#0FFH MOV A,P1 CJNE A,#0FFH,KEY_ON_Really LJMP DOWN_KEY KEY_ON_Really: SETB RS0 CLR RS1 /使用1區(qū)存放器 CJNE A,#0FEH,NEXT1 MOV R7,#0 NEXT1: CJNE A,#0FDH,NEXT2 MOV R7,#1 NEXT2: CJNE A,#0FBH,NEXT3

44、 MOV R7,#2 NEXT3: MOV R7,#0 DOWN_KEY: CLR RS0 CLR RS1 POP DPH POP DPL POP ACC RET DATA_Explose: PUSH ACC PUSH DPL PUSH DPH /*把存放器切換到1區(qū)*/ CLR RS1 SETB RS0 CLR A MOV R4,#00H MOV R5,#00H MOV R3,#10 CLR C MOV R1,#32H LOOP_ADD: ADDC A,R1 JC ADD_High_8 SJMP ADD_Continue ADD_High_8: INC R4 CLR C ADD_Continue: INC R1 DJNZ R3,LOOP_ADD MOV R5,A AD_AVE: MOV

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論