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

下載本文檔

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

文檔簡介

微型計算機技術專業(yè)方向課程設計任務書題目名稱:基于MCS-51單片機的數(shù)據(jù)采集系統(tǒng)專業(yè)自動化班級111 班姓名消消樂學號20112823333學校:青島理工大學自動化學院指導教師:史賀男2013年12月9日課程設計任務書課程名稱:微型計算機技術設計題目:基于MCS-51單片機的溫度采集系統(tǒng)系統(tǒng)硬件要求:配置單片機的外部程序ROM空間,容量為外擴ROM,RAM各32KB(其大小由設計者自己設計),系統(tǒng)時鐘電路、復位電路等構成的最小系統(tǒng)。配置0809芯片作為數(shù)據(jù)采集通道(也可以選擇其他芯片),對外部1路溫度傳感器輸入信號采集。顯示部分為LED動態(tài)顯示設計和鍵盤設計。要求每1s采樣一次,使用中斷完成,其溫度測量范圍為-20-70度,精度要求1度。5、接口電路的設計:設計者擴展一個并行接口〔8155或8255〕,鍵盤設計由設計者根據(jù)需要設計鍵盤的數(shù)量,顯示采用LED顯示,顯示電路也根據(jù)顯示的內(nèi)容設計;6、有開機顯示狀態(tài)(如顯示88);軟件設計:1)主程序設計(包括初始化芯片,定時器,中斷以及SP指針等);2)各功能子程序設計,溫度采集計算子程序、鍵盤子程序\顯示子程序設計,定時,中斷程序等;)選做要求:2路信號采集??墒褂冒存I選擇輸入通道。具有自動通道輪換采樣功能。其他要求:每位同學獨立完成本設計。2、依據(jù)題目要求,提出系統(tǒng)設計方案。3、設計系統(tǒng)電路原理圖。調(diào)試系統(tǒng)硬件電路、功能程序。編制課程設計報告書并裝訂成冊,報告書內(nèi)容(按順序)(1)報告書封面(2)課程設計任務書(3)系統(tǒng)設計方案的提出、分析(4)系統(tǒng)中典型電路的分析(5)系統(tǒng)軟件結構框圖(6)系統(tǒng)電路原理圖(7)源程序(8)課設字數(shù)不少于2000字成績評語摘要本文是以MCS-51單片機系統(tǒng)為基礎的,通過熱電阻PT100的阻值隨溫度的變化的特性,通過采集得到的模擬信號,并通過A/D轉換器ADC0809對模擬信號進行模數(shù)轉換,把轉換得到的數(shù)字信號按照順序分別送入單片機,通過單片機進行均值濾波,并通過查表得到溫度值。LED數(shù)碼管顯示。本系統(tǒng)設計簡單,性能穩(wěn)定,能夠通過單片機靈活編程進行各種功能的設定和修改。并且為以后溫度控制系統(tǒng)的擴展提供了方便,提供了鍵盤可以進行溫度設定和模式選擇。并且提供了利用VisualStdio2010編寫的溫度調(diào)節(jié)上位機進行溫度監(jiān)控和調(diào)試。為以后的系統(tǒng)擴展調(diào)試提供了方便。關鍵詞:A/D轉換器;熱電阻;MCS-51,上位機

