




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、目錄1 緒論12 設計目的13整體設計13.1 設計要求13.2 設計思路13.3 設計方案24 硬件電路設計44.1 單片機系統(tǒng)44.1.1 單片機型號選擇44.1.2 STC89C52硬件簡介54.2 鏡面反射式光電開關模塊54.3復位電路和晶振電路64.3.1 復位電路設計64.3.2晶振電路設計64.4 LCD顯示模塊74.4.1液晶1602的工作原理74.4.2液晶1602的引腳說明84.4.3讀寫時序操作及基本操作指令94.5 總體電路設計104.5.1 各模塊組成104.5.2 元件清單115 程序設計115.1 程序設計總思路115.2 系統(tǒng)子程序設計125.2.1 主程序12
2、5.2.2 LCD1602初始化136仿真156.1 軟件調試156.2 仿真結果156.2.1系統(tǒng)仿真、實際結果圖157 心得體會178 參考文獻17附錄118元件清單18附錄219源程序:19(1) 頭文件Include.h源程序19(2) 顯示屏lcd1602.c源程序19(3) 主模塊main.c源程序23基于51單片機控制的障礙檢測器1 緒論目前許多的課程設計都具有一定的智能化,所以檢測障礙物模塊的研究必不可少,這樣可以提高產品的智能化,例如小車循跡,機器人智能行走等等都需要用到智能的障礙檢測器用來提供產品對所處環(huán)境的判斷。本文主要闡述一種基于光電開關和單片機實時測出前方障礙的設計。
3、以STC89C52RC單片機為核心,光電開關檢測前方障礙,實現(xiàn)對產品前方障礙的檢測。該障礙檢測器能將傳感器輸入到單片機的脈沖信號送至LCD1602顯示。軟件部分用C語言進行編程,采用模塊化設計思想。該系統(tǒng)硬件電路簡單,子程序具有通用性,符合設計要求。2 設計目的了解一般電氣控制系統(tǒng)設計過程、設計要求、應完成的共工作內容和具體設計方法。培養(yǎng)獨立工作能力與創(chuàng)造力;綜合運用專業(yè)及基礎知識的能力,解決實際工程技術問題的能力;培養(yǎng)查閱圖書資料、產品手冊和各種工具書的能力;工程繪圖的能力;書寫技術報告和編制技術資料的能力。通過這一學期的學習,覺得課堂上學到的理論知識沒有能夠及時的轉化為動手能力和實驗能力,
4、而課程設計環(huán)節(jié)正好解決了這一隱患,使我們能夠真正的把學到的理論轉換為實踐。鑒于此,本人選擇障礙檢測器儀作為研究方向,一方面為了增進對單片機的認識,加深對單片機理論方面的理解,鞏固所學理論知識;掌握單片機的內部功能模塊的應用;另一方面培養(yǎng)自己系統(tǒng)設計的思想,培養(yǎng)自己的軟件設計能力,提高自己的動手能力;培養(yǎng)自己查閱相關資料、撰寫文檔的能力和自學、科研的能力。3整體設計3.1 設計要求利用光電開關的檢測,觀點開關在檢測到空心區(qū)域會讓光電開關的信號通過通過比較器產生高電平送給單片機,在實心區(qū)域會隔離光電開關的信號通過比較器產生低電平送給單片機,通過高低電平的切換和數(shù)據(jù)處理后我們可以實時的測出前方是否有
5、障礙物。3.2 設計思路(1)根據(jù)設計要求,選擇STC89C52RC單片機為核心控制器件。(2)光電開關和碼盤組成脈沖采集模塊。(3)實時檢測結果顯示采用LCD1602液晶顯示屏。3.3 設計方案障礙檢測器由五部分組成,有單片機的核心的主控電路,有提供時鐘信號的晶振電路,有提供初始化的復位電路,有顯示結果的顯示電路,還有主要的障礙檢測電路。五個模塊各司其職,又緊密聯(lián)系,當光電開關模塊檢測到前方有障礙物時輸入高電平給單片機,再由單片機控制1602顯示屏顯示“異?!弊謽樱划敼怆婇_關模塊檢測到前方沒有障礙物時輸入低電平給單片機,再由單片機控制1602顯示屏顯示“正?!弊謽?。4 硬件電路設計4.1 單
6、片機系統(tǒng)4.1.1 單片機型號選擇單片機就是將微處理器、存儲器、總線、定時器/計數(shù)器、輸入/輸出接口、中斷系統(tǒng)和其它多種功能器件集成在一塊芯片上的微型計算機。具有可靠性高、便于擴展、控制功能強、控制指令豐富、低電壓、低功耗、片內存儲容量較小、集成度高、體積小、性價比高、應用廣泛、易于產品化等特點。所以單片機的選擇很必要,選擇合適的單片機不僅能做到資源合理利用,更是能更有效的幫助我們完成設計內容,達到理想的設計成果。在此次研究中,我根據(jù)單片機內部的指令結構,程序存儲方式以及功能等幾個方面選擇了STC89C52這種單片機。4.1.2 STC89C52硬件簡介STC89C52單片機作為核心控制體,該
7、單片機具有高可靠,超低價,低功耗,無法解密等優(yōu)點。該單片機屬于雙列直插式封裝的PDI40口管腳。具有4個輸入輸出端口,分別為PORT0、PROT1、PROT2、PROT3,其中P0口是一組8位漏極開路型雙向IO口,校驗時,要求接上拉電阻。其他三個內部有30K的電阻,所以不用再外接電阻。此單片機具有6個中斷,其中包括三個定時器中斷,二個外部中斷,一個串口中斷,為全雙工通信口。內部有靜態(tài)非易失EEPROM和看門狗。片內含8Kbbytes的可反復檫寫的只讀程序存儲器(PEROM)和256bytes的隨機存取數(shù)據(jù)存儲器(RAM),功能強大,適合許多較為復雜的控制應用場合。相比較其他芯片來說比較適合學生
8、試驗所用,故采用此單片機作為核心控制芯片。核心控制器件選用STC89C52單片機。STC89C52單片機為40管腳雙列直插芯片,它是一種高 性 能,低 功 耗 的8位CMOS微 處 理 器 芯 片,市 場 應 用 最 多。而 且 價 格 便 宜,控 制方便,便于應用有4個I/O口分別為P1、P2、P3、P4。其中每一個管腳都能做獨立的輸入輸出管腳,它的第9腳位復位管腳,接上電容和上拉電阻再帶個開關構成復位電路。18,19管腳接外部晶振和兩個微調電容構成外部晶振電路。單片機、復位電路、晶振、電源構成單片機最小系統(tǒng)。4.2 鏡面反射式光電開關模塊光電開關由振蕩回路產生的調制脈沖經反射電路后,然后用
9、數(shù)字積分光電開關或RC積分方式排除干擾,最后經延時(或不延時)觸發(fā)驅動器輸出光電開關控制信號。利用光學元件,在傳播媒介中間使光束發(fā)生變化;利用光束來反射物體;使光束發(fā)射經過;長距離后瞬間返回。光電開關是由發(fā)射器、接收器和檢測電路三部分組成。發(fā)射器對準目標發(fā)射光束,發(fā)射的光束一般來源于發(fā)光二極管(LED)和激光二極管。光束不間斷地發(fā)射,或者改變脈沖寬度。受脈沖調制的光束輻射強度在發(fā)射中經過多次選擇,朝著目標不間接地運行。接收器有光電二極管或光電三極管組成。在接收器的前面,裝有光學元件如透鏡和光圈等。在其后面的是檢測電路,它能濾出有效信號和應用該信號。光電耦合器是以光為媒介傳輸電信號的一種電一光一
10、電轉換器件。它由發(fā)光源和受光器兩部分組成。把發(fā)光源和受光器組裝在同一密閉的殼體內,彼此間用透明絕緣體隔離。發(fā)光源的引腳為輸入端,受光器的引腳為輸出端,常見的發(fā)光源為發(fā)光二極管,受光器為光敏二極管、光敏三極管等等。光電耦合器的種類較多,常見有光電二極管型、光電三極管型、光敏電阻型、光控晶閘管型、光電達林頓型、集成電路型等。工作原理在光電耦合器輸入端加電信號使發(fā)光源發(fā)光,光的強度取決于激勵電流的大小,此光照射到封裝在一起的受光器上后,因光電效應而產生了光電流,由受光器輸出端引出,這樣就實現(xiàn)了電一光一電的轉換。4.3復位電路和晶振電路4.3.1 復位電路設計圖2 復位電路4.3.2晶振電路設計圖3
11、晶振電路4.4 LCD顯示模塊4.4.1液晶1602的工作原理1602液晶應用非常廣泛,操作簡單,功能強大,采用1602液晶顯示各種數(shù)字信息最為合適,通過對單片機的編程來控制DS1302和DS18B20芯片的讀寫操作來獲取相應的信息,再通過對液晶的編程控制將獲取到的信息通過一系列轉換從而顯示到1602液晶上。最后達到有實時時鐘、萬年歷、溫度測量、秒表、鬧鐘等功能。系統(tǒng)論證時通過在單片機學習板上的試驗操作,能夠達到預期的效果。具體電路的制作是很簡單的,就接了兩個電阻,一個是10歐姆的背光限流電阻,另一個是2K的LCD極板電壓調節(jié)電阻。這兩個電阻的阻值怎么定呢?背光比較簡單,它就相當于在后面接了幾
12、個發(fā)光二極管,任何時候只要在15、16腳串上個100歐的電位器接上電源,調節(jié)電位器,覺得亮度合適。此時的阻值便可。LCD液晶極板驅動電壓調節(jié)電阻的確定就稍微麻煩一點。在各數(shù)據(jù)線,控制線接好關通上電源的前提下在第3腳(VEE)和地之間接一個10K的電位器。調節(jié)電位器。當3腳電壓高時為全亮,電壓為0時為全暗(液晶全顯示為黑塊)。用電位器把屏幕從全暗剛好調到變亮。這時便可調試程序。待屏幕能正確顯示后再細調電位器,使對比度合適。這時的阻值便可確定,然后換成等值的固定電阻焊上便可。表1 基本參數(shù)4.4.2液晶1602的引腳說明圖4 LCD1602引腳圖表2 各引腳說明4.4.3基本操作指令1602液晶模
13、塊的讀寫操作、屏 幕 和 光標的操作都是通 過 指令編程來實現(xiàn)的。(說明:1為高電平、0為低電平)。 指令1:清顯示,指令碼01H,光標復位到地址00H位置。指令2:光標 復 位,光標返回到地址00H。指令3:光標和顯示模式設置I/D:光 標移動方向,高電平右移,低電平左移S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。指令4:顯 示 開關控制。D:控制整體顯 示 的 開與關,高電平表示開顯示,低電平表示關顯示 C:控制光標的開與關,高電平表示有光標,低電平表示無光標 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標 或 顯示移 位&
14、#160;S/C:高電平時移 動 顯示的文字,低電平時移動光標。指令6:功能設 置 命令DL:高電平時 為 4位 總 線 ,低電平時為8位 總 線 N:低電平時 為 單行顯示,高電平時雙行顯示F:低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符。指令7:字符發(fā)生器RAM地址設置。 指令8:DDRAM地址設置。 指令9:讀忙信號和光標地址BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。 指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。4.4.4讀寫時序操作(1)寫操作: 當我們要寫指令
15、字,設置LCD1602的工作方式時:需要把RS置為低電平,RW置為低電平,然后將數(shù)據(jù)送到數(shù)據(jù)口D0D7,最后E引腳一個高脈沖將數(shù)據(jù)寫入。 當我們要寫入數(shù)據(jù)字,在1602上實現(xiàn)顯示時:需要把RS置為高電平,RW置為低電平,然后將數(shù)據(jù)送到數(shù)據(jù)口D0D7,最后E引腳一個高脈沖將數(shù)據(jù)寫入。 發(fā)現(xiàn)了么,寫指令和寫數(shù)據(jù),差別僅僅在于RS的電平不一樣而已。(2)讀操作:4.5 總體電路設計4.5.1 各模塊組成(1)根據(jù)設計要求,選擇STC89C52RC單片機為核心控制器件。(2)光電開關脈沖采集模塊。(3)LCD1602液晶顯示屏。(4)復位電路。(5)晶振電路。4.5.2
16、 使用元件介紹(1)主控芯片:STC89C52RC一塊,光電模塊一個。(2)電阻10K一個(作為復位電路上拉電阻),10uf電解電容(復位充電)。(3)LCD1602液晶顯示屏(實時顯示當前里程),排阻一個(P0口上拉電阻)。(4)30pf電容兩個和12MHZ晶振一個(晶振穩(wěn)頻,電容濾波)。圖7 整體電路圖5 程序設計5.1 程序設計總思路根據(jù)模塊的劃分原則,將該程序劃分初始化模塊,光電模塊子程序和顯示子程序,這三個程序模塊構成了整個系統(tǒng)軟件的主程序,如圖所示。開始Lcd1602初始化前方有障礙物? Yes No顯示正常顯示異常圖8 主程序框圖5.2 系統(tǒng)具體程序設計5.2.1 主程序設計通過
17、查詢光電開關傳輸?shù)母叩碗娖?,檢測光電開光前方是否有障礙物。int main(void) LCD_Init(); while(1)if(!KeyPress)Disp_Normal();while(!KeyPress);LCD_Clear();elseDisp_Unusual();while(KeyPress);LCD_Clear();return 0;5.2.2 LCD1602初始化子程序設計Lcd1602初始化為對相關寄存器的配置,LCD的配置分為寫數(shù)據(jù)和些命令,需要對RS拉高拉低進行選擇void LCD_Init() LCD_WriteCmd(0x38);/*功能設定*/ Delayms(1
18、);/*延時1ms確保數(shù)據(jù)準確送達,下同*/ LCD_WriteCmd(0x01); /*清屏,將光標移至左上角*/ Delayms(1); LCD_WriteCmd(0x06);/*設定進入模式*/ Delayms(1); LCD_WriteCmd(0x0c);/*打開顯示器開關*/ Delayms(1);void LCD_WriteCmd(u8 cmd) RS = 0;/*拉低進入命令寫入模式*/ EN = 0; P0 = cmd; EN = 1;/*使能數(shù)據(jù)口接收信號*/ Delayms(1);/*延時確保命令寫入*/ EN = 0;void LCD_WriteData(u8 dat)
19、RS = 1;/*拉高進入數(shù)據(jù)寫入模式*/ EN = 0; P0 = dat; EN = 1; Delayms(1); EN = 0;6仿真6.1 軟件調試軟件仿真過程應該為:首先,繪畫出ptotues的電路圖,然后再在kiel4中編寫程序,再然后進行編譯,kiel4中生成王建成110910099.hex文件,再把hex文件添加到protues中的單片機里,再進行仿真,從而得以完成整個的軟件仿真。6.2 仿真結果6.2.1 系統(tǒng)仿真、實際結果圖程序編譯情況如圖9所示,主函數(shù)負責調用子函數(shù),以及對光電開關的查詢。其中的while部分就是查詢光電開關是否檢測到障礙物的,通過條件判斷開關,然后顯示結
20、果,再清屏。圖9 程序調試圖實物仿真圖如圖10所示,第一幅圖中所示,當接地開關斷開時,P3.4為高電平,表明,光電開關前方沒有障礙物,所以顯示屏顯示“異?!弊謽印5诙鶊D中所示,當接地開關閉合時,P3.4為低電平,表明,光電開關前方有障礙物,所以顯示屏顯示“正常”字樣。 圖10 proteus仿真圖6.3實物安裝與文字說明(1)準備元器件,準備焊接;(2)正確焊接元器件,做到不漏焊,不虛焊;(3)焊接好后檢測電路是否焊接有誤,有則及時改正,注意檢查電路的電源和地是否焊接正確;(4)安好全部元器件后,進行調試;(5)調試過程:若光電開關前有障礙物就顯示正常,否則顯示異常如圖11所示 圖 11 實
21、物結果圖7 心得體會不知不覺地緊張而有序的兩周課程設計結束了,回想起來,我感覺學到了許多有用的知識,以前只是在課堂上,理論性的學習過三極管、運算放大器、電容、電阻、單片機,并不知道在實際中如何去運用,計算。甚至不會讀取電阻、電容的阻值;如何去選取電子元器件。通過這兩周的課程設計,我慢慢得學會了如何去排除電路的故障,如何解決現(xiàn)有的問題,去分析電路的作用。進一步加強了對單片機編程能力,同時也發(fā)現(xiàn)了自己的不足之處。印象最深的是電路設計焊接完畢后進行調試,剛開始的時候,自己不知道如何去調試,從何下手,經過指導教師的指點,我一步步進行調試。在調試過程中損毀了不少的電器元器件,從損毀的電器元器件中,摸索學
22、到了如何維修電路,從何下手去檢查電路中出現(xiàn)的故障,自己如何解決故障。我是總想追求完美的人,可總不那么完美。但是我比較驕傲的是我用這兩周的時間讀懂了本次黑線檢測器電路,和更深遠的知識。能夠解決電路中的一般性質的問題。這是值得慶幸的事。在這里我很感謝學校和肖老師給我這次機會,也很感謝自己給了自己一次機會?;仡櫰鸫舜握n程設計,至今我仍感慨頗多,從理論到實踐,在整整半個月的日子里,我學到很多很多的東西,不僅鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的內容。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結
23、論,才是真正的知識,才能提高自己的實際動手能力和獨立思考的能力。在設計的過程遇到了各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,通過這次課程設計,把以前所學過的知識重新溫故,鞏固了所學的知識。參考文獻【1】譚浩強編著.C程序設計第二版M北京:清華大學出版社,1999 【2】徐愛鈞、彭秀華單片機高級語言C51 應用程序設計-北京:北京航空航天大學出版社2006.1 【3】薛均義、張彥斌. MCS-51 系列單片微型計算機及其應用-西安:西安交通大學出版社 2005.1 【4】樓然苗.51系列單片機設計實例北京:北京航空航天大學出版社20
24、06【5】黃智偉傳感器應用設計實例制作一北京:電子工業(yè)出版社2006.4 附錄1元件清單: 2014 年 7月 4 日課題題目基于51單片機控制的障礙檢測器設計者王建成指導老師肖婧系統(tǒng)功能簡介 結合光電開關和單片機測出光電開關前方的障礙物并在LCD1602上顯示正常,異常;若前方有障礙就顯示正常,沒有就顯示異常。系統(tǒng)原理框圖所需元器件10k電阻一個;10k滑動變阻器一個;10uf電解電容一個;30pf電容兩個;10k排阻一個;開關一個;光電開關一個;LCD1602顯示屏一個;STC89C52單片機一片;指導老師意見發(fā)件人(簽名) 年 月 日領件人(簽名) 年 月 日附錄2源程序:(1) 頭文件
25、Include.h源程序:#ifndef _INCLUDE_H #define _INCLUDE_H#include <reg51.h>typedef unsigned char u8;typedef unsigned int u16;void LCD_Init(void);void LCD_Clear(void);void LCD_WriteStr(u8 x,u8 y,u8 *str);void Disp_Normal(void);void Disp_Unusual(void);#endif(2) 顯示屏lcd1602.c源程序:#include <reg51.h>#
26、include <intrins.h>typedef unsigned char u8;typedef unsigned int u16;sbit RS = P20;sbit EN = P21;unsigned char Code=0x00,0x00,0x00,0x0f,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x00,0x05,0x05,0x05,0x05,0x0f,0x00,0x00,0x00,0x1c,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,/*正,15*14*/ 0x01,0
27、x05,0x03,0x01,0x0f,0x08,0x07,0x04,0x00,0x00,0x08,0x10,0x1c,0x04,0x18,0x08, 0x07,0x01,0x07,0x05,0x01,0x01,0x01,0x00,0x18,0x00,0x18,0x08,0x00,0x00,0x00,0x00,/*常,15*14*/ 0x00,0x07,0x04,0x07,0x04,0x07,0x02,0x0f,0x00,0x1c,0x04,0x1c,0x02,0x1c,0x08,0x1e,0x02,0x02,0x02,0x02,0x04,0x00,0x00,0x00,0x08,0x08,0x0
28、8,0x08,0x08,0x00,0x00,0x00/*"異",0*/;void Delayms(u16 ms) u8 i;while(ms-) for(i=0;i<120;i+);void LCD_WriteCmd(u8 cmd)RS = 0;EN = 0;P0 = cmd;EN = 1;Delayms(1);EN = 0;void LCD_WriteData(u8 dat)RS = 1;EN = 0;P0 = dat;EN = 1;Delayms(1);EN = 0;void Disp_Normal(void)u8 i;LCD_WriteCmd(0x40);for
29、(i=0;i<64;i+)LCD_WriteData(Codei);Delayms(5); LCD_WriteCmd(0x80);LCD_WriteData(0x00);LCD_WriteData(0x01);LCD_WriteCmd(0xc0);LCD_WriteData(0x02);LCD_WriteData(0x03);LCD_WriteCmd(0x80+2);LCD_WriteData(0x04);LCD_WriteData(0x05);LCD_WriteCmd(0xc0+2);LCD_WriteData(0x06);LCD_WriteData(0x07);void Disp_Unusual(void)u8 i;L
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Taylor-Couette混凝實驗絮凝劑殘留鋁的影響因素研究
- 黑龍江省農業(yè)農村現(xiàn)代化水平評價及優(yōu)化路徑研究
- miR-21-5p通過影響TAMs在肺癌進展中的作用及機制研究
- 我長大了-健康活動
- 腹瀉的護理要點
- 小孩子機器人教育培訓
- 工廠質量培訓課件
- 預防詐騙主題班會課件
- 預防地震知識培訓課件
- 火災預防知識培訓
- 酒店衛(wèi)生管理自查報告和整改措施
- 安全教育培訓:實現(xiàn)安全文明施工
- 2025至2030分布式能源行業(yè)市場深度調研及發(fā)展規(guī)劃及有效策略與實施路徑評估報告
- 班主任常規(guī)工作培訓課件
- 反邪教宣講課件
- 2025年全國統(tǒng)一高考英語Ⅰ卷(含答案)
- 1 感受生活中的法律 課件-道德與法治六年級上冊統(tǒng)編版
- 股份代持及員工持股計劃協(xié)議書范本
- 中醫(yī)集市活動方案
- 2025年江蘇省南京市中考歷史試卷(含解析)
- 腫瘤隨訪登記培訓
評論
0/150
提交評論