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

下載本文檔

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

文檔簡(jiǎn)介

1、.摘 要近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè),日新月益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件來(lái)使用,單片機(jī)是把主要計(jì)算機(jī)功能部件都集成在一塊芯片上的微型計(jì)算機(jī)。它是一種集計(jì)數(shù)和多中接口于一體的微控制器,被廣泛應(yīng)用在智能產(chǎn)品和工業(yè)自動(dòng)化上,而51單片機(jī)是個(gè)單片機(jī)中最為典型和最有代表性的一種。 本設(shè)計(jì)主要應(yīng)用AT89S51作為控制核心,顯示器,驅(qū)動(dòng)電路等相結(jié)合的系統(tǒng)。充分發(fā)揮了單片機(jī)的性能。其優(yōu)點(diǎn)硬件電路簡(jiǎn)單,軟件功能完善,控制系統(tǒng)可靠,具有一定的使用和參考價(jià)值。關(guān)鍵詞:?jiǎn)纹瑱C(jī);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芯片超聲波簡(jiǎn)介62.1 AT89S51芯片引腳結(jié)構(gòu) 62.2 超聲波簡(jiǎn)介 73 硬件設(shè)計(jì) 83.1 硬件電路 83.2 復(fù)位電路 83.3 顯示電路 93.4 驅(qū)動(dòng)電路 93.5硬件電路設(shè)計(jì) 94軟件設(shè)計(jì) 104.1延時(shí)程序 104.2 74LS04反相器 104.3 中斷系統(tǒng) 11 4.4 程序流程圖135 系統(tǒng)調(diào)試 155.1輸出擴(kuò)展電路設(shè)計(jì) 155.2硬件調(diào)試165.3軟件調(diào)試16設(shè)計(jì)的體會(huì) 17致    謝18參考文獻(xiàn) 19附圖(1)超聲波原理圖附圖(2)超聲波單面PCB板圖附錄附錄(3)AT89S51芯片主程序引 言隨著大規(guī)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

20、除作I/O口外,每一根都有第二功能。這4個(gè)I/O口結(jié)構(gòu)基本相同,但仍存在差別。P1口:通道1,雙向I/O口,本次設(shè)計(jì)連接按鍵,用語(yǔ)按鍵信號(hào)的輸入4軟件設(shè)計(jì)4.1延時(shí)程序延時(shí)程序延與 MCS - 51 執(zhí)行指令的時(shí)間有關(guān), 如果使用 6 MHz晶振, 一個(gè)機(jī)器周期為 2 s, 計(jì)算出一條指令以至一個(gè)循環(huán)所需要的執(zhí)行時(shí)間, 給出相應(yīng)的循環(huán)次數(shù), 便能達(dá)到延時(shí)的目的。10 秒延時(shí)程序如下: 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)程序, 即在一個(gè)循環(huán)體中又包含了其它的循環(huán)程序, 這種方式是實(shí)現(xiàn)延時(shí)程序的常用方法。 使用多重循環(huán)時(shí), 必須注意: (1) 循環(huán)嵌套, 必須層次分明, 不允許產(chǎn)生內(nèi)外層循環(huán)交叉。 (2) 外循環(huán)可以層層向內(nèi)循環(huán)進(jìn)入, 結(jié)束時(shí)由里往外層層退出。 (3) 內(nèi)循環(huán)可以直接轉(zhuǎn)入外循環(huán), 實(shí)現(xiàn)一個(gè)循環(huán)由多個(gè)條件控制的循環(huán)結(jié)構(gòu)方式。4.2 74LS04反相器,管腳圖如附圖所示。74LS04管腳圖4.3 中斷系統(tǒng) 4.3.1中斷的概述程序執(zhí)行過程中,容許外部或內(nèi)部事件通過硬件打斷程序的執(zhí)行,使其轉(zhuǎn)向?yàn)樘幚硗獠炕騼?nèi)部事件的中斷服務(wù)程序中去;完成中斷服務(wù)程序后,CPU繼續(xù)原來(lái)被打斷的程

