2017畢業(yè)設(shè)計(論文)-基于AT89S51單片機的超聲波測距系統(tǒng)設(shè)計_第1頁
2017畢業(yè)設(shè)計(論文)-基于AT89S51單片機的超聲波測距系統(tǒng)設(shè)計_第2頁
2017畢業(yè)設(shè)計(論文)-基于AT89S51單片機的超聲波測距系統(tǒng)設(shè)計_第3頁
2017畢業(yè)設(shè)計(論文)-基于AT89S51單片機的超聲波測距系統(tǒng)設(shè)計_第4頁
2017畢業(yè)設(shè)計(論文)-基于AT89S51單片機的超聲波測距系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、.摘 要近年來隨著科技的飛速發(fā)展,單片機的應(yīng)用正在不斷地走向深入,同時帶動傳統(tǒng)控制檢測,日新月益更新。在實時檢測和自動控制的單片機應(yīng)用系統(tǒng)中,單片機往往是作為一個核心部件來使用,單片機是把主要計算機功能部件都集成在一塊芯片上的微型計算機。它是一種集計數(shù)和多中接口于一體的微控制器,被廣泛應(yīng)用在智能產(chǎn)品和工業(yè)自動化上,而51單片機是個單片機中最為典型和最有代表性的一種。 本設(shè)計主要應(yīng)用AT89S51作為控制核心,顯示器,驅(qū)動電路等相結(jié)合的系統(tǒng)。充分發(fā)揮了單片機的性能。其優(yōu)點硬件電路簡單,軟件功能完善,控制系統(tǒng)可靠,具有一定的使用和參考價值。關(guān)鍵詞:單片機;AT89S51;AbstractIn re

2、cent years with the rapid development of technology, SCM applications are continually deepening, led the traditional control of the Crescent benefit update. In real-time detection and control of the MCU application systems, SCM is often as a core component to use, SCM is the main function of the com

3、puter components are integrated in a chip micro-computer. It is a set of interfaces and multiple counts integrates microcontrollers, are widely used in industrial automation products and smart, and 51 is a microcontroller, the most typical and the most representative one. The main application AT89S5

4、1 design as the core control, monitor, drive circuit and system integration. Give full play to the MCU performance. The advantage of simple circuit hardware, software, functional and reliable control system, the use and have some reference value.Keywords: SCM;AT89S51目 錄引   言 41 課題目標(biāo)任務(wù)

5、52 AT89S51芯片超聲波簡介62.1 AT89S51芯片引腳結(jié)構(gòu) 62.2 超聲波簡介 73 硬件設(shè)計 83.1 硬件電路 83.2 復(fù)位電路 83.3 顯示電路 93.4 驅(qū)動電路 93.5硬件電路設(shè)計 94軟件設(shè)計 104.1延時程序 104.2 74LS04反相器 104.3 中斷系統(tǒng) 11 4.4 程序流程圖135 系統(tǒng)調(diào)試 155.1輸出擴展電路設(shè)計 155.2硬件調(diào)試165.3軟件調(diào)試16設(shè)計的體會 17致    謝18參考文獻(xiàn) 19附圖(1)超聲波原理圖附圖(2)超聲波單面PCB板圖附錄附錄(3)AT89S51芯片主程序引 言隨著大規(guī)

6、模集成電路技術(shù)的發(fā)展,可以將CPU、RAM、ROM、定時器/計數(shù)器及輸入/輸出(I/O)接口電路等主要計算機部件,集成在一塊電路芯片上。這樣所組成的芯片級的微型計算機稱為單片微型計算機,簡稱為單片機。雖然單片機只是一個芯片,但從組成和功能上,它已具有了微機系統(tǒng)的含義。 由于單片機從功能和形態(tài)來說都是應(yīng)控制領(lǐng)域應(yīng)用的要求而誕生的,并且發(fā)展到新一代80s51、M68HC11、AT89S51、AT89S52,其中著力擴展了各種控制功能,更準(zhǔn)確的反映單片機本質(zhì)的叫法。 AT89S51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFalsh Programmable and Erasable

