基于單片機的出租車計價器硬件設計_第1頁
基于單片機的出租車計價器硬件設計_第2頁
基于單片機的出租車計價器硬件設計_第3頁
基于單片機的出租車計價器硬件設計_第4頁
基于單片機的出租車計價器硬件設計_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、CHANGZHOU INSTITUTE OF TECHNOLOGY科研實踐題目:基于單片機的出租車計價器二級學院(直屬學部): 延陵學院 專業(yè): 電氣工程及其自動化 班級: 10電Y3 學生姓名: 學號: 指導教師姓名: 范力旻 職稱: 副教授 2013年12月30日至2014年1月10日 目 錄第1章 緒 論11.1課題的背景11.2課題目的及意義1第2章 總體設計22.1系統(tǒng)的分析與原理22.2硬件方案設計22.3芯片簡介4第3章 最小系統(tǒng)63.1復位電路63.2晶振電路73.3電源電路8第4章 輸入部分設計104.1按鍵電路104.2信息存儲電路11第5章 輸出部分設計13第6章 硬件仿

2、真186.1protus軟件介紹與使用186.2keil軟件介紹與使用186.2protus軟件仿真18第7章 實物制作與調試217.1電路板焊接217.2硬件調試及排故障22第8章 總結23第9章附錄241.參考文獻242.元器件清單242.系統(tǒng)原理圖253.程序清單254.實物圖34第1章 緒 論1.1課題的背景汽車計價器是乘客與司機雙方的交易準則,它是出租車行業(yè)發(fā)展的重要標志,是出租車中最重要的工具。它關系著交易雙方的利益。具有良好性能的計價器無論是對廣大出租車司機朋友還是乘客來說都是很必要的。因此,汽車計價器的研究也是十分有一個應用價值的。現(xiàn)在各大中城市出租車行業(yè)都已普及自動計價器,所

3、以計價器技術的發(fā)展已成定局。而部分小城市尚未普及,但隨著城市建設日益加快,象征著城市面貌的出租車行業(yè)也將加速發(fā)展,計價器的普及也是毫無疑問的,所以未來汽車計價器的市場還是十分有潛力的。 1.2課題目的及意義我國在70年代開始出現(xiàn)出租車,但那時的計費系統(tǒng)大都是國外進口不但不夠準確,價格還十分昂貴。隨著改革開放日益深入,出租車行業(yè)的發(fā)展勢頭已十分突出,國內各機械廠家紛紛推出國產計價器。出租車計價器的功能從剛開始的只顯示路程(需要司機自己定價,計算后四舍五入),到能夠自主計費,以及現(xiàn)在的能夠打一發(fā)票和語音提示、按時間自主變動單價等功能。隨著城市旅游業(yè)的發(fā)展,出租車行業(yè)已成為城市的窗口,象征

4、著一個城市的文明程度。隨著出租車行業(yè)的發(fā)展,出租車已經是城市交通的重要組成部分,從加強行業(yè)管理以及減少司機與乘客的糾紛出發(fā),具有良好性能的計價器對出租車司機和乘客來說都是很必要的。出租車計價器是根據(jù)客戶用車情況來自動顯示車費的數(shù)字儀表,根據(jù)用車起步價、行車里程計費求得客戶用車的總費用,并通過數(shù)碼管顯示相應的里程及金額。模擬出租車計價器設計:進行里程顯示,預設起步價和起步公里數(shù);行程按全程收費,有復位功能和啟動功能,啟動后,開始計價。我們采用單片機進行設計,可以用較少的硬件和適當?shù)能浖嗷ヅ浜蟻韺崿F(xiàn)設計要求,且靈活性強,可以通過軟件編程來完成更多的附加功能,應用前景廣闊。第2章 總體設計2.1系

5、統(tǒng)的分析與原理設計的主要內容是利用51單片機實現(xiàn)出租車計價器的功能,相對來說功能強大,用較少的硬件和適當?shù)能浖嗷ヅ浜峡梢院苋菀椎貙崿F(xiàn)設計要求,且靈活性強,可以通過軟件編程來實現(xiàn)出租車計價器的功能。這次電路設計的計價器能實現(xiàn)基本的計價功能,AT89C51作為一個單片微型計算系統(tǒng),靈活性高,其強大的控制處理功能和可擴展功能設計電路提供了很好的選擇。設計一個出租車自動計費器,計費包括起步價、行車里程計費、計費三部分,用數(shù)碼顯示管顯示總金額,運行時間。用數(shù)碼管顯示行駛里程和總金額。并有清零,復位,掉電保護等功能。上電時顯示全為零,通過出租車帶鎖開關按下之后,來開始計價,數(shù)碼管開始顯示起步價和起步金額

