欧美精品一二区,性欧美一级,国产免费一区成人漫画,草久久久久,欧美性猛交ⅹxxx乱大交免费,欧美精品另类,香蕉视频免费播放

基于單片機的自動往返小車畢業(yè)設計1

上傳人:仙*** 文檔編號:30157667 上傳時間:2021-10-09 格式:DOC 頁數(shù):36 大?。?81.02KB
收藏 版權申訴 舉報 下載
基于單片機的自動往返小車畢業(yè)設計1_第1頁
第1頁 / 共36頁
基于單片機的自動往返小車畢業(yè)設計1_第2頁
第2頁 / 共36頁
基于單片機的自動往返小車畢業(yè)設計1_第3頁
第3頁 / 共36頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《基于單片機的自動往返小車畢業(yè)設計1》由會員分享,可在線閱讀,更多相關《基于單片機的自動往返小車畢業(yè)設計1(36頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、基于單片機的自動往返小車 摘要:本設計以一片單片機STC89C52作為核心來控制自動往返小車,其中控制芯片L298N和單片機聯(lián)合控制小車的前進與后退。路面的黑帶檢測使用反射式紅外傳感器,并通過STC89C52對輸入的信號進行處理;行駛距離使用霍爾元件進行檢測。最后以動態(tài)顯示的形式通過一個LCD液晶顯示即時黑帶個數(shù),運行時間,實時路程等。 關鍵詞: 微控制器 L298N電機控制 霍爾檢測 液晶顯示 The Automatic round-trip car based on SCM Abstract:This design use a microcontr

2、oller STC89C52 as the core to control the automatic round-trip car, the control chip L298N and single chip microcomputer to control the car forward and backward together. The reflective infrared sensor detection the black belt on the road surface, then deal with input signal processing through the S

3、TC89C52. Using the hall element to test the distance. At last displaying instant black belt, running time, real-time distance, etc through a number of LCD liquid crystal in the form of dynamic display Keywords: MCU L298N Motor control Hall detection LED display I 基于單片機的自動往返

4、小車 目錄 摘要 I 關鍵字 I Abstract I Keywords I 0緒論 2 1.1 設計任務 3 1.2方案介紹 4 2.1 系統(tǒng)元器件的選擇與介紹 5 2.1.1 STC89C52R芯片 5 2.1.2 L298N芯片 11 2.1.3霍耳傳感器(HD3020) 14 2.1.4液晶LCD 15 2.2電路模塊的設計 18 2.2.1檢測系統(tǒng) 18 2.2.2距離計算系統(tǒng) 19 2.2.3顯示系統(tǒng) 20 2.2.4電機驅動以及正反轉控制模塊 20 3.1主程序 21 3.2中斷程序 22 3.2.1外部中斷0 22 3.2.2外部中斷

5、1 23 3.2.3定時器中斷0 24 3.2.4定時器中斷1 24 4總結 25 致謝 26 參考文獻 27 附錄 28 0緒論 當今社會,隨著科技發(fā)展的日新月異,特別是計算機技術突飛猛進的發(fā)展,計算機技術帶來了科研和生產(chǎn)的許多重大飛躍,同時計算機也越來越廣泛的被應用到人們的生活、工作領域的各個方面。單片微型計算機以其其體積小、功能強、速度快、價格低等優(yōu)點,在數(shù)據(jù)處理和實時控制等應用中有著無以倫比的優(yōu)越性,可廣泛地嵌入到如玩具、家用電器、機器人、儀器儀表、汽車電子系統(tǒng)、工業(yè)控制單元、辦公自動化設備、金融電子系統(tǒng)、艦船、個人信息終端及通訊產(chǎn)品中。隨著微控

6、制技術(以軟件代硬件的高性能控制技術)的日益完善和發(fā)展,單片機的應用必將導致傳統(tǒng)控制技術發(fā)生巨大的變化。單片微型計算機的應用廣度和深度,已經(jīng)成為一個國家科技水平的一項重要標志。 此論文的題目是自動往返小汽車。要求設計一個能自動往返于起跑線與終點線間的小汽車。車輛從起跑線出發(fā)到達終點線后停留10秒,然后自動返回起跑線。在要求的跑道范圍內完成快行、慢行、停車等功能。停車后自動顯示一次往返的時間和路程。基于上述要求將設計分為以下幾個模塊:STC89C52RC、電機驅動、電機調速、里程檢測、跑道標志檢測、液晶顯示模塊。控制系統(tǒng)采用STC89C52RC單片機;顯示系統(tǒng)采用液晶顯示里程數(shù)和時間;電機正反

7、轉采用橋式驅動控制,2檔電壓調速;里程記錄采用霍爾傳感器;跑道標志線采用光敏管檢測;單片機、電機采用獨立穩(wěn)壓電源供電。 本論文將詳細介紹硬件設計和軟件設計的思路及方法。由于本人在單片機的設計方面還存在一些不足,在論文的寫作和論證上尚存在一些不足之處,敬請各位老師批評指正。 1設計任務及方案介紹 1.1 設計任務 設計并制作一個能自動往返于起跑線與終點線間的小汽車。跑道寬度0.5m,表面貼有白紙,和黑帶。在跑道的B、C、D、E、F、G各點處畫有2cm寬的黑線,各段的長度如圖1-1所示。車輛從起跑線出發(fā)到達終點線后停留10秒,然后自動返回起跑線。D~E間為限速區(qū),車輛往返均

8、要求以低速通過,通過時間不得少于8秒,但不允許在限速區(qū)內停車。跑道頂視圖如圖1.1。 圖1.1 跑道頂視圖

9、 (一)基本要求 (a)車輛從起跑線出發(fā)(出發(fā)前,車體不得超出起跑線),到達終點線后停留10秒,然后自動返回起跑線(允許倒車返回)。往返一次的時間應力求最短(從合上汽車電源開關開始計時)。 (b)到達終點線和返回起跑線時,停車位置離起跑線和終點線偏差應最?。ㄒ攒囕v中心點與終點線或起跑線中心線之間距離作為偏差的測量值)。 (c)D~E間為限速區(qū),車輛往返均要求以低速通過,通過時間不得少于8秒, 但不允許在限速區(qū)內停車。 1.2方案介紹 設計采用單片機STC89C52RC作為