7、Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。 89S51相對于89C51增加的新功能包括:新增加很多功能, 性能有了較大提升; ISP在線編程功能,這個功能的優(yōu)勢在于改寫單片機存儲器內(nèi)的程序不需要把芯片從工作環(huán)境中剝離。是一個強大易用的功能;工作頻率為33MHz,大家都知道89S51的極限工作頻率只有24M,

8、就是說S51具有更高工作頻率,從而具有了更快的計算速度;具有雙工UART串行通道; 雙數(shù)據(jù)指示器;電源關(guān)閉標(biāo)識;全新的加密算法,這使得對于89S51的解密變?yōu)椴豢赡?,程序的保密性大大加強,這樣就可以有效的保護知識產(chǎn)權(quán)不被侵犯;兼容性方面:向下完全兼容51全部字系列產(chǎn)品。比如8051、89S51等等早期MCS-51兼容產(chǎn)品。在89S51上一樣可以照常運行,這就是所謂的向下兼容。 1 課題目標(biāo)任務(wù) (1)論文的主要內(nèi)容11、本課題的總體介紹對水塔智能水位控制系統(tǒng)進(jìn)行方案設(shè)計,相應(yīng)的硬件電路和系統(tǒng)軟件設(shè)計,并做出控制系統(tǒng)。12、工作內(nèi)容1)完成水塔智能水位控制系統(tǒng)總體方案設(shè)計、電路設(shè)計。2)連接完整

9、的硬件電路并能調(diào)試出正確的結(jié)果。13、課題的具體任務(wù)1)水塔智能水位控制系統(tǒng)基于單片機控制,系統(tǒng)設(shè)計電路由輸入脈沖電路、單片機、晶振和復(fù)位電路和控制電路等部分組成2)設(shè)計水塔水位的測試及顯示系統(tǒng),還有水位的控制系統(tǒng).(2)論文的要求與數(shù)據(jù)1)、完成該課題必須重點研究單片機控制、脈沖電路、晶振和復(fù)位電路和鍵盤的使用等關(guān)鍵問題和理論;2)、研究方案的設(shè)計、研究方法和手段要合理,符合理論與實踐的要求; 3)、水塔智能水位的控制系統(tǒng)首先要能正確檢測水位并能正確顯示,并有及時調(diào)整水位的功能.(3) 設(shè)計目的1)、進(jìn)一步熟悉和掌握單片機的工作原理和結(jié)構(gòu)功能,熟悉其基本的振蕩和復(fù)位電路原理。2)、熟悉單片機

10、I/O口的基本輸入輸出功能以及I/O口的擴展使用。3)、掌握單片機內(nèi)部功能模塊的應(yīng)用:如定時器、計數(shù)器、中斷系統(tǒng)等。4)、掌握按鍵與單片機連接的使用以及數(shù)碼管接口電路設(shè)計。5)、熟悉PCB板的布線、腐蝕和元器件的焊接的流程和方法,進(jìn)一步掌握電路板的檢測順序和方法2 AT89S51芯片超聲波簡介AT89S51控制超聲波信號的發(fā)送和接收,串行數(shù)據(jù)發(fā)送 ,及溫度校正 采樣頻率的輸入,并通過運算轉(zhuǎn)換成溫度數(shù)據(jù),校正不同溫度下,距離誤差后,在LED上顯示所測距的離厘米數(shù)據(jù)并和已輸入的預(yù)置數(shù)進(jìn)行比較, 如達(dá)到預(yù)置值則進(jìn)行開或關(guān)的開關(guān)量信號輸出.LED顯示為動態(tài)循環(huán)顯示,共陽極接法. DS18B20 在本電

