版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于51單片機(jī)原理出租車計(jì)價器的設(shè)計(jì) 摘要出租車計(jì)價器是出租車營運(yùn)收費(fèi)的專用只能化儀表,隨著電子技術(shù)的發(fā)展,出租車計(jì)價器技術(shù)也在不斷進(jìn)步和提高。國內(nèi)出租車計(jì)價器已經(jīng)經(jīng)歷了4個階段的發(fā)展。從傳統(tǒng)的全部由機(jī)械元器件組成的機(jī)械式,到半電子式即用電子線路代替部分機(jī)械元器件的出租車計(jì)價器;再從集成電路式到目前的單片機(jī)系統(tǒng)設(shè)計(jì)的出租車計(jì)價器。出租車計(jì)價器計(jì)費(fèi)是否準(zhǔn)確是乘客最關(guān)心的問題,而計(jì)價器營運(yùn)數(shù)據(jù)的管理是否方便才是出租車司機(jī)最關(guān)注的。在隨著科技的發(fā)展,現(xiàn)在各大中城市出租車行業(yè)都已普及自動計(jì)價器,所以計(jì)價器技術(shù)的發(fā)展已成定局。而部分小城市尚未普及,但隨著城市建設(shè)日益加快,象征著城市面貌的出租車行業(yè)也將加
2、速發(fā)展,計(jì)價器的普及也是毫無疑問的,所以未來汽車計(jì)價器的市場還是十分有潛力的。本次設(shè)計(jì)是采用AT89C52單片機(jī)為中心,外加霍爾傳感器行對里程進(jìn)行測距,由于實(shí)驗(yàn)室的限制的問題所以改用按鍵代替霍爾傳感器,實(shí)現(xiàn)對出租車計(jì)價統(tǒng)計(jì),輸出采用LCD1602A的出租車計(jì)價器。關(guān)鍵字 :51系列單片機(jī),霍爾傳感器,LCD1602A目 錄前 言4第一章 出租車計(jì)價系統(tǒng)的設(shè)計(jì)要求與設(shè)計(jì)方案51.1 基本設(shè)計(jì)要求51.2 性能指標(biāo)61.3 顯示功能6第二章 出租車計(jì)價器系統(tǒng)的硬件設(shè)計(jì)62.1 出租車硬件框圖62.2 AT89C52單片機(jī)及引腳說明72.3 LCD1602A的簡介102.4 時鐘電路132.5 復(fù)位
3、電路設(shè)計(jì)132.6 顯示電路142.7 鍵盤接口技術(shù)152.8 霍爾傳感器設(shè)計(jì)15第三章 出租車計(jì)價器系統(tǒng)的軟件設(shè)計(jì)163.1 系統(tǒng)整體程序流程163.2 中斷子函數(shù)173.3 按鍵判斷方式183.4 LCD1602顯示的判斷18第四章 出租車系統(tǒng)的安裝與調(diào)試204.1 硬件調(diào)試204.2 軟件調(diào)試20第五章 設(shè)計(jì)體會與小結(jié)21參考文獻(xiàn)22附錄23一 源程序23二 系統(tǒng)硬件原理圖32前 言隨著生活水平的提高,人們已不再滿足于衣食住的享受,出行的舒適已受到越來越多人的關(guān)注。于是,出租車行業(yè)以低價高質(zhì)的服務(wù)給人們帶來了出行的享受。但是總存在著買糾紛困擾著行業(yè)的發(fā)展。而在出租車行業(yè)中解決這一矛盾的最
4、好方法就是改良計(jì)價器。用更加精良的計(jì)價器來為乘客提供更加方便快捷的服務(wù)。凡乘過出租車的人都知道,只要汽車開動,隨著行駛里程的增加,就會看到汽車前面的計(jì)價器里程數(shù)字顯示的讀數(shù)從零逐漸增大,而當(dāng)行駛到某一值時(如5KM)計(jì)費(fèi)數(shù)字顯示開始從起步價(如5元)增加。當(dāng)出租車到達(dá)某地需要在那里等候時,司機(jī)只要按一下“計(jì)時”鍵,每等候一定時間,計(jì)費(fèi)顯示就增加一個該收的等候費(fèi)用。汽車?yán)^續(xù)行駛時,停止計(jì)算等候費(fèi),繼續(xù)增加里程計(jì)費(fèi)。到達(dá)目的地,便可按顯示的數(shù)字收費(fèi)。 汽車計(jì)價器是乘客與司機(jī)雙方的交易準(zhǔn)則,它是出租車行業(yè)發(fā)展的重要標(biāo)志,是出租車中最重要的工具。它關(guān)系著交易雙方的利益。具有良好性能的計(jì)價器無論是對廣大
5、出租車司機(jī)朋友還是乘客來說都是很必要的。因此,汽車計(jì)價器的研究也是十分有一個應(yīng)用價值的。 第一章 出租車計(jì)價系統(tǒng)的設(shè)計(jì)要求與設(shè)計(jì)方案1.1 基本設(shè)計(jì)要求本出租車自動計(jì)費(fèi),上電后顯示最初的起步價,里程計(jì)費(fèi)單價,等待時間計(jì)費(fèi)單價,通過按鍵可以調(diào)節(jié)起步價,里程計(jì)費(fèi)單價,等待時間計(jì)費(fèi)單價。同時具有運(yùn)行,暫停,停止等狀態(tài),可以顯示運(yùn)行的時間,同時可以顯示暫停的時間,具有累加功能,暫停和運(yùn)行時間在暫停和運(yùn)行前一次的狀態(tài)上計(jì)時。出租車停止后能夠顯示行駛的總費(fèi)用。1.2 性能指標(biāo)費(fèi)用的計(jì)算是按行駛里程收費(fèi)。設(shè)起步價為5.00元。1、當(dāng)里程3km時,每公里按1.3元計(jì)費(fèi)3、等待累計(jì)時間2min時,按1.5元/m
6、in計(jì)費(fèi)1.3 顯示功能1、顯示行駛里程:用四位數(shù)字顯示,顯示方式為“XXXX”,單位為km。計(jì)程范圍0-99km,精確到1km。2、顯示等候時間:用兩位數(shù)字顯示,顯示方式為“XX”,單位為min。計(jì)時范圍0-59min,精確到1min。3、顯示總費(fèi)用:用四位數(shù)字顯示,顯示方式為“XXX.X”,單位為元。計(jì)價范圍0-999.9元,精確到0.1元。第二章 出租車計(jì)價器系統(tǒng)的硬件設(shè)計(jì)2.1 出租車硬件框圖圖2-1系統(tǒng)的硬件框圖2.2 AT89C52單片機(jī)及引腳說明圖2-2 AT89C52引腳配置AT89C52是51系列單片機(jī)的一個型號,它是ATMEL公司生產(chǎn)的。 AT89C52是一個低電壓,高性能
7、CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,功能強(qiáng)大的AT89C52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。 AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計(jì)數(shù)器,2個全雙工串行通信口,2個讀寫口線,AT89C52可以按照常規(guī)方法進(jìn)行編程,但不可以在線編程(S系列的才支持在線編程)。其將通用的微處理器和Flas
8、h存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。 AT89C52有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。芯片的40個引腳功能為:VCC 電源電壓。GND 接地。RST 復(fù)位輸入。當(dāng)RST變?yōu)楦唠娖讲⒈3?個機(jī)器周期時,將使單片機(jī)復(fù)位。WDT溢出將使該引腳輸出高電平,設(shè)置SFR AUXR的DISRTO位(地址8EH)可打開或關(guān)閉該功能。DISKRTO位缺省為RESET輸出高電平打開狀態(tài)。XTAL1 反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2 來自反向振蕩放大器的輸出。P0口 一組8位漏極開路型雙向I/O口。也即地址/
9、數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能驅(qū)動8個TTL邏輯門電路,對端口寫“1”可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在Flash編程時,P0口接收指令字節(jié),而在程序校驗(yàn)時,輸出指令字節(jié),校驗(yàn)時,要求外接上拉電阻。P1口 一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因?yàn)閮?nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。Flash編程和程序校驗(yàn)期間,
10、P1接收低8位地址。P1口部分端口引腳及功能如表2.1所示。表2.1 P1口特殊功能P1口引腳特殊功能P1.5MOSI(用于ISP編程)P1.6MOSI(用于ISP編程)P1.7SCK(用于ISP編程) P2口 一個帶內(nèi)部上拉電阻的8位雙向I/O口。P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因?yàn)閮?nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器時,P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器時,P2口線上的內(nèi)容在整
11、個訪問期間不改變。Flash編程和程序校驗(yàn)期間,P2亦接收低8位地址。P3口 一個帶內(nèi)部上拉電阻的8位雙向I/O口。P3的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫“1”時,它們被內(nèi)部的上拉電阻把拉到高電并可作輸入端口。作輸入端口使用時,被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如表2.2所示。P3口還接收一些用于Flash閃速存儲器編程和程序校驗(yàn)期間的控制信號。表2.2 P3口特殊功能P3口引腳特殊功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2(外部中斷0)P3.3(外部中斷1
12、)P3.4T0(定時器0外部輸入)P3.5T1(定時器1外部輸入)P3.6 (外部數(shù)據(jù)存儲器寫選通)P3.7 (外部數(shù)據(jù)存儲器讀選通) PSEN/ 程序儲存允許輸出是外部程序存儲器的讀先通信號,當(dāng)AT89S51由外部程序存儲器取指令(或數(shù)據(jù))時,每個機(jī)器周期兩次PSEN/有效,即輸出兩個脈沖。當(dāng)訪問外部數(shù)據(jù)存儲器,沒有兩次有效的PSEN/信號。EA/VPP 外部訪問允許。欲使CPU僅訪問外部程序存儲器,EA端必須保持低電平,需注意的是:如果加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。Flash存儲器編程時,該引腳加上+12V的編程電壓VPP。2.3 LCD1602A的簡介字符型液晶1602
13、主要技術(shù)參數(shù)如表2.3所示:表2.3 字符型液晶1602主要技術(shù)參數(shù)顯示容量:16*2個字符芯片工作電壓:4.55.5V工作電流:2.0mA(5.0V)模塊最佳工作電壓:5.0V字符尺寸:2.95*4.35(W*H)mm接口信號說明如表2.4所示:表2.4 1602接口信號說明編號符號引腳說明編號符號引腳說明1Vss電源地9D2DataI/O2VDD電源正極10D3DataI/O3VL液晶顯示偏壓信號11D4DataI/O4Rs數(shù)據(jù)/命令選擇端(H/L)12D5DataI/O5R/W讀/寫選擇端(H/L)13D6DataI/O6E使能信號14D7DataI/O7D0DataI/O15BLA背光
14、源正極8D1DataI/O16BLK背光源負(fù)極控制器接口說明(HD44780及兼容芯片)基本操作時序a 讀狀態(tài):輸入:Rs=L, Rw=H, E=H 輸出:D0D7=狀態(tài)字b 寫指令:輸入:Rs=L, Rw=L, D0D7=指令碼 輸出:無 E=高脈沖C 讀數(shù)據(jù):輸入:Rs=H, Rw=L, E=H 輸出:D0D7=數(shù)據(jù)d 寫數(shù)據(jù):輸入:Rs=H, Rw=L, D0D7=數(shù)據(jù) 輸出:無 E=高脈沖狀態(tài)字說明如表2.5所示:表2.5狀態(tài)字說明(a)STA7D7STA6D6STA5 D5STA4 D4STA3 D3STA2 D2STA1 D1STA0 D0表2.6 狀態(tài)字說明(b)STA0-6當(dāng)前
15、數(shù)據(jù)地址指針的數(shù)值STA7讀寫操作使能1:禁止 0:允許注:對控制器進(jìn)行讀寫操作之前,都必須進(jìn)行讀寫檢測,確保STA7為0RAM地址映射圖控制器內(nèi)部帶有80*8位(80字節(jié))的RAM緩沖區(qū),對應(yīng)關(guān)系如下圖2.7所示:表2.7 RAM地址映射圖LCD16字*2行000102030405060708090A0B0C0D0E0F1027404142434445464748494A4B4C4D4E4F5067指令說明初始化設(shè)置顯示模式設(shè)置如表2.8所示:表2.8顯示模式設(shè)置指令碼功能00111000設(shè)置16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)接口顯示開關(guān)及光標(biāo)設(shè)置如表2.9所示:表2.9 顯示開關(guān)及光標(biāo)設(shè)置
16、指令碼功能00001DCBD=1 開顯示; D=0 關(guān)顯示C=1 顯示光標(biāo); C=0 不顯示光標(biāo)B=1 光標(biāo)閃爍; B=0 光標(biāo)不顯示000001NSN=1 當(dāng)讀或?qū)懸粋€字符后地址指針加一,且光標(biāo)加一N=0 當(dāng)讀或?qū)懸粋€字后地址指針減一,且光標(biāo)減一S=1 當(dāng)寫一個字符后,整屏顯示左移(N=1)或右移(N=0),以得到光標(biāo)不移動而屏幕移動的效果S=0 當(dāng)寫一個字符,整屏顯示不移動數(shù)據(jù)控制控制器內(nèi)部沒有一個數(shù)據(jù)地址指針,用戶可通過它們來訪問內(nèi)部的全部80字節(jié)RAM。數(shù)據(jù)指針設(shè)置如表2.10所示表2.10 數(shù)據(jù)指針設(shè)置(a)指令碼功能80H+地址碼(027H, 4067H)設(shè)置數(shù)據(jù)地址指針讀數(shù)據(jù):見
17、c寫數(shù)據(jù):見d其它設(shè)置如表2.11所示表2.11數(shù)據(jù)指針設(shè)置(b)指令碼功能01H顯示清屏:1.數(shù)據(jù)指針清零 2.所有顯示清零02H顯示回車:1.數(shù)據(jù)指針清零2.4 時鐘電路單片機(jī)內(nèi)部有一個高增益、反相放大器,其輸入端為芯片引腳XTAL1,其輸出端為引腳XTAL2。通過這兩個引腳在芯片外并接石英晶體振蕩器和兩只電容(電容和一般取33pF)。這樣就構(gòu)成一個穩(wěn)定的自激振蕩器。 振蕩電路脈沖經(jīng)過二分頻后作為系統(tǒng)的時鐘信號,再在二分頻的基礎(chǔ)上三分頻產(chǎn)生ALE信號,此時得到的信號時機(jī)器周期信號。如圖2-4所示:圖2-4 AT89C52的時鐘電路2.5 復(fù)位電路設(shè)計(jì)圖如圖2-5所示。復(fù)位操作有兩種基本形式
18、:一種是上電復(fù)位,另一種是按鍵復(fù)位。按鍵復(fù)位具有上電復(fù)位功能外,若要復(fù)位,只要按圖中的RESET鍵,電源VCC經(jīng)電阻R1、R2分壓,在RESET端產(chǎn)生一個復(fù)位高電平。上電復(fù)位電路要求接通電源后,通過外部電容充電來實(shí)現(xiàn)單片機(jī)自動復(fù)位操作。上電瞬間RESET引腳獲得高電平,隨著電容的充電,RERST引腳的高電平將逐漸下降。RERST引腳的高電平只要能保持足夠的時間(2個機(jī)器周期),單片機(jī)就可以進(jìn)行復(fù)位操作。按鍵復(fù)位電路圖2-5 AT89C52的按鍵復(fù)位電路2.6 顯示電路對于現(xiàn)實(shí)電路我們可以采用數(shù)碼管,也可以采用液晶顯示,液晶又分字符型和點(diǎn)陣型,我們使用的液晶是字符型液晶,并且?guī)ё址麕斓?,不需要?/p>
19、找代碼。英文字符就可。液晶電路使用時,如果發(fā)現(xiàn)液晶不亮可以調(diào)節(jié)連接液晶的點(diǎn)位器,改變液晶的亮度。顯示電路如圖2-6所示:圖2-6 顯示電路2.7 鍵盤接口技術(shù)獨(dú)立式鍵盤:獨(dú)立式鍵盤中,每個按鍵占用一根I/O口線,每個按鍵電路相對獨(dú)立。I/O口通過按鍵與地相連,I/O口有上拉電阻,無鍵按下時,引腳端為高電平,有鍵按下時,引腳電平被拉低。I/O口內(nèi)部有上拉電阻時,外部可不接上拉電阻。鍵盤接口電路如圖2-7所示:圖2-7 按鍵電路2.8 霍爾傳感器設(shè)計(jì)里程計(jì)算是通過安裝在車輪旁的霍爾傳感器檢測到的信號,送到單片機(jī),經(jīng)處理計(jì)算,送給顯示單元的。而由于本次實(shí)驗(yàn)室的局限不能利用霍爾傳感器,所以我們利用按鍵
20、來代替霍爾傳感器,通過按一次鍵代表汽車行駛了1公里,當(dāng)在行駛過程中,停止按鍵代表行駛進(jìn)入了等待時間。霍爾傳感器的連接如圖2-8所示圖2-8 霍爾傳感器的連接第三章 出租車計(jì)價器系統(tǒng)的軟件設(shè)計(jì)3.1 系統(tǒng)整體程序流程圖3-1 主流程圖在主程序模塊中,需要完成對各接口芯片的初始化、出租車起價和單價的初始化、中斷向量的設(shè)計(jì)以及開中斷、循環(huán)等待等工作。另外,在主程序模塊中還需要設(shè)置啟動/清除標(biāo)志寄存器、里程寄存器和價格寄存器,并對它們進(jìn)行初始化。然后,主程序?qū)⒏鶕?jù)各標(biāo)志寄存器的內(nèi)容,分別完成啟動、清除、計(jì)程和計(jì)價等不同的操作。主程序流程圖如圖3-13.2 中斷子函數(shù)于中斷程序,只要定時器計(jì)數(shù)滿就會產(chǎn)生
21、中斷50ms中斷一次,共計(jì)20次,秒鐘加1,秒鐘計(jì)滿再分鐘加,當(dāng)分鐘加到99時全部清零。以下是中斷子函數(shù)的流程圖如圖3-2所示:圖3-2中斷子程序流程圖3.3 按鍵判斷方式對于獨(dú)立式鍵盤判鍵,首先看有鍵按下不,如果有鍵按下則延時一會兒,在判斷是否真的有鍵按下,如果確實(shí)有鍵按下,在判鍵釋放,最后執(zhí)行鍵功能程序。判鍵子函數(shù)的流程框圖如圖3-3所示圖3-3按鍵判斷程序流程圖3.4 LCD1602顯示的判斷1602液晶是字符型液晶,它的內(nèi)部自帶字符庫,它可以寫兩行的字符,同時每行可以寫40個字符,在寫顯示程序的時候,我們先寫命令,再設(shè)定字符顯示,最后寫數(shù)據(jù),在每寫一次命令或數(shù)據(jù)都需要判斷液晶是否忙。液
22、晶顯示程序流程圖如圖3-4所示3-4 LCD1602A顯示子程序第四章 出租車系統(tǒng)的安裝與調(diào)試4.1 硬件調(diào)試進(jìn)行通電調(diào)試,檢查開發(fā)板是否正常。1 )當(dāng)LCD1602A液晶背光亮,但無任何顯示,就進(jìn)行調(diào)節(jié)對比度后按復(fù)位鍵;當(dāng)LCD1602A液晶發(fā)光,有一排白色方框,就把LCD1602A拔出重新插緊液晶,插正單片機(jī),按復(fù)位或重新下載程序;當(dāng)LCD1602A液晶沒有反映,則要算開電源,檢查各引腳的問題。2 )當(dāng)LCD1602A都能不會有問題,可開發(fā)板還是不能正常使用,先檢查下開發(fā)板的電源是否正常,不正常則進(jìn)行調(diào)試。電源正常,則使用萬用表檢查AT89C52單片機(jī)芯片是否正常,要是短路則換一個新的單片
23、機(jī)芯片。3)當(dāng)鍵盤的按鍵失效,則換過一排按鍵,或修好按鍵在進(jìn)行實(shí)驗(yàn)驗(yàn)證。4.2 軟件調(diào)試輸入程序并檢查無誤,經(jīng)編譯、連接后燒入開發(fā)板運(yùn)行,觀察現(xiàn)象。 要是沒有現(xiàn)象就查看下是否燒寫軟件出了問題。1)查看STC-ISP軟件的地址上沒有顯示出地址,這說明開發(fā)板和燒寫軟件沒有連接上,換個數(shù)據(jù)線在進(jìn)行連接燒寫。2)看是不是單片機(jī)的型號選錯看或忘記選擇,改后在下載過觀察結(jié)果。3)觀察下是否串行口選錯了,查看我的電腦屬性的硬件管理查看對應(yīng)的串行口,錯了改正,改后下載過在觀察結(jié)果。4)在打開文件是沒有看到所要的文件.hex,則重新按確步驟編寫程序。第五章 設(shè)計(jì)體會與小結(jié)出租車計(jì)費(fèi)器系統(tǒng)的設(shè)計(jì)已經(jīng)全部完成,能按
24、預(yù)期的效果進(jìn)行模擬汽車啟動,停止,暫停等功能,并能夠通過LCD顯示車費(fèi)數(shù)目。本款出租車計(jì)價器包括單價輸出、單價調(diào)整、顯示當(dāng)前的系統(tǒng)時間等功能。同過了5周的課程設(shè)計(jì)讓我學(xué)會了很多的東西。經(jīng)過自己努力,基本上完成了設(shè)計(jì)要求的內(nèi)容,在系統(tǒng)可行性分析、原理圖設(shè)計(jì)等方面都作了許多實(shí)際工作,取得了一些成績,同時也遇到了一些問題,存在一些不足。學(xué)會了怎么去查找些資料,把所找到的東西與自己的問題所結(jié)合起來并給予解決。這次設(shè)計(jì)很好的把以前學(xué)到的理論知識應(yīng)用于實(shí)踐,使我認(rèn)識到理論知識與實(shí)踐之間有一定的差距,只有通過不斷的努力學(xué)習(xí)和實(shí)踐才能很好的把理論知識應(yīng)用到實(shí)踐當(dāng)中,也只有通過不斷的實(shí)踐才能對理論知識的理解。凡
25、事都要自己去動下手,去實(shí)踐一下,遇到困難,永遠(yuǎn)不要沮喪氣餒,只有這樣才能讓自己進(jìn)一步的去學(xué)會新的東西和知識。在動手的過程中,不僅能增強(qiáng)實(shí)踐能力,而且在理論上可以有更深的認(rèn)識;這次設(shè)計(jì)給了我極大的鼓舞和信心,相信在以后的學(xué)習(xí)中可以通過不斷的摸索和實(shí)踐來提高其他方面的知識。書上學(xué)來中覺潛,只有實(shí)踐與理論的結(jié)合才能讓自己學(xué)會跟多的東西掌握更多的理論。參考文獻(xiàn)1 李群芳,張士軍,黃建.單片微型計(jì)算機(jī)與接口技術(shù).北京:電子工業(yè)出版 ,2008.2丁元杰、吳大偉單片微機(jī)實(shí)題集與實(shí)驗(yàn)指導(dǎo)書M機(jī)械工業(yè)出版社, 20043張友德,趙志英,涂時亮. 單片微型機(jī)原理、應(yīng)用與實(shí)驗(yàn). 上海:復(fù)旦大學(xué)出版社 2005,1
26、2.4胡輝,單片機(jī)原理及應(yīng)用設(shè)計(jì)21世紀(jì)高等院校規(guī)劃教材M,水利水電出版社,2005.7;5張迎新.單片微型計(jì)算機(jī)原理、應(yīng)用及接口技術(shù).北京:國防工業(yè)出版社,1999.6李廣弟,朱月秀,冷祖祁.單片機(jī)基礎(chǔ)M.第3版.北京航空航天大學(xué)出版社,2007年1月附錄一 源程序#include#define uchar unsigned char#define uint unsigned int sbit rw=P21;sbit rs=P20;sbit en=P22;sbit b=P07;void lcd_init();void wr_com(uchar command);void wr_data(uc
27、har data0);void lcd_clear();void lcd_set();void busy();void display();void printstring(uchar *s);void display1();void key1();sbit K=P10;sbit K1=P11;sbit K2=P12;sbit K3=P13;sbit K4=P14;sbit g=P27;sbit aa=P23;sbit bb=P24;sbit cc=P25;sbit led_run=P30;sbit led_await=P31;sbit led_stop=P32;bit f_start;bit
28、 jump_in;bit jump_out;void key();uchar code table=0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x70;uchar dispbuf=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;uchar dispbuf1=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;uchar v,v1; uchar i;void init();void chuli();void chuli1();void delay(uchar t);void clear();void set(uchar
29、 x);void set1(uchar y); uchar command;uchar count,count1;uchar second,minite,second1,minite1;unsigned int tt,tt1;unsigned char value1=50,value2=25,value3=15;unsigned int money; void main() init(); lcd_init(); while(1) key1();chuli(); display(); if(jump_in=1) jump_in=0; lcd_init(); while(1) key(); ch
30、uli1(); display1(); if(jump_out=1) lcd_init(); jump_out=0; clear(); break; void clear() TR0=0; TR1=0; money=0; second=0; second1=0; minite=0; minite1=0; value1=50; value2=25; value3=15; led_run=1; led_await=1; led_stop=1; v=0; v1=0; for(i=0;i15;i+) dispbufi=0; dispbuf1i=0; void init() TMOD=0x11; TH0
31、=(65536-50000)/256; TL0=(65536-50000)%256; TH1=(65536-50000)/256; TL1=(65536-50000)%256; ET0=1; ET1=1; EA=1; TR0=0; TR1=0;void t0_(void) interrupt 1 using 0 count+; if(count=20) count=0; second+; if(second=60) second=0;minite+;if(minite=99) minite=0; TH0=(65536-50000)/256; TL0=(65536-50000)%256; dis
32、pbuf10=minite/10; dispbuf11=minite%10; dispbuf12=second/10; dispbuf13=second%10;void t1_(void) interrupt 3 using 3 count1+; if(count1=20) count1=0; second1+; if(second1=60) second1=0;minite1+;if(minite1=99) minite1=0; TH1=(65536-50000)/256; TL1=(65536-50000)%256; dispbuf14=minite1/10; dispbuf15=mini
33、te1%10; dispbuf16=second1/10; dispbuf17=second1%10;void lcd_init() wr_com(0x3c); wr_com(0x06); wr_com(0x0c); wr_com(0x01);void wr_com(uchar command) busy(); rs=0; rw=0; P0=command; en=1; en=0;void wr_data(uchar data0) busy(); rs=1; rw=0; P0=data0; en=1; en=0;void busy() while(1) en=0; rs=0; rw=1; P0
34、=0xff; en=1; if(b!=1)break; en=0;void chuli() dispbuf0=value1/100%10; dispbuf1=value1/10%10; dispbuf2=value1%10; dispbuf3=value2/100%10; dispbuf4=value2/10%10; dispbuf5=value2%10; dispbuf6=value3/100%10; dispbuf7=value3/10%10; dispbuf8=value3%10;void display() set(0); printstring(step :); wr_data(ta
35、bledispbuf0); wr_data(tabledispbuf1); printstring(.); wr_data(tabledispbuf2); set(16); printstring(mileage :); wr_data(tabledispbuf3); wr_data(tabledispbuf4); printstring(.); wr_data(tabledispbuf5); set1(0); printstring(await :); wr_data(tabledispbuf6); wr_data(tabledispbuf7); printstring(.); wr_dat
36、a(tabledispbuf8);/* set1(16); printstring(run : ); wr_data(tabledispbuf10); wr_data(tabledispbuf11); printstring(:); wr_data(tabledispbuf12); wr_data(tabledispbuf13);*/void chuli1() if(f_start=1) tt=minite*60+second; tt1=minite1; money=value1+value2*0.1*tt+value3*tt1; else if(f_start=0) money=0; dis
37、pbuf18=money/100%10; dispbuf19=money/10%10; dispbuf110=money%10;void display1() set(0); printstring(run: ); wr_data(tabledispbuf10); wr_data(tabledispbuf11); printstring(:); wr_data(tabledispbuf12); wr_data(tabledispbuf13); set(14); printstring(await:); wr_data(tabledispbuf14); wr_data(tabledispbuf15); printstring(:); wr_data(tabledispbuf16); wr_data(tabledispbuf17); set1(0); printstring(sum is:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 戶外活動的橫幅標(biāo)語(10篇)
- 圍手術(shù)期護(hù)理
- 成功演講稿(15篇)
- 居民低保申請書15篇
- 愚人節(jié)微信活動策劃4篇
- 閉合復(fù)位聯(lián)合髓內(nèi)釘固定治療股骨干骨折的效果觀察
- 平安圣誕節(jié)主持開場白范文(10篇)
- 機(jī)場航空器故障應(yīng)急處理策略
- 二零二五個人房產(chǎn)買賣合同(含貸款服務(wù)及風(fēng)險(xiǎn)評估)3篇
- 二零二五年度酒店行業(yè)客戶滿意度售后服務(wù)合同2篇
- 2025年新能源汽車銷售傭金返點(diǎn)合同范本6篇
- 2025-2030年中國配電變壓器市場未來發(fā)展趨勢及前景調(diào)研分析報(bào)告
- GB/T 45120-2024道路車輛48 V供電電壓電氣要求及試驗(yàn)
- 2025年上海市嘉定區(qū)中考英語一模試卷
- 2025年中核財(cái)務(wù)有限責(zé)任公司招聘筆試參考題庫含答案解析
- 華中師大一附中2024-2025學(xué)年度上學(xué)期高三年級第二次考試數(shù)學(xué)試題(含解析)
- 面向人工智能的三維電路設(shè)計(jì)方法
- 長期處方藥品目錄
- 2023年全國高三數(shù)學(xué)聯(lián)賽吉林賽區(qū)預(yù)賽試題(含解析)
- 上海市歷年中考語文現(xiàn)代文閱讀真題40篇(2003-2021)
- 快遞代收點(diǎn)合作協(xié)議
評論
0/150
提交評論