摘要
隨著居民生活水平的不斷提高,自行車已經不僅僅是普通的代步、運輸工具,而是成為人們娛樂、休閑、鍛煉的首選。自行車簡易數字里程表能夠滿足人們最基本的需求,讓人們能清楚地知道當前的速度、里程等物理量。本論文主要闡述一種基于霍爾元件的自行車速度里程表的設計。以 STC89C52單片機為核心,A3144E 霍爾傳感器測轉數,實現對自行車里程/速度的測量,采用1602LCD顯示自行車的里程數及速度。文章詳細介紹了自行車的速度里程表的硬件電路。硬件部分利用霍爾元件將自行車每轉一圈的脈沖數傳入單片機系統,然后單片機系統將信號經過處理送顯示。軟件部分用C語言進行編程,采用模塊化設計思想。該系統硬件電路簡單,子程序具有通用性,完全符合設計要求。
關鍵字:單片機;LCD1602;霍爾;DS1302
目錄
第一章 緒論 3
1.1課題背景及其意義 3
1.2 國內外的研究狀況 3
1.3本文的主要研究內容及論文結構安排 5
第二章 方案的設計與論證 6
2.1控制方案的確定 6
2.2控制方式的選擇 6
2.2.1 單片機芯片的選擇 6
2.2.2顯示方案的選擇 6
2.2.3聲音報警電路方案的選擇 7
2.2.4測速模塊的選擇 7
2.2.5時鐘電路方案的選擇 7
2.2.6電機模塊的選擇 8
第三章 硬件電路的設計 9
3.1系統的功能分析及體系結構設計 9
3.2模塊電路的設計 9
3.2.1STC89C52單片機核心系統電路的設計 9
3.2.2 5V電源電路設計 13
3.2.3 LCD1602液晶顯示電路設計 13
3.2.4 蜂鳴器報警電路設計 16
3.2.5 按鍵電路設計 17
3.2.6 DS1302時鐘電路設計 17
3.2.37 A3144霍爾傳感器電路設計 18
3.2.8 5V直流電機調速電路設計 19
第四章 軟件設計 21
4.1 編程語言選擇 21
4.2 keil軟件設計思想 21
4.3 程序流程圖 21
第五章 系統焊接與調試 23
5.1 電路焊接 23
5.2 系統調試 24
5.2.1 系統程序調試 24
5.2.2硬件測試 24
5.3 實物測試 25
致謝 26
參 考 文 獻 27
第一章 緒論
1.1課題背景及其意義
隨著人們生活水平的不斷提高,自行車已經不僅僅是運輸、代步的工具,其輔助功能也變得越來越重要。因此,人們希望自行車的娛樂、休閑、鍛煉的功能越來越多,能帶來大家更多的健康與快樂。在這個背景下,自行車里程表作為自行車的一大輔助工具迅速發展起來.科學、美觀、合理設計自行車里程表有一定的實用價值.它能合理計算出速度及公里數,使運動者運動適量,達到健康運動與代步的最佳效果. 碼表能盡可能真實地反映騎行狀況,便于車手及時調整自己的舉動,也便于收集騎行數據供自己或隊友們進行參考和對比。
自行車碼表一般由安裝于前車圈鋼條上的感應磁鐵、前叉上的感應器、順著前叉蜿蜒而上的連接線、置于握把上面的碼表座和座上面的碼表。碼表的工作原理是:車圈旋轉時感應器捕捉到感應磁鐵帶來的信息,通過連接線傳輸至碼表,碼表對此進行處理后計算出時速、里程等信息并顯示。它能夠讓我們比較精確的知道自己的當前速度、騎行時間、單次里程、總里程、平均速度、最高速度等。本設計就是針對普通運動員在運動中不能很好的把握自己達到了多大的速度,行駛了多遠的距離而設計的。以往的碼表只能進行測量速度,里程,時間,溫度等數據,雖然能實現很多的功能,但是其中的一些功能不適合自行車業余愛好者,浪費資源,而且性價比也低,而且也不能很好的把握當前運動量,從而不能很好的實現娛樂和鍛煉的效果。而本設計卻能實現娛樂和鍛煉的雙重效果,而且相對業余愛好者性價比更高。
1.2 國內外的研究狀況
隨著交通工具多樣化,里程表已經被廣泛應用于各類車輛,傳統的機械式里程表由于受到了軟軸影響,穩定度不高,而且功能單一、易磨損。隨著電子技術的不斷發展,電子式里程表被廣泛的應用,現在很多車輛已經使用電子車速里程表,本設計就介紹一種基于單片機和霍爾傳感器的數字式里程表。該數字式里程表主要由車速表和里程表兩個部分組成,其傳感器采用霍爾傳感器。它不僅可以顯示車速,也可顯示一段時間的階段路程,還可以顯示車輛行駛的時間等功能,并具有較強的功能擴展性。
傳統的車輛轉速里程表功能有兩個:一是用指針指示出車輛行駛的實時車速;二是用機械計數器記錄車輛行駛里程。并且傳統機械式車輛的速度表連接了一條軟軸,軟軸另一端連接到變速器的其中一個齒輪上,齒輪的旋轉帶動軟軸內的鋼絲纜轉動,使得里程表罩圈內的一塊磁鐵旋轉,磁鐵旋轉速度的快慢引起磁力線大小的變化,打破了指針的平衡,使指針了偏離零點位置,指示出數值。這種車速里程表簡單實用,曾經被廣泛應用于各種車輛上。
但是隨著現代車輛各種性能都在飛速的發展,車輛性能的提高,舊的里程表已經不能適應用于現代化的車輛當中;而且對于不同的車型,舊款里程表的安裝也受到了軟軸長度、彎曲度等的限制。
現代車速里程表為性能可靠的電子式儀表,其主要優點如下:
1)電子式里程表能夠提供大量復雜的信息。隨著車輛行駛和工作狀態的信息量的顯著增加,車輛電子里程表能夠迅速、準確、直觀地顯示出車速,里程信息,而且顯示的信息量大。
2)電子式里程表具有體積小、重量輕等優點。而且小型化、電子化的儀表盤還能適應于各種傳感器或控制系統的電子化,節省了車輛儀表盤的空間,而且還能進行更大的信息處理。
3)高精度和高可靠性。由于實現了里程表的電子化,可以為使用者提供高精度的數據信息,也可以減少傳統里程表中那些機械部分,從而改善并且提高了儀表的可靠性能和穩定性能。
4)具有一表多用的功能。采用數字顯示能夠進行分時顯示,并可同時切換界面能顯示幾個參數,使得儀表盤更加簡單化和清晰化。
毋庸置疑,車輛儀表的電子化、數字化和智能化是車輛儀表的發展方向,車用數字儀表的研究是國內外正在探索的一個新興領域,集單片機控制技術、傳感技術、信號處理技術等多門學科交叉的應用研究,屬于世界車載裝置領域的前沿性課題。隨著現代車輛工業和電子技術的不斷發展,車輛中各種系統和器件日趨復雜,車輛行駛和工作狀況的信息量不斷增加。車輛儀表的功能已經不僅僅是單純的指示,而是通過對車輛各部件參數的監測與微處理機控制配套,從而達到控制車輛各種運行工作情況的目的。全數字式車輛儀表,是現在和未來車輛儀表顯示裝置的主導技術和重點發展方向。具體體現在以下幾個方面:
1)多功能化;2)數字化;3)更好的視覺性;4)信息化和網絡化。
車輛電子儀表向著多功能性、更高智能化的方向發展,同時車輛儀表的電子數字化,也表數字化水平不高,絕大部分儀表還是機械、模擬式的,而且大多數模擬儀表的體積大、數量多,使得顯示系統復雜而擁擠;另外模擬儀表故障發生率較高,增加了事故發生率和經濟負擔,減小了車輛行使的安全穩定系數。
國外車速里程表采用了各大公司自行研制的芯片,不但成本高,而且對車種的適應性較差。不過,隨著電子技術的發展,必將促進車輛儀表向高新技術領域、種類繁多、性能卓越的電子數字儀表方向發展。
1.3本文的主要研究內容及論文結構安排
第1章.主要介紹本設計的課題背景及國內外研究狀況;
第2章.主要說明系統方案的選擇;
第3章.主要介紹硬件電路的組成及使用方法;
第4章.主要介紹軟件設計;
第5章.主要介紹硬件調試;
第二章 方案的設計與論證
2.1控制方案的確定
本設計由STC89C52單片機核心電路+DS1302時鐘電路+5V電機調速控制電路+霍爾測速電路+蜂鳴器報警電路+按鍵電路+LCD1602液晶顯示電路+電源電路組成。
2.2控制方式的選擇
2.2.1 單片機芯片的選擇
方案一
采用可編程邏輯器件CPLD作為控制器,CPLD可以實現各種復雜的功能、規模大、密度高、體積小、穩定性高、I/O資源豐富、易于進行功能擴展。采用并行的輸入輸出方式,提高了系統的處理速度,適合作為大規模控制系統的控制核心。但本系統不需要復雜的邏輯功能,對數據的處理速度的要求也不是非常高。且從使用及經濟的角度考慮,最終放棄了此方案。
方案二
采用ST公司的STC89C52單片機作為主控制器,STC89S52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統可編程 Flash 存儲器。該單片機功耗低、接口豐富,成本低廉,完全能滿足本設計要求。
方案三
采用單片機芯片控制MSP430單片機是美國德州儀器(TI)推出的一種16位超低功 耗的混合信號處理器(Mixed Signal Processor),主要是針對實際應用需求,把許多模擬電路、數字電路和微處理器集成在一個芯片上,以提供“單片”混合信號處理的解決方案。MSP430F149是一個16位的、具有精簡指令集的、超低功耗的混合型單片機,具有可靠性高、功耗低、擴展靈活、體積小、價格低和使用方便等優點,廣泛應用于儀器儀表、專用設備智能化管理及過程控制等領域,有效地提高了控制質量與經濟效益,已成為眾多單片機系列中一顆耀眼的新星。然而其成本太高,故舍棄。
故選擇方案二。
2.2.2顯示方案的選擇
方案一
采用LED數碼管動態掃描,LED數碼管價格適中,對于顯示數字十分合適,采用動態掃描法與單片機連接時,雖然占用的單片機口線少,電路簡單,性價比較高。
方案二
采用點陣式數碼管顯示,點陣式數碼管是由八行八列的發光二極管組成,對于顯示文字比較適合,若采用在顯示數字顯得太浪費,且價格也相對較高,所以在此也不用此種作為顯示。
方案三
LCD液晶顯示,由單片機驅動,它主要用來顯示大量數據、文字、圖形,能夠顯示的位數多,顯示得清晰多樣、美觀,同時液晶顯示器的編寫程序簡單,價格便宜,故采用此種方案。
采用1602液晶顯示屏,該液晶顯示屏的顯示功能強大,內置192種字符,可顯示大量符號、數字,清晰可見,而且功率消耗小壽命長抗干擾能力強。
故選擇方案三。
2.2.3聲音報警電路方案的選擇
方案一
采用語音集成芯片ISD4004報警,由于ISD4004需要擴充喇叭驅動電路且其本身控制比較繁瑣、電路比較復雜,穩定性差。基于以上考慮,所以放棄了此方案。
方案二
通過蜂鳴器實現報警電路,具有電路簡單,性能可靠、穩定等優點,最重要的是低成本,故選擇方案二。
方案三
采用音樂片作為本系統門鈴的音樂模塊,音樂芯片是一種比較簡單的語音電路,它通過內部的振蕩電路,再外接小量分立元件,就能產生各種音樂信號,音樂芯片是語音集成電路的一個重要分支,目前廣泛用于音樂卡、電子玩具、電子鐘、電子門鈴、家用電器等場合。其具有電路簡單,成本低廉等優點。
故選擇方案二。
2.2.4測速模塊的選擇
方案一
采用霍爾測速模塊測速。霍爾元件是一種磁傳感器。要他們可以檢測磁場及其變化,可以在各種與磁場有關的場合中。
方案二
選擇光電測速模塊進行測速。光電傳感器安裝簡單,只要在轉動物體上貼上反光紙,手持或簡單固定光電傳感器即可。
由于霍爾測速精度高,穩定性好,故選擇方案一。
2.2.5時鐘電路方案的選擇
方案一
采用并行芯片DS12887時鐘芯片,但是其采用并行接線方式,占用了過多的單片機I/O口,可能會對此設計以后后續拓展帶來瓶頸,故舍棄此方案。
方案二
采用串行時鐘芯片DS1302,DS1302是由美國DALLAS公司推出的具有涓細電流充電能力的低功耗實時時鐘芯片,其只需3根數據線即可實現時鐘的輸入,電路簡單。
2.2.6電機模塊的選擇
方案一:
采用步進電機,步進電機的一個顯著特點就是具有快速啟停能力,如果負荷不超過步進電機所能提供的動態轉矩值,就能夠立即使步進電機啟動或反轉。另一個顯著特點是轉換精度高,正轉反轉控制靈活。
方案二:
采用普通直流電機。直流電動機具有優良的調速特性,調速平滑、方便,調整范圍廣;過載能力強,能承受頻繁的沖擊負載,可實現頻繁的無級快速啟動、制動和反轉;能滿足各種不同的特殊運行要求。
由于普通直流電機更易于購買,成本極低,并且電路相對簡單,因此采用直流電機作為動力源。選擇方案二。
第三章 硬件電路的設計
3.1系統的功能分析及體系結構設計
本設計由STC89C52單片機核心電路+DS1302時鐘電路+5V電機調速控制電路+霍爾測速電路+蜂鳴器報警電路+按鍵電路+LCD1602液晶顯示電路+電源電路組成。
1、通過時鐘芯片DS1302獲取時間。
2、LCD1602可以顯示當前的速度,里程,時間。
3、按鍵功能:從左邊第一個起,減鍵、加鍵、選擇鍵、設置鍵。
4、可以通過電位器對電機進行調速。
5、具有超速報警功能,可以設置報警速度,當實際的速度大于當前的速度時就會由蜂鳴器產生報警。
6、可以查看總路程。
7、可以按鍵修改當前的時間。
本系統具體框圖如下圖所示:
系統框圖
3.2模塊電路的設計
3.2.1STC89C52單片機核心系統電路的設計
STC89C52RC是STC公司生產的一種低功耗、高性能CMOS8位微控制器,具有8K字節系統可編程Flash存儲器。STC89C52使用經典的MCS-51內核,但是做了很多的改進使得芯片具有傳統51單片機不具備的功能。在單芯片上,擁有靈巧的8 位CPU 和在系統可編程Flash,使得STC89C52為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。具有以下標準功能:8k字節Flash,512字節RAM, 32 位I/O 口線,看門狗定時器,內置4KB EEPROM,MAX810復位電路,3個16 位定時器/計數器,4個外部中斷,一個7向量4級中斷結構(兼容傳統51的5向量2級中斷結構),全雙工串行口。另外 STC89C52 可降至0Hz 靜態邏輯操作,支持2種軟件可選擇節電模式。空閑模式下,CPU 停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。最高運作頻率35MHz,6T/12T可選。
一、STC89C52主要特性如下:
(1)8K字節程序存儲空間;
(2)512字節數據存儲空間;
(3)內帶4K字節EEPROM存儲空間;
(4)可直接使用串口下載。
二、STC89C52主要參數如下:
(1)增強型8051單片機,6時鐘/機器周期和12 時鐘/機器周期可以任意選擇,指令代碼完全兼容傳統8051;
(2)工作電壓:5.5V~3.3V(5V單片機)/3.8V~2.0V(3V 單片機);
(3)工作頻率范圍:0~40MHz,相當于普通8051的0~80MHz,實際工作 頻率可達48MHz;
(4)用戶應用程序空間為8K字節;
(5)片上集成512 字節RAM;
(6)通用I/O 口(32個),復位后為:P1/P2/P3 是準雙向口/弱上拉,P0口是漏極開路輸出,作為總線擴展用時,不用加上拉電阻,作為 I/O口用時,需加上拉電阻;
(7)ISP(在系統可編程)/IAP(在應用可編程),無需專用編程器,無需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數秒即可完成一片;
(8)具有EEPROM功能;
(9)共3個16 位定時器/計數器。即定時器T0、T1、T2;
(10)外部中斷4路,下降沿中斷或低電平觸發電路,Power Down 模式可 由外部中斷低電平觸發中斷方式喚醒;
(11)通用異步串行口(UART),還可用定時器軟件實現多個UART;
(12)工作溫度范圍:-40~+85℃(工業級)/0~75℃(商業級);
(13)PDIP封裝。
三、STC89C52單片機相關引腳說明:
(1)VCC:供電電壓。
(2)GND:接地。
(3)P3.0 RXD(串行輸入口)
(4)P3.1 TXD(串行輸出口)
(5)P3.2 /INT0(外部中斷0)
(6)P3.3 /INT1(外部中斷1)
(7)P3.4 T0(記時器0外部輸入)
(8)P3.5 T1(記時器1外部輸入)
(9)P3.6 /WR(外部數據存儲器寫選通)
(10)P3.7 /RD(外部數據存儲器讀選通)
(11)RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。
(12)ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。
(13)/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。
(14)/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。
(15)XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。
(16)XTAL2:來自反向振蕩器的輸出。
單片機引腳圖如下圖所示:
STC89C52單片機引腳圖
四、STC89C52單片機最小系統說明:
STC89C52單片機最小系統電路由復位電路、時鐘電路和電源電路。擁有這三部分電路后,單片機即可正常工作。單片機最小系統原理圖如下圖所示。
單片機最小系統原理圖
(1)VCC和GND為單片機的電源引腳,為單片機提供電源:
(2)復位電路由按鍵S1、電解電容EC1和電阻R1組成。具有手動按鍵復位和上電自動復位功能。系統上電復位按鍵接口采集到兩個高端信號后進行手動復位,就是非自動的按鍵復位;系統檢測到的電壓由低電平上升到高電平的一段時間后,在這段時間過后,系統通過電阻與接地之間形成一條通路,然后自動把高電平進行拉低,使得單片機從高電位變為低電位,從而就是給單片機自動進行復位即上電復位。
(3)時鐘電路由晶振Y1、瓷片電容C1和C2組成。有控制芯片的數字電路正常工作是少不了TIME(時鐘)電路的,我們需要時鐘電路自動發出系統時間,讓控制芯片正常工作。給控制芯片正常工作的時鐘信號,一般把這種工作方式稱為“拍”,以至于讓整個控制系統能正常工作,由于要保證控制系統能正常工作,提高他的工作能力,我們經常用11.0592MHZ晶振和30PF的電容進行組合,電容為了幫助晶振起振的,滿足了數字控制器上電以后可以正常工作。
(4)JD1為單片機的下載接口。
3.2.2 5V電源電路設計
本系統選擇5V直流電源作為總電源,為整個系統供電,電路簡單、穩定。DC為電源的DC插座,SW為自鎖開關,開關按下后,紅燈亮,此時系統電源5V直流輸出。開關再次按下后,紅燈滅,此時系統電源無5V電源輸出。
。
5V電源電路原理圖
3.2.3 LCD1602液晶顯示電路設計
LCD顯示器分為字段顯示和字符顯示兩種。其中字段顯示與LED顯示相似,只要送對應的信號到相應的管腳就能顯示。字符顯示是根據需要顯示基本字符。本設計采用的是字符型顯示。系統中采用LCD1602作為顯示器件輸出信息。與傳統的LED數碼管顯示器件相比,液晶顯示模塊具有體積小、功耗低、顯示內容豐富等優點,而且不需要外加驅動電路,現在液晶顯示模塊已經是單片機應用設計中最常用的顯示器件了。LCD1602可以顯示2行16個漢字。
一、LCD1602主要技術參數如下:
(1)顯示容量為16×2個字符;
(2)芯片工作電壓為4.5~5.5V;
(3)工作電流為2.0mA(5.0V);
(4)模塊最佳工作電壓為5.0V;
(5)字符尺寸為2.95×4.35(W×H)mm。
二、LCD1602采用標準的14腳,其接口的引腳說明如下:
(1)第1腳:VSS為地電源。
(2)第2腳:VDD接5V正電源。
(3)第3腳:V0為液晶顯示器對比度調整端。
(4)第4腳:RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。
(5)第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址,當RS為低電平RW為高電平時可以讀忙信號,當RS為高電平RW為低電平時可以寫入數據。
(6)第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執行命令。
(7)第7~14腳:D0~D7為8位雙向數據線。
(8)第15~16腳:空腳
三、控制指令說明
LCD1602液晶模塊內部的控制器共有11條控制指令,說明下表所示:
序號 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0
1 清顯示 0 0 0 0 0 0 0 0 0 1
2 光標返回 0 0 0 0 0 0 0 0 1 *
3 置輸入模式 0 0 0 0 0 0 0 1 I/D S
4 顯示開/關控制 0 0 0 0 0 0 1 D C B
5 光標或字符移位 0 0 0 0 0 1 S/C R/L * *
6 置功能 0 0 0 0 1 DL N F * *
7 置字符發生存貯器地址 0 0 0 1 字符發生存貯器地址
8 置數據存貯器地址 0 0 1 顯示數據存貯器地址
9 讀忙標志或地址 0 1 BF 計數器地址
10 寫數到CGRA或DDRAM) 1 0 要寫的數據內容
11 從CGRAM或DDRAM讀數 1 1 讀出的數據內容
表3.1 控制命令表
四、1602液晶模塊的讀寫操作、屏幕和光標的操作都是通過指令編程來實現的。(說明:1為高電平、0為低電平)
(1)指令1:清顯示,指令碼01H,光標復位到地址00H位置
(2)指令2:光標復位,光標返回到地址00H
(3)指令3:光標和顯示模式設置 I/D:光標移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。
(4)指令4:顯示開關控制。 D:控制整體顯示的開與關,高電平表示開顯示,低電平表示關顯示 C:控制光標的開與關,高電平表示有光標,低電平表示無光標 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍
(5)指令5:光標或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標
(6)指令6:功能設置命令 DL:高電平時為4位總線,低電平時為8位總線 N:低電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符
(7)指令7:字符發生器RAM地址設置
(8)指令8:DDRAM地址設置
(9)指令9:讀忙信號和光標地址 BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數據,如果為低電平表示不忙。
(10)指令10:寫數據
(11)指令11:讀數據
系統中采用LCD1602作為顯示器件輸出信息。在本電路中電位器可以調節液晶顯示的對比度即清晰度。其具體電路原理圖如下圖所示。
LCD1602液晶顯示電路原理圖
其實物圖如下圖所示。
LCD1602液晶實物圖
3.2.4 蜂鳴器報警電路設計
本蜂鳴器是一種一體化結構的電子訊響器,采用直流電壓供電,廣泛應用于電子產品中作發聲器件。本系統所采用的報警模塊為5V有源蜂鳴器模塊,電路中采用三極管9012來驅動,只要單片機控制引腳為低電平,蜂鳴器就會鳴叫報警,反之則不鳴叫,可以通過控制單片機引腳方波輸出形式控制蜂鳴器的鳴叫方式。
蜂鳴器報警電路原理圖
3.2.5 按鍵電路設計
在本系統中,按鍵作為系統的輸入,起到了人機交互的樞紐作用。按鍵的單片機控制引腳默認為高電平,當按鍵按下后,單片機的相關引腳則變成低電平。進而實現對系統的手動輸入。其電路原理圖如下圖所示。
按鍵電路原理圖
3.2.6 DS1302時鐘電路設計
DS1302是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.0V~5.5V。采用三線接口與CPU進行同步通信,并可采用突發方式一次傳送多個字節的時鐘信號或RAM數據。DS1302內部有一個31×8的用于臨時性存放數據的RAM寄存器。DS1302是DS1202的升級產品,與DS1202兼容,但增加了主電源/后備電源雙電源引腳,同時提供了對后備電源進行涓細電流充電的能力。通過DS1302芯片為本設計提供時間數據。在本電路中,選擇32.768KHZ晶振為DS1302提供時鐘源,3V紐扣電池保證了DS1302掉電不丟失時間數據,電阻均為上拉電阻,使得DS1302工作更穩定。其電路原理圖如下圖所示。
DS1302時鐘電路原理圖
3.2.37 A3144霍爾傳感器電路設計
霍爾元件是一種基于霍爾效應的磁傳感器,已發展成一個品種多樣的磁傳感器產品族,并已得到廣泛應用。霍爾元件是一種磁傳感器。要他們可以檢測磁場及其變化,可以在各種與磁場有關的場合中。霍爾器件以霍爾效應為其工作基礎。霍爾線性器件的精度高、線性度好。A3144霍爾開關元件屬于開關型霍爾傳感器(集成霍爾開關),它是把霍爾片產生的霍爾電壓放大后驅動觸發電路,輸出電壓是能變化化的方脈沖。霍爾轉速傳感器的外形圖和與磁場的作用關系如下圖所示。磁場由磁鋼提供,所以霍爾傳感器和磁鋼需要配對使用。在非磁材料的圓盤邊上粘貼一塊磁鋼,霍爾傳感器固定在圓盤外緣附近。圓盤每轉動一圈,霍爾傳感器便輸出一個脈沖。通過單片機測量產生脈沖的頻率就可以得出圓盤的轉速。
A3144霍爾傳感器測豬轉速示意圖
霍爾電流傳感器本身已經存在濾波電路,輸出無須再加裝濾波,可直接供單片機的0~5V的 AD采集或直接送到單片機的中斷輸入引腳,信號非常穩定,而且抗干擾能力很強。
霍爾電流傳感器反應速度一般在7微妙,不用考慮單片機循環判斷的時間.
若在圓盤上貼上多塊磁鋼,則圓盤每轉一圈,輸出的脈沖信號將相應增加,單位時間內測到的脈沖數將增多,測出的轉速也將更加精細。本設計建模時采用一個圓盤上貼一個磁鋼進行模擬。實際制作中可以貼上多塊磁鋼,即可以克服因車輪轉速太慢而在設定時間內測不到脈沖的問題。
A3144霍爾傳感器檢測到磁鐵信號后,霍爾傳感器將輸出低電平給單片機接收引腳,同時,LED燈將會亮,否則,LED燈不亮。
A3144霍爾傳感器電路原理圖
3.2.8 5V直流電機調速電路設計
本系統選通過純模擬電路即可實現對電機轉速的調節,DC為電源插座,SW2為電源開關,PR為10K的大功率電阻。當系統上電后,按下電源開關,通過調節電位器PR即可實現調速,調節PR,則分配到電機上的電壓則會在0-5V變化,通過改變施加在電機上的電壓的變化來實現對電機轉速的調節。其具體原理圖如下圖所示。電機最大的速度與電位器分配到電機上的電壓以及D接入的電壓有關。
5V直流電機調速電路原理圖
第四章 軟件設計
4.1 編程語言選擇
由于整個程序比較復雜,且計算量較大,用到了較多的浮點數計算,所以程序的編寫采用了C語言。
對于大多數51系列的單片機,使用C語言這樣的高級語言與使用匯編語言相比具有如下優點:
(1)不需要了解處理器的指令集,也不必了解存儲器結構。
(2)寄存器分配和尋址方式由編譯器進行管理,編程時不需要考慮存儲器的地址和數據類型等細節。
(3)指定操作的變量選擇組合提高了程序的可讀性。
(4)可使用與人的思維更相近的關鍵字和操作函數。
(5)與使用匯編語言相比,程序的開發和調試時間大大縮短。
(6)C語言的庫文件提供了許多標準的例程。
(7)通過C語言可實現模塊化編程技術,從而可將已編制好的程序加到 新程序中。
(8)C語言可移植性好且非常普及,C語言編譯器幾乎適用于所有的目標系統,己完成的項目可以很容易的轉換到其它的處理器或環境中與匯編語言相比,C語言在功能上、結構性、可讀性、可移植性、可維護性上有明顯的優勢,易學易用
4.2 keil軟件設計思想
KEIL軟件是單片機開發者廣泛使用的開發工具的,簡單的單片內形都是使用這種開發軟件的,可以降低開發周期,從而減少很多成本,因此廣泛受到開發者的歡迎和使用。在使用匯編語言,然后用KEIL軟件開發,實現更深刻的。 KEIL軟件提供了一個豐富的使用環境和調用的子程序,在全體的打開窗口中。還有一個重要因素就是。我們多看看編程器是如何生存程序序言的,使得使用者可以體會到其中的樂趣的,感覺到此KEIL軟件會非常的好用的,越來越受到廣大使用者的歡迎的。其中追要由它大多數代碼都是集成的,調用很方便的,那些初學者也會感覺很好用的,起點水平不需要太高的。在開發大型軟件,以更好地反映高語言的優勢。以下的細節KEIL軟件開發系統和使用的各個部分的功能。
4.3 程序流程圖
本系統設計主要采用keil軟件編寫與調試程序,程序語言采取易讀性和移植性更高的C語言編寫。系統運行流程圖如下圖所示。
系統運行流程
第五章 系統焊接與調試
5.1 電路焊接
手工焊接是常用原始的焊接方法,目前大量工廠焊接的生產基本上不采用原始方法了,但是普通元器件的修理、系統測試中經常使用原始的手工焊接。重要的是如焊接本質上出現問題,則會影響到整個控制系統的,可以這么說,焊接的會導致這個控制系統可不可以用的。手工焊接主要有如下四步組成的:
第一步開始焊接:
需要把需要焊接的地方打掃干凈,主要去處油跡和灰塵,然后把需要焊接的元器件的兩個角向一定的方向掰一掰,注意不能把元器件的腳相交在一起了,這樣會影響焊接的。接下來讓電烙鐵頭碰到需要焊接的元器件腳下,放上焊錫絲。此處需要注意的是,不能讓烙鐵頭碰到其它元器件的腳了,要不然會把兩個元器件焊接在一起了。
第二步給焊接升溫:
當在完成第一步以后,接下來就是加熱焊錫絲了,主要是將燒熱的電烙鐵放在器件管腳旁邊,慢慢融化焊錫絲,需要注意電洛鐵的溫度和加熱時間,若時間過長,很有可能焊壞面包板焊盤的,一般建議電洛鐵溫度調整在400。C左右,加熱2秒鐘左右,例外也要根據器件種類作出具體區別的。在焊接過程中,當需要把焊接好的元器件卸下來,則也需要給焊接處進行加熱的,主要操作是首先在焊接處補好焊錫絲,使焊點是圓潤的,然后用電洛鐵在焊接處進行加熱,在加熱的過程中就可以直接把元器件卸下來了,此時一定要主要時間,要不然也會損壞焊盤的
第三部清理焊接面:
當在完成第二步時,有的時候會觀察到焊接的不完美或者擔心出現虛焊情況,這時候需要進行修改的。主要是兩種情況的,第一種是焊錫不夠,焊接點不圓潤,這時需要給焊接處補焊錫,此時需要注意的是焊錫量不能補多,要不然容易連接到其它期間的引腳的。第二種是焊錫過多,這時候可以用電洛鐵放在焊接處來回的滑動,會把多余的焊錫帶走的,若不行,只能使用吸錫器了。
第四部檢查焊點:
當完成以上三步了,最后就需要整體觀察了,主要是觀看焊接點是不是圓滿、亮度好、緊固,有沒有與其它管腳相連在一起了。
5.2 系統調試
整體系統上電調試前,大概觀察下焊接的系統還存在問題,例如還有很顯眼的斷裂,正負極接反以及相連、虛焊、等問題,然后用萬用表檢測一下,電源正負極之間是否短路等嚴重的電源問題,最終保證系統沒有問題。
5.2.1 系統程序調試
(1) 在Keil4軟件中先創建一個工程:單擊菜單欄中的“工程”,輸入新建工程名,并保存;然后器件選擇“Atmel”目錄下的“AT89C52”。
(2)新建用戶源文件:在新建的空白文本中編寫程序源代碼,編碼完成保存文件并文件拓展名“***.c”,新文件創建完成。
(3)程序編譯和調試:單擊編譯按鈕,系統會對文件進行運行,在輸出窗口中可看到提示信息,如下圖中有一個error,按提示找出錯誤并改正,直到提示沒有錯誤提示為止,如下圖所示。
提示信息無錯誤
(4)程序編譯無錯誤后,進入程序調試狀態,可查看單片機資源狀態,進行斷點等方式調試。
5.2.2硬件測試
最后一步就是硬件整體測試了,主要運用萬用表、直流電源和示波器對焊接好的板子進行整體調試,主要檢查每一個器件是不是都正常工作了,主要分為兩個環節動態調試和靜態調試。其中靜態調試主要分為以下四種:
1.肉眼觀察。主要觀看焊接點是否飽滿,以及相連器件之間是否相連或者器件管腳沒有焊接好,出現短路現象。
2.使用萬用表調試。首先查看電源是否短路,然后測量管腳是否連接正確,有沒有接線錯誤。
3.上電檢查。在完成第一步和第二步都沒有問題,接下來就可以上電了,上電以后觀看每個器件是否正常工作,然后在逐一測試功能。
4.綜合檢查測試。這種測試方法只適合單片機開發板開發的系統才能使用這種方法,本文不適宜用這種方法測試。
動態調試。動態調試主要是靜態調試沒有任何問題,做最后一步檢查,就是每個器件能否正常工作,能否滿足我系統開發的功能,防止器件內部損壞,影響系統性能。
5.3 實物測試
經過測算,系統測試正常,如下圖所示。
系統測試圖
致謝
四年的艱苦跋涉,四個月的精心準備,畢業設計終于到了劃句號的時候,心頭如釋重負,在本論文即將完成之際,謹此向我的指導老師致以衷心的感謝和崇高的敬意!整個畢業設計的過程都是在常老師的悉心指導下完成的,從資料的收集、方案的論證、聯板調試以及畢業論文的撰寫,何老師、常老師都做了非常細心的指導。老師以他敏銳的洞察力、淵博的知識、嚴謹的治學態度、精益求精的工作作風和對科學的獻身精神給我留下了刻骨銘心的印象,這些使我受益匪淺,將成為我以后工作生活的榜樣。
我要感謝電子學院所有給我上過課老師,是他們傳授給我方方面面的知識,拓寬了我的知識面,培養了我的功底,對論文的完成功不可沒。我還要感謝學院的各位工作人員,他們細致的工作使我和同學們的學習和生活井然有序。
感謝本設計課題組的同學,協作競爭的團隊精神是我得以順利完成畢業論文的重要基礎。感謝我們這一組同學在論文相關內容的討論與合作交流帶來的啟示和幫助。正是由于我們的精誠合作以及大家設計期間給予我的幫助,良好的團隊合作精神為我設計得以順利完成提供了良好條件。
敲完最后一個字符,重新從頭細細閱讀早已不陌生的文字,我感觸頗多。雖然其中沒有什么值得特別炫耀的成果,但對我而言,是寶貴的。它是無數教誨、關愛和幫助的結果。
最后向審閱此文的教授、老師致以深切的敬意。
衷心祝愿母校的明天更加美好!
。
參 考 文 獻
[1] 趙小蘭,胡征,王培坤,林曉歡,莊衍豎,黃維沛. 多功能自行車碼表設計[J]. 電子測試,2013,(20):1-2.
[2] 孫寶元、楊寶清.傳感器及其應用手冊.北京.
[3] 鄭人杰. 計算機軟件測試技術. 北京: 清華大學出版社, 1992.
[4] 胡漢才. 單片機原理及系統設計. 北京:清華大學出版社, 2002.
[5 Silicon Storage Technology Inc, SST39VF800A Datasheet.2001 .
[6] 任強. 傳感器選用原則. 計量工作.2004.
[7] 張俊謨. 單片機中級教程原理與應用. 北京航空航天大學出版社.2002.
[7] 張俊謨. 單片機中級教程原理與應用. 北京航空航天大學出版社.2002.
[8] Peter Van Der Linden著,徐波譯.C專家編程,人民郵電出版社,2003.
[9]HamldStone.MieroeomPuterInterfaeingUniversityofMassachusetts.AmhorstAddison wesle .1982. 2~3.
[10] Meehan Joanne,Muir Lindsey.SCM in Merseyside SMEs:Benefits and barriers[J].. TQM Journal. 2008 2~5.
[11] 李全利.單片機原理及應用技術.北京:高等教育出版社.2009. 30~46 .
[12] 李維提,郭強.液晶顯示應用技術.北京:電子工業出版社.2006. 20~35.
[13] 趙小蘭,胡征,王培坤,林曉歡,莊衍豎,黃維沛. 多功能自行車碼表設計[J]. 電子測試,2013,(20):1-2.
[14] 孫寶元、楊寶清.傳感器及其應用手冊.北京.
[15] 鄭人杰. 計算機軟件測試技術. 北京: 清華大學出版社, 1992.
[16] 胡漢才. 單片機原理及系統設計. 北京:清華大學出版社, 2002.
[16] Silicon Storage Technology Inc, SST39VF800A Datasheet.2001 .
[17] 張俊謨. 單片機中級教程原理與應用. 北京航空航天大學出版社.2002.
[18] 趙負圖,傳感器集成電路手冊,第一版,化學工業出版社,2004,590~591 .
[19] 馬建國.電子系統設計.北京:高等教育出版社,2004.1.
[20] 譚浩強.C程序設計(第三版).北京:清華大學出版社,2005.7 .
[21] 王建校. 51系列單片機及C51程序設計[M ]. 北京:科學出版社, 2002.
[22] 霍孟友.單片機原理與應用[M ].北京:機械工業出版社,2004.
[23] 何立民,單片機應用系統設計,北京:航天航空大學出版社,2~5,46~50.
[24] 李廣弟,單片機基礎,北京:北京航空航天大學出版社,2001,56~64.
[25] 何希才,新型實用電子電路400例,電子工業出版社,2000年,60~65.
[26] Wolf W, 孫玉芳等譯. 嵌入式計算系統設計原理. 北京: 機械工業出版社, 2002.
[27] Integrated Silicon Solution Inc. IS61LVI2816 Datasheet.2002.
|