6、上電后顯示最初的起步價。按下停止按鍵,停止計價,數(shù)碼管顯示所走總里程和用戶所需付總金額,單片機斷電后,數(shù)碼管顯示數(shù)據(jù)不丟失。同時具有運行,暫停,停止等狀態(tài),可以顯示運行的時間,同時可以顯示暫停的時間,具有累加功能,暫停和運行時間在暫停和運行前一次的狀態(tài)上計時。出租車停止后能夠顯示行駛的總費用。最大值不能超過100元,起步價為4.0元,2Km之內起步價計費,不足兩公里時,顯示兩公里。用數(shù)碼顯示管顯示總里程,同時顯示價錢。2.2硬件方案設計設計采用AT89C51單片機為主控器,以A44E霍爾傳感器測距(按鍵替代),實現(xiàn)對出租車的基本的計價設計,并采用AT24C02實現(xiàn)在系統(tǒng)掉電的時候保存單價等信息

7、,輸出采用8段數(shù)碼顯示管。利用單片機豐富的I/O端口,及其控制的靈活性,實現(xiàn)基本的計價功能。設計中,為了能夠讓數(shù)碼管更好的正常顯示,我們還采用了驅動電路來驅動。在出租車計價器的硬件設計中,我們考慮采用芯片74LS245來驅動數(shù)碼管顯示。設計電路時,考慮到用里程(霍爾)傳感器價格昂貴,且不便于試驗檢測,在設計中采用一個模擬開關來代替。模擬開關一端接在P3.4口,另一端接地,通過來回高低電平的變化,每按兩次,對應的里程數(shù)加一。通過在程序中設置的里程和金額的信息,在加上驅動電路的設計,就可以在數(shù)碼管上分別顯示總金額和總里程。在顯示方面,可以用數(shù)碼管進行顯示。由于在這次設計中只需要顯示里程和金額信息,

8、我們采用數(shù)碼管進行顯示。這樣既節(jié)約了成本,又可以達到顯示的目的。同時為了減少硬件的復雜度,我們采用了動態(tài)顯示方式,選用了共陰極數(shù)碼管。為了焊接方便,我們選用了集成在一起的數(shù)碼管。我們還設計了控制按鍵,能夠很好的對出租車計價器控制,如啟動/停止按鍵,清零按鍵等。 這次出租車計價器的系統(tǒng)由時鐘電路,復位電路,信息存儲電路,按鍵控制與顯示等模塊組成在一起。系統(tǒng)結構圖如下:89C51單片機按鍵控制時鐘電路復位電路信息存儲電路顯示路程與價錢圖2.1系統(tǒng)結構2.3芯片簡介AT89C51 提供以下標準功能:4k 字節(jié)Flash 閃速存儲器,128字節(jié)內部RAM,32 個I/O 口線,兩個

9、16位定時/計數(shù)器,一個5向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同時,AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復位。P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能