10、系統(tǒng)的控制中心。電機電路采用兩對互補三極管控制電機的驅動;檢測電路采用光敏管來控制小車的快行,慢行,停止;用液晶實現(xiàn)對指定行程和所用時間的顯示。方案方框圖如1.2所示。 里程檢測 STC89C52RC 液晶顯示 電機驅動 電機調速 跑道標志檢測 圖1.2方案方框圖 2. 系統(tǒng)的硬件設計與實現(xiàn) 2.1 系統(tǒng)元器件的選擇與介紹 下面介紹STC89C52RC芯片、L298N芯片、霍爾傳感器、液晶等器件。 2.1.1 STC89C52R芯片 STC89C52是一種帶8K字節(jié)閃爍可編程可檫除只讀存儲器(FPEROM-Flash Program

11、able and Erasable Read Only Memory )的低電壓,高性能COMOS8的微處理器,俗稱單片機。該器件采用ATMEL搞密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。 單片機總控制電路如下圖2.1: 圖2.1單片機總控制電路 1.時鐘電路 STC89C52內部有一個用于構成振蕩器的高增益反相放大器,引腳RXD和TXD分別是此放大器的輸入端和輸出端。時鐘可以由內部方式產(chǎn)生或外部方式產(chǎn)生。內部方式的時鐘電路如圖2.2 (a) 所示,在RXD和TXD引腳上外接定時元件,內部振蕩器就產(chǎn)生自激振蕩。定時元件通常采用石英晶體和電容組

12、成的并聯(lián)諧振回路。晶體振蕩頻率可以在1.2~12MHz之間選擇,電容值在5~30pF之間選擇,電容值的大小可對頻率起微調的作用。 外部方式的時鐘電路如圖2.2(b)所示,RXD接地,TXD接外部振蕩器。對外部振蕩信號無特殊要求,只要求保證脈沖寬度,一般采用頻率低于12MHz的方波信號。片內時鐘發(fā)生器把振蕩頻率兩分頻,產(chǎn)生一個兩相時鐘P1和P2,供單片機使用。 示,RXD接地,TXD接外部振蕩器。對外部振蕩信號無特殊要求,只要求保證脈沖寬度,一般采用頻率低于12MHz的方波信號。片內時鐘發(fā)生器把振蕩頻率兩分頻,產(chǎn)生一個兩相時鐘P1和P2,供單片機使用。 RXD接地,TXD接外部振蕩器。對外

13、部振蕩信號無特殊要求,只要求保證脈沖寬度,一般采用頻率低于12MHz的方波信號。片內時鐘發(fā)生器把振蕩頻率兩分頻,產(chǎn)生一個兩相時鐘P1和P2,供單片機使用。 (a)內部方式時鐘電路 (b)外部方式時鐘電路 圖2.2時鐘電路 2.復位及復位電路 (1)復位操作 復位是單片機的初始化操作。其主要功能是把PC初始化為0000H,使單片機從0000H單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當由于程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需按復位鍵重新啟動。 除PC之外,復位操作還對其他一些寄存器有影響,它們的復位狀態(tài)如表2.1所示。 表2.

