版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 摘 要</b></p><p> 近年來隨著科技的飛速發(fā)展,單片機的應用正在不斷地走向深入,同時帶動傳統(tǒng)控制檢測,日新月益更新。在實時檢測和自動控制的單片機應用系統(tǒng)中,單片機往往是作為一個核心部件來使用,</p><p> 單片機是把主要計算機功能部件都集成在一塊芯片上的微型計算機。它是一種集計數和多中接口于一體的微控制器,被廣泛應
2、用在智能產品和工業(yè)自動化上,而51單片機是個單片機中最為典型和最有代表性的一種。 </p><p> 本設計主要應用AT89S51作為控制核心,顯示器,驅動電路等相結合的系統(tǒng)。充分發(fā)揮了單片機的性能。其優(yōu)點硬件電路簡單,軟件功能完善,控制系統(tǒng)可靠,具有一定的使用和參考價值。</p><p> 關鍵詞:單片機;AT89S51;</p><p><b>
3、 Abstract</b></p><p> In recent years with the rapid development of technology, SCM applications are continually deepening, led the traditional control of the Crescent benefit update. In real-time det
4、ection and control of the MCU application systems, SCM is often as a core component to use, SCM is the main function of the computer components are integrated in a chip micro-computer. It is a set of interfaces and
5、multiple counts integrates microcontrollers, are widely used in industrial automation products and sma</p><p> Keywords: SCM;AT89S51</p><p><b> 目 錄</b></p><p> 引
6、160; 言………………………………………………………………… 4</p><p> 1 課題目標任務………………………………………………………5</p><p> 2 AT89S51芯片超聲波簡介…………………………………………6</p><p> 2.1 AT89S51芯片引腳結構……………………………………………………… 6&l
7、t;/p><p> 2.2 超聲波簡介…………………………………………………………………… 7</p><p> 3 硬件設計…………………………………………………………… 8</p><p> 3.1 硬件電路……………………………………………………………………… 8</p><p> 3.2 復位電路…………………………………………
8、…………………………… 8</p><p> 3.3 顯示電路……………………………………………………………………… 9</p><p> 3.4 驅動電路……………………………………………………………………… 9</p><p> 3.5硬件電路設計………………………………………………………………… 9</p><p> 4軟件設計
9、…………………………………………………………… 10</p><p> 4.1延時程序…………………………………………………………………… 10</p><p> 4.2 74LS04反相器……………………………………………………………… 10</p><p> 4.3 中斷系統(tǒng) …………………………………………………………………… 11 </p&
10、gt;<p> 4.4 程序流程圖……………………………………………………………………13</p><p> 5 系統(tǒng)調試…………………………………………………………………… 15</p><p> 5.1輸出擴展電路設計…………………………………………………………… 15</p><p> 5.2硬件調試……………………………………………
11、……………………………16</p><p> 5.3軟件調試…………………………………………………………………………16</p><p> 設計的體會 ………………………………………………………………17</p><p> 致 謝……………………………………………………………………18</p><
12、;p> 參考文獻………………………………………………………………… 19</p><p> 附圖(1)超聲波原理圖</p><p> 附圖(2)超聲波單面PCB板圖附錄</p><p> 附錄(3)AT89S51芯片主程序</p><p><b> 引 言</b></p><p>
13、; 隨著大規(guī)模集成電路技術的發(fā)展,可以將CPU、RAM、ROM、定時器/計數器及輸入/輸出(I/O)接口電路等主要計算機部件,集成在一塊電路芯片上。這樣所組成的芯片級的微型計算機稱為單片微型計算機,簡稱為單片機。雖然單片機只是一個芯片,但從組成和功能上,它已具有了微機系統(tǒng)的含義。</p><p> 由于單片機從功能和形態(tài)來說都是應控制領域應用的要求而誕生的,并且發(fā)展到新一代80s51、M68HC11、AT89
14、S51、AT89S52,其中著力擴展了各種控制功能,更準確的反映單片機本質的叫法。</p><p> AT89S51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳
15、相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。</p><p> 89S51相對于89C51增加的新功能包括:新增加很多功能, 性能有了較大提升; ISP在線編程功能,這個功能的優(yōu)勢在于改寫單片機存儲器內的程序不需要把芯片從工作環(huán)境中剝離。是一個強大易用的功能;工作頻率為33MHz,大家都知道89S
16、51的極限工作頻率只有24M,就是說S51具有更高工作頻率,從而具有了更快的計算速度;具有雙工UART串行通道; 雙數據指示器;電源關閉標識;全新的加密算法,這使得對于89S51的解密變?yōu)椴豢赡?,程序的保密性大大加強,這樣就可以有效的保護知識產權不被侵犯;兼容性方面:向下完全兼容51全部字系列產品。比如8051、89S51等等早期MCS-51兼容產品。在89S51上一樣可以照常運行,這就是所謂的向下兼容。</p><
17、p><b> 課題目標任務 </b></p><p> ?。?)論文的主要內容</p><p> 1.1、本課題的總體介紹</p><p> 對水塔智能水位控制系統(tǒng)進行方案設計,相應的硬件電路和系統(tǒng)軟件設計,并做出控制系統(tǒng)。</p><p><b> 1.2、工作內容</b></
18、p><p> 1)完成水塔智能水位控制系統(tǒng)總體方案設計、電路設計。</p><p> 2)連接完整的硬件電路并能調試出正確的結果。</p><p> 1.3、課題的具體任務</p><p> 1)水塔智能水位控制系統(tǒng)基于單片機控制,系統(tǒng)設計電路由輸入脈沖電路、單片機、晶振和復位電路和控制電路等部分組成</p><p&g
19、t; 2)設計水塔水位的測試及顯示系統(tǒng),還有水位的控制系統(tǒng).</p><p> ?。?)論文的要求與數據</p><p> 1)、完成該課題必須重點研究單片機控制、脈沖電路、晶振和復位電路和鍵盤的使用等關鍵問題和理論;</p><p> 2)、研究方案的設計、研究方法和手段要合理,符合理論與實踐的要求;</p><p> 3)、水塔智
20、能水位的控制系統(tǒng)首先要能正確檢測水位并能正確顯示,并有及時調整水位的功能.</p><p><b> (3) 設計目的</b></p><p> 1)、進一步熟悉和掌握單片機的工作原理和結構功能,熟悉其基本的振蕩和復位電路原理。</p><p> 2)、熟悉單片機I/O口的基本輸入輸出功能以及I/O口的擴展使用。</p>&
21、lt;p> 3)、掌握單片機內部功能模塊的應用:如定時器、計數器、中斷系統(tǒng)等。</p><p> 4)、掌握按鍵與單片機連接的使用以及數碼管接口電路設計。</p><p> 5)、熟悉PCB板的布線、腐蝕和元器件的焊接的流程和方法,進一步掌握電路板的檢測順序和方法2 AT89S51芯片超聲波簡介</p><p> AT89S51控制超聲波信號的發(fā)送和
22、接收,串行數據發(fā)送 ,及溫度校正 采樣頻率的輸入,并通過運算轉換成溫度數據,校正不同溫度下,距離誤差后,在LED上顯示所測距的離厘米數據并和已輸入的預置數進行比較, 如達到預置值則進行開或關的開關量信號輸出.LED顯示為動態(tài)循環(huán)顯示,共陽極接法. DS18B20 在本電路中取得外界溫度值, 以利于AT89S51的運算并校正不同溫度下測距的回波數值以及在LED上顯示實時環(huán)境的溫度值.接收電路接收物體反射超聲波回波信號,該芯片內部包括了前置
23、放大,限幅放大,整形,輸出數據信號以便MCU檢測, 判斷回波的數據正確與否及時差, 并計算出測距的距離數值.該板接收可預置超聲波控制器,發(fā)送的1200BIT串行數據信號,直接用導線和超聲波控制器 串口連接時,可傳送幾十米,如通過485串口發(fā)送可傳送2千米以上。 </p><p> 2.1 AT89S51芯片的引腳結構</p><p> 本次設計采用了常見的AT89S51單片機為
24、核心處理器。AT89S51是一個低功耗,高性能CMOS 8位單片機,器件采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統(tǒng)及80S51引腳結構, AT89S51具有40個引腳,4k Bytes Flash片內程序存儲器,128 Bytes的隨機存取數據存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數器,2個全雙工串行通信口,看門狗(WDT)電路,
25、片內時鐘振蕩器。AT89S51單片機共有40個引腳,其引腳圖如下:</p><p><b> 圖1</b></p><p><b> 2.2 超聲波簡介</b></p><p> 由于超聲波所具有的能量很大,就有可能使物質分子產生顯著的聲壓作用、例如當水中通過一般強度的超聲波時超聲波流量計的基本原理及類型超聲波在流動
26、的流體中傳播時就載上流體流速的信息。因此通過接收到的超聲波就可以檢測出流體的流速,從而換算成流量。根據檢測的方式,可分為傳播速度差法、多普勒法、波束偏移法、噪聲法及相關法等不同類型的超聲波流量計。起聲波流量計是近十幾年來隨著集成電路技術迅速發(fā)展才開始應用的一種 </p><p> 非接觸式儀表,適于測量不易接觸和觀察的流體以及大管徑流量。它與水位計聯動可進行敞開水流的流量測量。使用超聲波流量比不用在流體中安裝測
27、量元件故不會改變流體的流動狀態(tài),不產生附加阻力,儀表的安裝及檢修均可不影響生產管線運行因而是一種理想的節(jié)能型流量計。 </p><p> 眾所周知,目前的工業(yè)流量測量普遍存在著大管徑、大流量測量困難的問題,這是因為一般流量計隨著測量管徑的增大會帶來制造和運輸上的困難,造價提高、能損加大、安裝不僅這些缺點,超聲波流量計均可避免。因為各類超聲波流量計均可管外安裝、非接觸測流,儀表造價基本上與被測管道口徑大小無關,而
28、其它類型的流量計隨著口徑增加,造價大幅度增加,故口徑越大超聲波流量計比相同功能,其它類型流量計的功能價格比越優(yōu)越。被認為是較好的大管流量測量儀表,多普勒法超聲波流量計可測雙相介質的流量,故可用于下水道及排污水等臟污流的測量。在發(fā)電廠中,用便攜式超聲波流量計測量水輪機進水量、汽輪機循環(huán)水量等大管徑流量,比過去的皮脫管流速計方便得多。超聲被流量汁也可用于氣體測量。管徑的適用范圍從2cm到5m,從幾米寬的明渠、暗渠到500m寬的河流都可適用。
29、 </p><p> 另外,超聲測量儀表的流量測量準確度幾乎不受被測流體溫度、壓力、粘度、密度等參數的影響,又可制成非接觸及便攜式測量儀表,故可解決其它類型儀表所難以測量的強腐蝕性、非導電性、放射性及易燃易爆介質的流量測量問題。</p><p> 超聲波具有較好的指向性頻率越高,指向性越強。這在諸如探傷和水下聲通訊等應用場合是主要的考慮因素。頻率高時,相應地波長將變短,因而波長可與傳播
30、超聲波的試樣材料的尺寸相比擬,甚至波長可遠小于試樣材料的尺寸.這在厚度尺寸很小的測量應用中以及在高分辨率的探傷應用中是非常重要的。超聲波用起來很安靜,人們聽不到它。這一點在高強度工作場合尤為重要。這些高強度的工作用可聞頻率的聲波來完成時往往更有效,然而遺憾的是,可聞聲波工作時所產生的噪聲令人難以忍受,有時甚至是對人體有害的。</p><p><b> 3 硬件設計</b></p&g
31、t;<p><b> 3.1 硬件電路</b></p><p> 該設計的硬件電路由主控部分(單片機AT89S51)、計時部分(實時時鐘芯片DS1302)、顯示部分(八段數碼管)、電源部分(三端穩(wěn)壓器7805)4個部分組成。各部分之間相互協(xié)作,構成一個統(tǒng)一的有機整體,實現功能。各部分的硬件電路設計如下。</p><p><b> 3.2復
32、位電路</b></p><p> (1)單片機AT89S51作為主控芯片,控制整個電路的運行。單片機外圍需要一個復位電路,復位電路的功能是:系統(tǒng)上電時提供復位信號,直至系統(tǒng)電源穩(wěn)定后,撤消復位信號。為可靠起見,電源穩(wěn)定后還要經一定的延時才撤銷復位信號,以防電源開關或電源插頭分-合過程中引起的抖動而影響復位。該設計采用含有電阻的復位電路,復位電路可以有效的解決電源毛刺和電源緩慢下降(電池電壓不足)等引
33、起的問題,在電源電壓瞬間下降時可以使電容迅速放電,一定寬度的電源毛刺也可令系統(tǒng)可靠復位。復位電路的設計圖如圖2示:</p><p><b> 復位電路圖2</b></p><p> ?。?)復位是單片機的初始化操作,使CPU及各專用存儲器處于一個確定的初始狀態(tài),其中把PC的內容初始化為0000H,使單片機從0000H單元開始執(zhí)行程序,除了系統(tǒng)的正常開機(上電)復位外
34、,當程序運行出錯或操作錯誤使系統(tǒng)處于死循環(huán)狀態(tài)時,為擺脫困境,可按復位鍵進行復位,復位電路由片外和片內兩部分電路組成。AT89S51的RST引腳為復位引腳,只要在RST引腳上出現兩個機器周期以上的高電平,即可實現復位。復位通常有上電復位和按鍵復位兩種方法。本設計采用的是按鍵復位,當按下按鍵后,電容被短路,RST引腳就處于高電平,就可以達到復位的目的。電路如圖3所示。</p><p><b> 圖3復位
35、電路</b></p><p><b> 3.3顯示電路</b></p><p> 四段數碼顯示管有兩種,一種是共陽極數碼管,其內部是由八個陽極相連接的發(fā)光二極管組成;另一種是共陽極數碼管,其內部是由四個陽極相連接的發(fā)光二極管組成。二者原理不同但功能相同。本設計的時間顯示選用四個共陰極四段數碼管LED,其外形和內部結構如圖4所示:</p>
36、<p><b> 顯示電路 圖4</b></p><p><b> 3.4驅動電路</b></p><p> 而LED顯示電路就像單片機系統(tǒng)的眼睛,實時地向人們傳遞著系統(tǒng)工作的各種狀態(tài)信息和處理結果。因此,高效、方便的LED顯示驅動電路是構成完善的單片機系統(tǒng)必不可少的元素。常用的LED顯示驅動電路有并行譯碼方式、串行—并行轉換方式
37、、顯示驅動接口芯片方式等。</p><p><b> 驅動電路圖5</b></p><p><b> 3.5硬件電路設計</b></p><p> MCS-51系列單片機的并行I/O口:</p><p> 接口電路是微機必不可少的組成部分,并行輸入確出接口是CPU和外部進行信息交換的主要通道
38、。MSC-51系列單片有4個8位并行雙向I/O口P0~P3,共32根I/O線。每一根線能獨立用作輸入或輸出。單片機可以外接鍵盤、顯示器等外圍設備.還可以進行系統(tǒng)擴展,以解決硬件資源不足問題。4個并行口都是雙向口,既可以輸入又可以輸出。P0、P2口經常作外部擴展存儲器時的數據、地址線,P3口除作I/O口外,每一根都有第二功能。這4個I/O口結構基本相同,但仍存在差別。</p><p> P1口:通道1,雙向I/O
39、口,本次設計連接按鍵,用語按鍵信號的輸入</p><p><b> 4軟件設計</b></p><p><b> 4.1延時程序</b></p><p> 延時程序延與 MCS - 51 執(zhí)行指令的時間有關, 如果使用 6 MHz晶振, 一個機器周期為 2 μs, 計算出一條指令以至一個循環(huán)所需要的執(zhí)行時間, 給出相
40、應的循環(huán)次數, 便能達到延時的目的。10 秒延時程序如下: </p><p> DELAY: MOV R5, #100</p><p> DEL0: MOV R6, #200</p><p> DEL1: MOV R7, #248</p><p> DEL2: DJNZ R7, DEL2
41、</p><p> DJNZ R6, DEL1</p><p> DJNZ R5, DEL0</p><p><b> RET </b></p><p> 上例程序中采用了多重循環(huán)程序, 即在一個循環(huán)體中又包含了其它的循環(huán)程序, 這種方式是實現延時程序的常用方法。 使用多重循環(huán)時, 必須注意: <
42、;/p><p> (1) 循環(huán)嵌套, 必須層次分明, 不允許產生內外層循環(huán)交叉。 </p><p> (2) 外循環(huán)可以層層向內循環(huán)進入, 結束時由里往外層層退出。 </p><p> (3) 內循環(huán)可以直接轉入外循環(huán), 實現一個循環(huán)由多個條件控制的循環(huán)結構方式。</p><p> 4.2 74LS04反相器,管腳圖如附圖所示。<
43、;/p><p><b> 74LS04管腳圖</b></p><p> 4.3 中斷系統(tǒng) </p><p> 4.3.1中斷的概述</p><p> 程序執(zhí)行過程中,容許外部或內部事件通過硬件打斷程序的執(zhí)行,使其轉向為處理外部或內部事件的中斷服務程序中去;完成中斷服務程序后,CPU繼續(xù)原來被打斷的程序,這樣的
44、過程稱為中斷過程,</p><p> 4.3.2 中斷響應的一般過程</p><p> (1) 在每條指令結束后, 系統(tǒng)都自動檢測中斷請求信號, 如果有中斷請求,且CPU處于開中斷狀態(tài)下, 則響應中斷。 </p><p> (2) 保護現場, 在保護現場前, 一般要關中斷, 以防止現場被破壞。保護現場一般是用堆棧指令將原程序中用到的寄存器推入堆棧。
45、 </p><p> 4.3.3 80S51中有五個中斷源</p><p> MCS - 51單片機有 5個(8052有 6個)中斷源, 為了使每個中斷源都能獨立地被允許或禁止, 以便用戶能靈活使用, CPU內部在每個中斷信號的通道中設置了一個中斷允許觸發(fā)器, 它控制CPU能否響應中斷。只有對應的中斷允許觸發(fā)器被使能(置“1”),相應的中斷才能得到相應</p>&
46、lt;p> 4.3.4 MCS—51中斷系統(tǒng)</p><p> MCS—51中斷系統(tǒng)結構框圖</p><p> 4.3.5中斷系統(tǒng)的應用 </p><p> 例 1 單步操作的中斷實現。</p><p> 把一個外部中斷(設為INT0])設置為電平激活方式。其中斷服務程序的末尾寫上如下幾條指令: </p&
47、gt;<p> JNB P3.2, $ ; 在INT0變高前,原地等待(死循環(huán))</p><p> JB P3.2, $; 在 INT0變低前,原地等待(死循環(huán))</p><p> RETI ; 返回并執(zhí)行一條指令</p><p> 現在,若INT0保持低電平, 且允許INT0中斷, 則CPU就進入外部中斷 0 服務
48、程序, 由于有上述幾條指令, 它就會停在 JNB處, 原地等待。當INT0 端出現一個正脈沖(由低到高, 再到低)時, 程序就會往下執(zhí)行, 執(zhí)行RETI后, 將返回主程序, 往下執(zhí)行一條指令, 然后又立即響應中斷,以等待INT0端,出現的下一個正脈沖。 這樣在INT0端每出現一個正脈沖, 主程序就執(zhí)行一條指令, 實現了單步執(zhí)行的目的, 要注意的是, 這個正脈沖的高電平持續(xù)時間不小于 2 個周期, 以確保 CPU能采集到高電平值。 &l
49、t;/p><p><b> 4.4程序流程圖 </b></p><p> N </p><p> 圖4.1主程序流程圖 </p><p><b&
50、gt; N</b></p><p><b> N</b></p><p> 圖4.2 按鍵中斷處理流程圖</p><p><b> 、</b></p><p> 4.3 軟件去抖動流程圖</p><p><b> 5系統(tǒng)調試</b&g
51、t;</p><p><b> 5.1硬件電路設計</b></p><p> MCS-51系列單片機的并行I/O口:</p><p> 接口電路是微機必不可少的組成部分,并行輸入確出接口是CPU和外部進行信息交換的主要通道。MSC-51系列單片有4個8位并行雙向I/O口P0~P3,共32根I/O線。每一根線能獨立用作輸入或輸出。單片機可以
52、外接鍵盤、顯示器等外圍設備.還可以進行系統(tǒng)擴展,以解決硬件資源不足問題。4個并行口都是雙向口,既可以輸入又可以輸出。P0、P2口經常作外部擴展存儲器時的數據、地址線,P3口除作I/O口外,每一根都有第二功能。這4個I/O口結構基本相同,但仍存在差別。</p><p> P1口:通道1,雙向I/O口,本次設計連接按鍵,用語按鍵信號的輸入</p><p><b> 5.2硬件調試
53、</b></p><p><b> 基本電路板檢查:</b></p><p> 根據前面的研究完成各個電路模塊的原理設計并生成PCB圖,制作電路板,進行實驗調試。</p><p> ?。?)檢查印制板的印制線是否有斷路,是否有毛刺,是否與其它線或是焊盤粘連,焊盤是否有脫落,過孔是否有未金屬化現象等等。</p>&l
54、t;p> ?。?) 先用萬用表復核目測中認為可疑的連接或是接點,檢查它們的通短狀態(tài)是否與設計規(guī)定相符。再檢查各種電源線與地線之間是否有短路現象,如有再仔細檢查出并排除。短路現象一定要在器件安裝及加電前檢查出。</p><p> ?。?)路接通電源后,用手摸一下芯片是否發(fā)熱,如果發(fā)熱,立即關掉電源,稍后再進行再次檢測;如果沒有發(fā)熱,再測試芯片的VCC端電壓是否達到設計要求,接地端是否都接地。</p>
55、;<p><b> 主控模塊調試:</b></p><p> 在本次設計中,主控模塊是非常重要的部分,它不僅是本次設計的核心,在本次硬件調試中也遇到了問題,接上電源的時候,數碼管不亮,沒有任何顯示,于是我做了如下的工作:</p><p> (1)檢查電源是否通電,發(fā)現指示燈亮著;</p><p> (2)編程使P1為低電平
56、,檢查到P1輸出為低;</p><p> (3)檢查P0口未接上拉電阻,接上數碼管發(fā)亮了。</p><p><b> 5.3軟件調試</b></p><p> 當硬件制作完成后,軟件制作也是不可輕視的部分,是實現電路的功能的關鍵部分,通過本次畢業(yè)設計,總結經驗如下:</p><p> (1)先進行人工檢查。寫好程
57、序后,不要立刻燒入單片機,先對紙面上的程序進行人工檢查。由于采用C語言編程,所以要特別小心地檢查語法錯誤,如括號不配對,漏寫分號等,通過仔細的檢查,發(fā)現并排除這些錯誤。</p><p> ?。?)人工檢查無誤后,上機調試。在編譯時給出的語法錯誤的信息,根據提示的信息具體找出程序中錯誤之處并改之,從上至下逐一改正。應當注意的是:有的提示出錯行并不是真正出錯的行,如果在提示出錯的行上找不到錯誤的話,則應該到上行再找。
58、</p><p> (3) 當確認程序無語法錯誤和邏輯錯誤時,通過直接下載到單片機來調試。采用的是自下到上的調試方法,即單獨調好每一個模塊,然后再連接成一個完整的系統(tǒng)調試。</p><p> ?。?) 程序燒入單片機后,觀察各個部件的工作是否正常,功能是否實現。如不能正常工作,則繼續(xù)檢查程序中的相應模塊,必要時從上到下重新檢查程序。</p><p><b&g
59、t; 設計的體會</b></p><p> 課程設計是培養(yǎng)學生綜合運用所學知識,發(fā)現,提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學生實際工作能力的具體訓練和考察過程.隨著科學技術發(fā)展的日新日異,單片機已經成為當今計算機應用中空前活躍的領域, 在生活中可以說得是無處不在。</p><p> 這次的畢業(yè)設計通過搜集單片機的相關資料和撰寫論文對我來說是一次非常難得的
60、鍛煉機會,可以說已經囊括了大學期間大部分的知識,從選題到定稿,從理論到實踐可以把所學的專業(yè)認識充分運用起來解決具體的問題,不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識,能夠使所學知識融會貫通。對于我來說這不僅僅是一次畢業(yè)設計,更重要的是在學習的過程中提高了我學習的能力、解決問題的能力和實際工作的能力,這些技能和方法都會對將來的工作有很大的幫助。因此作為二十一世紀的大學來說掌握單片機的開發(fā)技術是十分重要的?;仡?/p>
61、起此次單片機課程設計,至今我仍感慨頗多,可以說得是苦多于甜,但是可以學到很多很多的東西,通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得
62、不夠牢固,比如說三極管PNP管腳不懂怎么放置,不</p><p><b> 超聲波原理圖:</b></p><p> AT89S51芯片主程序:</p><p> 繼電器控制為P3.0;水位高低控制為P3.7,P3.6</p><p> VOUT EQU P1.0 ; 紅外脈沖輸出端口<
63、;/p><p> ;********************************************</p><p> ;* 中斷入口程序 *</p><p> ;********************************************</p><p><
64、b> ;</b></p><p><b> ORG 0000H</b></p><p> LJMP START</p><p><b> ORG 0003H</b></p><p> LJMP PINT0</p><p><b>
65、ORG 000BH</b></p><p><b> reti</b></p><p><b> ORG 0013H</b></p><p><b> RETI</b></p><p><b> ORG 001BH</b></p&
66、gt;<p> LJMP INTT1</p><p><b> ORG 0023H</b></p><p><b> RETI</b></p><p><b> ORG 002BH</b></p><p><b> RETI <
67、/b></p><p><b> ;</b></p><p> ;********************************************</p><p> ;* 主 程 序 *</p><p> ;**************
68、******************************</p><p><b> ;</b></p><p> START: MOV SP,#4FH</p><p> MOV R0,#40H ;40H-43H為顯示數據存放單元(40H為最高位)</p><p> MOV R7
69、,#0BH</p><p> CLEARDISP: MOV @R0,#00H</p><p> INC R0</p><p> DJNZ R7,CLEARDISP</p><p> MOV 20H,#00H</p><p> MOV TMOD,#11H ;T1為
70、 T0為16位定時器</p><p> MOV TH0,#00H ;65毫秒初值</p><p> MOV TL0,#00H</p><p> MOV TH1,#00H </p><p> MOV TL1,#00H</p><p> MOV P0,#0
71、FFH</p><p> MOV P1,#0FFH</p><p> MOV P2,#0FFH</p><p> MOV P3,#0FFH</p><p> MOV R4,#04H ;超聲波肪沖個數控制(為賦值的一半)</p><p> SETB PX0<
72、;/p><p> SETB ET1</p><p> SETB EA</p><p> SETB TR1 ;開啟測距定時器</p><p> start1: LCALL DISPLAY</p><p> JNB 00H,START1 ;收到反射信號時標志位為1&
73、lt;/p><p><b> CLR EA</b></p><p> LCALL WORK ;計算距離子程序</p><p> lcall baojing</p><p> clr EA </p><p> MOV
74、 R2,#32h;#64H ;測量間隔控制(約4*100=400MS)</p><p> LOOP: LCALL DISPLAY</p><p> DJNZ R2,LOOP </p><p> CLR 00H</p><p> setb et0</p>
75、;<p> mov th0,00h</p><p> mov tl0,00h</p><p> SETB TR1 ;重新開啟測距定時器</p><p><b> SETB EA</b></p><p> SJMP Start1</
76、p><p><b> ;</b></p><p> ;****************************************************</p><p> ;* 中斷程序* *</p><p> ;**********
77、******************************************</p><p> ;T1中斷,發(fā)超聲波用 ;T1中斷,65毫秒中斷一次</p><p> INTT1: CLR EA</p><p> CLR TR0</p><p> clr ex0</p&g
78、t;<p> MOV TH0,#00H</p><p> MOV TL0,#00H</p><p> MOV TH1,#00H</p><p> MOV TL1,#00H</p><p> SETB ET0</p><p> SETB EA</
79、p><p> SETB TR0 ;啟動計數器T0,用以計</p><p><b> intt11:</b></p><p> CPL VOUT ;40KHZ</p><p><b> nop</b></p><p><
80、b> nop</b></p><p><b> ; nop</b></p><p><b> ; nop</b></p><p><b> ; nop</b></p><p><b> ; nop</b></p>
81、<p><b> ; nop</b></p><p><b> ; nop</b></p><p><b> ; nop</b></p><p> DJNZ R4,intt11 </p><p> ;超聲波發(fā)送完畢, </p><p
82、> MOV R4,#04H</p><p> lcall delay_250 ;延時,避開發(fā)射的直達聲波信號</p><p> SETB EX0 ;開啟接收回波中斷</p><p> RETIOUT: RETI</p><p> ;外中斷0,收到回波時進入</p&
83、gt;<p> PINT0: nop</p><p> jb p3.2,pint0_exit</p><p> CLR TR0 ;關計數器</p><p> CLR EA ;</p><p> CLR EX0 ;</p&
84、gt;<p> MOV 44H,TL0 ;將計數值移入處理單元</p><p> MOV 45H,TH0 ;</p><p> mov th0,#00h</p><p> mov tl0,#00h</p><p> jnb p3.2,$</p><
85、p> SETB 00H ;接收成功標志</p><p> pint0_exit:</p><p><b> RETI</b></p><p><b> ;</b></p><p> ;****************************************
86、************</p><p> ;* 顯示程序 *</p><p> ;****************************************************</p><p><b> DISPLAY: </b></p>
87、;<p> MOV R1,#40H;G</p><p> MOV R5,#7fH;G</p><p> PLAY: MOV A,R5</p><p> MOV P0,#0FFH</p><p> MOV P2,A</p><p> MOV A,@R1</p>
88、<p> MOV DPTR,#TAB</p><p> MOVC A,@A+DPTR</p><p> MOV P0,A</p><p> LCALL DL1MS</p><p><b> INC R1</b></p><p> MOV A,R5<
89、/p><p> JNB ACC.4,ENDOUT;G</p><p><b> RR A</b></p><p> MOV R5,A</p><p> AJMP PLAY</p><p> ENDOUT: MOV P2,#0FFH</p><p>
90、; MOV P0,#0FFH</p><p><b> RET</b></p><p><b> ;</b></p><p> TAB: DB 18h, 7Bh, 2Ch, 29h, 4Bh, 89h, 88h, 3Bh, 08h, 09h,0ffh </p><p> ;共陽段
91、碼表 "0" "1" "2" "3" "4" "5""6" "7" "8" "9" "不亮""A""-"</p><p>&
92、lt;b> ;</b></p><p> ;****************************************************</p><p> ;* 延時程序 *</p><p> ;***************************
93、*************************</p><p><b> ;</b></p><p><b> DL1MS: </b></p><p> push 06h</p><p> push 07h</p><p> MOV R6,#1
94、4H</p><p> DL1: MOV R7,#19H</p><p> DL2: DJNZ R7,DL2</p><p> DJNZ R6,DL1</p><p> pop 07h</p><p> pop 06h</p><p&g
95、t;<b> RET</b></p><p><b> ;</b></p><p> ;****************************************************</p><p> ;* 距離計算程序 (=計數值*17/1000cm) *</p&g
96、t;<p> ;****************************************************</p><p><b> ;</b></p><p> work: </p><p><b> PUSH ACC</b></p><p><
97、b> PUSH PSW</b></p><p><b> PUSH B</b></p><p> MOV PSW, #18h</p><p> MOV R3, 45H</p><p> MOV R2, 44H</p><p> MOV R1,
98、 #00D</p><p> MOV R0, #17D</p><p> LCALL MUL2BY2</p><p> MOV R3, #03H</p><p> MOV R2, #0E9H</p><p> LCALL DIV4BY2</p><p> LCALL
99、 DIV4BY2</p><p> MOV 40H, R4</p><p> MOV A,40H</p><p><b> JNZ JJ0</b></p><p> MOV 40H,#0AH ;最高位為零,不點亮</p><p> JJ0: MOV A
100、, R0</p><p> MOV R4, A</p><p> MOV A, R1</p><p> MOV R5, A</p><p> MOV R3, #00D</p><p> MOV R2, #100D</p><p> LCALL DIV4BY
101、2</p><p> MOV 41H, R4</p><p> MOV A,41H</p><p><b> JNZ JJ1</b></p><p> MOV A,40H ;次高位為0,先看最高位是否為不亮</p><p> SUBB A,#0AH</p&g
102、t;<p><b> JNZ JJ1</b></p><p> MOV 41H,#0AH ;最高位不亮,次高位也不亮</p><p> JJ1: MOV A, R0</p><p> MOV R4, A</p><p> MOV A, R1</p>
103、<p> MOV R5, A</p><p> MOV R3, #00D</p><p> MOV R2, #10D</p><p> LCALL DIV4BY2</p><p> MOV 42H, R4</p><p> MOV A,42H</p><
104、p><b> JNZ JJ2</b></p><p> MOV A,41H ;次次高位為0,先看次高位是否為不亮</p><p> SUBB A,#0AH</p><p><b> JNZ JJ2</b></p><p> MOV 42H,#0AH ;次高位不
105、亮,次次高位也不亮</p><p> JJ2: MOV 43H, R0</p><p><b> POP B</b></p><p><b> POP PSW</b></p><p><b> POP ACC</b></p>&l
106、t;p><b> RET</b></p><p><b> ;</b></p><p> ;****************************************************</p><p> ;* 兩字節(jié)無符號數乘法程序 *</
107、p><p> ;****************************************************</p><p> ; R7R6R5R4 <= R3R2 * R1R0</p><p><b> ;</b></p><p> MUL2BY2: CLR A</p><
108、;p> MOV R7, A</p><p> MOV R6, A</p><p> MOV R5, A</p><p> MOV R4, A</p><p> MOV 46H, #10H</p><p> MULLOOP1: CLR C</p><p
109、> MOV A, R4</p><p><b> RLC A</b></p><p> MOV R4, A</p><p> MOV A, R5</p><p><b> RLC A</b></p><p> MOV R5,
110、 A</p><p> MOV A, R6</p><p><b> RLC A</b></p><p> MOV R6, A</p><p> MOV A, R7</p><p><b> RLC A</b></p>
111、<p> MOV R7, A</p><p> MOV A, R0</p><p><b> RLC A</b></p><p> MOV R0, A</p><p> MOV A, R1</p><p><b> RLC A&l
112、t;/b></p><p> MOV R1, A</p><p> JNC MULLOOP2</p><p> MOV A, R4</p><p> ADD A, R2</p><p> MOV R4, A</p><p> MOV A,
113、 R5</p><p> ADDC A, R3</p><p> MOV R5, A</p><p> MOV A, R6</p><p> ADDC A, #00H</p><p> MOV R6, A</p><p> MOV A, R7&
114、lt;/p><p> ADDC A, #00H</p><p> MOV R7, A</p><p> MULLOOP2: DJNZ 46H, MULLOOP1</p><p><b> RET</b></p><p><b> ;</b></p&g
115、t;<p> ;****************************************************</p><p> ;* 四字節(jié)/兩字節(jié)無符號數除法程序 *</p><p> ;****************************************************</p>&l
116、t;p> ;R7R6R5R4/R3R2=R7R6R5R4(商)...R1R0(余數)</p><p><b> ;</b></p><p> DIV4BY2: MOV 46H, #20H</p><p> MOV R0, #00H</p><p> MOV R1, #00H</p
117、><p> DIVLOOP1: MOV A, R4</p><p><b> RLC A</b></p><p> MOV R4, A</p><p> MOV A, R5</p><p><b> RLC A</b></p>
118、<p> MOV R5, A</p><p> MOV A, R6</p><p><b> RLC A</b></p><p> MOV R6, A</p><p> MOV A, R7</p><p><b> RLC A&
119、lt;/b></p><p> MOV R7, A</p><p> MOV A, R0</p><p><b> RLC A</b></p><p> MOV R0, A</p><p> MOV A, R1</p><p>
120、;<b> RLC A</b></p><p> MOV R1, A</p><p><b> CLR C</b></p><p> MOV A, R0</p><p> SUBB A, R2</p><p> MOV B, A
121、</p><p> MOV A, R1</p><p> SUBB A, R3</p><p> JC DIVLOOP2</p><p> MOV R0, B</p><p> MOV R1, A</p><p> DIVLOOP2: CPL C&
122、lt;/p><p> DJNZ 46H, DIVLOOP1</p><p> MOV A, R4</p><p><b> RLC A</b></p><p> MOV R4, A</p><p> MOV A, R5</p><p>&
123、lt;b> RLC A</b></p><p> MOV R5, A</p><p> MOV A, R6</p><p><b> RLC A</b></p><p> MOV R6, A</p><p> MOV A, R7&l
124、t;/p><p><b> RLC A</b></p><p> MOV R7, A</p><p><b> RET</b></p><p> baojing: jnb P3.7,stopw;;;;;;;;;;;;判斷是否到高位</p><p><b&
125、gt; sjmp zpan</b></p><p> stopw: setb p3.0;;;;;;;;;;;;;;;;;關電機</p><p><b> ret</b></p><p> zpan: jb P3.6,startw;;;;;;;;;;;;判斷是否到低位</p><p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于at89s51單片機的超聲波測距系統(tǒng)畢業(yè)論文
- 基于51單片機超聲波測距畢業(yè)論文
- 基于at89s52單片機超聲波測距系統(tǒng)畢業(yè)論文
- 51單片機超聲波測距畢業(yè)論文
- 基于51單片機超聲波測距畢業(yè)論文
- 51單片機超聲波測距設計--畢業(yè)論文
- 基于51單片機的超聲波測距系統(tǒng)設計-畢業(yè)論文
- 畢業(yè)論文——基于51單片機的超聲波測距系統(tǒng)設計
- 基于51單片機超聲波測距儀設計畢業(yè)論文
- 基于51單片機超聲波測距儀設計【畢業(yè)論文】
- 畢業(yè)論文范文——基于51單片機的超聲波測距系統(tǒng)設計
- 畢業(yè)論文范文——基于51單片機的超聲波測距系統(tǒng)設計
- 基于51單片機的超聲波測距系統(tǒng)設計
- 基于單片機的超聲波測距系統(tǒng)設計畢業(yè)論文
- 基于單片機的超聲波測距系統(tǒng)畢業(yè)論文
- 基于單片機的超聲波測距系統(tǒng)-畢業(yè)論文
- 基于89c51單片機小車超聲波測距畢業(yè)設計
- 畢業(yè)設計---基于51單片機的超聲波測距
- 基于51單片機的超聲波測距系統(tǒng)的
- 基于51單片機的超聲波測距系統(tǒng)的畢業(yè)設計
評論
0/150
提交評論