10、口,如下表所示:各個管腳 備選功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(計時器0外部輸入)P3.5 T1(計時器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號圖2.2 AT89C51引腳圖 圖2.3 AT89C51封裝設計中用到的單片機各管腳(圖2.1)功能介紹如下:VCC:接+9V電源。VSS:接地。時鐘引腳:XTAL1和XTAL2兩端接晶振和30PF的電容,構成時鐘電路。它可以使單片機穩(wěn)定可靠的

11、運行。RST:復位信號輸入端,高電平有效。當在此引腳加兩個機器周期的高電平時,就可以完成復位操作。P1.0:接啟動/停止按鍵,控制計價。P1.1:接功能鍵。P1.2:接調節(jié)數(shù)據(jù)鍵。P1.3:接清零鍵。P0口接數(shù)碼管段選端。P2口接驅動芯片。P3.4(T0):接模擬開關按鍵,替代了出租車計價器中的霍爾傳感器。P3.1、P3.0口接掉電保護電路。第3章 最小系統(tǒng)最小系統(tǒng)設計是單片機應用系統(tǒng)的設計基礎,它包括:信息顯示電路、顯示電路、復位電路、晶振電路。3.1復位電路復位電路有兩種方式:手動復位和上電復位兩種方式。這次選擇是手動復位。單片機復位使CPU和系統(tǒng)中的其他功能都處在一個確定的初始狀態(tài),并從

12、這個狀態(tài)開始工作。其中電平復位是通過RST端經電阻與電源VCC接通而實現(xiàn)的。單片機復位的條件:單片機的第9腳RST為硬件復位端,只要將該端持續(xù)2個機器周期的高電平即可實現(xiàn)復位。我們所設計出租車計價器的時鐘頻率是 12MHz,那么每個機器周期就是1us,(T=12*1/12MHZ=1us),則就是需要2us,T=(12*1/12MHZ)*2=2us,的時間的高電平,在RST引腳出現(xiàn)高電平后的第二個機器周期執(zhí)行復位。復位計算時間:T=RC,R=200,C=10F所以復位電路所需要的時間是T=200×10F =2us由以上計算可以得出,滿足復位條件,所以此電路可以實現(xiàn)復位功能圖3.1復位電

13、路 3.2晶振電路 MCS-51單片機的各功能部件都是以時鐘控制信號為基準,內部電路在時鐘信號的控制下,嚴格地按時序執(zhí)行指令進行工作,單片機本身如同一個復雜的同步時序電路,為了保證其各個部分同步工作,電路要在唯一的時鐘信號控制下,嚴格地按照時序進行工作。為更好地保證振蕩器穩(wěn)定可靠地工作,晶振器和電容應盡可能安裝得與單片機芯片靠近。單片機的時鐘來源通常有兩種方式:內部振蕩方式和外部振蕩方式。在我們這次出租車計價器設計中選用的是內部振蕩方式。在AT89C51的單片機內部有一個用于構成內部振蕩器的反相放大器,XTAL1和XTAL2分別是放大器的輸出和輸入端。這次出租車計價器中使用的振蕩電路,由12M

14、HZ晶體振蕩器和兩個約30PF的電容組成的。在XTAL1和XTAL2兩端跨接晶體和2個30PF的電容組成就構成一個自激振蕩器。XTAL1是反向振蕩放大器的輸入及內部時鐘工作電路的輸入,XTAL2是來自反向振蕩器的輸出,電容C1和電容C2起到穩(wěn)定振蕩頻率,快速啟振的作用。在整個系統(tǒng)中為系統(tǒng)各個部分提供基準頻率,以防因其工作頻率不穩(wěn)定而造成相關設備的工作頻率不穩(wěn)定,晶振可以在電路中產生振蕩電流,發(fā)出時鐘信號。 圖3.4 晶振電路3.3電源電路電源裝置是電路的能量提供者,該設計中所制作的電源為單相小功率電源,將9V的直流電源經穩(wěn)壓管轉換成所需要的5V直流電源。電源部分通過穩(wěn)壓電路而穩(wěn)壓電路是由780

15、5芯片,1個470uF的極性電容組成,并且配套使用的。我們所設計的出租車計價器,由一塊9V的電池塊穩(wěn)壓到5V,輸出電容和輸入電容都不需要很大容量,有470F就可以了,主要起抑制自激振蕩的作用。電源部分通過穩(wěn)壓電路由7805芯片,1個470uF的極性電容組成的。1. 7805芯片概述7805是我們最常用到的穩(wěn)壓芯片了,它的使用方便,用很簡單的電路即 可以輸入一個直流穩(wěn)壓電源,它的輸出電壓為5v。下圖為其結構見圖: 其中1接整流器輸出的+電壓,2為公共地(也就是負極),3就是我們需要的正5V輸出電壓了 。2.基本參數(shù):輸出電壓:4.75-5.25V; 靜態(tài)電流:4.2-8mA; 輸出噪音電壓:40

16、uV; 紋波抑制比:78dB; 輸出電阻:17m; 輸出電壓溫度系數(shù)-1.1mV/°C; 3 基本特征:輸出電流可達1.5A ;不需外接補償元件 ;內含限流保護電流,防止負載短路燒毀元件;內含結溫過熱保護電路,防止結溫過熱燒毀器件 ;內含功耗限制電路,防止燒毀輸出驅動器晶體管。下圖是7805與單片機相連的電源模塊圖3.5 電源電路降壓電路中應注意以下事項:1、輸入輸出壓差不能太大,太大則轉換效率急速降低,而且容易擊穿損壞;2、輸出電流不能太大,1.5A 是其極限值。大電流的輸出,散熱片的尺寸要足夠大,否則會導致高溫保護或熱擊穿;3、輸入輸出壓差也不能太小第4章 輸入部分設計

17、4.1按鍵電路在單片機控制系統(tǒng)中,如果需要按鍵個數(shù)較少或功能要求較為簡單時,就可以采用獨立式按鍵結構。所以在這次出租車計價器的設計中,我們采用了獨立式按鍵結構。在輸入控制電路中,獨立式按鍵是直接利用I/O口線構成的單個按鍵電路,其特點是每個按鍵單獨占有一根I/O口線,每個按鍵的工作不會影響其他I/O口線的狀態(tài)。單片機的P1.0管腳接啟動/停止按鍵,控制計價,P1.1管腳接功能鍵,P1.2管腳接接調節(jié)數(shù)據(jù)鍵,P1.3管腳接接清零鍵。當K1彈起時,按下K2鍵,選擇功能。數(shù)碼管的倒數(shù)第三位顯示1時為調節(jié)單價模式。為0時測不能調節(jié),而當為1時測能調節(jié)。通過這個K3按鍵可以調節(jié)單價,里程計費單價。K4為

18、清零按鍵,價格清零則數(shù)碼管全顯示零,P1.3為低電平,調用清零子程序,用于將顯示數(shù)據(jù)清零,在程序中給各位賦0代碼(0x3f),以達到清零的目的,方便下次計價。功能鍵是控制系統(tǒng)功能的按鍵,由于電壓和電流都比較小所以選擇普通的按鈕開關,下表是功能鍵及對應的功能見表4-1:表4-1 功能鍵及對應功能序號功能K1開始/停止K2功能選擇K3調節(jié)單價K4清零4.2信息存儲電路信息存儲電路中采用了存儲芯片AT24C02。AT24C02是一個CMOS標準的EEPROM存儲器,這些EEPROM存儲器的特點是功耗小、電源范圍寬,靜態(tài)電源電流約30uA110uA,具有標準的I2C總線接口,是應用廣泛的小容量存儲器之

19、。24C02是一個2K位串行CMOSE2PROM,使用方便。AT24C02是一個在突然掉電的情況下存儲數(shù)據(jù)的芯片,即掉電存儲芯片。當電壓到達最低的時候可以到2.5V,但是額定電流為1mA,靜態(tài)電流10uA(5.5V)。下圖是AT24C02的引腳圖,這個芯片是一個8腳芯片,內部存儲器有256字節(jié)。 圖3.2 AT24C02引腳圖引腳功能介紹如下:SCL串行時鐘:24C02串行時鐘輸入管腳用于產生器件所有數(shù)據(jù)發(fā)送或接收的時鐘,這是一個輸入管腳。SDA串行數(shù)據(jù)/地址:24C02雙向串行數(shù)據(jù)/地址管腳用于器件所有數(shù)據(jù)的發(fā)送或接收。SDA 是一個開漏輸出管腳可與其它開漏輸出或集電極開路輸出進行線或(wi

20、re-OR)。A0、A1、A2器件地址輸入端:這些輸入腳用于多個器件級聯(lián)時設置器件地址, 當這些腳懸空時默認值為0。當使用24WC02時最大可級聯(lián)8個器件,24WC02被總線尋址這三個地址輸入腳。A0、A1、A2可懸空或連接到Vss。 WP 寫保護:如果WP管腳連接到Vcc所有的內容都被寫保護,只能讀。當WP管腳連接到Vss或懸空,允許器件進行正常的讀/寫操作。起始信號:時鐘線保持高電平期間,數(shù)據(jù)線電平從高到低的跳變作為I2C總線的起始信號。停止信號:時鐘線保持高電平期間,數(shù)據(jù)線電平從低到高的跳變作為I2C總線的停止信號。本次設計中24C02起存儲作用,將出租車計價器的里程總價錢存儲在24C0

21、2中,當?shù)綦姇r,存儲的數(shù)據(jù)不會丟失,可以讀取24C02中的里程數(shù)完成里程的累積和總的價錢。單片機的P3.0接到24C02的時鐘輸入管腳SCL端,P3.1接到24C02的雙向串行數(shù)據(jù)/地址SDA端。本設計采用信息存儲電路圖如下:圖 3.3信息存儲電路 第5章 輸出部分設計多數(shù)的應用系統(tǒng),都要配輸入和輸出外設,LED顯示器和LCD顯示器,雖然LCD顯示效果比較好,已經成為了一種發(fā)展趨勢,但為了節(jié)約成本,我們選用了LED顯示器(圖5.1)按發(fā)光二極管單元連接方式可分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管,共陽數(shù)碼管在應用時應將公共極C