14、1 一些寄存器的復位狀態(tài) 寄存器 復位狀態(tài) 寄存器 復位狀態(tài) PC 0000H TCON 00H ACC 00H TL0 00H PSW 00H TH0 00H SP 07H TL1 00H DPTR 0000H TH1 00H P0-P3 FFH SCON 00H IP XX000000B SBUF 不定 IE 0X000000B PCON 0XXX0000B TMOD 00H (2)復位信號及其產(chǎn)生 RST引腳是復位信號的輸入端。復位信號是高電平有效,其有效時間應持續(xù)24個振蕩周期(即二個機器周期)

15、以上。若使用頗率為6MHz的晶振,則復位信號持續(xù)時間應超過4us才能完成復位操作。 產(chǎn)生復位信號的電路邏輯如圖2.3所示: 圖2.3復位信號的電路邏輯圖 整個復位電路包括芯片內、外兩部分。外部電路產(chǎn)生的復位信號(RST)送至施密特觸發(fā)器,再由片內復位電路在每個機器周期的S5P2時刻對施密特觸發(fā)器的輸出進行采樣,然后才得到內部復位操作所需要的信號。 復位操作有上電自動復位相按鍵手動復位兩種方式。 上電自動復位是通過外部復位電路的電容充電來實現(xiàn)的,其電路如圖2.4(a)所示。這佯,只要電源Vcc的上升時間不超過1ms,就可以實現(xiàn)自動上電復位,即接通電源就成了系統(tǒng)的復位初始化。

16、 按鍵手動復位有電平方式和脈沖方式兩種。其中,按鍵電平復位是通過使復位端經(jīng)電阻與Vcc電源接通而實現(xiàn)的,其電路如圖2.4(b)所示;而按鍵脈沖復位則是利用RC微分電路產(chǎn)生的正脈沖來實現(xiàn)的, 其電路如圖2.4(c)所示: (a)上電復位 (b)按鍵電平復位 (c)按鍵脈沖復位 圖2.4復位電路 上述電路圖中的電阻、電容參數(shù)適用于6MHz晶振,能保證復位信號高電平持續(xù)時間大于2個機器周期。 本系統(tǒng)的復位電路采用圖2.4(b)上電復位方式。 STC89C52具體介紹如下: ① 主電源引腳(2根) VCC(Pin40):電源輸入,接+5V電源 GND(

17、Pin20):接地線 ②外接晶振引腳(2根) XTAL1(Pin19):片內振蕩電路的輸入端 XTAL2(Pin20):片內振蕩電路的輸出端 ③控制引腳(4根) RST/VPP(Pin9):復位引腳,引腳上出現(xiàn)2個機器周期的高電平將使單片機復位。 ALE/PROG(Pin30):地址鎖存允許信號 PSEN(Pin29):外部存儲器讀選通信號 EA/VPP(Pin31):程序存儲器的內外部選通,接低電平從外部程序存儲器讀指令,如果接高電平則從內部程序存儲器讀指令。 ④可編程輸入/輸出引腳(32根) STC89C52單片機有4組8位的可編程I/O口,分別位P0、P1、P2、P3

18、口,每個口有8位(8根引腳),共32根。 PO口(Pin39~Pin32):8位雙向I/O口線,名稱為P0.0~P0.7 P1口(Pin1~Pin8):8位準雙向I/O口線,名稱為P1.0~P1.7 P2口(Pin21~Pin28):8位準雙向I/O口線,名稱為P2.0~P2.7 P3口(Pin10~Pin17):8位準雙向I/O口線,名稱為P3.0~P3.7 STC89C52主要功能如表2.2所示。 表2.2 STC89C52主要功能 主要功能特性 兼容MCS51指令系統(tǒng) 8K可反復擦寫Flash ROM 32個雙向I/O口 256x8bit內部RAM 3個1

19、6位可編程定時/計數(shù)器中斷 時鐘頻率0-24MHz 2個串行中斷 可編程UART串行通道 2個外部中斷源 共6個中斷源 2個讀寫中斷口線 3級加密位 低功耗空閑和掉電模式 軟件設置睡眠和喚醒功能 2.1.2 L298N芯片 L298是ST公司生產(chǎn)的一種高電壓、大電流電機驅動芯片。該芯片的主要特點是:工作電壓高,最高工作電壓可達46V;輸出電流大,瞬間峰值電流可達3A,持續(xù)工作電流為2A;內含兩個H橋的高電壓大電流全橋式驅動器,可以用來驅動直流電動機和步進電動機、繼電器、線圈等感性負載;采用標準TTL邏輯電平信號控制;具有兩個使能控制端,在不受輸入信號影響的情