22、序,這樣的過程稱為中斷過程,4.3.2 中斷響應(yīng)的一般過程 (1) 在每條指令結(jié)束后, 系統(tǒng)都自動(dòng)檢測(cè)中斷請(qǐng)求信號(hào), 如果有中斷請(qǐng)求,且CPU處于開中斷狀態(tài)下, 則響應(yīng)中斷。 (2) 保護(hù)現(xiàn)場(chǎng), 在保護(hù)現(xiàn)場(chǎng)前, 一般要關(guān)中斷, 以防止現(xiàn)場(chǎng)被破壞。保護(hù)現(xiàn)場(chǎng)一般是用堆棧指令將原程序中用到的寄存器推入堆棧。 4.3.3 80S51中有五個(gè)中斷源 MCS - 51單片機(jī)有 5個(gè)(8052有 6個(gè))中斷源, 為了使每個(gè)中斷源都能獨(dú)立地被允許或禁止, 以便用戶能靈活使用, CPU內(nèi)部在每個(gè)中斷信號(hào)的通道中設(shè)置了一個(gè)中斷允許觸發(fā)器, 它控制CPU能否響應(yīng)中斷。只有對(duì)應(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 單步操作的中斷實(shí)現(xiàn)。 把一個(gè)外部中斷(設(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ù)程序, 由于有上述幾條指令, 它就會(huì)停在 JNB處, 原地等待。當(dāng)INT0 端出現(xiàn)一個(gè)正脈沖(由低到高, 再到低)時(shí), 程序就會(huì)往下

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

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

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

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

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

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

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

31、識(shí)理解得不夠深刻,掌握得不夠牢固,比如說(shuō)三極管PNP管腳不懂怎么放置,不懂分得二極管的正負(fù)極,對(duì)單片機(jī)匯編語(yǔ)言掌握得不好通過這次課程設(shè)計(jì)之后,一定把以前所學(xué)過的知識(shí)重新溫故。超聲波原理圖: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位定時(shí)器 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、超聲波肪沖個(gè)數(shù)控制(為賦值的一半) SETB PX0 SETB ET1 SETB EA SETB TR1 ;開啟測(cè)距定時(shí)器 start1: LCALL DISPLAY JNB 00H,START1 ;收到反射信號(hào)時(shí)標(biāo)志位為1 CLR EA LCALL WORK ;計(jì)算距離子程序 lcall baojing clr EA MOV R2,#32h;#64H ;測(cè)量間隔控制(約4*100=400MS) LOOP: LCALL DISPLAY DJNZ R2,LOOP CLR 00H setb et0 mov th0,00h mov tl0,00h SETB TR1 ;重新開啟測(cè)距定時(shí)器 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 ;啟動(dòng)計(jì)數(shù)器T0,用以計(jì)intt11: CPL VOUT ;40KHZ nop nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop DJNZ R4,intt11 ;超聲波發(fā)送完畢, MOV R4,#04H lcall delay_250

35、 ;延時(shí),避開發(fā)射的直達(dá)聲波信號(hào) SETB EX0 ;開啟接收回波中斷 RETIOUT: RETI;外中斷0,收到回波時(shí)進(jìn)入PINT0: nop jb p3.2,pint0_exit CLR TR0 ;關(guān)計(jì)數(shù)器 CLR EA ; CLR EX0 ; MOV 44H,TL0 ;將計(jì)數(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 ;共陽(yáng)段碼表 "0" "1" "2" "3"

37、 "4" "5""6" "7" "8" "9" "不亮""A""-"*;* 延時(shí)程序 *;*; DL1MS: push 06h push 07h MOV R6,#14H DL1: MOV R7,#19H DL2: DJNZ R7,DL2 DJNZ R6,DL1 pop 07h pop 06h RET;*;* 距離計(jì)算程序 (=計(jì)數(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 ;最高位為零,不點(diǎn)亮JJ0: MOV A, R0 MOV R4, A MOV A, R1 MOV R5, A MOV R3, #00D MOV R2, #100D LCALL DIV4BY

溫馨提示

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