22、OM接到+5V,當某一字段發(fā)光二極管的陰極為低電平時,相應字段就點亮,當某一字段的陰極為高電平時,相應字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管,共陰數(shù)碼管在應用時應將公共極COM接到地線GND上,當某一字段發(fā)光二極管的陽極為高電平時,相應字段就點亮,當某一字段的陽極為低電平時,相應字段就不亮。圖5.1 LED數(shù)碼管在這次出租車設計的顯示方面,我們選用了動態(tài)顯示。靜態(tài)顯示雖然亮度較高,接口編程容易,但是每位的段碼線分別與一個8位的鎖存器輸出相連。占用的I/O口線比較多,在顯示位數(shù)較多的情況下,一般都采用動態(tài)顯示方式。利用動態(tài)顯示的方法,由于LED顯示

23、器的余輝和人眼的視覺暫留現(xiàn)象,只要每位顯示的時間間隔足夠短,就仍能感覺到所有的數(shù)碼管都在顯示。為了簡化硬件,通常將所有位的段碼線相應段并聯(lián)在一起,由一個8位I/O口控制,在同一時刻,只讓一位選通,如此循環(huán),就可以使各位顯示出將要顯示的字符。 本次課程設計的顯示電路采用數(shù)碼管顯示,是一種外加電壓從而流過電流并發(fā)出可見光的器件。數(shù)碼管有單個數(shù)碼管和八段數(shù)碼管之分,也有共陰和共陽兩種。我們采用的是6個一組的共陰8段數(shù)碼管。我們所設計使用的數(shù)碼管使用的共陰端,并且是高電平有效時,開始顯示。LED顯示模塊如圖5.2所示,利用單片機的P0端口的P0.0-P0.7連接到數(shù)碼管,數(shù)碼數(shù)碼管上顯示,價錢與路程。

