出租車計價器控制系統(tǒng)的電路設計_第1頁
出租車計價器控制系統(tǒng)的電路設計_第2頁
出租車計價器控制系統(tǒng)的電路設計_第3頁
出租車計價器控制系統(tǒng)的電路設計_第4頁
出租車計價器控制系統(tǒng)的電路設計_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、PAGE 廣州學院單片機課程設計出租車計價器控制系統(tǒng)的電路設計 院(系) 機械工程學院 專 業(yè) 機械電子工程 班 級 學生姓名 指導老師 2013年12月25日 任 務 書茲發(fā)給機電1 班學生 課程設計任務書,內(nèi)容如下:設計題目:出租車計價器控制系統(tǒng)的電路設計 應完成的項目:(1)AT89C51芯片相關資料 (2)出租車計價器控制系統(tǒng)的電路設計 (3)電路PCB板設計、元件封裝 (4)設計心得 參考資料以及說明:(1)114IC電子元件交易網(wǎng) / (2)電子線路CAD與實訓 (電子工業(yè)出版社) (3)百度文庫AT89C51芯片相關資料 (4)AT89C51芯片的數(shù)據(jù)手冊 本設計任務書于2013

2、年 月 日發(fā)出,應于2013年 月 日前完成,然后進行答辯。指導教師 簽發(fā) 年 月 日評語:總評成績:指導教師簽字:年 月 日PAGE PAGE 29目 錄 TOC o 1-3 h z HYPERLINK l _Toc42951913 摘 要 PAGEREF _Toc42951913 h 2 HYPERLINK l _Toc42951915 第一章 出租車計價器控制系統(tǒng)電路的設計 PAGEREF _Toc42951915 h 4 HYPERLINK l _Toc42951916 11 AT89C51單片機的介紹 PAGEREF _Toc42951916 h 4 HYPERLINK l _Toc

3、42951917 12 芯片常用電路 PAGEREF _Toc42951917 h 4 1. 3 元件封裝. HYPERLINK l _Toc42951920 第二章 應用電路原理圖設計 PAGEREF _Toc42951920 h 6 HYPERLINK l _Toc42951921 21芯片原理圖元件 PAGEREF _Toc42951921 h 6 HYPERLINK l _Toc42951925 22電路設計 PAGEREF _Toc42951925 h 7 HYPERLINK l _Toc42951926 221功能模塊設計 PAGEREF _Toc42951926 h 7 HYPE

4、RLINK l _Toc42951927 222 功能電路設計 PAGEREF _Toc42951927 h 7 HYPERLINK l _Toc42951933 23 本章小結 PAGEREF _Toc42951933 h 9 HYPERLINK l _Toc42951920 第三章 應用電路PCB板設計 PAGEREF _Toc42951920 h 6 HYPERLINK l _Toc42951921 31芯片元件封裝 PAGEREF _Toc42951921 h 6 HYPERLINK l _Toc42951925 32整體電路PCB設計 PAGEREF _Toc42951925 h 7

5、 HYPERLINK l _Toc42951925 33本章小結 PAGEREF _Toc42951925 h 7 HYPERLINK l _Toc42951920 第四章 設計總結 PAGEREF _Toc42951920 h 6參考文獻附件說明:本目錄是自動生成的,并可編輯。摘 要隨著出租車行業(yè)的發(fā)展,出租車已經(jīng)是城市交通的重要組成部分,從加強行業(yè)管理以及減少司機與乘客的糾紛出發(fā),具有良好性能的計價器對出租車司機和乘客來說都是很必要的。我們知道,只要乘坐的出租車啟動,隨著行駛里程的增加,就會看到司機旁邊的計價器里程數(shù)字顯示的讀數(shù)從零逐漸增大,而當行駛到某一值時(如2KM)計費數(shù)字顯示開始從

6、起步價(如4元)增加。當乘客到站時,按下停止按鍵,計費數(shù)字顯示總里程和總金額,它可以很直觀的反映用戶使用情況。在出租車是城市交通的重要組成部分,行業(yè)健康和發(fā)展也獲得越來越多的關注。汽車計價器是乘客與司機雙方的交易準則,它是出租車行業(yè)發(fā)展的重要標志,是出租車中最重要的工具。它關系著交易雙方的利益。具有良好性能的計價器無論是對廣大出租車司機朋友還是乘客來說都是很必要的,因此,汽車計價器的研究也是十分有一個應用價值的。通過本次設計,可以增進對單片機的感性認識,加深對其理論方面的理解,掌握單片機的內(nèi)部功能模塊的應用,了解掌握單片機的軟硬件設計過程、方法及實現(xiàn)。 關鍵詞: 出租車、計價器、單片機出租車計