11、路中取得外界溫度值, 以利于AT89S51的運算并校正不同溫度下測距的回波數(shù)值以及在LED上顯示實時環(huán)境的溫度值.接收電路接收物體反射超聲波回波信號,該芯片內(nèi)部包括了前置放大,限幅放大,整形,輸出數(shù)據(jù)信號以便MCU檢測, 判斷回波的數(shù)據(jù)正確與否及時差, 并計算出測距的距離數(shù)值.該板接收可預(yù)置超聲波控制器,發(fā)送的1200BIT串行數(shù)據(jù)信號,直接用導(dǎo)線和超聲波控制器 串口連接時,可傳送幾十米,如通過485串口發(fā)送可傳送2千米以上。 2.1 AT89S51芯片的引腳結(jié)構(gòu) 本次設(shè)計采用了常見的AT89S51單片機為核心處理器。AT89S51是一個低功耗,高性能CMOS 8位單片機,器件采用ATMEL公

12、司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80S51引腳結(jié)構(gòu), AT89S51具有40個引腳,4k Bytes Flash片內(nèi)程序存儲器,128 Bytes的隨機存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。AT89S51單片機共有40個引腳,其引腳圖如下: 圖12.2 超聲波簡介由于超聲波所具有的能量很大,就有可能使物質(zhì)分子產(chǎn)生顯著的聲壓作用、例如當(dāng)水中通過一般強度的超聲波時超聲波流量計的基本原理及類型超聲波在流動的流體中傳播時就載上

13、流體流速的信息。因此通過接收到的超聲波就可以檢測出流體的流速,從而換算成流量。根據(jù)檢測的方式,可分為傳播速度差法、多普勒法、波束偏移法、噪聲法及相關(guān)法等不同類型的超聲波流量計。起聲波流量計是近十幾年來隨著集成電路技術(shù)迅速發(fā)展才開始應(yīng)用的一種 非接觸式儀表,適于測量不易接觸和觀察的流體以及大管徑流量。它與水位計聯(lián)動可進(jìn)行敞開水流的流量測量。使用超聲波流量比不用在流體中安裝測量元件故不會改變流體的流動狀態(tài),不產(chǎn)生附加阻力,儀表的安裝及檢修均可不影響生產(chǎn)管線運行因而是一種理想的節(jié)能型流量計。 眾所周知,目前的工業(yè)流量測量普遍存在著大管徑、大流量測量困難的問題,這是因為一般流量計隨著測量管徑的增大會帶

14、來制造和運輸上的困難,造價提高、能損加大、安裝不僅這些缺點,超聲波流量計均可避免。因為各類超聲波流量計均可管外安裝、非接觸測流,儀表造價基本上與被測管道口徑大小無關(guān),而其它類型的流量計隨著口徑增加,造價大幅度增加,故口徑越大超聲波流量計比相同功能,其它類型流量計的功能價格比越優(yōu)越。被認(rèn)為是較好的大管流量測量儀表,多普勒法超聲波流量計可測雙相介質(zhì)的流量,故可用于下水道及排污水等臟污流的測量。在發(fā)電廠中,用便攜式超聲波流量計測量水輪機進(jìn)水量、汽輪機循環(huán)水量等大管徑流量,比過去的皮脫管流速計方便得多。超聲被流量汁也可用于氣體測量。管徑的適用范圍從2cm到5m,從幾米寬的明渠、暗渠到500m寬的河流都

15、可適用。 另外,超聲測量儀表的流量測量準(zhǔn)確度幾乎不受被測流體溫度、壓力、粘度、密度等參數(shù)的影響,又可制成非接觸及便攜式測量儀表,故可解決其它類型儀表所難以測量的強腐蝕性、非導(dǎo)電性、放射性及易燃易爆介質(zhì)的流量測量問題。超聲波具有較好的指向性頻率越高,指向性越強。這在諸如探傷和水下聲通訊等應(yīng)用場合是主要的考慮因素。頻率高時,相應(yīng)地波長將變短,因而波長可與傳播超聲波的試樣材料的尺寸相比擬,甚至波長可遠(yuǎn)小于試樣材料的尺寸這在厚度尺寸很小的測量應(yīng)用中以及在高分辨率的探傷應(yīng)用中是非常重要的。超聲波用起來很安靜,人們聽不到它。這一點在高強度工作場合尤為重要。這些高強度的工作用可聞頻率的聲波來完成時往往更有效