20、況下允許或禁止器件工作;有一個邏輯電源輸入端,使內部邏輯電路部分在低電壓下工作;可以外接檢測電阻,將變化量反饋給控制電路。 (1)L298芯片的引腳圖如下圖2.5。 圖2.5 L298芯片引腳圖 (2)L298芯片的引腳功能下表2.3 表2.3 L298芯片的引腳功能 引腳 符號 功能 1 15 SENSING A SENSING B 此兩端與地連接電流檢測電阻,并向驅動芯片反饋檢測到的信號 2 3 OUT 1 OUT 2 此兩腳是全橋式驅動器A的兩個輸出端,用來連接負載 4 Vs 電機驅動電源輸入端 5 7 I

21、N 1 IN2 輸入標準的TTL邏輯電平信號,用來控制全橋式驅動器A的開關 6 11 ENABLE A ENABLE B 使能控制端.輸入標準TTL邏輯電平信號;低電平時全橋式驅動器禁止工作。 8 GND 接地端,芯片本身的散熱片與8腳相通 9 Vss 邏輯控制部分的電源輸人端口 10 12 IN 3 IN 4 輸入標準的TTL邏輯電平信號,用來控制全橋式驅動器B的開關 13 14 OUT 3 OUT 4 此兩腳是全橋式驅動器B的兩個輸出端,用來連接負載 (5)L298有Mutiwatt15和PowerSO20兩種封裝 兩種封

22、裝的實物圖如下圖2.6所示 圖2.6 L298兩種封裝的實物圖 本次選用的是Mutiwatt15。 2.1.3霍耳傳感器(HD3020) 霍耳傳感器是利用半導體的磁電效應中的霍耳效應,將被測物理量轉換成霍耳電勢。 (1)、霍耳效應:將一載流體置于磁場中靜止不動,若次載流體中的電流方向與磁場方向不相同時,則在此載流體中平行于由電流方向和磁場方向所組成的平面上將產(chǎn)生電勢,此電勢稱為霍耳電勢,此現(xiàn)象稱為霍耳效應。[16] 霍耳電勢 U=BbI/neb 式中:B——外磁場的磁感應強度: I

23、——通過基片的電流; n——基片材料中的載流子濃度; e——電子電荷量; b——基片寬度; d——基片厚度。 (2)、 霍耳元件一般采用具有N型的鍺、銻化銦和砷化銦等半導體單晶材料造成。銻化銦元件的輸出較大,但受溫度的影響也較大。鍺元件的輸入雖小,但它的溫度性能和線性度卻比較好。砷化銦元件的輸出信號沒有銻化銦元件大,但是受溫度的影響卻比銻化銦要小,而且線性度也較好,因此,采用砷化銦做霍耳元件的材料受到普遍重視。一般地,在高精度測量中,大多采用鍺和砷化銦元件;作為敏感元件時,材料采用銻化銦元件。 霍耳元件的結構很簡單

24、,它由霍耳片、引線和殼體組成。霍耳片是一塊矩形半導體薄片。在長邊的兩個端面上焊上兩根控制電流端引線,在元件短邊的中間以點的形式焊上兩根霍耳輸出端引線,在焊接處要求接觸電阻小,而且呈純電阻性質。霍耳片一般用非磁性金屬、陶瓷或環(huán)氧樹脂封裝。 2.1.4液晶LCD 帶中文字庫的128X64是一種具有4位/8位并行、2線或3線串行多種接口方式,內部含有國標一級、二級簡體中文字庫的點陣圖形液晶顯示模塊;其顯示分辨率為12864, 內置8192個16*16點漢字,和128個16*8點ASCII字符集.利用該模塊靈活的接口方式和簡單、方便的操作指令,可構成全中文人機交互圖形界面。可

25、以顯示84行1616點陣的漢字. 也可完成圖形顯示.低電壓低功耗是其又一顯著特點。由該模塊構成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結構或顯示程序都要簡潔得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊。[17] (1)基本特性 (1)低電源電壓(VDD:+3.0--+5.5V) (2)顯示分辨率:12864點 (3)內置漢字字庫,提供8192個1616點陣漢字(簡繁體可選) (4)內置 128個168點陣字符 (5)2MHZ時鐘頻率 (6)顯示方式:STN、半透、正顯 (7)驅動方式:1/32DUTY,1/5BIAS (8)視角方向:6

26、點 (9)背光方式:側部高亮白色LED,功耗僅為普通LED的1/5—1/10 (10)通訊方式:串行、并口可選 (11)內置DC-DC轉換電路,無需外加負壓 (12)無需片選信號,簡化軟件設計 (13)工作溫度: 0℃ - +55℃ ,存儲溫度: -20℃ - +60℃ (2)模塊接口說明如下表2.4所示 管腳號 管腳名稱 電平 管腳功能描述 4 RS(CS) H/L RS=“H”,表示DB7——DB0為顯示數(shù)據(jù) RS=“L”,表示DB7——DB0為顯示指令數(shù)據(jù) 5 R/W(SID) H/L R/W=“H”,E=“H”,數(shù)據(jù)被