7、價器控制系統(tǒng)電路的設計1.1 AT89C51單片機的介紹AT89C51是一個低功耗,高性能CMOS 8位單片機,片內(nèi)含4k Bytes ISP的可反復擦寫1000次的Flash只讀程序內(nèi)存,器件采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳結構,芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89C51可為許多嵌入式控制應用系統(tǒng)提供高性價比的解決方案。AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。 其工作電壓在4.5V,一般我們選用5V電壓。外形及引腳排列如圖所示:引腳說明HYPERLI

8、NK l VCC:供電電壓。GND:接地。P0端口:P0端口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P0口的管腳第一次寫1時,被定義為HYPERLINK /view/1410710.htm高阻輸入。P0能夠用于外部程序數(shù)據(jù)HYPERLINK /view/87697.htm存儲器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須接上拉電阻。P1端口:P1端口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外

9、部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為低八位地址接收。P2端口:P2端口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部HYPERLINK /view/421016.htm程序存儲器或16位地址HYPERLINK /view/1273932.htm外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)HY

10、PERLINK /view/87697.htm存儲器進行讀寫時,P2口輸出其HYPERLINK /view/714719.htm特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和HYPERLINK /view/8407048.htm控制信號。P3端口:P3端口是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3端口也可作為AT89C51的一些特殊功能端口,如下表所示:備選功能P3.0 RXD(串行輸入口)P3.1 TXD(

11、串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(計時器0外部輸入)P3.5 T1(計時器1外部輸入)P3.6 /WR(HYPERLINK /view/1273932.htm外部數(shù)據(jù)HYPERLINK /view/87697.htm存儲器寫選通)P3.7 /RD(HYPERLINK /view/1273932.htm外部數(shù)據(jù)HYPERLINK /view/87697.htm存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些HYPERLINK /view/8407048.htm控制信號。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個HYP

12、ERLINK /view/713240.htm機器周期的高電平時間。ALE/PROG:當訪問外部HYPERLINK /view/87697.htm存儲器時,HYPERLINK /view/2260573.htm地址鎖存允許的HYPERLINK /view/355572.htm輸出電平用于鎖存地址的低位字節(jié)。在FLASHHYPERLINK /view/3281.htm編程期間,此HYPERLINK /view/641241.htm引腳用于輸入HYPERLINK /view/3281.htm編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出

13、的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)HYPERLINK /view/87697.htm存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該HYPERLINK /view/641241.htm引腳被略微拉高。如果HYPERLINK /view/1125.htm微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部HYPERLINK /view/421016.htm程序存儲器的選通信號。在由外部程序HYPERLINK /view/87697.htm存儲器取指期間,每個HYPE

14、RLINK /view/713240.htm機器周期兩次/PSEN有效。但在訪問HYPERLINK /view/1273932.htm外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當/EA保持低電平時,則在此期間外部程序HYPERLINK /view/87697.htm存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出

15、。1.2 出租車計價器控制系統(tǒng)電路的原理圖 輸入部分按鍵控制電路中,單片機的P1.0管腳接啟動/停止按鍵,通過軟件編程,當按下按鍵計數(shù)器開始工作,開始計價;當彈起按鍵時,計數(shù)器停止工作,停止計價,啟動/停止按鍵帶自鎖功能。按下啟動按鍵,開關處于導通狀態(tài),這時給P1.0送低電平信號,這時TR0=1,計數(shù)器開始工作,調(diào)用計價子程序開始計價。清零按鍵接單片機的P1.3管腳,按下清零按鍵,P1.3為低電平,調(diào)用清零子程序,用于將顯示數(shù)據(jù)清零,在程序中給各位賦0代碼(0 x3f),以達到清零的目的,方便下次計價。另外為功能鍵,控制價格調(diào)整,這個按鍵是在沒有按下啟動/停止按鍵時有作用,計價過程中無效。顯示

16、電路 多數(shù)的應用系統(tǒng),都要配輸入和輸出外設,LED顯示器和LCD顯示器,雖然LCD顯示效果比較好,已經(jīng)成為了一種發(fā)展趨勢,但為了節(jié)約成本,我們選用了LED顯示器。在顯示方面,我們選用了動態(tài)顯示。靜態(tài)顯示雖然亮度較高,接口編程容易,但是每位的段碼線分別與一個8位的鎖存器輸出相連。占用的I/O口線比較多,在顯示位數(shù)較多的情況下,一般都采用動態(tài)顯示方式。利用動態(tài)顯示的方法,由于LED顯示器的余輝和人眼的視覺暫留現(xiàn)象,只要每位顯示的時間間隔足夠短,就仍能感覺到所有的數(shù)碼管都在顯示。為了簡化硬件,通常將所有位的段碼線相應段并聯(lián)在一起,由一個8位I/O口控制,在同一時刻,只讓一位選通,如此循環(huán),就可以使各

17、位顯示出將要顯示的字符。LED數(shù)碼有共陽和共陰兩種,把這些LED發(fā)光二極管的正極接到一塊(一般是拼成一個8字加一個小數(shù)點)而作為一個引腳,就叫共陽的,相反的,就叫共陰的,那么應用時這個腳就分別的接VCC和GND。再把多個這樣的8字裝在一起就成了多位的數(shù)碼管了。在本設計仿真中使用的是6個一組的共陰8段數(shù)碼管(圖2.7)。 找公共共陰和公共共陽的方法:首先我們找個 HYPERLINK /product/file506.html t _blank 電源|穩(wěn)壓器(3到5伏)和1個1K(幾百歐的也行)的 HYPERLINK /product/searchfile/294.html t _blank 電阻

18、,VCC串接個電阻后和GND接在任意2個腳上,組合有很多,但總有一個LED會發(fā)光的,找到一個就夠了,然后用GND不動,VCC(串電阻)逐個碰剩下的腳,如果有多個LED(一般是8個),那它就是共陰的了。共陰極數(shù)碼管,陰極接地,當某個發(fā)光二極管的陽極為高電平時,發(fā)光二極管點亮,對應的段就顯示。復位電路單片機的復位是由外部的復位電路實現(xiàn)的, 復位電路通常采用上電自動復位和按鈕復位兩種方式。上電自動復位是通過外部復位電路的電容充電來實現(xiàn)的。除了上電復位外還需要按鍵手動復位(圖2.8)。按鍵手動復位有電平方式和脈沖方式兩種。其中電平復位是通過RST端經(jīng)電阻與電源VCC接通而實現(xiàn)的。單片機的復位速度比外圍

19、I/O接口電路快為能夠保證系統(tǒng)可靠的復位,在初始化程序中應安排一定的復位延遲時間。 掉電保護電路掉電保護電路中采用了存儲芯片AT24C02。AT24C02是一個CMOS標準的EEPROM存儲器,是AT24CXX系列(AT24C01/02/04/08/16)成員之一,這些EEPROM存儲器的特點是功耗小、成本低、電源范圍寬,靜態(tài)電源電流約30uA110uA,具有標準的I2C總線接口,是應用廣泛的小容量存儲器之一。 引腳功能介紹如下:A0(引腳1):器件地址的A0位,是器件地址的最低位,器件地址排列是A6 A5 A4 A3A2 A1 A0 R/W。A1(引腳2):器件地址的A1位。A2(引腳3):

20、器件地址的A2位。GND(引腳4):地線。SDA(引腳5):數(shù)據(jù)總線引腳。SCL(引腳6):時鐘總線引腳。TEST(引腳7):測試引腳。Vcc(引腳8):電源線引腳。本設計采用掉電存儲電路圖如下:時鐘電路MCS-51單片機的各功能部件都是以時鐘控制信號為基準,內(nèi)部電路在時鐘信號的控制下,嚴格地按時序執(zhí)行指令進行工作,單片機本身如同一個復雜的同步時序電路,為了保證其各個部分同步工作,電路要在唯一的時鐘信號控制下,嚴格地按照時序進行工作。其實只需在時鐘引腳連接上外圍的定時控制元件,就可以構成一個穩(wěn)定的自激振蕩器。為更好地保證振蕩器穩(wěn)定可靠地工作,諧振器和電容應盡可能安裝得與單片機芯片靠近。本設計中

21、使用的振蕩電路,由12MHZ晶體振蕩器和兩個約30PF的電容組成,在XTAL1和XTAL2兩端跨接晶體,電容的大小不會影響振蕩頻率的高低。在整個系統(tǒng)中為系統(tǒng)各個部分提供基準頻率,以防因其工作頻率不穩(wěn)定而造成相關設備的工作頻率不穩(wěn)定,晶振可以在電路中產(chǎn)生振蕩電流,發(fā)出時鐘信號。如下圖所示:1.3 元件封裝有2個元件封裝是DXP軟件封裝模板里沒有的,必須手動繪制封裝并添加到上述的電器元件里,這兩個電器元件分別是:AT89C51芯片 和晶體管,采用: 雙列直插式封裝(DIP-8)AT89C51的封裝晶體管的封裝排阻的封裝74LS245的封裝FM24C02的封裝第二章 出租車計價器控制系統(tǒng)的整體程序設

22、計2.1系統(tǒng)程序設計本設計中,軟件設計采用模塊化操作,利用各個模塊之間的相互聯(lián)系,在設計中采用主程序調(diào)用各個子程序的方法,使程序通俗易懂,我們設計了整體程序流程圖。在main函數(shù)編寫開始,要進行初始化,包括對系統(tǒng)初始化和對存儲器初始化,要對硬件設備進行初始化,并使硬件處于就緒狀態(tài)。通過判斷是否計費,調(diào)價,清零等狀態(tài),來分別調(diào)用不同的子程序,使程序在設計之前,就有了很強的邏輯關系。這些對應于硬件就是通過按下各個控制開關,來分別進行不同的動作,最后數(shù)碼管根據(jù)輸入的信息,來顯示不同的數(shù)據(jù)信息,這就達到了軟件控制硬件,同時輸入信息控制輸出信息的目的。整個程序的流程圖如下:NNY 結果顯示判斷是否進入調(diào)

23、價模式判斷是否開始計費進入調(diào)價模式調(diào)用計費子程序判斷是否停止鍵按下NY開顯示N 初始化 清顯示單價復位Y2.2 編程工具C51語言8051單片機的應用程序設計,使用C51語言進行程序設計雖然相對于匯編語言代碼效率有所下降,但可以方便地實現(xiàn)程序設計模塊化,代碼結構清晰、可讀性強,易于維護、更新和移植,適合較大規(guī)模的單片機程序設計。近年來,隨著C51語言的編譯器性能的不斷提高,在絕大多數(shù)應用環(huán)境下,C51程序的執(zhí)行效率已經(jīng)非常接近匯編語言,因此,使用C51進行單片機程序設計已經(jīng)成為單片機程序設計的主流選擇之一。2.3 系統(tǒng)程序#include /#include #include #define

24、uchar unsigned char#define uint unsigned intint xscode6=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d;/顯示存儲區(qū)int zxscode6=0 x1f,0 x2f,0 x37,0 x3b,0 x3d,0 x3e;/共陰顯示片選碼int codetab=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;/共陰極數(shù)碼int i,j,flag;uchar sec;int kk=0;/路程標志位int jkk=0;/費用int jflag=0;/費用標

25、志位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 key4=P13;sbit key5=P34;sbit SDA=P30; /IIC引腳sbit SCL=P31;void delay() ;void delay1 (xms)/延時程序子程序 uint i,j; for(i=xms;i0;i-) for(j=110;j0;j-); void start() /II

26、C開始位 SDA = 1; SCL = 1; delay(); SDA = 0; delay(); void stop() / IIC停止位 SDA = 0; delay(); SCL = 1; delay(); SDA = 1; void respons() /IIC應答位 uchar i; SCL=1; delay(); while(SDA=1)&(i250) i+; SCL=0; delay();void init() SDA=1; delay(); SCL=1; delay(); uchar read_byte() / 從EEPROM讀到MCU uchar i,j; for(i=0;i

27、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;i8;i+) temp=temp1; 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(

28、0 xa0); respons(); write_byte(addr); respons(); write_byte(date); respons(); stop();uchar read_data(uchar addr) / 在指定地址addr讀取數(shù)據(jù) uchar date; start(); write_byte(0 xa0); respons(); write_byte(addr); respons(); start(); write_byte(0 xa1); respons(); date=read_byte(); stop(); return date; void xianshi()

29、/顯示程序子程序 for(flag=0;flag6;flag+) P0= xscodeflag;/送顯示碼P2= zxscodeflag;/ 送片選碼 delay1(2);P0=0; void jijia()/計費子程序 if(kk2&kk35&kk900) jkk=4+2*dj*(kk-2)+1; kflag=kk/100;/路程百位 jflag=jkk/100;/路費百位 xscode2=codetabkflag; xscode5=codetabjflag; kflag=kk/10;/路程十位 jflag=jkk/10;/路費十位 xscode1=codetabkflag; xscode4

30、=codetabjflag; kflag=kk%10;/路程個位 jflag=jkk%10;/路費個位 if(kflag=0)kflag=2;/不足兩公里時,顯示兩公里 xscode0=codetabkflag; xscode3=codetabjflag; void qingling() for(i=0;i100) sec=0; TL0=(65536-2)%256 ;/計數(shù)值設置,記滿兩次產(chǎn)生中斷 TH0=(65536-2)/256 ; TMOD=0 x06; EA=1; ET0=1; TR0=0;/關定時器 kilo=0; qingling(); aa: if(key1=0)/當鍵按下去,開

31、始計費 TR0=1;/開計數(shù)器0kk=kilo;jijia(); if(key1=1)/當鍵松開,停止計費TR0=0;/停計數(shù)器1 if(key2=0)/功能調(diào)整鍵 delay1(10);/延時判斷鍵是否松開 if(key2=1) xscode2=codetabdjflag+;/當p1.2口的按鍵按下時功能標志位加一 if(key3=0&djflag=2)/當功能鍵標志位等1時,改變每公里的價錢 delay1(10); if(key3=1) dj+; xscode1= codetabdj/10 ;/把價錢十位送顯示區(qū),單價不能超100 xscode0=codetabdj%10; if(key4=0)/有鍵按下,清顯示,單價會初始值,單價標志位清零 qingling(); dj

溫馨提示

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

最新文檔

評論

0/150

提交評論