16、,然而遺憾的是,可聞聲波工作時所產(chǎn)生的噪聲令人難以忍受,有時甚至是對人體有害的。3 硬件設(shè)計3.1 硬件電路該設(shè)計的硬件電路由主控部分(單片機AT89S51)、計時部分(實時時鐘芯片DS1302)、顯示部分(八段數(shù)碼管)、電源部分(三端穩(wěn)壓器7805)4個部分組成。各部分之間相互協(xié)作,構(gòu)成一個統(tǒng)一的有機整體,實現(xiàn)功能。各部分的硬件電路設(shè)計如下。3.2復(fù)位電路(1)單片機AT89S51作為主控芯片,控制整個電路的運行。單片機外圍需要一個復(fù)位電路,復(fù)位電路的功能是:系統(tǒng)上電時提供復(fù)位信號,直至系統(tǒng)電源穩(wěn)定后,撤消復(fù)位信號。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時才撤銷復(fù)位信號,以防電源開關(guān)或電源插頭

17、分-合過程中引起的抖動而影響復(fù)位。該設(shè)計采用含有電阻的復(fù)位電路,復(fù)位電路可以有效的解決電源毛刺和電源緩慢下降(電池電壓不足)等引起的問題,在電源電壓瞬間下降時可以使電容迅速放電,一定寬度的電源毛刺也可令系統(tǒng)可靠復(fù)位。復(fù)位電路的設(shè)計圖如圖2示: 復(fù)位電路圖2 (2)復(fù)位是單片機的初始化操作,使CPU及各專用存儲器處于一個確定的初始狀態(tài),其中把PC的內(nèi)容初始化為0000H,使單片機從0000H單元開始執(zhí)行程序,除了系統(tǒng)的正常開機(上電)復(fù)位外,當(dāng)程序運行出錯或操作錯誤使系統(tǒng)處于死循環(huán)狀態(tài)時,為擺脫困境,可按復(fù)位鍵進(jìn)行復(fù)位,復(fù)位電路由片外和片內(nèi)兩部分電路組成。AT89S51的RST引腳為復(fù)位引腳,只

18、要在RST引腳上出現(xiàn)兩個機器周期以上的高電平,即可實現(xiàn)復(fù)位。復(fù)位通常有上電復(fù)位和按鍵復(fù)位兩種方法。本設(shè)計采用的是按鍵復(fù)位,當(dāng)按下按鍵后,電容被短路,RST引腳就處于高電平,就可以達(dá)到復(fù)位的目的。電路如圖3所示。圖3復(fù)位電路3.3顯示電路四段數(shù)碼顯示管有兩種,一種是共陽極數(shù)碼管,其內(nèi)部是由八個陽極相連接的發(fā)光二極管組成;另一種是共陽極數(shù)碼管,其內(nèi)部是由四個陽極相連接的發(fā)光二極管組成。二者原理不同但功能相同。本設(shè)計的時間顯示選用四個共陰極四段數(shù)碼管LED,其外形和內(nèi)部結(jié)構(gòu)如圖4所示: 顯示電路 圖43.4驅(qū)動電路而LED顯示電路就像單片機系統(tǒng)的眼睛,實時地向人們傳遞著系統(tǒng)工作的各種狀態(tài)信息和處理結(jié)

19、果。因此,高效、方便的LED顯示驅(qū)動電路是構(gòu)成完善的單片機系統(tǒng)必不可少的元素。常用的LED顯示驅(qū)動電路有并行譯碼方式、串行并行轉(zhuǎn)換方式、顯示驅(qū)動接口芯片方式等。 驅(qū)動電路圖53.5硬件電路設(shè)計MCS-51系列單片機的并行I/O口:接口電路是微機必不可少的組成部分,并行輸入確出接口是CPU和外部進(jìn)行信息交換的主要通道。MSC51系列單片有4個8位并行雙向I/O口P0P3,共32根I/O線。每一根線能獨立用作輸入或輸出。單片機可以外接鍵盤、顯示器等外圍設(shè)備還可以進(jìn)行系統(tǒng)擴展,以解決硬件資源不足問題。4個并行口都是雙向口,既可以輸入又可以輸出。P0、P2口經(jīng)常作外部擴展存儲器時的數(shù)據(jù)、地址線,P3口