27、讀到DB7——DB0 R/W=“L”,E=“H→L”, DB7——DB0的數(shù)據(jù)被寫到IR或DR 6 E(SCLK) H/L 使能信號 7—14 DB0 H/L 三態(tài)數(shù)據(jù)線 15 PSB H/L H:8位或4位并口方式,L:串口方式(見注釋1) 16 NC - 空腳 17 /RESET H/L 復位端,低電平有效(見注釋2) 18 VOUT - LCD驅動電壓輸出端 表2.4模塊接口說明 *注釋1:如在實際應用中僅使用串口通訊模式,可將PSB接固定低電平,也可以將模塊上的J8和“GND”用焊錫短接。 *注釋2:模塊內部接有上電復位電路,因此

28、在不需要經(jīng)常復位的場合可將該端懸空。 (3)RS,R/W的配合選擇決定控制界面的4種模式: RS R/W 功能說明 L L MPU寫指令到指令暫存器(IR) L H 讀出忙標志(BF)及地址記數(shù)器(AC)的狀態(tài) H L MPU寫入數(shù)據(jù)到數(shù)據(jù)暫存器(DR) H H MPU從數(shù)據(jù)暫存器(DR)中讀出數(shù)據(jù) 表2.5控制界面的4種模式 (4)E信號 E狀態(tài) 執(zhí)行動作 結果 高—>低 I/O緩沖—>DR 配合/W進行寫數(shù)據(jù)或指令 高 DR—>I/O緩沖 配合R進行讀數(shù)據(jù)或指令 低/低—>高 無動作 表

29、2.6 E信號 2.2電路模塊的設計 2.2.1檢測系統(tǒng) 檢測系統(tǒng)主要是黑帶采樣模塊,黑帶采樣模塊我們采用反射式光電檢測電路對跑道上的黑線進行檢測,并用兩個遮光套管套住發(fā)光管和接收管以一定的角度緊貼跑道,這樣可以消除外界光線的干擾。為了加強可靠性采用槽型光耦檢測輪子轉動的行程。用LM358電壓比較器輸出高低電平檢測信號。如圖所示2.7: 圖2.7 2.2.2距離計算系統(tǒng) 采用霍爾元件感應磁場產(chǎn)生脈沖的原理,再對脈沖進行計數(shù),所以我們在小車的前輪上安裝了一塊小磁鐵并計算出車輪旋轉一圈的路程。通過MCU編程后檢測到一個脈沖

30、后顯示自動上加一個輪子的路程,再通過液晶HJ12864M—1顯示出來下圖為霍爾元件的工作原理如圖2.8所示: 圖2.8霍爾元件的工作原理 霍爾傳感器實際電路圖如圖2.9所示: 圖2.9霍爾傳感器實際電路圖 2.2.3顯示系統(tǒng) 用到單片機控制的液晶顯示[17],液晶用到能顯示漢字、數(shù)字、字母和圖像的HJ12864M—1液晶。通過液晶我們可以很清楚顯示出小車在運行是的時間、檢測的黑帶的條數(shù)、運行的速度以及運行的路程。使得一個很機械化的小車變得人性化,更好的了解小車的運動情況和穩(wěn)定性。液晶的實圖(2.10)和液晶的控制電路(2.11)如下:

31、 圖2.10液晶的實圖 圖2.11液晶的控制電路 2.2.4電機驅動以及正反轉控制模塊 考慮到小車的往返以及小車到達限速區(qū)時要減速行駛的要求,我們用到了專門的電機驅動模塊——L298驅動電路。該電路采用電動機驅動芯片L298來控制電動機的正轉與反轉,加以第二路電機電源保證了電動機啟動時有足夠的電流。在試驗中控制電壓為單片機輸出的高低電平直接控制。電路連接如圖2.12所示: 圖2.12 L298驅動電路連接圖 3系統(tǒng)的軟件設計 單片機控制電路主要由一片STC89C52組成,通過P3口控制小車正轉與反轉,剎車,加速減速,通過兩個四聯(lián)數(shù)碼