24、圖5.2數(shù)碼管模塊一般數(shù)據(jù)管是每段用一個電阻,一共需要8個電阻。因為單片機的P0口是開漏的,不管它的驅動能力多大,相當于它是沒有電源的,需要外部的電路提供,絕大多數(shù)情況下P0口是必需加上拉電阻的。P0口接上拉電阻歐姆,其作用是為了限流作用。數(shù)碼管的型號是:型號BT5161AH它的電壓大約2V。其流過的數(shù)碼管的電流為:(5V-2V)/510=5.88mA 5v-2v/510=5.在其數(shù)碼管所允許的范圍5mA-10 mA 內。其電阻兩端的電壓為3V左右。 圖5.3數(shù)碼管顯示我們在用上拉電阻的使用的排阻,因為使用排阻比用若干只固定電阻更方便。所謂排阻就是若干個參數(shù)完全相同的電阻,它們的一個引腳都連到

25、一起,作為公共引腳。其余引腳正常引出。 圖5.4數(shù)碼管顯示在出租車計價器的數(shù)碼管動態(tài)顯示時工作電流大約20mA,單片機絕對最大I/O口電流是15mA,數(shù)碼管的電流超過單片機所能承受的電流,所以不能點亮數(shù)碼管里面的LED,并且LED的電流一般要20毫安才能達到正常亮度,而且數(shù)碼管一般時候都是幾個LED同時點亮,所以不能直接點亮。所以我們在出租車計價器的設計中,為了能夠讓數(shù)碼管更好的正常顯示,我們采用了芯片74LS245來驅動數(shù)碼管顯示。因為74LS245的電流可達50mA左右,所以我們加入了74LS245的芯片。如下圖的所示。 圖5.5數(shù)碼管驅動電路1. 74LS245的概述74LS245是我們