20、除作I/O口外,每一根都有第二功能。這4個I/O口結(jié)構(gòu)基本相同,但仍存在差別。P1口:通道1,雙向I/O口,本次設(shè)計連接按鍵,用語按鍵信號的輸入4軟件設(shè)計4.1延時程序延時程序延與 MCS - 51 執(zhí)行指令的時間有關(guān), 如果使用 6 MHz晶振, 一個機器周期為 2 s, 計算出一條指令以至一個循環(huán)所需要的執(zhí)行時間, 給出相應(yīng)的循環(huán)次數(shù), 便能達(dá)到延時的目的。10 秒延時程序如下: DELAY: MOV R5, 100 DEL0: MOV R6, 200 DEL1: MOV R7, 248 DEL2: DJNZ R7, DEL2 DJNZ R6, DEL1 DJNZ R5, DEL0 RET

21、 上例程序中采用了多重循環(huán)程序, 即在一個循環(huán)體中又包含了其它的循環(huán)程序, 這種方式是實現(xiàn)延時程序的常用方法。 使用多重循環(huán)時, 必須注意: (1) 循環(huán)嵌套, 必須層次分明, 不允許產(chǎn)生內(nèi)外層循環(huán)交叉。 (2) 外循環(huán)可以層層向內(nèi)循環(huán)進(jìn)入, 結(jié)束時由里往外層層退出。 (3) 內(nèi)循環(huán)可以直接轉(zhuǎn)入外循環(huán), 實現(xiàn)一個循環(huán)由多個條件控制的循環(huán)結(jié)構(gòu)方式。4.2 74LS04反相器,管腳圖如附圖所示。74LS04管腳圖4.3 中斷系統(tǒng) 4.3.1中斷的概述程序執(zhí)行過程中,容許外部或內(nèi)部事件通過硬件打斷程序的執(zhí)行,使其轉(zhuǎn)向為處理外部或內(nèi)部事件的中斷服務(wù)程序中去;完成中斷服務(wù)程序后,CPU繼續(xù)原來被打斷的程

22、序,這樣的過程稱為中斷過程,4.3.2 中斷響應(yīng)的一般過程 (1) 在每條指令結(jié)束后, 系統(tǒng)都自動檢測中斷請求信號, 如果有中斷請求,且CPU處于開中斷狀態(tài)下, 則響應(yīng)中斷。 (2) 保護現(xiàn)場, 在保護現(xiàn)場前, 一般要關(guān)中斷, 以防止現(xiàn)場被破壞。保護現(xiàn)場一般是用堆棧指令將原程序中用到的寄存器推入堆棧。 4.3.3 80S51中有五個中斷源 MCS - 51單片機有 5個(8052有 6個)中斷源, 為了使每個中斷源都能獨立地被允許或禁止, 以便用戶能靈活使用, CPU內(nèi)部在每個中斷信號的通道中設(shè)置了一個中斷允許觸發(fā)器, 它控制CPU能否響應(yīng)中斷。只有對應(yīng)的中斷允許觸發(fā)器被使能(置“1”),相應(yīng)

