




已閱讀5頁,還剩24頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第一章 微控制器應用系統綜合課程設計的目的意義1.1 設計目的微控制器應用系統綜合設計是為測控專業微控制器技術課程而開設的課程設計教學環節,其目的在于培養學生綜合運用理論知識來分析和解決實際問題的能力,是通過設計以微控制器為核心的單片機檢測系統,加深學生對微控制器技術的了解,進一步掌握其程序設計與硬件接口技術。本課程的主要任務是運用所學微控制器技術、微機原理等方面的知識,設計出一臺以80c32mcu為核心的單片機數據采集、通訊或測控系統,完成信息的采集、處理、輸出及人機接口電路等部分的軟、硬件設計。本課程設計涉及微控制器技術課程的基本概念和理論,主要要求學生掌握微控制器的指令系統、中斷技術、總線擴展、模擬與數字i/o接口技術與通訊技術等,重點是培養學生掌握微控制器在自動化測控應用系統中的設計與開發方法。1.2 課程在教學計劃中的地位和作用單片機(微控制器)是20世紀70年代中期發展起來的一種面向控制的大規模集成電路模塊,具有功能強、體積小、可靠性高、價格低廉等特點,在工業控制、數據采集、智能儀表、機電一體化、家用電器等領域得到了廣泛的應用,極大地提高了這些了領域的技術水平和自動化程度。目前,各高等院校相關專業都將單片機課程列為其教學計劃的重要組成部分,紛紛開設單片機及相關課程。同時,在課程設計、畢業設計、電子設計競賽等許多實踐環節中,單片機都得到了廣泛的應用。 單片微型計算機簡稱單片機,它在一塊芯片上集成了計算機的所有基本功能部件。單片機也被稱為微控制器(microcontroler),是因為它最早被用在工業控制領域。單片機最突出的特點是面向控制,能針對性地解決各類工業控制問題,特別適用于較高速和較復雜的實時控制應用。從而使得它在現在的課程教學中顯得尤為重要。第二章 多路壓力參數實時采集與處理系統設計2.1 設計內容及要求設計一個可以采集兩路參數、參數分辨率為8位的實時數據采集與處理系統。假定兩路壓力參數對應的直流電壓在05v范圍內變化,輸出顯示為02000pa,要求對通道0每隔1s采樣一次,共采集20次;對通道1每隔2s采樣一次,共采集10次。并要求將不同通道采集的數據進行相應的處理后以電壓值的形式分別顯示在顯示器的不同區域上。本課程設計的重點是培養學生利用微控制器的硬、軟件開發技術進行微控制器系統的設計與開發能力。具體設計內容包括兩個部分。2.1.1必做實驗部分1步進電機控制2直流電機控制3擴展鍵盤顯示接口實驗4led 16x16 點陣顯示實驗5lcd液晶顯示接口實驗6雙積分式a/d芯片m c 14433的擴展接口實驗7電機控制機電一體化實驗平臺實驗8溫度、壓力測量與控制實驗平臺實驗2.1.2選做設計部分由指導老師提供多個不同的微控制器系統設計題目,學生根據愛好自由選擇,或經老師同意選擇其它題目。本次選做的課程設計題目為多路壓力參數實時采集與處理系統設計,設計要求如下:顯示器上可以設計兩個窗口,用來顯示兩個不同通道的壓力值,同時在不同窗口上顯示出相應通道號的提示信息。由此,設計中需要設計一個主程序和一至二個中斷服務程序,即時鐘中斷服務程序或轉換結束中斷服務程序。設計相應的a/d、鍵盤和壓力檢測、處理與顯示電路,可在線鍵盤參數設置、定時檢測、顯示和報警。共有兩種設計方案可選,a多路adc0809采樣,lcd 顯示,喇叭報警。b多路adc0809采樣,led 顯示,喇叭報警或燈光報警2.2 課程設計的要求本課程設計涉及微控制器技術課程的基本概念和理論,主要要求學生掌握微控制器的指令系統、中斷技術、總線擴展、模擬與數字i/o接口技術與通訊技術等,重點是培養學生掌握微控制器在自動化測控應用系統中的設計與開發方法。課程設計的基本要求如下:1掌握單片微控制器硬件結構和工作原理、中斷與定時系統、嵌入式應用、現場總線等基本概念和原理;2熟悉8/16位單片微控制器的主要功能單元和指令系統;3熟悉測控網絡中嵌入式微控制器的應用和現場總線應用技術。4利用微控制器的接口技術進行簡單的測控及自動化應用系統設計;5每人提交系統設計報告一份,現場演示驗收設計系統。第三章 硬件設計3.1 設計思想硬件系統是指構成微機系統的實體和裝置,通常由運算器、控制器、存儲器、輸入接口電路和輸入輸入設備、輸出接口電路和輸出設備等組成。單片機實質上是一個硬件的芯片,在實際應用中,通常很難直接和被控對象進行電氣連接,必須外加各種擴展接口電路、外部設備、被控對象等硬件和軟件,才能構成一個單片機應用系統。本設計選用以at89s51單片機為主控單元。顯示部分:采用7段led動態顯示。按鍵部分,采用8279擴展鍵盤。數據采集部分,采用adc0809芯片。多路壓力參數實時采集與處理的系統設計采用雙通道,將壓力參數的模擬參數采集進來,再經a/d芯片轉換成數字信號,再將信號經過處理后在led上顯示。雙通道采集數據,對通道0每隔1s采樣一次,共采集20次;對通道1每隔2s采樣一次,共采集10次。功能模塊,當exec鍵按下后,開始定時器t0與t1的初始化,等待中斷。壓力參數采集部分,設計了兩個a/d采樣子程序,分別為通道0和通道1的采樣,通過鍵盤設置報警值,并判斷當前采樣值是否超過報警值,超過則報警;未超過則采樣繼續,程序繼續往下執行,將采樣值分別在8279鍵盤上的led上顯示,前三個數碼管顯示0通道以及該通道的采樣值,采樣值經a/d轉換后以16進制的電壓值顯示,之后三個數碼管則顯示1通道的采樣值,同樣也是a/d轉換后的16進制電壓值形式顯示,最后兩個數碼管則顯示當前的報警值。89c51通道0通道1a/d 轉 換鍵 盤 控 制燈光報警led顯示圖3.1 系統硬件結構框圖3.2 硬件電路設計系統原理圖及其說明圖3.2多路壓力參數實時采集與處理系統硬件原理圖3.21 cup主控單元電路at89c51片內配置有4kb flash閃速程序存儲器,可經受1000次以上的寫入/擦出周期,并有程序存儲器加密邏輯,給單片機產品的開發和生產帶來了極大地方便89c51單片機有兩種封裝形式,40引腳雙列直插(pdip)封裝形式和44引腳的方形(plcc)封裝方式。89c51采用地址總線(ab)、數據總線(db)、和控制總線(cb)三種總線結構。并集成了cpu、ram、rom、定時器/計數器和多種功能的i/o口等基本功能部件。圖3.3 cpu主控單元硬件原理圖3.2.2 8279擴展鍵盤電路圖3.4 8279擴展鍵盤硬件接線圖如圖3.4所示為8279鍵盤顯示接口的硬件連線圖,利用8279可以實現對鍵盤/顯示器的自動掃描,以減輕對cpu負擔,具有顯示穩定,程序簡單,不會出現誤動作等特點。在外接鍵盤的鍵盤功能板上,按下相應的數字鍵或是功能鍵,數碼管上顯示相應數據。具體接線方式如下:1.將key區d0-d7用8芯排線連到bus2區xd0-xd7上。2.將key區wr、rd、ale分別連到bus3區的xwr、xrd、ale上。3.key區a0連到bus1區得xa0上。4.key區rst連到at89c51的rst上。5.key區cs連到bus3的y3上。3.2.3 adc0809數據采集與處理電路該部分電路主要完成雙通道數據的采集和轉換功能,clock端外接分頻輸出t4,參考電壓為5v,74ls02的2、6接y1,3接xwr,5接xrd,數據采集通道0輸入接in0端口,數據采集通道1輸入接in1端口。圖3.5 a/d0809數據采集原理圖3.3 所用到的芯片及其各自功能說明3.3.1 芯片列表 1.at89c51芯片2.adc0809芯片3.8279芯片4.74ls138芯片5.74ls393芯片6.74ls02芯片3.3.2 at89c51的功能簡介 at89c51是一種帶4k字節flash存儲器(fperomflash programmable and erasable read only memory)的低電壓、高性能cmos 8位微處理器,俗稱單片機。at89c2051是一種帶2k字節閃存可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除1000次。該器件采用atmel高密度非易失存儲器制造技術制造,與工業標準的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲器組合在單個芯片中,atmel的at89c51是一種高效微控制器,at89c2051是它的一種精簡版本。at89c單片機為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。外形及引腳排列如圖3.6所示。 圖3.6 at89c51芯片管腳圖1.主要特性與mcs-51 兼容4k字節可編程flash存儲器壽命:1000寫/擦循環數據保留時間:10年全靜態工作:0hz-24mhz三級程序存儲器鎖定1288位內部ram32可編程i/o線兩個16位定時器/計數器5個中斷源可編程串行通道低功耗的閑置和掉電模式片內振蕩器和時鐘電路2.管腳說明vcc:供電電壓。gnd:接地。p0口:p0口為一個8位漏級開路雙向i/o口,每腳可吸收8ttl門電流。當p0口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在fiash編程時,p0 口作為原碼輸入口,當fiash進行校驗時,p0輸出原碼,此時p0外部必須被拉高。p1口:p1口是一個內部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內部上拉為高,可用作輸入,p1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在flash編程和校驗時,p1口作為第八位地址接收。p2口:p2口為一個內部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個ttl門電流,當p2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。p2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,p2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,p2口輸出其特殊功能寄存器的內容。p2口在flash編程和校驗時接收高八位地址信號和控制信號。p3口:p3口管腳是8個帶內部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當p3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。p3口也可作為at89c51的一些特殊功能口,如下表所示:口管腳 備選功能p3.0 rxd(串行輸入口)p3.1 txd(串行輸出口)p3.2 /int0(外部中斷0)p3.3 /int1(外部中斷1)p3.4 t0(記時器0外部輸入)p3.5 t1(記時器1外部輸入)p3.6 /wr(外部數據存儲器寫選通)p3.7 /rd(外部數據存儲器讀選通)p3口同時為閃爍編程和編程校驗接收一些控制信號。rst:復位輸入。當振蕩器復位器件時,要保持rst腳兩個機器周期的高電平時間。ale/prog:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時, ale只有在執行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ale禁止,置位無效。/psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/psen有效。但在訪問外部數據存儲器時,這兩次有效的/psen信號將不出現。/ea/vpp:當/ea保持低電平時,則在此期間外部程序存儲器(0000h-ffffh),不管是否有內部程序存儲器。注意加密方式1時,/ea將內部鎖定為reset;當/ea端保持高電平時,此間內部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。xtal1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。xtal2:來自反向振蕩器的輸出。3.3.3 adc0809的功能簡介adc0809是采用逐次逼近法的8位a/d轉換芯片,28引腳雙列直插式封裝,片內除a/d轉換部分外還有8路模擬開關部件。最多允許8路模擬量分時輸入,共用一個a/d轉換器。 圖3.7 adc0809內部邏輯結構與引腳圖1主要特性1)8路輸入通道,8位a/d轉換器,即分辨率為8位。2)具有轉換起停控制端。3)轉換時間為100s(時鐘為640khz時),130s(時鐘為500khz時)4)單個+5v電源供電5)模擬輸入電壓范圍0+5v,不需零點和滿刻度校準。6)工作溫度范圍為-40+85攝氏度7)低功耗,約15mw。2.引腳功能 adc0809芯片有28條引腳,采用雙列直插式封裝,下面說明各引腳功能。in0in7:8路模擬量輸入端。2-12-8:8位數字量輸出端。adda、addb、addc:3位地址輸入線,用于選通8路模擬輸入中的一路ale:地址鎖存允許信號,輸入,高電平有效。start: a/d轉換啟動脈沖輸入端,輸入一個正脈沖(至少100ns寬)使其啟動(脈沖上升沿使0809復位,下降沿啟動a/d轉換)。eoc: a/d轉換結束信號,輸出,當a/d轉換結束時,此端輸出一個高電平(轉換期間一直為低電平)。oe:數據輸出允許信號,輸入,高電平有效。當a/d轉換結束時,此端輸入一個高電平,才能打開輸出三態門,輸出數字量。clk:時鐘脈沖輸入端。要求時鐘頻率不高于640khz。ref(+)、ref(-):基準電壓。vcc:電源,單一+5v。gnd:地。3.adc0809的工作過程首先輸入3位地址,并使ale=1,將地址存入地址鎖存器中。此地址經譯碼選通8路模擬輸入之一到比較器。start上升沿將逐次逼近寄存器復位。下降沿啟動 a/d轉換,之后eoc輸出信號變低,指示轉換正在進行。直到a/d轉換完成,eoc變為高電平,指示a/d轉換結束,結果數據已存入鎖存器,這個信號可用作中斷申請。當oe輸入高電平 時,輸出三態門打開,轉換結果的數字量輸出到數據總線上。轉換數據的傳送 a/d轉換后得到的數據應及時傳送給單片機進行處理。數據傳送的關鍵問題是如何確認a/d轉換的完成,因為只有確認完成后,才能進行傳送。為此可采用下述三種方式。(1)定時傳送方式對于一種a/d轉換其來說,轉換時間作為一項技術指標是已知的和固定的。例如adc0809轉換時間為128s,相當于6mhz的mcs-51單片機共64個機器周期。可據此設計一個延時子程序,a/d轉換啟動后即調用此子程序,延遲時間一到,轉換肯定已經完成了,接著就可進行數據傳送。(2)查詢方式a/d轉換芯片由表明轉換完成的狀態信號,例如adc0809的eoc端。因此可以用查詢方式,測試eoc的狀態,即可確認轉換是否完成,并接著進行數據傳送。(3)中斷方式把表明轉換完成的狀態信號(eoc)作為中斷請求信號,以中斷方式進行數據傳送。不管使用上述哪種方式,只要一旦確定轉換完成,即可通過指令進行數據傳送。首先送出口地址并以信號有效時,oe信號即有效,把轉換數據送上數據總線,供單片機接受。3.3.4 8279的功能簡介8279是可編程的鍵盤、顯示接口芯片。它既具有按鍵處理功能,又具有自動顯示功能,在單片機系統中應用很廣泛。8279內部有鍵盤fifo/傳感器,雙重功能的8x8=64b ram,鍵盤控制部分可控制8x8=64個按鍵或8x8陣列方式的傳感器。該芯片能自動消抖并具有雙鍵鎖定保護功能。顯示ram容量為16x8,即顯示器最大配置可達16位led數碼顯示。圖3.8 8279芯片引腳1.管腳、引線與功能8279采用40引腳封裝,其管腳、引線功能如圖3.8所示。其引腳功能如下:d0d7(數據總線):雙向、三態總線,和系統數據總線相連;用于cpu和8279間的數據/命令傳遞。 clk(系統時鐘):輸入線,為8279提供內部時鐘的輸入端。reset(復位):輸入線,當reset=1時,8279復位,其復位狀態為:16個字符顯示;編碼掃描鍵盤-雙鍵鎖定;程序時鐘編碼為31。cs(片選):輸入線,當cs=0時8279被選中,允許cpu對其讀、寫,否則被禁止。a0(數據選擇):輸入線。當a0=1時cpu寫入數據為命令字,讀出數據為狀態字;a0=0時cpu讀、寫的字節均為數據。 rd、wr(讀、寫信號):輸入線。低電平有效,來自cpu的控制信號,控制8279的讀、寫操作。 irq(中斷請求):輸出線。高電平有效。 在鍵盤工作方式中,當fifo/傳感器ram存有數據時,irq為高電平。cpu每次從ram中讀出數據時,irq變為低電平。若ram中仍有數據,則irq再次恢復高電平。 在傳感器工作方式中,每當檢測到傳感器狀態變化時,irq就出現高電平。 sl0sl3(掃描線):輸出線。用來掃描鍵盤和顯示器。它們可以編程設定為編碼(4中取1)或譯碼輸出(16取1)。rl0rl7(回復線):輸入線。它們是鍵盤矩陣或傳感矩陣的列(或行)信號輸入線。 shift(移位信號):輸入線、高電平有效。該輸入信號是鍵盤數據的最高位(d7),通常用來擴充鍵開關的功能,作為控制功能鍵用。 在選通輸入方式時,該信號的上升沿可將來自rl0rl7的數據存入fifo ram中。在傳感器輸入下,該信號無效。 outa0outa3(a組顯示信號):輸出線。 outb0outb3(b組顯示信號):輸出線。 這兩組引線都是顯示數據輸出線,與多位數字顯示的掃描線sl0sl3同步,兩組可以獨立使用,也可以合并使用。 bd(顯示消隱):輸出線。低電平有效。該信號在數字切換顯示或使用消隱命令時,將顯示消隱。3.3.5 74ls138的功能簡介74ls138為3 線8 線譯碼器,共有 54/74s138和 54/74ls138兩種線路結構型式,其工作原理如下:當一個選通端(g1)為高電平,另兩個選通端(/(g2a)和/(g2b))為低電平時,可將地址端(a、b、c)的二進制編碼在一個對應的輸出端以低電平譯出。利用 g1、/(g2a)和/(g2b)可級聯擴展成 24 線譯碼器;若外接一個反相器還可級聯擴展成 32 線譯碼器。若將選通端中的一個作為數據輸入端時,74ls138還可作數據分配器,用與非門組成的3線-8線譯碼器74ls138。管腳如圖3.9所示。圖3.9 74ls138芯片引腳3.3.6 74ls393的功能簡介1.特點:獨立時鐘的雙 4 位二進制計數器每個計數器都有直接清除有效提高系統密度緩沖輸出減小集電極轉換的可能性 2.說明:這種雙單片電路有八個主從觸發器和附加門,以構成兩個獨立的4 位二進制計數器,可以構成n 位二進制計數器。每個計數器又有一個清除輸入和一個時鐘輸入。由于每個計數級都有并行輸出,所以系統定時信號可以獲得輸入計數頻率的任何因子。 圖3.10 74ls194管腳圖第四章 軟件設計4.1 匯編語言設計特點單片機能執行的程序,可以用多種語言來編寫,單從語言結構及其與單片機的關系來看,可分為三大類型:機器語言,匯編語言和高級語言。在單片機的應用系統程序設計時,常用的是匯編語言和c語言,本系統采用匯編語言來編寫程序,匯編語言具有直觀、易懂、易用且易于記憶等優點。用匯編語言編寫的程序占用內存少,執行速度快,尤其適用于實時應用場合的程序設計。因此,在單片機應用系統中主要應用匯編語言來編寫程序。yynyexec鍵按下?n開 始系統初始化定時器標志位初始化開定時器中斷等待中斷返回dos定時中斷服務程序保護現場1/20秒計數器加11/20秒計數器=20?2秒計數器加1調0通道采樣子程序2秒計數器=2?調1通道采樣子程序秒計數器清0中斷返回n4.2 總體設計流程圖圖4.1多路壓力參數采集系統主程序流程圖 圖4.2 定時中斷服務程序流程圖4.3 流程圖及其說明鍵盤管理子程序模塊,在程序運行過程中,可通過鍵盤在線設置報警值,并將其顯示在led數碼管上。在采樣程序運行過程中可以通過last鍵來設置報警值,程序運行時按下last鍵可以進入報警值的設置,當輸入兩位16進制的報警值后系統自動保存新的報警值,使得程序下次運行到報警子程序時將采樣值與設置的報警值比較來判斷是否報警。圖4.3 鍵盤管理子程序流程圖ny開 始調通道0采集子程序調用數碼管顯示調報警子程序last鍵是否按下鍵入自設報警值調數碼管顯示調報警子程序返回雙通道采樣子程序,兩個通道分別采用不同的采樣方式,并在不同區域顯示采樣值,采樣將模擬量轉換成數字量并顯示。進入中斷服務程序時,判斷秒計數器是否達到20和秒計數器是否等于2來決定是否調用采樣子程序。雙通道的采樣子程序流程圖分別如圖4.4和圖4.5所示。 報警子程序部分采用led燈光報警,當采樣值與報警值是比較后高于報警值時便會產生報警,led燈閃爍報警,當采樣值低于報警值時led燈熄滅,不報警。報警子程序流程圖如圖4.6所示。開 始送0通道地址調報警子程序調數據采集子程序調用數碼管顯示1返回開 始送1通道地址調報警子程序調數據采集子程序調用數碼管顯示2返回圖4.4 通道0 數據采集子程序圖4.5 通道1 數據采集子程序ny開 始當前采樣值與預設值比較led燈閃爍報警恢復寄存器中采樣值調延時子程序當前值設置值?開 始圖4.6 報警子程序流程圖第五章 系統調試及使用說明5.1系統調試調試過程中主要遇到的是軟件方面的問題,硬件方面的問題較少,僅有一次我所用的設備有個led燈顯示出了問題,換了一個新的后便可以了。軟件方面,剛開始著手設計該系統時,在led的顯示程序花了點時間,首先通過a/d0809將采集的數據存儲在寄存器中,接著便是要把采集到的數據顯示在8279擴展鍵盤上指定的led數碼管上,8279擴展鍵盤共有8個數碼管,一開始采集的數據總是不能實時的顯示在數碼管上,最后分析改正程序,調試了5、6次終于能在指定的數碼管上實時的顯示采集進來的數據。單通道的采樣顯示設計成功了,雙通道也就很容易的出來了。接下來設計鍵盤功能設置模塊是設計整個系統過程中花的時間最長的。首先,在采樣過程中可以隨時進行鍵盤的設置,主要設置報警值,并且設置報警之后,以新的報警值為標準,系統自動判斷是否超過報警值從而決定是否報警。為了滿足要求我一一調試程序,一步一步滿足,記得當時我的程序能夠設置報警值并在相應led數碼管上顯示,但是系統不能以新設置的報警值報警,于是再改程序,改正后調試發現設置功能不起作用,系統在采樣過程中不響應鍵盤設置子程序,如此反復改了好多次,最后一個禮拜的設計終于是調試成功,最后要做的就是將報警子程序加進去就行了,這部分是比較簡單的,調試了一兩次就成功了。最后運行程序時,沒有錯誤,各部分功能都能很好的實現。5.2使用說明按照系統硬件原理圖3.2接線,接通電源,此時8279擴展鍵盤上8個數碼管從左至右分別顯示:000100,第7和第8個數碼管初始不顯示。左邊3個數碼管為0通道顯示,第1個0表示通道0,第2和第3個0表示0通道的初始值為零,第4個數碼管到第6個數碼管為1通道顯示,1表示1通道,00為初始值。按下8279擴展鍵盤上的exec功能鍵,系統便開始運行,此時可以看到第2和第3個數碼管上顯示0通道的采樣值,第5和第6個數碼管上顯示1通道的采樣值。運行時可以隨時按下last功能鍵來設置新報警值,設置過程中會在第7和第8個數碼管上顯示當前設置的新報警值。若采樣值超過報警值led燈會開始閃爍報警。當采樣值低于報警值時led燈停止閃爍,報警解除。第六章 收獲、體會通過單片機課程設計,我不僅加深了對單片機理論的理解,將理論很好地應用到實際當中去,而且我還學會了如何去培養我們的創新精神,從而不斷地戰勝自己,超越自己。創新,是要我們學會將理論很好地聯系實際,并不斷地去開動自己的大腦的。這次單片機課程設計不僅鞏固了以前所學過的知識,而且學到了很多在書本上沒有學到過的知識,掌握了一種系統的研究方法,可以進行一些簡單的編程。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,從而提高自己的實際動手能力和獨立思考的能力。同時在設計的過程中發現了自己的不足之處,因此可以針對性地學習和鞏固自己的不懂和已學的知識。 經過半個多月的努力,順利的完成了單片機課設。這是一個磨練意志的過程。從課題的選擇開始,流程框圖的設計、硬件和軟件系統的設計、到最后的proteus軟件仿真完成,這其中經歷了很多困難,但是更重要的是在這個過程中我得到了很大的鍛煉。一方面通過c51單片機等一些器件的設計讓我學習和掌握了單片機技術的基礎知識和技術要點,也使以前學的很多知識都得到了運用;另一方面在用proteus軟件畫電路圖時,然后再轉換成一維的word中進行編輯,這個過程中讓我掌握了計算機輔助的設計技術。當然,這是一個需要不斷的嘗試,不斷的校核,不斷的修改,最后完成一個合理的設計的過程。需要的是細心和耐心。在很大程度上培養了我拼搏的工作精神。使我受益匪淺,更加明確了自己專業的方向。通過本次課設,我學到了更多的關于單片機技術方面的許多專業知識,其實如何有效和快速的找到資料也是本次課程設計給我的啟發,利用好圖書館和網絡,是資源的到最好的利用。與他人交流思想是取得成功的關鍵,在交流中,不僅強化了自己原有的知識體系,也擴展了自己的思維。課程設計過程中遇到不懂的難題可以向老師或者是同學請教,這樣不僅可以讓自己學到更多,同時討論過程中使得和你討論的同學雙方都能有對單片機更深的認識。這是一個通過思考、發問、自己解惑并動手、提高的過程。我會在以后的學習中不斷學習,積累經驗,完善自己。這里我要感謝我的課程設計指導老師,吳老師!沒有吳老師的細致講解和耐心的檢查,也就沒有我的多路參數采集系統的設計成功,非常感謝!附錄 源程序及說明 org 0000h ajmp main org 000bh ajmp t0int org 001bh ajmp t1int org 0030hmain: mov sp,#53h mov 30h,#86h mov 31h,#40h lcall key82 ;調鍵盤管理子程序 mov r5,#20h mov ie,#8ah mov ip,#0ah mov tmod,#51h ;設置定時器工作方式 mov r5,#20h mov tl0,#58h ;定時50ms mov th0,#9eh mov tl1,#0b0h ;定時100ms mov th1,#3ch mov r2,#2 setb tr0 ;開t0中斷 setb tr1 ;開t1中斷main1: acall ad0 acall ad1 sjmp main1;*定時器中斷服務子程序*t0int: mov tl0,#58h mov th0,#9eh djnz r5,back1 mov r5,#20h back1: retit1int: mov tl1,#0b0h mov th1,#3ch djnz r2,back2 mov r2,#2 back2: reti;*exec鍵控制采樣是否開始*key82 : mov dptr,#0b001h ;初始化顯示mov a,#00hmovx dptr,amov a,#32hmovx dptr,amov a,#0dfhmovx dptr,acsh:movx a,dptrjb acc.7,cshmov dptr,#0b000h ;第一個數碼管顯示0 ,表示通道 0mov a,#0chmovx dptr,ainc dptrmov a,#80hmovx dptr,amov dptr,#0b001h ;第3個數碼管顯示1 ,表示通道1mov a,#83hmovx dptr,amov a,#9fh mov dptr,#0b000hmovx dptr,ainc dptrmov a,#83hmovx dptr,amov dptr,#0b001h ;初始顯示0mov a,#81hmovx dptr,amov a,#0chmov dptr,#0b000hmovx dptr,ainc dptrmov a,#81hmovx dptr,amov dptr,#0b001h ;初始顯示0mov a,#82hmovx dptr,amov a,#0chmov dptr,#0b000hmovx dptr,ainc dptrmov a,#82hmovx dptr,amov dptr,#0b001h ;初始顯示0mov a,#84hmovx dptr,amov a,#0chmov dptr,#0b000hinc dptrmov a,#84hmovx dptr,amov dptr,#0b001h ;初始顯示0mov a,#85hmovx dptr,amov a,#0chmov dptr,#0b000hmovx dptr,ainc dptrmov a,#85hmovx dptr,ae_keysm:mov dptr,#0b001h ;判斷exec執行鍵是否按下 movx a,dptr anl a,#07h cjne a,#00h,e_k ajmp e_keysme_k: mov b,#0e1h mov dptr,#0b000h movx a,dptr cjne a,b,e_keysm ret;*雙通道采樣*ad0: mov a,#01h ;0通道采樣顯示 mov dptr,#9000h movx dptr,a movx a,dptr mov r0,a lcall f1 ;調鍵盤設置子程序 mov a,r0 swap a anl a,#0fh mov dptr,#tab movc a,a+dptr mov r1,a mov dptr,#0b001h mov a,#81h movx dptr,a mov a,r1 mov dptr,#0b000h movx dptr,a inc dptr mov a,#81h movx dptr,a mov a,r0 anl a,#0fh mov dptr,#tab movc a,a+dptr mov r1,a mov dptr,#0b001h mov a,#82h movx dptr,a mov a,r1 mov dptr,#0b000h movx dptr,a inc dptr mov a,#82h movx dptr,a mov a,r0 mov r1,30h cjne r1,#88h,al lcall alarm1 ;設置報警值后檢測報警 sjmp toal: lcall alarm ;未設置報警值檢測報警to: lcall delay lcall delay retad1: mov a,#02h ;1通道采樣顯示 mov dptr,#9000h movx dptr,a movx a,dptr mov r0,a mov a,r0 swap a anl a,#0fh mov dptr,#tab movc a,a+dptr mov r1,a mov dptr,#0b001h mov a,#84h movx dptr,a mov a,r1 mov dptr,#0b000h movx dptr,a inc dptr mov a,#84h movx dptr,a mov a,r0 anl a,#0fh mov dptr,#tab movc a,a+dptr mov r1,a mov dptr,#0b001h mov a,#85h movx dptr,a mov a,r1 mov dptr,#0b000h movx dptr,a inc dptr mov a,#85h movx dptr,a mov a,r0al1: lcall alarm ;未設置報警值檢測報警
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 股權轉讓合同男方提出解除合作
- 中小企業合同保障宣言2025
- 山東省單縣2025屆數學五年級第二學期期末復習檢測試題含答案
- 內蒙古自治區鄂爾多斯市達標名校2025屆初三下期第一次月考試題含解析
- 井陘礦區2025年數學五下期末質量跟蹤監視模擬試題含答案
- 智慧農業技術農業領域的新篇章與新機遇
- 農村集體土地承包合同示例
- 統編版二年級語文下冊名校真題卷(含答案)
- 無子女雙方協商離婚協議書
- 2025預制管樁購買合同書
- 給排水工程可研報告
- 教學改革項目立項評審指標體系參考
- 蘇教版小學數學二年級下冊《角的初步認識》教案(市級公開課詳案)
- 軋機安裝施工方案
- 引氣減水劑檢測結果
- (完整)農村污水處理工程施工組織設計
- 納稅評估教程ppt全套教學課件
- GB∕T 13477.2-2018 建筑密封材料試驗方法 第2部分:密度的測定
- 蘇園六紀簡介及解說詞
- 陜西房改工作文件匯編
- (含圖紙)啤酒廢水處理工程(UASB-CASS工藝)畢業設計_優秀完整版
評論
0/150
提交評論