26、常用的芯片,用來驅動led或者其他的設備??偩€驅動器74LS245經常用作三態(tài)數(shù)據(jù)緩沖器,74LS244為單向三態(tài)數(shù)據(jù)緩沖器,而74LS245為雙向三態(tài)數(shù)據(jù)緩沖器。本設計用74LS245作為驅動芯片,雙向總線發(fā)送器/接收器(3S),是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。 圖5.3 74LS245芯片管腳圖利用74LS245來驅動數(shù)碼管顯示,從單片機的P2.0到P2.5分別接A0到A5管腳,進行數(shù)據(jù)的傳送,其中AB/BA接高電平,控制數(shù)據(jù)從A到B進行傳送,B0到B5分別接數(shù)碼管的位選端,驅動數(shù)碼管依次顯示。P2.0到P2.5的數(shù)據(jù)通過A傳送到B中的數(shù)據(jù)送到數(shù)碼管,以達到顯示數(shù)據(jù)信息的目的

27、。下圖是74LS245與單片機相連的示意圖圖5.4 74LS245示意圖第6章 硬件仿真6.1protus軟件介紹與使用Proteus軟件是Labcenter Electronics公司的一款電路設計與仿真軟件,它包括ISIS、ARES等軟件模塊,ARES模塊主要用來完成PCB的設計,而ISIS模塊用來完成電路原理圖的布圖與仿真。Proteus的軟件仿真基于VSM技術,它與其他軟件最大的不同也是最大的優(yōu)勢就在于它能仿真大量的單片機芯片,比如按鍵、LED、數(shù)碼管等等。通過Proteus仿真軟件的使用我們能夠輕易地獲得一個功能齊全、實用方便的單片機實驗室6.2keil軟件介紹與使用Keil C51

28、是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境、將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,其方便易用的集成環(huán)境、強大的軟件仿真調試工具也會令你事半功倍。6.2protus軟件仿真繪制出租車的軟件仿真圖步驟分一下四步:(1)查找所需要的元器件;(2)根據(jù)電

29、路圖進行連線;(3)加載所寫完的C程序生成的.HEX文件即可以仿真。通過以上步驟,來實現(xiàn)出租車設計的仿真實現(xiàn),仿真如下圖所示:仿真開始時的仿真如圖6.1: 圖仿真6.1計價器開始圖各個界面的顯示單價調節(jié)時界面圖單價6.2調節(jié)顯示里程的增加與價錢界面 圖6.3里程與價錢清零界面 圖6.4 清零仿真第7章 實物制作與調試7.1電路板焊接手工焊接是傳統(tǒng)的的焊接方法,雖然批量電子產品生產已較少采用手工焊接了,但在電子產品的維修、調試中不可避免地還會用到手工焊接。焊接質量的好壞直接影響到維修效果。手工焊接是一項實踐性很強的技能,在了解一般方法后,要多練;多實踐,才能有較好的焊接質量。一、手工焊接一般分四

30、步驟進行準備焊接:清潔被焊元件處的積塵及油污,再將被焊元器件周圍的元器件左右掰一掰,讓電烙鐵頭可以觸到被焊元器件的焊錫處,以免烙鐵頭伸向焊接處時燙壞其他元器件。焊接新的元器件時,應對元器件的引線鍍錫。加熱焊接:將沾有少許焊錫和松香的電烙鐵頭接觸被焊元器件約幾秒鐘。若是要拆下印刷板上的元器件,則待烙鐵頭加熱后,用手或鑷子輕輕拉動元器件,看是否可以取下。清理焊接面:若所焊部位焊錫過多,可將烙鐵頭上的焊錫甩掉,用光烙錫頭沾些焊錫出來。若焊點焊錫過少、不圓滑時,可以用電烙鐵頭"蘸"些焊錫對焊點進行補焊。檢查焊點:看焊點是否圓潤、光亮、牢固,是否有與周圍元器件連焊的現(xiàn)象。手工焊接對焊