32、管控制顯示時間和里程以及小車行駛的時間。其中P0口進行位選,P2口進行顯示段碼輸出。 該系統(tǒng)采用上電復位加上手動復位聯(lián)合復位系統(tǒng)進行初始化,單片機通過P3.0,P3.1輸出脈沖控制電機正轉反轉以及剎車,當P3.0,P3.1分別輸出01是電動機正轉,輸出10時電動機反轉,輸出00時電動機兩邊短路,小車立即剎車。 3.1主程序 主要完成初始化工作,設定小汽車的初始運行狀態(tài),最后循環(huán)調用顯示子程序, 流程圖如3-1所示。 開始 前進 檢測黑帶 調用顯示子程序 打開電源 圖3.1 主程序流程圖 3.2中斷程序 3.2.1外部中斷0 車輪每

33、轉一次,霍爾元件產(chǎn)生一個脈沖P3.14,通過下降沿觸發(fā)外部中斷0,并且在每進行一次外部中斷記錄圈數(shù)的變量加1,具體流程圖如圖3.2所示: 開始 車輪每轉一圈 霍爾元件產(chǎn)生一個脈沖 外部中斷 INT0 圈數(shù)quanshu++ 圖3.2 外部中斷0流程圖 3.2.2外部中斷1 光電檢測每檢測到一條黑帶就產(chǎn)生一個脈沖輸入P3.2口,通過下降沿的方式觸發(fā)外中斷1,每中斷一次記錄黑帶的變量加1,當檢測到第五條黑帶時,p1.0=1,p1.1=1,小車的電動機由于短路剎車,當檢測到第九條黑帶時,小車再次剎車同時關掉所有中斷。具體流程圖如圖3.

34、3所示: 開始 P3.0=1,P3.1=1 EA=0,剎車 退出 第5條? 第9條? 黑帶數(shù)加1 Y Y Y N 圖3.3 外部中斷1流程圖 3.2.3定時器中斷0 使用定時器T0產(chǎn)生5ms定時中斷,每次執(zhí)行該中斷前要先給定時器0賦初值,定時器中斷每執(zhí)行一次,變量加1。當i=200時,即每當計時1秒時,時間變量t加1,速度等于一秒轉的圈數(shù)和小車車輪的周長相乘。具體流程圖如圖3.4所示: 開始 控制一秒定時,i++ 轉的總圈數(shù)q;路程=周長*圈數(shù)q 產(chǎn)生5ms中斷 退出 一秒定時是否到

35、 Y 圖3.4 定時器中斷0流程圖 3.2.4定時器中斷1 主要用來產(chǎn)生不同的占空比的波型進行高低速控制,每次執(zhí)行時,定時器1要賦初值。 4總結 本系統(tǒng)以單片機STC89C52芯片為核心部件,在玩具小車上進行改裝利用光電檢測、傳感器檢測技術并配合軟件實現(xiàn)了小車的黑線檢測、里程檢測、時間顯示等功能,最終使小車完成設計題目要求的各項任務。該系統(tǒng)還有許多值得改進的地方:比如小車兩側可以同樣加上傳感器來檢測路沿,是的小車在固定的軌道上行駛,不至于偏出;另外還可以加上遙控裝置更加方便人的控制操作。 經(jīng)過三個多月時間的畢業(yè)設計鍛煉,我覺得自己對單片機知識有了一定的了解。對單片機硬件結構

36、的研究和軟件編程的興趣增加不少。歸納起來,主要有以下兩點: (1)我經(jīng)過這次系統(tǒng)的畢業(yè)設計,熟悉了對一項課題進行研究、設計和實驗的過程中要注意團隊合作;要有了嚴肅認真和實事求是的科學態(tài)度同時還要有吃苦耐勞的精神以及相對應的工程意識。,這些在我們在將來的工作和學習當中都會有很大的幫助。 (2)學會了怎樣查閱資料和利用工具書。學習知識不能局限于一本書,應多看幾本,這樣既可以進行比較又增加了見識。另外平時課堂上所學習的知識大多比較陳舊,作為電子科學與技術的學生,由于專業(yè)特點自己更要積極查閱當前的最新電子資料。要及時地有針對性地查閱資料,然后加以吸收利用,以提高自己的應用能力,增長自己見識,補充最

37、新的專業(yè)知識。 在本次設計過程中,遇到了許多突發(fā)事件和各種困難,但通過仔細分析和請教無線電小組的同學,指導老師老師,問題逐一得到了解決。在這個過程中我深刻體會到共同協(xié)作和團隊精神的重要性,提高了自己解決問題的能力。在科學上需要一個嚴謹認真的態(tài)度,這點對于我以后的學習和工作,都有著非常重要的作用。 致謝 誠摯感謝指導老師戴新宇的關心、指導和教誨,戴新宇老師嚴謹治學、追求真理的科研作風和嚴于利己、寬以待人的崇高品質對學生將是永遠的鞭策。 還要感謝我的同學許康康,他曾是我們院無線電小組的副組長,在電路設計、編程、電路焊接方面有很強的能力。在制作的過程中給與我很大的幫助,最