第一章前言 1第二章系統(tǒng)總體設計 12.1系統(tǒng)概述 12.2系統(tǒng)工作原理分析 1第三章硬件部分 23.1單片機最小系統(tǒng)及鍵盤模塊 33.2數(shù)據(jù)采集通道模塊 53.3串行口模塊 53.4并行I/O芯片及顯示模塊 63.5溫度傳感器模塊 63.6外部儲存器模塊 7第四章軟件部分 84.1主程序的設計 84.2定時器中斷程序的設計 94.3數(shù)據(jù)采樣程序的設計 94.4A/D轉換程序的設計 114.5LED顯示程序設計. 12第五章輔助調(diào)試工具 16總結 17參考文獻 17附錄1硬件原理圖及PCB圖 17附錄2分程序代碼 18第一章前言溫度是一個非常重要的物理量,因為它直接影響燃燒、化學反應、烘烤、煅燒、蒸餾、結晶、空氣流動以及溫度漂移等物理和化學過程。溫度控制失誤就可能引起生產(chǎn)安全、產(chǎn)品質(zhì)量、產(chǎn)品產(chǎn)量以及生活安全等一系列問題。因此對溫度的檢測的意義就越來越大。溫度采集控制系統(tǒng)在工業(yè)生產(chǎn)、科學研究和人們的生活領域中,得到了廣泛應用。在工業(yè)生產(chǎn)過程中,很多時候都需要對溫度進行嚴格的監(jiān)控,以使得生產(chǎn)能夠順利的進行,產(chǎn)品的質(zhì)量才能夠得到充分的保證。使用自動溫度控制系統(tǒng)可以對生產(chǎn)環(huán)境的溫度進行自動控制,保證生產(chǎn)的自動化、智能化能夠順利、安全進行,從而提高企業(yè)的生產(chǎn)效率。并且溫度控制是一個大慣性控制,控制難度比較大。溫度采集任務在溫度控制中是比較重要的一個環(huán)節(jié),因此本文來研究溫度采集系統(tǒng),意義重大。第二章系統(tǒng)總體設計2.1系統(tǒng)概述根據(jù)課程設計要求的性能指標,本系統(tǒng)要滿足一定精度的溫度采集的基本功能,同時系統(tǒng)還具有動態(tài)顯示當前的測量溫度值的功能和鍵盤操作的功能。2.2系統(tǒng)原理分析本文以MCS-51單片機系統(tǒng)為基礎,通過溫度傳感器PT100隨溫度的變化而得到的模擬信號進行采集,連接ADC0809實現(xiàn)單路路模擬信號的采集,并通過A/D轉換器對模擬信號進行數(shù)模轉換,把轉換得到的數(shù)字信號送入單片機,通過LED顯示。本系統(tǒng)設計簡單,性能穩(wěn)定,能夠通過單片機靈活編程進行各種功能的設定和修改。根據(jù)本課題的設計目標以及硬件的特點,本系統(tǒng)的總體設計框圖如圖所示。圖一系統(tǒng)框圖第三章硬件部分3.1單片機最小系統(tǒng)及鍵盤模塊單片機選用AT89C51,該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。本系統(tǒng)包括晶振電路,復位電路,地址鎖存器電路,3-8譯碼器,鍵盤電路等。圖如下,其中譯碼器輸為P2.7,P2.6,P2.5,譯碼產(chǎn)生8個片選信號,分別來選通8155,外部RAM,ADC0809等芯片工作。保證了地址的擴展和單片機的基本運行。圖二單片機最小系統(tǒng)原理圖3.2數(shù)據(jù)采集通道模塊ADC0809是八通道的八位逐次逼近式A/D轉換器。由單一的5V電源供電,片內(nèi)帶有鎖存功能的8選1的模擬開關。由C、B、A的編碼來決定所選的模擬通道。轉換時間為100us。轉換誤差為1/2LSB。它的引腳的排列及其功能,其引腳圖見下圖三ADC0809的引腳圖IN7~IN0:八個通道的模擬輸入量。ADDA、ADDB、ADDC:模擬通道地址線。當CBA=000時,IN0輸入,當CBA=111時,IN7輸入。ALE:地址鎖存信號。START:轉換啟動信號,高電平有效。D7~D0:數(shù)據(jù)輸出線。三態(tài)輸出,D7是最高位,D0是最低位。OE:輸出允許信號,高電平有效。CLK:時鐘信號,最高頻率為640KHZ。EOC:轉換結束狀態(tài)信號。上升沿后高電平有效。VCC:+5V電源。VREF:參考電壓。利用它可直接輸入8個單端的模擬信號分時進行A/D轉換,在多點巡回檢測和過程控制、運動控制中應用十分廣泛。本次設計配置0809芯片作為數(shù)據(jù)采集通道。連接如圖圖四數(shù)據(jù)采集通道原理圖3.3串行口的選擇該串行口選用了標準RS-232C接口,它是電平與TTL電平轉換驅動電路。常用的芯片是MAX232,MAX232的優(yōu)點是:(1)一片芯片可以完成發(fā)送轉換和接收轉換的雙重功能。(2)單一電源+5V供電(3)它的電路設計與連接比較簡單而且功能齊全。電路圖如下圖五串行口原理圖3.4并行I/O芯片及顯示模塊8155芯片內(nèi)包含有256字節(jié)RAM,2個8位、1個6位的可編程并行I/O口,和1個14位定時器/計數(shù)器。由于8155既具有RAM又具有I/O口,因而是單片機系統(tǒng)中最常用的外圍接口芯片之一。LED數(shù)碼顯示管是一種由LED發(fā)光二極管組合顯示字符的顯示器件。它使用了8個LED顯示管,其中7個用于顯示字符,1個用來顯示小數(shù)點,故通常稱之為八段發(fā)光二極管數(shù)碼顯示器。對LED數(shù)碼顯示器的控制可以采用按時間向它提供具有一定驅動能力的位選和段選信號。原理圖如下圖六并行I/O芯片及顯示模塊3.5溫度傳感器模塊題目要求,采集溫度范圍為-20℃-70℃。經(jīng)過比較我們選擇PT100作為溫度傳感器,pt100是鉑熱電阻,它的阻值跟溫度的變化成正比,鉑電阻的特點是精度高,穩(wěn)定性好,性能可靠。鉑在氧化性氣氛中,甚至在高溫下的物理、化學性質(zhì)都非常穩(wěn)定。因此鉑被公認為是目前制造熱電阻的最好材料。鉑電阻主要作為標準電阻溫度計使用,也常被用在工業(yè)測量中。PT100的阻值與溫度變化關系為:當PT100溫度為0℃時它的阻值為100歐姆,在100℃時它的阻值約為138.5歐姆。它的工業(yè)原理:當PT100在0攝氏度的時候他的阻值為100歐姆,它的阻值會隨著溫度上升而成勻速增長的。圖七PT100橋式電路圖根據(jù)電橋的運算關系得出橋式電路輸出壓差為————①查PT100分度表得出,-20℃-70℃對應的電阻為92.16Ω-127.08Ω,為了提高采集的精度,我們把-20℃-70℃對應的電壓變化利用惠斯通電橋和運放,變換到MCS-51可以最大程度識別和測量的范圍,所以當-20℃的時候,對應輸出電壓為0V。因此,—————,②把R3=510Ω,R1=200Ω,RPT=92.16Ω,帶入上式得出R9=1106.8Ω;所以應該調(diào)節(jié)滑動變阻器R9=1106.8Ω接入電路。當測量溫度為70℃時,對應的RPT=127.08Ω,R3=510Ω,R1=200Ω,R9=1106.8Ω,帶入①式得到U=0.366V。為了輸入單片機MCS-51的電壓為0-5V,應該設計運算放大器的放大倍數(shù)為,為了留有一定的余量和現(xiàn)有電阻大小,選擇運算放大器的倍數(shù)為12倍。采集電壓范圍為0V-4.392V。最終我們,我們?yōu)榱朔乐笰D輸入阻抗不夠大,而對采集電路的電壓造成影響,從而對電壓采集造成誤差。所以采用兩級運放。第一級為查分比例運算電路,放大倍數(shù)為4被。后面一級為比例運算放大電路,放大倍數(shù)為3倍。最終放大倍數(shù)為12倍。運算放大電路的電路電阻匹配為——————③我們?nèi)?,R4=R5=20K,R6=R7=80K;——————④我們?nèi)?,R8=12K,R11=24K;且為匹配電阻,R12=8K;原理圖如下圖八主電路原理圖3.6外部儲存器模塊本系統(tǒng)擴展32KROM,RAM,分別用了四片2764和6264,其P2.7,P2.6,P2.5通過3-8譯碼器,編譯成Y0-Y7,作為片選信號。其余地址線作為連接8K的13根地址線。Eg.U8:0x0000-0x1fffU9:0x2000-0x3fffU10:0x4000-0x5fffU11:0x6000-0x7fff原理圖如下圖九外部儲存器的連接原理圖第四章軟件部分4.1主程序的設計設計思路:主程序主要執(zhí)行LCD顯示和鍵盤的掃描,AD的采集在外部中斷中執(zhí)行,采樣數(shù)據(jù)處理以及LCD顯示數(shù)據(jù)的更新均在定時器中斷中完成。主程序開始時首先定義相關的指針,并對定時器T0,外部中斷INT0,ADC0809進行初始化設置。ADC0809轉換完成時,單片機將收到低電平,所以將INT0設為下降沿觸發(fā)。題目要求每隔1s更新一次顯示溫度,這里選用定時方式1,方式1的最大定時時間為:=×1us=65.536ms這里每次溢出時設為50ms,每溢出20次進行一次數(shù)據(jù)更新。重裝值的計算公式為:TC=-50ms/1us=15536=3CB0H51單片機的中斷優(yōu)先級默認為,INT0高于T0,當在定時器中斷執(zhí)行數(shù)據(jù)處理程序時應避免外部中斷的打斷,因此設為TO中斷為高優(yōu)先級。循環(huán),等待中斷。流程圖:圖十主程序流程圖4.2定時器中斷程序的設計設計思路:定時中斷函數(shù)主要進行采樣數(shù)據(jù)的處理以及溫度的轉換。為了減小誤差,取最近十次的采樣值相加求取平均值,然后轉換為相應的溫度。求平均值時,16位的除法操作比較困難,對于高八位可以看做是n個255,用高八位乘以25.5,即除以10之后的值,在與低八位除以10之后的數(shù)據(jù)相加,就是最后的平均值。對于ADC0809來說,它的采集電壓范圍為0-5V,電路設計時留有余量,參考值為4.09V,因此采集的最大值為208。進行溫度轉換時,-20℃對應0,70℃對應208,按照對應關系可以用查表進行。查出相應溫度后轉為十位、個位BCD碼,為后面的LCD顯示做準備。圖十一定時器流程圖求平均值時的代碼:DATA_Explose:PUSHACCPUSHDPLPUSHDPH/*把寄存器切換到1區(qū)*/CLRRS1SETBRS0CLRAMOVR4,#00HMOVR5,#00HMOVR3,#10CLRCMOVR1,#32HLOOP_ADD:ADDCA,@R1JCADD_High_8SJMPADD_ContinueADD_High_8:INCR4CLRCADD_Continue:INCR1DJNZR3,LOOP_ADDMOVR5,AAD_AVE:MOVA,R4MOVB,#25MULABMOVR2,AMOVA,R4MOVB,#2DIVABADDA,R2MOVR4,AMOVA,R5MOVB,#10DIVABADDA,R4MOV2AH,A//把最終的數(shù)據(jù)送入2AH中溫度轉換代碼:AD_DATA_USing:MOVDPTR,#TEM_DATAB; //溫度轉換表格地址 MOVC A,@A+DPTR; //查表得相應溫度 MOVB,#0AH; //被除數(shù)10給B DIVAB MOV 2FH,B MOV30H,ACJNEA,#57,TREAT1; //將采樣數(shù)值與57比較,若不相等則TREAT1 MOV31H,#0AH; //若相等,幅值FUHAOWEI,57,即正數(shù) LJMPDOWN_ADTREAT1:JCTREAT2;//若Cy=1,則TREAT2MOV31H,#0AH; LJMPDOWN_AD TREAT2:MOV 31H,#0BH;//因Cy為0,為負溫度 LJMPDOWN_ADDOWN_AD:POPDPHPOPDPLPOPACCRET4.3A/D轉換和數(shù)據(jù)采樣程序的設計設計思路:本設計程序中,由ADC0809轉換完成信號觸發(fā)外部中斷進行數(shù)據(jù)的采集,并預留十個地址暫存采樣數(shù)據(jù),末位地址存入數(shù)據(jù)之后重新從首地址開始存入,進行數(shù)據(jù)處理時便可以取最近十次的值進行計算,提高精度。流程圖:圖十二A/D轉換和數(shù)據(jù)采樣程序相關代碼:ADC_Finish:PUSHDPH PUSHDPL PUSHACC CJNER7,#00H,DUAL_MODE LJMPCH1_1DUAL_MODE:SETBRS1 CLRRS0 CJNER6,#00H,CH1 MOVR6,#01H MOVDPTR,#ADR_ADC0809_CH0_MIN CH1:MOVR6,00HLJMPCHANLE_1_CONVENTCH1_1:MOVDPTR,#ADR_ADC0809_CH1_MINSING_CONVENT: //MOVDPTR,#ADR_ADC0809_CH0_MIN MOVXA,@DPTR; //取值 MOV@R0,A;//將采樣值送到存儲地址 MOVX@DPTR,A; //重新啟動ADC0809 INCR0 ; //存儲地址加一 DJNZR1,INTLOOP; //判斷是否存滿十個數(shù)據(jù),否,返回主函數(shù) MOVR0,#32H //填滿十個采樣值后,更新采樣首地址 MOVR1,#10 LJMPINTLOOPCHANLE_1_CONVENT: //MOVDPTR,#ADR_ADC0809_CH0_MIN MOVXA,@DPTR; //取值 MOV@R0,A;//將采樣值送到存儲地址 MOVX@DPTR,A; //重新啟動ADC0809 INCR0 ; //存儲地址加一 DJNZR1,INTLOOP; //判斷是否存滿十個數(shù)據(jù),否,返回主函數(shù) MOVR0,#42H //填滿十個采樣值后,更新采樣首地址 MOVR2,#10 LJMPINTLOOPINTLOOP:POPACCPOPDPL POPDPHRETI4.4鍵盤掃描程序的設計設計思路:本次課設中用到的鍵盤為單排八個按鍵,程序設計比較簡單,只要給一個高電平,再檢測相應按鍵接口即可,在此無需贅述。4.5LED顯示程序設計實際思路:本次課設采用三個數(shù)碼管,共陰極設計,控制信號分為位選信號和段選信號。先由8155的C口輸出片選信號選通將要顯示的數(shù)碼管,然后由A口輸出段選信號,使數(shù)碼管顯示相應數(shù)字。流程圖:圖十三顯示程序流程圖/*LED數(shù)碼管顯示子程序*/LED_DIP:PUSHACC MOVR3,#10H CJNER7,#0,NEXT1_Mode LJMPDDOOPNEXT1_Mode:CJNER7,#1,NEXT2_Mode LJMPDDOOP1NEXT2_Mode:SETBRS1 CLRRS0 MOVA,R5 CJNEA,#00H,DD1 MOVR5,#00H CLRRS0 CLRRS1LJMPDDOOPDD1:MOVR5,#01H CLRRS0 CLRRS1 LJMPDDOOP1DDOOP: MOVDPTR,#ADR_PC_MIN;//指向C口MOVA, #11111110B MOVX@DPTR,A; //選中個位數(shù)碼管 MOVDPTR,#DTATAB;//數(shù)據(jù)表格起始地址送DPTR MOVA,02FH;MOVCA,@A+DPTR; //查得個位數(shù)碼管輸出信號 MOVDPTR,#ADR_PA_MIN; //指向A口 MOVX@DPTR,A; //數(shù)碼管輸出個位數(shù) ACALLDELAY; //延時5ms MOVDPTR,#ADR_PC_MIN MOVA, #11111101B MOVX@DPTR,A //選中十位數(shù)碼管 MOVDPTR,#DTATAB;//數(shù)據(jù)表格起始地址送DPTR MOVA,30H MOVCA,@A+DPTR; //查得十位數(shù)碼管輸出信號 MOVDPTR,#ADR_PA_MIN; //指向A口 MOVX@DPTR,A; //數(shù)碼管輸出十位數(shù) ACALLDELAY; //延時5ms MOVDPTR,#ADR_PC_MIN MOVA, #11111011B MOVX@DPTR,A; //選中符號位數(shù)碼管MOVDPTR,#DTATAB;//數(shù)據(jù)表格起始地址送DPTR MOVA,31H MOVCA,@A+DPTR; //查得符號位數(shù)碼管輸出信號 MOVDPTR,#ADR_PA_MIN; //指向A口 MOVX@DPTR,A; //數(shù)碼管輸出符號位 ACALLDELAY; //延時5ms DJNZR3,DDOOP; //循環(huán)顯示十次 RETDDOOP1: MOVDPTR,#ADR_PC_MIN; //指向C口MOVA, #11111110B MOVX@DPTR,A; //選中個位數(shù)碼管 MOVDPTR,#DTATAB;//數(shù)據(jù)表格起始地址送DPTR MOVA,032H; MOVCA,@A+DPTR; //查得個位數(shù)碼管輸出信號 MOVDPTR,#ADR_PA_MIN;//指向A口 MOVX@DPTR,A; //數(shù)碼管輸出個位數(shù) ACALLDELAY; //延時5ms MOVDPTR,#ADR_PC_MIN MOVA, #11111101B MOVX@DPTR,A //選中十位數(shù)碼管 MOVDPTR,#DTATAB;//數(shù)據(jù)表格起始地址送DPTR MOVA,33H MOVCA,@A+DPTR; //查得十位數(shù)碼管輸出信號 MOVDPTR,#ADR_PA_MIN; //指向A口 MOVX@DPTR,A; //數(shù)碼管輸出十位數(shù) ACALLDELAY; //延時5ms MOVDPTR,#ADR_PC_MIN MOVA, #11111011B MOVX@DPTR,A; //選中符號位數(shù)碼管 MOVDPTR,#DTATAB;//數(shù)據(jù)表格起始地址送DPTR MOVA,34H MOVCA,@A+DPTR; //查得符號位數(shù)碼管輸出信號 MOVDPTR,#ADR_PA_MIN; //指向A口 MOVX@DPTR,A; //數(shù)碼管輸出符號位 ACALLDELAY; //延時5ms DJNZR3,DDOOP;//循環(huán)顯示十次 POPACC RETDTATAB:DB3FH,06H,5BH,4FH,66H,6DH,7DHDB07H,7FH,6FH,00H,40H第五章輔助調(diào)試工具使用VisualStdio2010編寫的溫度調(diào)節(jié)上位機進行溫度監(jiān)控和調(diào)試系統(tǒng),利用串口實現(xiàn)PC機和單片機的通訊,該調(diào)試系統(tǒng)具有溫度設定,PID參數(shù)調(diào)整,溫度保存文件,溫度變化曲線顯示等功能,為以后系統(tǒng)的擴展提供了方便。系統(tǒng)效果圖如下:圖十四溫度調(diào)節(jié)工具效果圖總結:通過本次課程設計使我們學到了怎樣去查找翻閱有關理論資料和技術手冊,把書本上知識總結起來去應用于實踐,初步學到了研究、開發(fā),設計單片微型計算機對工業(yè)過程控制的一套完整的方法,受益很大。作為自動化111班1組課程設計的組長,我平時定期給組員開會,督促組員設計進度,在整個設計過程中我不斷鼓勵隊員,讓他們在整個設計過程中真正的學到東西,首先沖整體上把握本次設計的目的,從而達到鞏固課本知識的目的。然后再根據(jù)每個人的特點合理分配每個人的任務,最終每個人都很好的完成了分配的任務。達到了很好的合作效果。我在本次設計過程中,主要負責的任務如下:一,作為組長,掌握課程設計的總進度。二、督促隊員,給他們設計的積極性和戰(zhàn)斗力。三、完成了系統(tǒng)的硬件設計并給隊員們真正的講明白。四、進行軟件的最終匯總和加入了附加部分的功能,思考設計出,解決16為數(shù)據(jù)求平均值的算法。五、使用C#語言編寫了上位機系統(tǒng),為以后擴展提供方便。六、制作PPT,為最終答辯提供方便。在這個過程中我不僅僅學到了課本中的知識,把課本知識掌握的更加熟練,并且將之用于實際,并在此過程中體會到了團隊合作的重要性,每個人身上都有優(yōu)點。作為組長,我應該學會善于發(fā)現(xiàn)別人的長處,并給隊員合理安排合適的任務。這樣會達到極佳的效果。最后感謝老師給我們這次鍛煉的機會。這種課設的模式真的不多,不僅讓學生參與的積極性有很大提高,能夠保質(zhì)保量完成任務,并且還可以提高同學們的團隊合作能力。在此,感謝老師對我的經(jīng)心指導和隊友們的大力支持。參考文獻:《單片機原理及其接口技術》(第三版)胡漢才主編《數(shù)字電子技術基礎》(第五版)清華大學電子學教研室組編閻石主編《模擬電子技術基礎》(第四版)清華大學電子學教研室組編華成英童詩白主編《自動檢測技術及儀表控制系統(tǒng)》(第三版)張毅張寶芬曹麗彭黎輝編附錄:附錄一原理圖及PCB圖圖十五總原理圖圖十六PCB效果圖附錄二部分程序代碼/**//*單片機課程設計*//*自動化111班一組全體成員*//*2013.12.20*//*Description*//*Mecrodefine*//*ROM*/ADR_ROM1_MINDATA0000HADR_ROM1_MAXDATA1FFFHADR_ROM2_MINDATA2000HADR_ROM2_MAXDATA3FFFHADR_ROM3_MINDATA4000HADR_ROM3_MAXDATA5FFFHADR_ROM4_MINDATA6000HADR_ROM4_MAXDATA7FFFH/*RAM*/ADR_RAM1_MINDATA0000HADR_RAM1_MAXDATA1FFFHADR_RAM2_MINDATA2000HADR_RAM2_MAXDATA3FFFHADR_RAM3_MINDATA4000HADR_RAM3_MAXDATA5FFFHADR_RAM4_MINDATA6000HADR_RAM4_MAXDATA7FFFH/*ADC0809*/ADR_ADC0809_CH0_MINDATA0a000HADR_ADC0809_CH0_MAXDATA0bff8HADR_ADC0809_CH1_MINDATA0a001HADR_ADC0809_CH1_MAXDATA0bff9H/*8155*/ADR_CONTROL_MINDATA8000HADR_CONTROL_MAXDATA9FF8HADR_PA_MINDATA8001HADR_PA_MAXDATA9FF9HADR_PB_MINDATA8002HADR_PB_MAXDATA9FFAHADR_PC_MINDATA8003HADR_PC_MAXDATA9FFBHGEWEIDATA2FH; //個位BCD數(shù)據(jù)存放位置SHIWEIDATA30H; //十位BCD位數(shù)據(jù)存放位置FUAHOWEIDATA31H;//符號位/*Themecroend*//*MAINStructerstart*/ORG0000HSJMPMAINORG0003HSJMPADC_FinishORG000BHSJMPTIM0_IRQORG0023HLJMPUSART_SendMAIN:MOVSP,#60H CLRA;// 請累加器ASETBEA ;//開CPU中斷 SETBET0 ; //開定時器T0中斷 MOVTMOD,#21H; //選用TO的計時方式1 MOVTH0,#3CH //定時器重裝值 MOVTL0,#82H/*串口初始化*/ MOVTH1,#0F4H MOVTL1,#0F4H MOVPCON,#80H SETBTR1 MOVSCON,#40H SETBES SETBEX0; //開INT0外部中斷 SETBIT0; //下降沿觸發(fā) SETBPT0; //定時中斷優(yōu)先級高 MOVR1,#10;//循環(huán)采樣計數(shù)值 MOVR4,#20; //采樣間隔為1s,定時中斷為50ms,需要進 SETBTR0 ; //啟動TO MOVDPTR,#ADR_ADC0809_CH0_MIN; //ADC0809地址給DPTR MOVX@DPTR,A; //啟動ADC0809 /*8155IO口工作模式設定*/ MOVDPTR,#ADR_CONTROL_MIN;//DPTR指向狀態(tài)口 MOVA,#80H MOVX@DPTR,A; //令A,B,C口為輸出Loop:LCALLLED_DIP ; //調(diào)用顯示子程序LCALLSCAN ; //調(diào)用掃描子程序LJMPLoop /*串口發(fā)送接受中斷程序*/ /*若使用上位機,發(fā)送數(shù)據(jù)前先發(fā)送0x23*/USART_Send:PUSHPSWPUSHACCSETBRS0SETBRS1MOVC,TIJCSENDSJMPACCEPTSEND:CLRTIMOVA,R7MOVSBUF,ASJMPUSART_DOWNACCEPT:CLRRIMOVA,SBUFMOVR6,AUSART_DOWN:POPACCPOPPSWCLRRS0CLRRS1RETI/*TIM0中斷進行平均求值,進行數(shù)碼管顯示*/ADC_Finish:PUSHDPH PUSHDPL PUSHACC CJNER7,#00H,DUAL_MODE LJMPCH1_1DUAL_MODE:SETBRS1 CLRRS0 CJNER6,#00H,CH1 MOVR6,#01H MOVDPTR,#ADR_ADC0809_CH0_MIN CH1:MOVR6,00HLJMPCHANLE_1_CONVENTCH1_1:MOVDPTR,#ADR_ADC0809_CH1_MINSING_CONVENT: //MOVDPTR,#ADR_ADC0809_CH0_MIN MOVXA,@DPTR; //取值 MOV@R0,A;//將采樣值送到存儲地址 MOVX@DPTR,A; //重新啟動ADC0809 INCR0 ; //存儲地址加一 DJNZR1,INTLOOP; //判斷是否存滿十個數(shù)據(jù),否,返回主函數(shù) MOVR0,#32H //填滿十個采樣值后,更新采樣首地址 MOVR1,#10 LJMPINTLOOPCHANLE_1_CONVENT: MOVXA,@DPTR; //取值 MOV@R0,A;//將采樣值送到存儲地址 MOVX@DPTR,A; //重新啟動ADC0809 INCR0 ; //存儲地址加一 DJNZR1,INTLOOP; //判斷是否存滿十個數(shù)據(jù),否,返回主函數(shù) MOVR0,#42H //填滿十個采樣值后,更新采樣首地址 MOVR2,#10 LJMPINTLOOPINTLOOP:POPACCPOPDPL POPDPHRETI/*INT0外部中斷,ADC0809轉換完畢,進行ADC0通道讀取,并開始重新一次轉化*/TIM0_IRQ:PUSHDPH PUSHDPL PUSHACCMOVTH0,#3CH; //定時中斷服務函數(shù) MOVTL0,#82H DJNZR4,DONE; //若沒到20次,直接返回主函數(shù) MOVR4,#20 ACALL DATA_Explose; //求采樣平均值子函數(shù)DONE:POPACCPOPDPL POPDPHRETIRETIC/*鍵盤掃描程序*/SCAN:PUSHACCPUSHDPLPUSHDPHMOVP1,#0FFHMOVA,P1CJNEA,#0FFH,KEY_ONLJMPDOWN_KEYKEY_ON:LCALLDELAY//10ms延時消抖LCALLDELAYMOVP1,#0FFHMOVA,P1CJNEA,#0FFH,KEY_ON_ReallyLJMPDOWN_KEYKEY_ON_Really:SETBRS0CLRRS1//使用1區(qū)寄存器CJNEA,#0FEH,NEXT1MOVR7,#0NEXT1:CJNEA,#0FDH,NEXT2MOVR7,#1NEXT2:CJNEA,#0FBH,NEXT3MOVR7,#2NEXT3:MOVR7,#0DOWN_KEY:CLRRS0CLRRS1POPDPHPOPDPLPOPACCRETDATA_Explose:PUSHACCPUSHDPLPUSHDPH/*把寄存器切換到1區(qū)*/CLRRS1SETBRS0CLRAMOVR4,#00HMOVR5,#00HMOVR3,#10CLRCMOVR1,#32HLOOP_ADD:ADDCA,@R1JCADD_High_8SJMPADD_ContinueADD_High_8:INCR4CLRCADD_Continue:INCR1DJNZR3,LOOP_ADDMOVR5,AAD_AVE:MOVA,R4MOVB,#25MULABMOVR2,AMOVA,R4MOVB,#2DIVABADDA,R2MOVR4,AMOVA,R5MOVB,#10DIVABADDA,R4MOV2AH,A//把最終的數(shù)據(jù)送入2AH中AD_DATA_USing:MOVDPTR,#TEM_DATAB; //溫度轉換表格地址 MOVC A,@A+DPTR; //查表得相應溫度 MOVB,#0AH; //被除數(shù)10給B DIVAB MOV 2FH,B MOV30H,ACJNEA,#57,TREAT1; //將采樣數(shù)值與57比較,若不相等則TREAT1 MOV31H,#0AH; //若相等,幅值FUHAOWEI,57,即正數(shù) LJMPDOWN_ADTREAT1:JCTREAT2;//若Cy=1,則TREAT2MOV31H,#0AH; LJMPDOWN_AD TREAT2:MOV 31H,#0BH;//因Cy為0,為負溫度 LJMPDOWN_ADDOWN_AD:POPDPHPOPDPLPOPACCRETTEM_DATAB:DB14H,14H,13H,13H,12H,12H,11H,11H,11H,10H,10H,0FH,0FH,0EH,0EH,0EH,0DH,0DH,0CH,0CH,0BH,0BH DB0AH,0AH,0AH,09H,09H,08H,08H,07H,07H,07H,06H,06H,05H,05H,04H,04H,04H,03H,03H,02H,02H,01H,01H,01H DB00H,00H,01H,01H,02H,02H,03H,03H,03H,04H,04H,05H,05H,06H,06H,06H,07H,07H,08H,08H,09H,09H,09H DB0AH,0AH,0BH,0BH,0CH,0CH,0CH,0DH,0DH,0EH,0EH,0FH,0FH,10H,10H,10H,11H,11H,12H,12H,13H,13H DB14H,14H,15H,15H,16H,16H,16H,17H,17H,18H,18H,19H,19H,19H,1AH,1AH,1BH,1BH,1CH,1CH,1CH,1DH,1DH DB1EH,1EH,1FH,1FH,20H,20H,20H,21H,21H,22H,22H,23H,23H,23H,24H,24H,25H,25H,26H,26H,26H,27H,27H DB28H,28H,29H,29H,29H,2AH,2AH,2BH,2BH,2CH,2CH,2DH,2DH,2DH,2EH,2EH,2FH,2FH,30H,30H,30H,31H,31H DB32H,32H,33H,33H,33H,34H,34H,35H,35H,36H,36H,36H,37H,37H,38H,38H,39H,39H,3AH,3AH,3AH,3BH,3BH DB3CH,3CH,3DH,3DH,3DH,3EH,3EH,3FH,3FH,40H,40H,40H,41H,41H,42H,42H,43H,43H,43H,44H,44H,44H,45H,45H,46H,46HDELAY:MOVR7,#0AH; //5ms延時子函數(shù)DELAY1:MOVR6,#0FFHDELAY2:DJNZR6,DELAY2DJNZR7,DELAY1 RETEND/*endoffile*/基于C8051F單片機直流電動機反饋控制系統(tǒng)的設計與研究基于單片機的嵌入式Web服務器的研究MOTOROLA單片機MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機溫度控制系統(tǒng)的研制基于MCS-51系列單片機的通用控制模塊的研究基于單片機實現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機控制的二級倒立擺系統(tǒng)的研究基于增強型51系列單片機的TCP/IP協(xié)議棧的實現(xiàn)基于單片機的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機系統(tǒng)的圖像采集與處理技術的研究基于單片機的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機的交流伺服電機運動控制系統(tǒng)研究與開發(fā)基于單片機的泵管內(nèi)壁硬度測試儀的研制基于單片機的自動找平控制系統(tǒng)研究基于C8051F040單片機的嵌入式系統(tǒng)開發(fā)基于單片機的液壓動力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機實現(xiàn)一種基于單片機的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機的在線間歇式濁度儀的研制基于單片機的噴油泵試驗臺控制器的研制基于單片機的軟起動器的研究和設計基于單片機控制的高速快走絲電火花線切割機床短循環(huán)走絲方式研究基于單片機的機電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機的智能手機充電器基于單片機的實時內(nèi)核設計及其應用研究基于單片機的遠程抄表系統(tǒng)的設計與研究基于單片機的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機系統(tǒng)單片機系統(tǒng)軟件構件開發(fā)的技術研究基于單片機的液體點滴速度自動檢測儀的研制基于單片機系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機的電能采集終端的設計和應用基于單片機的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機單片機控制系統(tǒng)的研制基于單片機的數(shù)字磁通門傳感器基于單片機的旋轉變壓器-數(shù)字轉換器的研究基于單片機的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機的多生理信號檢測儀基于單片機的電機運動控制系統(tǒng)設計Pico專用單片機核的可測性設計研究基于MCS-51單片機的熱量計基于雙單片機的智能遙測微型氣象站MCS-51單片機構建機器人的實踐研究基于單片機的輪軌力檢測基于單片機的GPS定位儀的研究與實現(xiàn)基于單片機的電液伺服控制系統(tǒng)用于單片機系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機的時控和計數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機和CPLD的粗光柵位移測量系統(tǒng)研究單片機控制的后備式方波UPS提升高職學生單片機應用能力的探究基于單片機控制的自動低頻減載裝置研究基于單片機控制的水下焊接電源的研究基于單片機的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機的氚表面污染測量儀的研制基于單片機的紅外測油儀的研究96系列單片機仿真器研究與設計基于單片機的單晶金剛石刀具刃磨設備的數(shù)控改造基于單片機的溫度智能控制系統(tǒng)的設計與實現(xiàn)基于MSP430單片機的電梯門機控制器的研制基于單片機的氣體測漏儀的研究基于三菱M16C/6N系列單片機的CAN/USB協(xié)議轉換器基于單片機和DSP的變壓器油色譜在線監(jiān)測技術研究基于單片機的膛壁溫度報警系統(tǒng)設計基于AVR單片機的低壓無功補償控制器的設計基于單片機船舶電力推進電機監(jiān)測系統(tǒng)基于單片機網(wǎng)絡的振動信號的采集系統(tǒng)基于單片機的大容量數(shù)據(jù)存儲技術的應用研究基于單片機的疊圖機研究與教學方法實踐基于單片機嵌入式Web服務器技術的研究及實現(xiàn)基于AT89S52單片機的通用數(shù)據(jù)采集系統(tǒng)基于單片機的多道脈沖幅度分析儀研究機器人旋轉電弧傳感角焊縫跟蹤單片機控制系統(tǒng)基于單片機的控制系統(tǒng)在PLC虛擬教學實驗中的應用研究基于單片機系統(tǒng)的網(wǎng)絡通信研究與應用基于PIC16F877單片機的莫爾斯碼自動譯碼系統(tǒng)設計與研究基于單片機的模糊控制器在工業(yè)電阻爐上的應用研究基于雙單片機沖床數(shù)控系統(tǒng)的研究與開發(fā)HYPERLINK"/d

溫馨提示

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

評論

0/150

提交評論