31、點的要求是:電連接性能良好;有一定的機械強度;光滑圓潤。二、易損元器件的焊接 易損元器件是指在安裝焊接過程中,受熱或接觸電烙鐵時容易造成損壞的元器件,例如,有機鑄塑元器件、MOS集成電路等。易損元器件在焊接前要認真作好表面清潔、鍍錫等準備工作,焊接時切忌長時間反復燙焊,烙鐵頭及烙鐵溫度要選擇適當,確保一次焊接成功。此外,要少用焊劑,防止焊劑侵入元器件的電接觸點(例如繼電器的觸點)。焊接MOS集成電路最好使用儲能式電烙鐵,以防止由于電烙鐵的微弱漏電而損壞集成電路。由于集成電路引線間距很小,要選擇合適的烙鐵頭及溫度,防止引線間連錫。焊接集成電路最好先焊接地端、輸出端、電源端,再焊輸入端。對于那些對

32、溫度特別敏感的元器件,可以用鑷子夾上蘸有元水乙醇(酒精)的棉球保護元器件根部,使熱量盡量少傳到元器件上。焊接過程要遵循以下原則:焊接原則是先焊接小的元件,再焊接大的。焊接過程要掌握烙鐵的溫度,以免溫度過高損壞元器件。焊接過程中要特別注意的幾點:(1)在焊接多引腳元件時最好焊接一個底座,這樣可以避免器件燒壞。(2)51單片機引腳較多,它與外圍電路連接時,要特別注意,以免連焊、虛焊。(3)有極性的電解電容,要注意其極性。(4)焊接前先弄清各芯片引腳排列方式。7.2硬件調試及排故障按照原理圖將電路板焊接完畢,還要對電路板做認真的檢查。確保相互之間改連接的引腳電氣上一定相連。不該連接的引腳之間完全斷開

33、。設計的過程中,對硬件的檢測和對軟件的測試都不能忽略,因為在系統(tǒng)的仿真過程中。各元件都是理想的,而在設計實際電路時,就需要多方面考慮。要先對元件進行檢測,然后進行調試。 在已經焊接好的電路板上,要對其各個元器件進行檢查。一般情況下,集成電路不會出現(xiàn)故障。在本設計中采用了先焊接插槽的方法,這可以避免一些元件在焊接的過程中被燒壞。另外在焊接數(shù)碼管時,要先排線,再焊接以免線路混亂。元件在選購時需要多備選元件,元件的型號較多,產品質量沒有可靠保證,就避免不了我們買的元器件是損壞的,再加上焊接是在萬能板上焊接的。就有可能發(fā)生虛焊,短路等情況的發(fā)生。所以,在焊接好每個元件后都要進行檢測,以保證焊接無誤。焊

34、接好電路板,把相應的芯片插到對應的插槽中,再檢一次,看芯片是否與插槽接觸良好。 驅動部分是檢查74LS245與數(shù)碼管和單片機接觸的各個引腳,看是否焊接良好,另外要讓芯片和插座有良好的接觸。顯示部分檢測的目的是看數(shù)碼管是否能夠正常顯示。如果不該亮的字段點亮,檢測是因否有短路的情況;如果數(shù)碼管不顯示,說明位選端可能沒有焊好;如果顯示不夠亮,則應該檢查驅動電路。第8章 總結本次設計中,我們采用AT89C51芯片為核心器件,設計出了簡單的出租車計價器,能夠實現(xiàn)顯示總金額和總里程,按鍵控制清零,調價。選題后,我便開始復習單片機方面的知識,也查閱、搜索了很多相關資料,進行總體設計與具體設計,同時也學習仿真

35、軟件Protues和編程軟件KeiC。由于以前都采用匯編語言實現(xiàn)編程,對用C語言來實現(xiàn)單片機的編程不太習慣,花費了一些時間來熟悉C語言的編程。在設計開始,要形成流程圖,它可以使設計有一定的邏輯性與嚴密性,使得設計思路明確。采用模塊化的設計思想很重要,它方便編寫、修改與調試,另外加上必要的注釋,便于交流與理解。這次畢業(yè)設計完成后,體會頗多,在學與做的過程中,取長補短,不斷學習新的知識,吸取經驗,達到進步的目的。通過自身的努力以及相關圖書資料的幫助,逐漸熟悉了KEIL、PROTEUS和C語言等軟件的使用以及硬件焊接與檢測過程中的一些小技巧。本次設計我學習到不少單片機的知識,但由于自己的理論知識水平