38、后小車一些問題他也參與改進。有了他的幫助,設計才能更順利地完成。 同時感謝我的母校江蘇師范大學四年來對我的教育和關心,在這里我不僅學習到了專業(yè)的知識還學習到了厚重篤實,勵志敏行。這使我端正了態(tài)度,明確了方向,樹立了正確的人生觀和價值觀,使我受用終身! 最后衷心的感謝我的父母多年來對我的養(yǎng)育之恩和在生活上無微不至的關懷,沒有他們就有我的今天。四年來父母辛勤工作為我支付昂貴的學費和生活費,噓寒問暖,看似簡單平凡但這其中又包含著樸素偉大和最無私的愛,使我得以安心學習文化知識,成為一個對社會有用的人。這份養(yǎng)育之恩我將永遠銘記與心.在此謹向他們致以深深的謝意!

39、 參考文獻 [1]田立,代方震.2007. 51單片機C語言程序設計快速入門.北京.人民郵電出版社 [2]李朝青.2005.單片機原理及接口技術(第3版).北京.北京航天航空大學出版社. [3]郭天祥.編著.51單片機C語言教程——入門,提高,開發(fā).拓展全攻略 [4]李忠國.陳剛.編著.單片機應用技能實訓 [5]劉南平.主編.朱鳳芝.歐觸靈.副主編.現(xiàn)代電子設計與制作技術 [6]楊翠南.楊碧石.主編 . 數(shù)字電子技術與邏輯設計教程 [7]余發(fā)山,王福忠.單片機原理及應用技術.徐州:中國礦業(yè)大學出版社,2003 [8]陳權昌 李興

40、富 單片機原理及應用. 廣東:華南理工大學出版社,2007 [9]黃智偉. 凌陽單片機課程設計指導.北京:北京航空航天大學出版社,2006 [10]李光飛 .單片機課程設計實例指導 .北京:北京航空航天大學出版,2004 [11] 張友德.單片微型機原理、應用與實踐[M].上海:復旦大學出版社,1992 [12] 李華.MCS-51系列單片機實用接口技術[M],北京:北京航空航天大學出版社 [13]求是科技. 單片機典型模塊設計實例導航. 北京:人民郵電出版社. 2005.8 [14]徐淑華, 程退安等.單片微型機原理及應用. 哈爾濱:哈爾濱工業(yè)大學出版社. [15]孫余凱. 精

41、選實用電子電路260例. 北京:電子工業(yè)出版社. 2007.6 [16]殷春浩, 崔亦飛. 電磁測量原理及應用. 徐州:中國礦業(yè)大學出版社. 2003.7 [17]《LCD1602A數(shù)據(jù)手冊》 附錄:源程序代碼 #include sbit CS=P1^1; sbit SID=P1^2; sbit SCLK=P1^3; sbit dj_in1=P2^7; sbit dj_in2=P2^6; sbit dj_in3=P2^5; sbit dj_in4=P2^4; sbit hd=P3^2; #define ui

42、nt unsigned int #define uchar unsigned char uchar code dis1[]={"黑帶: 條"}; uchar code dis2[]={"路程: cm"};

43、

44、

45、

46、

47、

48、

49、 uchar code dis3[]={"時間: s"}; uchar code dis4[]={"作者: 0931 王楠"}; uchar dis5[3]; uchar dis6[3]; uchar dis7[3]; char heidai; uint i; uint miao,num,num1; uint j,quan; uint lucheng; uint ge1,shi1,bai1,ge2,shi2,bai2,ge3,shi3,bai3; void delayms(uint x) { uint i,j;

50、 for(i=x;i>0;i--) for(j=110;j>0;j--); } //每次操作由三個字節(jié)組成 void write_cmd(uchar command_data) //寫指令 { uchar i; uchar i_data; i_data=0xf8; //第一個:命令控制字,寫指令發(fā)0xf8 CS=1;//cs必須是高電平 SCLK=0; for(i=0;i<8;i++) { SID=(bit)(i_data&0x80); SCLK=0

51、; SCLK=1; i_data=i_data<<1; } i_data=command_data; i_data&=0xf0;//第二個字節(jié)的高4位為指令或數(shù)據(jù)的高4位,第二個字節(jié)的低4位補0 for(i=0;i<8;i++) { SID=(bit)(i_data&0x80); SCLK=0; SCLK=1; i_data=i_data<<1; } i_data=command_data;