23、的中斷才能得到相應(yīng)4.3.4 MCS51中斷系統(tǒng) MCS51中斷系統(tǒng)結(jié)構(gòu)框圖4.3.5中斷系統(tǒng)的應(yīng)用 例 1 單步操作的中斷實現(xiàn)。 把一個外部中斷(設(shè)為INT0)設(shè)置為電平激活方式。其中斷服務(wù)程序的末尾寫上如下幾條指令: JNB P3.2, $ ; 在INT0變高前,原地等待(死循環(huán)) JB P3.2, $; 在 INT0變低前,原地等待(死循環(huán)) RETI ; 返回并執(zhí)行一條指令現(xiàn)在,若INT0保持低電平, 且允許INT0中斷, 則CPU就進(jìn)入外部中斷 0 服務(wù)程序, 由于有上述幾條指令, 它就會停在 JNB處, 原地等待。當(dāng)INT0 端出現(xiàn)一個正脈沖(由低到高, 再到低)時, 程序就會往下

24、執(zhí)行, 執(zhí)行RETI后, 將返回主程序, 往下執(zhí)行一條指令, 然后又立即響應(yīng)中斷,以等待INT0端,出現(xiàn)的下一個正脈沖。 這樣在INT0端每出現(xiàn)一個正脈沖, 主程序就執(zhí)行一條指令, 實現(xiàn)了單步執(zhí)行的目的, 要注意的是, 這個正脈沖的高電平持續(xù)時間不小于 2 個周期, 以確保 CPU能采集到高電平值。 4.4程序流程圖 開始初始化單片機機設(shè)置中斷檢測按鍵數(shù)碼管顯示結(jié)束是否顯示完? N 圖4.1主程序流程圖 是否有功能鍵按下? N關(guān)中斷T0,開T1執(zhí)行修改修改完畢開始 N開T0,關(guān)T1,正常計時結(jié)束圖4.2 按鍵中斷處理流程圖N讀該鍵狀態(tài)有鍵按下否調(diào)用延時程序按鍵有效否鍵值處理鍵釋放否?調(diào)用延時程

25、序確定鍵釋放鍵釋放有效否一次按鍵完成按鍵功能處理開 始結(jié) 束、NYY確定鍵是否按下YNNY4.3 軟件去抖動流程圖5系統(tǒng)調(diào)試5.1硬件電路設(shè)計MCS-51系列單片機的并行I/O口:接口電路是微機必不可少的組成部分,并行輸入確出接口是CPU和外部進(jìn)行信息交換的主要通道。MSC51系列單片有4個8位并行雙向I/O口P0P3,共32根I/O線。每一根線能獨立用作輸入或輸出。單片機可以外接鍵盤、顯示器等外圍設(shè)備還可以進(jìn)行系統(tǒng)擴展,以解決硬件資源不足問題。4個并行口都是雙向口,既可以輸入又可以輸出。P0、P2口經(jīng)常作外部擴展存儲器時的數(shù)據(jù)、地址線,P3口除作I/O口外,每一根都有第二功能。這4個I/O口

26、結(jié)構(gòu)基本相同,但仍存在差別。P1口:通道1,雙向I/O口,本次設(shè)計連接按鍵,用語按鍵信號的輸入 5.2硬件調(diào)試基本電路板檢查:根據(jù)前面的研究完成各個電路模塊的原理設(shè)計并生成PCB圖,制作電路板,進(jìn)行實驗調(diào)試。(1)檢查印制板的印制線是否有斷路,是否有毛刺,是否與其它線或是焊盤粘連,焊盤是否有脫落,過孔是否有未金屬化現(xiàn)象等等。(2) 先用萬用表復(fù)核目測中認(rèn)為可疑的連接或是接點,檢查它們的通短狀態(tài)是否與設(shè)計規(guī)定相符。再檢查各種電源線與地線之間是否有短路現(xiàn)象,如有再仔細(xì)檢查出并排除。短路現(xiàn)象一定要在器件安裝及加電前檢查出。(3)路接通電源后,用手摸一下芯片是否發(fā)熱,如果發(fā)熱,立即關(guān)掉電源,稍后再進(jìn)行