36、有限,實踐知識和設計經驗不足,在設計過程中難免存在一些問題。所焊實物尚有許多不足,個別預期功能還不能很好的實現(xiàn),主要原因是考慮問題不周全,電路設計經驗少,實際動手能力不足。懇請各位老師批評指正,以使我在以后的學習和實踐中加以改進和提高。 第9章附錄1.參考文獻1譚浩強.C程序設計(第二版).清華大學出版社,2003 2胡泉、謝芳.C語言程序設計.華中科技大學出版社,20093戴 佳.51單片機C語言應用程序設計實例精講.電子工業(yè)出版社,20074張毅剛.單片機原理及應用.高等教育出版社,20045馬忠梅.單片機的C語言應用程序設計(第三版).北京航空航天大學出社,20046潘永雄.新編單片機原

37、理與應用.西安電子科技大學出版社,20037肖玲妮、袁增貴.Protel 99 SE印刷電路板設計教程.清華大學出版社,2003 8戴梅萼 史嘉權.微型計算機技術與應用.清華大學出版社,20039陳明熒.8051單片機課程設計實訓教材.北京:清華大學出版社,200410王衛(wèi)平.電子工藝技術基礎.電子工業(yè)出版社,200411單片機學習網.2.元器件清單序號文字標號名稱數(shù)量規(guī)格型號備注1R9電阻器11K2R10電阻器12003R2、R3電阻器210K4C1、C2電容230pf無極性5C3電容110uf有極性6U1單片機1AT89C517U3單片片1AT24C028U2單片片174LS2459LED

38、顯示器1GN-5461AH9SW1-SW8按鈕5TD-03B10START等按鈕1TD-03B12X1晶振1UM-514RP1排阻1控制電源157805穩(wěn)壓管12.系統(tǒng)原理圖圖9.1系統(tǒng)原理圖3.程序清單#include <AT89x51.h>#include <stdio.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intint xscode6=0x3f,0x06,0x5b,0x4f,0x66,0x6d;/顯示存儲區(qū)int zxscode6=0x1f,0x2f

39、,0x37,0x3b,0x3d,0x3e;/共陰顯示片選碼int codetab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;int i,j,flag;uchar sec;int kk=0;/路程標志位int jkk=0;/費用int jflag=0;/費用標志位int kflag=0;/路程標志位int zdflag=0;/中斷標志位int kilo=0;/路程int dj=1;/路程單價 int djflag=0;/路程單價biaozhiweisbit key1=P10;sbit key2=P11;sbit key3=P12;sbit

40、 key4=P13;sbit key5=P34;sbit SDA=P31; /IIC引腳sbit SCL=P30;void delay() ;void delay1 (xms)/延時程序子程序 uint i,j; for(i=xms;i>0;i-) for(j=110;j>0;j-); void start() /IIC開始位 SDA = 1;SCL = 1;DelaySDA = 0;delay();void stop() / IIC停止位 SDA = 0; delay(); SCL = 1; delay(); SDA = 1; void respons() /IIC應答位 uch

41、ar i; SCL=1; delay(); while(SDA=1)&&(i<250) i+; SCL=0; delay();void init() SDA=1; delay(); SCL=1; delay(); uchar read_byte() / 從EEPROM讀到MCU uchar i,j;for(i=0;i<8;i+)SCL=1;j<<=1;j|=SDA;SCL=0; return(j);void write_byte(uchar date) / 從MCU寫到EEPROM uchar i,temp; temp=date; for(i=0;i&l

42、t;8;i+) temp=temp<<1; SCL=0; delay(); SDA=CY; delay();SCL=1; delay(); SCL=0; delay(); SDA=1; delay();void write_data(uchar addr, uchar date) / 在指定地址addr處寫入數(shù)據(jù)date start(); write_byte(0xa0); respons(); write_byte(addr); respons(); write_byte(date); respons(); stop();uchar read_data(uchar addr) / 在指定地址addr讀取數(shù)據(jù) uchar date; start(); write_byte(0xa0); respons(); write_byte(addr); respons(); start(); write_byte(0xa1); respons(); date=read_byte(); stop(); return date; void xianshi()/顯示程序子程序 for(flag=0;flag<6;flag+) P0= xscodeflag;/送顯示碼 P2= zxscodeflag;/

溫馨提示

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

最新文檔

評論

0/150

提交評論