52、 i_data<<=4;//第三個字節(jié)的高4位為指令或數(shù)據(jù)的低4位,第三個字節(jié)的低4位補0 for(i=0;i<8;i++) { SID=(bit)(i_data&0x80); SCLK=0; SCLK=1; i_data=i_data<<1; } CS=0; delayms(10); } void write_data(uchar command_data) //寫數(shù)據(jù) { uchar i; uchar i_dat

53、a; i_data=0xfa; CS=1; for(i=0;i<8;i++) { SID=(bit)(i_data&0x80); SCLK=0; SCLK=1; i_data=i_data<<1; } i_data=command_data; i_data&=0xf0; for(i=0;i<8;i++) { SID=(bit)(i_data&0x80); SCLK=0

54、; SCLK=1; i_data=i_data<<1; } i_data=command_data; i_data<<=4; for(i=0;i<8;i++) { SID=(bit)(i_data&0x80); SCLK=0; SCLK=1; i_data=i_data<<1; } CS=0; delayms(10); } void lcd_pos(uchar X,uch

55、ar Y) { uchar pos; if(X==0) X=0x80; else if(X==1) X=0x90; else if(X==2) X=0x88; else if(X==3) X=0x98; pos=X+Y; write_cmd(pos); } void lcd_init() { write_cmd(0x30); delayms(5); write_cmd(0x0c); delayms(5); write_cmd(0x01); delayms(5); } void display1()

56、 { lcd_pos(0,0); i=0; while(dis1[i]!=\0) { write_data(dis1[i]); i++; } lcd_pos(1,0); i=0; while(dis2[i]!=\0) { write_data(dis2[i]); i++; } lcd_pos(2,0); i=0; while(dis3[i]!=\0) { write_data(dis3[i]); i++; } lcd_pos(3,0); i=0; w

57、hile(dis4[i]!=\0) { write_data(dis4[i]); i++; } } void display() { uint k; lcd_pos(0,3); bai1=heidai/100; shi1=heidai%100/10; ge1=heidai%10; dis5[0]=bai1+0x30; //<==>dis5[0]=bai1+0; dis5[1]=shi1+0x30; dis5[2]=ge1+0x30; for(k=0;k<3;k++) write_data(dis5[k

58、]); lcd_pos(1,3); bai2=lucheng/100; shi2=lucheng%100/10; ge2=lucheng%10; dis6[0]=bai2+0x30; dis6[1]=shi2+0x30; dis6[2]=ge2+0x30; for(k=0;k<3;k++) write_data(dis6[k]); lcd_pos(2,3); bai3=miao/100; shi3=miao%100/10; ge3=miao%10; dis7[0]=bai3+0x30; dis7[1]=shi3+0x

59、30; dis7[2]=ge3+0x30; for(k=0;k<3;k++) write_data(dis7[k]); } void main() { lcd_init(); EA=1; TMOD=0x11; TH0=(65535-50000)/256; TL0=(65535-50000)%256; TH1=(65535-50000)/256; TL1=(65535-50000)%256; ET0=1; ET1=1; TR0=1; EX0=1; IT0=1; EX1=1; IT1=1; display1()

60、; while(1) { switch(heidai) { case 0: case 1: case 2: case 4: case 5: dj_in1=1; dj_in2=0; dj_in3=0; dj_in4=1; break; case 3: dj_in1=1; dj_in2=0; dj_in3=0; dj_in4=1; delayms(100); dj_in1=0; dj_in2=0;

61、 dj_in3=0; dj_in4=0; delayms(50); break; case 6: delayms(80); dj_in1=0; dj_in2=0; dj_in3=0; dj_in4=0; TR1=1; while(j<=10) { dj_in1=0; dj_in2=0; dj_in3=0; dj_in4=0; } TR1=0; dj_in1=0; dj_in2=1;

62、 dj_in3=1; dj_in4=0; break; case 7: case 8: case 10: case 11: dj_in1=0; dj_in2=1; dj_in3=1; dj_in4=0; break; case 9: dj_in1=0; dj_in2=1; dj_in3=1; dj_in4=0; delayms(100); dj_in1=0; dj_in2=0; dj_in3=

63、0; dj_in4=0; delayms(50); break; case 12: dj_in1=0; dj_in2=0; dj_in3=0; dj_in4=0; EA=0; TR0=0; break; default: dj_in1=0; dj_in2=0; dj_in3=0; dj_in4=0; break; } display(); } } void zd0() interrupt 0

64、 { // delayms(100); heidai++; } void zd1() interrupt 2 { quan++; lucheng=12*quan; } void timer0() interrupt 1 { TH0=(65535-50000)/256; TL0=(65535-50000)%256; num++; if(num==20) { miao++; num=0; } } void timer1() interrupt 3 { TH1=(65535-50000)/256; TL1=(65535-50000)%256; num1++; if(num1==20) { num1=0; j++; } } 35

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!