27、再次檢測;如果沒有發(fā)熱,再測試芯片的VCC端電壓是否達(dá)到設(shè)計要求,接地端是否都接地。主控模塊調(diào)試:在本次設(shè)計中,主控模塊是非常重要的部分,它不僅是本次設(shè)計的核心,在本次硬件調(diào)試中也遇到了問題,接上電源的時候,數(shù)碼管不亮,沒有任何顯示,于是我做了如下的工作:(1)檢查電源是否通電,發(fā)現(xiàn)指示燈亮著;(2)編程使P1為低電平,檢查到P1輸出為低;(3)檢查P0口未接上拉電阻,接上數(shù)碼管發(fā)亮了。5.3軟件調(diào)試當(dāng)硬件制作完成后,軟件制作也是不可輕視的部分,是實現(xiàn)電路的功能的關(guān)鍵部分,通過本次畢業(yè)設(shè)計,總結(jié)經(jīng)驗如下:(1)先進(jìn)行人工檢查。寫好程序后,不要立刻燒入單片機,先對紙面上的程序進(jìn)行人工檢查。由于采

28、用C語言編程,所以要特別小心地檢查語法錯誤,如括號不配對,漏寫分號等,通過仔細(xì)的檢查,發(fā)現(xiàn)并排除這些錯誤。(2)人工檢查無誤后,上機調(diào)試。在編譯時給出的語法錯誤的信息,根據(jù)提示的信息具體找出程序中錯誤之處并改之,從上至下逐一改正。應(yīng)當(dāng)注意的是:有的提示出錯行并不是真正出錯的行,如果在提示出錯的行上找不到錯誤的話,則應(yīng)該到上行再找。(3) 當(dāng)確認(rèn)程序無語法錯誤和邏輯錯誤時,通過直接下載到單片機來調(diào)試。采用的是自下到上的調(diào)試方法,即單獨調(diào)好每一個模塊,然后再連接成一個完整的系統(tǒng)調(diào)試。(4) 程序燒入單片機后,觀察各個部件的工作是否正常,功能是否實現(xiàn)。如不能正常工作,則繼續(xù)檢查程序中的相應(yīng)模塊,必要

29、時從上到下重新檢查程序。設(shè)計的體會課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機已經(jīng)成為當(dāng)今計算機應(yīng)用中空前活躍的領(lǐng)域, 在生活中可以說得是無處不在。這次的畢業(yè)設(shè)計通過搜集單片機的相關(guān)資料和撰寫論文對我來說是一次非常難得的鍛煉機會,可以說已經(jīng)囊括了大學(xué)期間大部分的知識,從選題到定稿,從理論到實踐可以把所學(xué)的專業(yè)認(rèn)識充分運用起來解決具體的問題,不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識,能夠使所學(xué)知識融會貫通。對于我來說這不僅僅是一次畢業(yè)設(shè)計,更

30、重要的是在學(xué)習(xí)的過程中提高了我學(xué)習(xí)的能力、解決問題的能力和實際工作的能力,這些技能和方法都會對將來的工作有很大的幫助。因此作為二十一世紀(jì)的大學(xué)來說掌握單片機的開發(fā)技術(shù)是十分重要的。回顧起此次單片機課程設(shè)計,至今我仍感慨頗多,可以說得是苦多于甜,但是可以學(xué)到很多很多的東西,通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知

31、識理解得不夠深刻,掌握得不夠牢固,比如說三極管PNP管腳不懂怎么放置,不懂分得二極管的正負(fù)極,對單片機匯編語言掌握得不好通過這次課程設(shè)計之后,一定把以前所學(xué)過的知識重新溫故。超聲波原理圖:AT89S51芯片主程序:繼電器控制為P3.0;水位高低控制為P3.7,P3.6 VOUT EQU P1.0 ; 紅外脈沖輸出端口;*;* 中斷入口程序 *;*; ORG 0000H LJMP START ORG 0003H LJMP PINT0 ORG 000BH reti ORG 0013H RETI ORG 001BH LJMP INTT1 ORG 0023H RETI ORG 002BH RETI ;

32、*;* 主 程 序 *;*; START: MOV SP,#4FH MOV R0,#40H ;40H-43H為顯示數(shù)據(jù)存放單元(40H為最高位) MOV R7,#0BH CLEARDISP: MOV R0,#00H INC R0 DJNZ R7,CLEARDISP MOV 20H,#00H MOV TMOD,#11H ;T1為 T0為16位定時器 MOV TH0,#00H ;65毫秒初值 MOV TL0,#00H MOV TH1,#00H MOV TL1,#00H MOV P0,#0FFH MOV P1,#0FFH MOV P2,#0FFH MOV P3,#0FFH MOV R4,#04H ;

33、超聲波肪沖個數(shù)控制(為賦值的一半) SETB PX0 SETB ET1 SETB EA SETB TR1 ;開啟測距定時器 start1: LCALL DISPLAY JNB 00H,START1 ;收到反射信號時標(biāo)志位為1 CLR EA LCALL WORK ;計算距離子程序 lcall baojing clr EA MOV R2,#32h;#64H ;測量間隔控制(約4*100=400MS) LOOP: LCALL DISPLAY DJNZ R2,LOOP CLR 00H setb et0 mov th0,00h mov tl0,00h SETB TR1 ;重新開啟測距定時器 SETB E

34、A SJMP Start1;*;* 中斷程序* *;* ;T1中斷,發(fā)超聲波用 ;T1中斷,65毫秒中斷一次INTT1: CLR EA CLR TR0 clr ex0 MOV TH0,#00H MOV TL0,#00H MOV TH1,#00H MOV TL1,#00H SETB ET0 SETB EA SETB TR0 ;啟動計數(shù)器T0,用以計intt11: CPL VOUT ;40KHZ nop nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop DJNZ R4,intt11 ;超聲波發(fā)送完畢, MOV R4,#04H lcall delay_250

35、 ;延時,避開發(fā)射的直達(dá)聲波信號 SETB EX0 ;開啟接收回波中斷 RETIOUT: RETI;外中斷0,收到回波時進(jìn)入PINT0: nop jb p3.2,pint0_exit CLR TR0 ;關(guān)計數(shù)器 CLR EA ; CLR EX0 ; MOV 44H,TL0 ;將計數(shù)值移入處理單元 MOV 45H,TH0 ; mov th0,#00h mov tl0,#00h jnb p3.2,$ SETB 00H ;接收成功標(biāo)志pint0_exit: RETI;*;* 顯示程序 *;* DISPLAY: MOV R1,#40H;G MOV R5,#7fH;G PLAY: MOV A,R5 MO

36、V P0,#0FFH MOV P2,A MOV A,R1 MOV DPTR,#TAB MOVC A,A+DPTR MOV P0,A LCALL DL1MS INC R1 MOV A,R5 JNB ACC.4,ENDOUT;G RR A MOV R5,A AJMP PLAY ENDOUT: MOV P2,#0FFH MOV P0,#0FFH RET; TAB: DB 18h, 7Bh, 2Ch, 29h, 4Bh, 89h, 88h, 3Bh, 08h, 09h,0ffh ;共陽段碼表 "0" "1" "2" "3"

37、 "4" "5""6" "7" "8" "9" "不亮""A""-"*;* 延時程序 *;*; DL1MS: push 06h push 07h MOV R6,#14H DL1: MOV R7,#19H DL2: DJNZ R7,DL2 DJNZ R6,DL1 pop 07h pop 06h RET;*;* 距離計算程序 (=計數(shù)值*17/1000cm) *;*;work: PUSH ACC PUSH PSW PUSH B MOV PSW, #18h MOV R3, 45H MOV R2, 44H MOV R1, #00D MOV R0, #17D LCALL MUL2BY2 MOV R3, #03H MOV R2, #0E9H LCALL DIV4BY2 LCALL DIV4BY2 MOV 40H, R4 MOV A,40H JNZ JJ0 MOV 40H,#0AH ;最高位為零,不點亮JJ0: MOV A, R0 MOV R4, A MOV A, R1 MOV R5, A MOV R3, #00D MOV R2, #100D LCALL DIV4BY

溫馨提示

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

最新文檔

評論

0/150

提交評論