已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
多功能出租車計價器目錄第1節(jié)引言111出租車計價器概述112本設計任務1121設計任務1122設計要求113系統(tǒng)主要功能2第2節(jié)出租車計價器硬件設計321系統(tǒng)的硬件構(gòu)成及功能322AT89S51單片機及其引腳說明323AT24C02引腳圖及其引腳功能624AT24C02掉電存儲單元的設計625里程計算、計價單元的設計726數(shù)據(jù)顯示單元設計8第3節(jié)系統(tǒng)軟件設計1031系統(tǒng)主程序設計1032定時中斷程序設計1033里程計數(shù)中斷服務程序設計1034中途等待中斷服務程序設計1035鍵盤服務程序設計1036顯示子程序服務程序設計10第4節(jié)系統(tǒng)調(diào)試與測試結(jié)果分析1341使用的儀器儀表1342系統(tǒng)調(diào)試1343測試結(jié)果1344測試結(jié)果分析13第5節(jié)結(jié)束語14附錄15參考文獻40多功能出租車計價器第1節(jié)引言本次課程設計利用單片機技術來實現(xiàn)一臺多功能出租車計價器,具有性能可靠、電路簡單、成本低等特點。11出租車計價器概述計價器顯示的營運金額是營運里程與價格的函數(shù)(等候時間一般折算成一定比例的里程來計算)。出租車計價器通過傳感器與行駛車輛連接。出租汽車的實際里程通過傳感器的脈沖信號在計價器里折算成一定的計價營運里程。目前市場上出租車計價器功能主要有具有數(shù)據(jù)的復位功能、白天/晚上轉(zhuǎn)換功能、數(shù)據(jù)輸出功能、計時計價功能等等,但能夠進行語音播報數(shù)據(jù)信息的出租車計價器還是比較少見的,針對這一點我們來設計一款多功能出租車計價器,在原有功能的基礎上增加單價輸出、單價調(diào)整、路程輸出、顯示當前的系統(tǒng)時間、語音播報數(shù)據(jù)信息等功能。12本設計任務121設計任務設計一款基于AT89S51單片機的出租車計價器。122設計要求1基本要求1不同情況具有不同的收費標準。白天晚上途中等待(10MIN開始收費)2能進行手動修改單價。3具有數(shù)據(jù)的復位功能。4IO口分配的簡易要求。距離檢測使用霍爾開關A44E白天/晚上收費標準的轉(zhuǎn)換開關數(shù)據(jù)的清零開關單價的調(diào)整(最好使用和按鍵)5數(shù)據(jù)輸出(采用LCM103)。單價輸出2位路程輸出2位總金額輸出3位6按鍵。啟動計時開關數(shù)據(jù)復位(清零)白天/晚上轉(zhuǎn)換2發(fā)揮部分1能夠在掉電的情況下存儲單價等數(shù)據(jù)。2能夠顯示當前的系統(tǒng)時間。3語音播報數(shù)據(jù)信息。13系統(tǒng)主要功能本課程設計所設計的出租車計價器的主要功能有數(shù)據(jù)的復位、白天/晚上轉(zhuǎn)換、數(shù)據(jù)輸出、計時計價、單價輸出及調(diào)整、路程輸出、語音播報數(shù)據(jù)信息、實現(xiàn)在系統(tǒng)掉電的時候保存單價和系統(tǒng)時間等信息等功能。輸出采用8段數(shù)碼顯示管。本電路設計的計價器不但能實現(xiàn)基本的計價,而且還能根據(jù)白天、黑夜、中途等待來調(diào)節(jié)單價,同時在不計價的時候還能作為時鐘為司機同志提供方便。第2節(jié)計價器硬件設計本系統(tǒng)的硬件設計主要包括單片機AT89S51、數(shù)據(jù)顯示部件、A44E霍爾傳感器電路、AT24C02掉電存儲單元的設計、里程計算及計價單元的設計。在硬件設計過程中,充分利用各部件的功能,實現(xiàn)多功能的出租車計價器設計。21系統(tǒng)的硬件構(gòu)成及功能計價器的單片機控制方案圖如圖1所示。它由以下幾個部件組成單片機AT89S51、總金額及單價顯示部件、鍵盤控制部件,AT24C02掉電存儲控制、里程計算單元、串中顯示驅(qū)動電路等。利用單片機豐富的IO端口,及其控制的靈活性,實現(xiàn)基本的里程計價功能和價格調(diào)節(jié)、時鐘顯示功能。不但能實現(xiàn)所要求的功能而且能在很大的程度上擴展功能,而且還可以方便的對系統(tǒng)進行升級。具體電路參見“多功能出租車計價器總體電路圖”。圖1單片機控制方案圖22AT89S51單片機及其引腳說明AT89S51是美國ATMEL公司生產(chǎn)的低功耗,高性能CMOS8位單片機,片內(nèi)含4KB的可系統(tǒng)編程的FLASH只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術生產(chǎn),兼容標準8051指令系統(tǒng)及引腳。它集FLASH程序存儲器既可在線編程(ISP)也可用傳統(tǒng)方法進行編程及通用8位微處理器于單片芯片中,具有高性價比。AT89S51是一個有40個引腳的芯片,引腳配置如圖2所示。圖2AT89S51引腳配置AT89S51芯片的40個引腳功能為VCC電源電壓。GND接地。RST復位輸入。當RST變?yōu)楦唠娖讲⒈3?個機器周期時,將使單片機復位。WDT溢出將使該引腳輸出高電平,設置SFRAUXR的DISRTO位(地址8EH)可打開或關閉該功能。DISKRTO位缺省為RESET輸出高電平打開狀態(tài)。XTAL1反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2來自反向振蕩放大器的輸出。P0口一組8位漏極開路型雙向I/O口。也即地址/數(shù)據(jù)總線復用口。作為輸出口用時,每位能驅(qū)動8個TTL邏輯門電路,對端口寫“1”可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復用,在訪問期間激活內(nèi)部上拉電阻。在FLASH編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。P1口一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。FLASH編程和程序校驗期間,P1接收低8位地址。P1口部分端口引腳及功能如表1所示。表1P1口特殊功能P1口引腳特殊功能P15MOSI(用于ISP編程)P16MOSI(用于ISP編程)P17SCK(用于ISP編程)P2口一個帶內(nèi)部上拉電阻的8位雙向I/O口。P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器時,P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器時,P2口線上的內(nèi)容在整個訪問期間不改變。FLASH編程和程序校驗期間,P2亦接收低8位地址。P3口一個帶內(nèi)部上拉電阻的8位雙向I/O口。P3的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫“1”時,它們被內(nèi)部的上拉電阻把拉到高電并可作輸入端口。作輸入端口使用時,被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如表2所示。P3口還接收一些用于FLASH閃速存儲器編程和程序校驗期間的控制信號。表2P3口特殊功能P3口引腳特殊功能P30RXD(串行輸入口)P31TXD(串行輸出口)P32(外部中斷0)P33(外部中斷1)P34T0(定時器0外部輸入)P35T1(定時器1外部輸入)P36(外部數(shù)據(jù)存儲器寫選通)P37(外部數(shù)據(jù)存儲器讀選通)PSEN/程序儲存允許輸出是外部程序存儲器的讀先通信號,當AT89S51由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN/有效,即輸出兩個脈沖。當訪問外部數(shù)據(jù)存儲器,沒有兩次有效的PSEN/信號。EA/VPP外部訪問允許。欲使CPU僅訪問外部程序存儲器,EA端必須保持低電平,需注意的是如果加密位LB1被編程,復位時內(nèi)部會鎖存EA端狀態(tài)。FLASH存儲器編程時,該引腳加上12V的編程電壓VPP。23AT24C02引腳圖及其引腳功能AT24C02芯片引腳配置如圖3所示。圖3AT24C02引腳配置圖AT24C02芯片DIP封裝,共有8個引腳,其中A2A0地址引腳;SDA、SCLI2C總線接口;WP寫保護引腳,WP接VSS時,禁止寫入高位地址,WP接VDD時,允許寫入任何地址;VCC電源端GND接地端24AT24C02掉電存儲單元的設計掉電存儲單元的作用是在電源斷開的時候,存儲當前設定的單價信息。AT24C02是ATMEL公司的2KB字節(jié)的電可擦除存儲芯片,采用兩線串行的總線和單片機通訊,電壓最低可以到25V,額定電流為1MA,靜態(tài)電流10UA55V,芯片內(nèi)的資料可以在斷電的情況下保存40年以上,而且采用8腳的DIP封裝,使用方便。其電路如圖4所示。圖4掉電存儲電路原理圖圖中R8、R10是上拉電阻,其作用是減少AT24C02的靜態(tài)功耗,由于AT24C02的數(shù)據(jù)線和地址線是復用的,采用串口的方式傳送數(shù)據(jù),所以只用兩根線SCL(移位脈沖)和SDA(數(shù)據(jù)/地址)與單片機傳送數(shù)據(jù)。每當設定一次單價,系統(tǒng)就自動調(diào)用存儲程序,將單價信息保存在芯片內(nèi);當系統(tǒng)重新上電的時候,自動調(diào)用讀存儲器程序,將存儲器內(nèi)的單價等信息,讀到緩存單元中,供主程序使用。25里程計算、計價單元的設計里程計算是通過安裝在車輪上的霍爾傳感器A44E檢測到的信號,送到單片機,經(jīng)處理計算,送給顯示單元的。其原理如圖5所示。圖5傳感器測距示意圖由于A44E屬于開關型的霍爾器件,其工作電壓范圍比較寬(4518V),其輸出的信號符合TTL電平標準,可以直接接到單片機的IO端口上,而且其最高檢測頻率可達到1MHZ。A44E集成霍耳開關由穩(wěn)壓器A、霍耳電勢發(fā)生器即硅霍耳片B、差分放大器C、施密特觸發(fā)器D和OC門輸出E五個基本部分組成。在輸入端輸入電壓CCV,經(jīng)穩(wěn)壓器穩(wěn)壓后加在霍耳電勢發(fā)生器的兩端,根據(jù)霍耳效應原理,當霍耳片處在磁場中時,在垂直于磁場的方向通以電流,則與這二者相垂直的方向上將會產(chǎn)生霍耳電勢差HV輸出,該HV信號經(jīng)放大器放大后送至施密特觸發(fā)器整形,使其成為方波輸送到OC門輸出。當施加的磁場達到工作點即OPB時,觸發(fā)器輸出高電壓相對于地電位,使三極管導通,此時OC門輸出端輸出低電壓,通常稱這種狀態(tài)為開。當施加的磁場達到釋放點即RPB時,觸發(fā)器輸出低電壓,三極管截止,使OC門輸出高電壓,這種狀態(tài)為關。這樣兩次電壓變換,使霍耳開關完成了一次開關動作。我們選擇了P32口作為信號的輸入端,內(nèi)部采用外部中斷0(這樣可以減少程序設計的麻煩),車輪每轉(zhuǎn)一圈(我們設車輪的周長是1米),霍爾開關就檢測并輸出信號,引起單片機的中斷,對脈計數(shù),當計數(shù)達到1000次時,也就是1公里,單片機就控制將金額自動的加增加,其計算公式當前單價公里數(shù)金額。26數(shù)據(jù)顯示單元設計由于設計要求有單價(2位)、路程(2位)、總金額(3位)顯示輸出,加上我們另外擴展了時鐘顯示(包含時分秒的顯示),采用LCD液晶段碼顯示,在距離屏幕1米之外就無法看清數(shù)據(jù),不能滿足要求,而且在白天其對比度也不能夠滿足要求,因此我們采用6位LED數(shù)碼管的分屏顯示,如圖6所示圖6采用6位LED數(shù)碼管的分屏顯示數(shù)據(jù)的分屏的顯示是通過按鍵S1來實現(xiàn)切換的,如圖7所示。在出租車不走的時候,按下S1,可以實現(xiàn)數(shù)據(jù)的分屏顯示;車在行走的時候只有總金額和單價顯示屏在顯示,當?shù)竭_目的地的時候,客戶要求查看總的里程的時候,就可以按下S1切換到里程和單價顯示屏,供客戶查詢。顯示電路的電路原理圖如圖8所示。時鐘顯示(圖中顯示為12點0分46秒)總金額和單價顯示(圖中顯示為總金額553元,每公里46元)路程和單價顯示(圖中顯示為總路程12公里,當前單價46元)單價調(diào)整顯示(圖中顯示為右起白天單價46元/晚上78/中途等待12元)圖7S1切換顯示屏圖8顯示器原理圖從單片機串口輸出的信號先送到左邊的移位寄存器(74HC164),由于移位脈沖的作用,使數(shù)據(jù)向右移,達到顯示的目的。移位寄存器74HC164還兼作數(shù)碼管的驅(qū)動,插頭1(HEADER1)接電源,插頭2(HEADER2)接數(shù)據(jù)和脈沖輸出端。電路中的三個整流管D1D3的作用是降低數(shù)碼管的工作電壓,增加其使用壽命。第3節(jié)系統(tǒng)的軟件設計本系統(tǒng)的軟件設計主要可分為主程序模塊、定時計數(shù)中斷程序、里程計數(shù)中斷服務程序、中途等待中斷服務程序、顯示子程序服務程序、鍵盤服務程序六大模塊。下面對各部分模塊作介紹。31系統(tǒng)主程序設計在主程序模塊中,需要完成對各接口芯片的初始化、出租車起價和單價的初始化、中斷向量的設計以及開中斷、循環(huán)等待等工作。另外,在主程序模塊中還需要設置啟動/清除標志寄存器、里程寄存器和價格寄存器,并對它們進行初始化。然后,主程序?qū)⒏鶕?jù)各標志寄存器的內(nèi)容,分別完成啟動、清除、計程和計價等不同的操作。主程序流程圖如圖9所示。當按下S1時,就啟動計價,將根據(jù)里程寄存器中的內(nèi)容計算和判斷出行駛里程是否已超過起價公里數(shù)。若已超過,則根據(jù)里程值、每公里的單價數(shù)和起價數(shù)來計算出當前的累計價格,并將結(jié)果存于價格寄存器中,然后將時間和當前累計價格送顯示電路顯示出來。當?shù)竭_目的地的時候,由于霍爾開關沒有送來脈沖信號,就停止計價,顯示當前所應該付的金額和對應的單價,到下次啟動計價時,系統(tǒng)自動對顯示清零,并重新進行初始化過程。32定時中斷服務程序在定時中斷服務程序中,每100MS產(chǎn)生一次中斷,當產(chǎn)生10次中斷的時候,也就到了一秒,送數(shù)據(jù)到相應的顯示緩沖單元,并調(diào)用顯示子程序?qū)崟r顯示。其程序流程如圖10所示。33里程計數(shù)中斷服務程序每當霍爾傳感器輸出一個低電平信號就使單片機中斷一次,當里程計數(shù)器對里程脈沖計滿1000次時,使微機進入里程計數(shù)中斷服務程序中。在該程序中,需要完成當前行駛里程數(shù)和總額的累加操作,并將結(jié)果存入里程和總額寄存器中。34中途等待中斷服務程序當在計數(shù)狀態(tài)下霍爾開關沒有輸出信號,片內(nèi)的T1定時器便被啟動,每當計時到達10分鐘,就對當前金額加上中途等待的單價,以后每十分鐘都自動加上中途等待的單價。當中途等待結(jié)束的時候,也就自動切換到正常的計價。35顯示子程序服務程序由于是分屏顯示數(shù)據(jù),所以就要用到4個顯示子程序,分別是時分秒顯示子程序(HMS_DIS)、金額單價顯示子程序(CP_DIS)、路程單價顯示子程序DP_DIS、單價調(diào)節(jié)子程序PA_DIS。36鍵盤服務程序鍵盤采用查詢的方式,放在主程序中,當沒有按鍵按下的時候,單片機循環(huán)主程序,一旦有按鍵按下,便轉(zhuǎn)向相應的子程序處理,處理結(jié)束再返回。開始初始化數(shù)據(jù)S1按下S4按下設定默認單價(白天)啟動計價器里程中斷到一公里總路程加1總金額加1傳感有信號停止計價和里程計數(shù)是是是是否否否設定晚上單價按下S4設定中途等待單價S4按下返回時間顯示是是是否否否顯示金額及單價S3按下否是顯示路程和單價S3按下是否圖9主程序流程圖圖10定時中斷服務程序開始保護現(xiàn)場重置計數(shù)初值中斷10次數(shù)據(jù)送顯示緩沖單元調(diào)用顯示子程序恢復現(xiàn)場并中斷返回否是第4節(jié)系統(tǒng)調(diào)試與測試結(jié)果分析根據(jù)系統(tǒng)設計方案,本系統(tǒng)的調(diào)試共分為三大部分硬件調(diào)試,軟件調(diào)試和軟硬件聯(lián)調(diào)。測試包括里程計價測試、掉電存儲測試測試。41使用的儀器儀表數(shù)字萬用表DT9203單片機仿真器WAVE6000燒寫器GF2100雙蹤穩(wěn)壓穩(wěn)流電源DH1718E5數(shù)字示波器TDS100242系統(tǒng)調(diào)試根據(jù)系統(tǒng)設計方案,本系統(tǒng)的調(diào)試共分為三大部分硬件調(diào)試,軟件調(diào)試和軟硬件聯(lián)調(diào)。由于在系統(tǒng)設計中采用模塊設計法,所以方便對各電路模塊功能進行逐級測試。43測試結(jié)果略。44測試結(jié)果分析略。結(jié)束語本款出租車計價器比目前市場現(xiàn)在的增加了不少功能,其中包括單價輸出、單價調(diào)整、路程輸出、顯示當前的系統(tǒng)時間、語音播報數(shù)據(jù)信息等功能。另外,多功能出租車計價器還具有性能可靠、電路簡單、成本低、實用性強等特點,加上經(jīng)過優(yōu)化的程序,使其有很高的智能化水平。通過本次課程設計,又使我學到了許多書本上無法學到的知識,也使也深該體會到單片機技術應用領域的廣泛,不僅使我對學過的單片機知識有了很多的鞏固,同時也對單片機這一門課程產(chǎn)生了更大的興趣。在本次課程設計過程中,我學會了在網(wǎng)絡上查找有關本設計的各硬件的資源,其中包括AT89S51單片機及其引腳說明、AT24C02引腳圖及其引腳功能等,為本次課程設計提供了一定的資料。由于平時很少進行課程設計,所以對于課程設計報告的格式也是近期才接觸到,經(jīng)過這兩次的設計,為我們以后畢業(yè)設計的制作也奠定了一定的基礎。附錄1系統(tǒng)實物圖略。2總體設計電路圖多功能出租車計價器總體電路圖3計價表使用說明(1)S1按鍵的功能在出租車不走的時候,按下S1,可以實現(xiàn)數(shù)據(jù)的分屏顯示;車在行走的時候只有總金額和單價顯示屏在顯示,當?shù)竭_目的地的時候,客戶要求查看總的里程的時候,就可以按下S1切換到里程和單價顯示屏,供客戶查詢。(2)S2按鍵的功能在按下S1按鍵之后,若接著按下S2鍵則進行單價調(diào)整(默認為調(diào)整白天單價),當接著按下S1時,則進行晚上單價調(diào),再次按下S1可進行中途等待單價調(diào)整。當單價調(diào)整結(jié)束后,可以通過過按下S2按鍵進行時間調(diào)整,默認為調(diào)整時,接著按下S1可進行調(diào)整分,分調(diào)整后再接下S1可進行秒調(diào)整。當時調(diào)整完成后,若接著按下S2則又可進行單價調(diào)整。(3)S3按鍵的功能在顯示金額及單價時,若按下S3鍵則顯示路程和單價,再次按下S3,可返回顯示金額及單價。(4)S4按鍵的功能在按下S1按鍵之后,若接著按下S4按鍵,則進行設定默認晚上單價,并啟動計價器,若沒有按下S4則可設定默認單價(白天),并啟動計價器。當設定默認晚上單價結(jié)束后,再次接下S4按鍵,則可設定默認中途等待單價,并啟動計價器。當設定默認中途等待單價后,若還按一次S4,則返回系統(tǒng)時間的顯示。4全部源程序該出租車計價器的系統(tǒng)軟件設計源程序如下DAY_PRICEEQU6FHNIGHT_PRICEEQU6EHMIDWAY_PRICEEQU6DHSTART_PRICEEQU6CHCOUNTLEQU6BHCOUNTHEQU6AHM100EQU69H外部中斷次數(shù)DISTANCEEQU68H行車距離MS100EQU67HSECEQU66HMINEQU65HHOUREQU64HLEDSLEQU63H時分鈔顯示緩沖區(qū)LEDSHEQU62HLEDMLEQU61HLEDMHEQU60HLEDHLEQU5FHLEDHHEQU5EHLEDDANJIALEQU5DH總額,單價顯示緩沖區(qū)LEDDANJIAHEQU5CHLINE_EQU5BHLEDCOUNT1EQU5AHLEDCOUNT2EQU59HLEDCOUNT3EQU58HLEDDANJIA2LEQU57H路程,單價顯示緩沖區(qū)LEDDANJIA2HEQU56HLINE_EQU55HLINE_EQU54HLEDDISTANCELEQU53HLEDDISTANCEHEQU52HLEDDAY_PLEQU51H中途,晚上,白天顯示緩沖區(qū)LEDDAY_PHEQU50HLEDNIG_PLEQU4FHLEDNIG_PHEQU4EHLEDW_PLEQU4DHLEDW_PHEQU4CHS1BITP10S2BITP11S3BITP12S4BITP13S11EQU4BHS22EQU4AHS33EQU49HS44EQU48HM1EQU47HH1EQU46HM2EQU45HH2EQU44HPRICEEQU43HORG0000HAJMPMAINORG0003HAJMPTOORG000BHAJMPTOTIMEORG001BHAJMPTOSTARTORG0030HMAINMOVSP,70HMOVTMOD,11HMOVTH0,3CHMOVTL0,0B0HMOVTH1,3CHMOVTL1,0B0HMOV22H,0AHSETBEASETBTR0SETBEX0SETBIT0SETBET0SETBET1MOVR7,34MOVR0,69HLOOPLMOVR0,0DECR0DJNZR7,LOOPLMOVCOUNTL,00H起步價MOVCOUNTH,05HMOVDAY_PRICE,25H白天價格初始化MOVNIGHT_PRICE,30H晚上價格初始化MOVMIDWAY_PRICE,10H中途等待初始化MOVSTART_PRICE,50H起步價初始化MOVS11,0MOVS22,0MOVS33,0MOVS44,0MOVDISTANCE,02HMOVHOUR,12HKEY_MAINSETBTR0ACALLHMS_DISACALLT100MSDACALLT100MSDACALLT100MSDJBS1,KEY_MAINACALLT10MSDJBS1,KEY_MAINJNBS1,SJMPWAI1WA1JBS1,K1ACALLT10MSDJBS1,K1WAIT1JNBS1,WAIT1MOVR0,LEDDANJIALMOVR2,6CLRAMOVCOUNTL,AMOVCOUNTH,AMOVM100,AMOVDISTANCE,ABK1MOVR0,ADECR0DJNZR2,BK1MOVPRICE,DAY_PRICE起動初始化MOVCOUNTL,00H起步價MOVCOUNTH,05HLCALLCP_DIS總金額和單價顯示K1JBS2,K2ACALLT10MSDJBS2,K2WAIT2JNBS2,WAIT2INCS22MOVA,S22CJNEA,1,NEXT1LCALLPA_DISLJMPKEY_DJNEXT1CJNEA,2,NEXT2CLRTR0LCALLHMS_DISLJMPKEY_SJNEXT2CJNEA,3,K2MOVS22,0K2JBS3,K3ACALLT10MSDJBS3,K3WAIT3JNBS3,WAIT3INCS33MOVA,S33CJNEA,1,NXT1LCALLDP_DISNXT1CJNEA,2,NXT2CLRCMOVA,M2SUBBA,M1MOVM1,AMOVA,H2SUBBA,H1MOVH1,ANXT2CJNEA,3,K3MOVS33,0LCALLCP_DISK3JBS4,BK_KEY_MAINACALLT10MSDJBS4,BK_KEY_MAINWAIT4JNBS4,WAIT4INCS44MOVA,S44CJNEA,1,NT1MOVPRICE,DAY_PRICELCALLCP_DISNT1CJNEA,2,NT2MOVPRICE,NIGHT_PRICELCALLCP_DISNT2CJNEA,3,NT3MOVPRICE,MIDWAY_PRICESETBTR1LCALLCP_DISNT3CJNEA,4,BK_KEY_MAINMOVS44,0LJMPKEY_MAINBK_KEY_MAINLJMPWA1KEY_DJJBS1,KY1ACALLT10MSDJBS1,KY1WAIT5JNBS1,WAIT5INCS11MOVA,S11CJNEA,1,NEXT11LJMPDAY_PNEXT11CJNEA,2,NEXT12LCALLNIG_PNEXT12CJNEA,3,KY1LCALLMID_PMOVS11,0LJMPKEY_MAINKY1JBS2,KY2ACALLT10MSDJBS2,KY2WAIT6JNBS2,WAIT6INCS22MOVA,S22CJNEA,1,NEXT13LCALLPA_DISLJMPKEY_DJNEXT13CJNEA,2,NEXT14CLRTR0LCALLHMS_DISLCALLKEY_SJNEXT14CJNEA,3,KY2MOVS22,0LJMPKEY_MAINKY2AJMPKEY_DJKEY_SJJBS1,KEY1ACALLT10MSDJBS1,KEY1WAIT7JNBS1,WAIT7INCS11MOVA,S11CJNEA,1,NEXT21LCALLHOU_TNEXT21CJNEA,2,NEXT22LCALLMIN_TNEXT22CJNEA,3,KEY1MOVS11,0LJMPKEY_MAINKEY1JBS2,KEY2ACALLT10MSDJBS2,KEY2WAIT8JNBS2,WAIT8INCS22MOVA,S22CJNEA,1,NEXT23LCALLPA_DISLJMPKEY_DJNEXT23CJNEA,2,NEXT24CLRTR0LCALLHMS_DISNEXT24CJNEA,3,KEY2MOVS22,0LCALLKEY_SJLJMPKEY_MAINKEY2AJMPKEY_SJDAY_PSETBF0LCALLT100MSDLCALLT100MSDMOVLEDDAY_PL,0AHMOVLEDDAY_PH,0AHLCALLPA_DIS1LCALLT100MSDLCALLT100MSDLCALLPA_DISLP1JBS3,KEY11MOVA,1ADDA,DAY_PRICEDAAMOVDAY_PRICE,AMOVA,DAY_PRICECJNEA,99H,KEY11MOVDAY_PRICE,0KEY11JBS4,KEY12LCALLT10MSDJBS4,KEY12MOVA,DAY_PRICEADDA,99HDAAMOVDAY_PRICE,ACJNEA,00H,KEY12MOVA,99HKEY12JBS1,KEY13ACALLT10MSDJBS1,KEY13WAIT11JNBS1,WAIT11INCS11MOVA,S11CJNEA,1,NEXT31LCALLDAY_PNEXT31CJNEA,2,NEXT32LCALLNIG_PNEXT32CJNEA,3,NEXT33LCALLMID_PNEXT33CJNEA,4,KEY13MOVS11,0KEY13JBS2,KEY14LCALLT10MSDJBS2,KEY14WAIT12JNBS2,WAIT12LJMPKEY_MAINKEY14AJMPDAY_PNIG_PSETBF0調(diào)用定時延時標志位LCALLT100MSDLCALLT100MSDMOVLEDNIG_PL,0AHMOVLEDNIG_PH,0AHLCALLPA_DIS1LCALLT100MSDLCALLT100MSDLCALLPA_DISJBS3,KEY21LCALLT10MSDJBS3,KEY21MOVA,1ADDA,NIGHT_PRICEDAAMOVNIGHT_PRICE,ACJNEA,99H,KEY21MOVNIGHT_PRICE,0KEY21JBS4,KEY22LCALLT10MSDJBS4,KEY22MOVA,NIGHT_PRICEADDA,99HDAAMOVNIGHT_PRICE,ACJNEA,00H,KEY22MOVNIGHT_PRICE,99HKEY22JBS1,KEY23ACALLT10MSDJBS1,KEY23WAIT15JNBS1,WAIT15INCS11MOVA,S11CJNEA,1,NEXT41LCALLDAY_PNEXT41CJNEA,2,NEXT42LCALLNIG_PNEXT42CJNEA,3,NEXT43LCALLMID_PNEXT43CJNEA,4,KEY23MOVS11,0LJMPKEY_DJKEY23JBS2,KEY24LCALLT10MSDJBS2,KEY24WAIT30JNBS2,WAIT30LJMPKEY_MAINKEY24AJMPNIG_PMID_PSETBF0調(diào)用定時延時標志位LCALLT100MSDMOVLEDW_PL,0AHMOVLEDW_PH,0AHLCALLPA_DIS1LCALLT100MSDLCALLPA_DISJBS3,KEY31LCALLT10MSDJBS3,KEY31MOVA,MIDWAY_PRICEADDA,1DAAMOVMIDWAY_PRICE,ACJNEA,99H,KEY31MOVMIDWAY_PRICE,00HCJNEA,100,KEY31MOVMIDWAY_PRICE,0KEY31JBS4,KEY32LCALLT10MSDJBS4,KEY32MOVA,MIDWAY_PRICEADDA,99HDAAMOVMIDWAY_PRICE,ACJNEA,00H,KEY32MOVNIGHT_PRICE,99HKEY32JBS1,KEY33ACALLT10MSDJBS1,KEY33WAIT18JNBS1,WAIT18INCS11MOVA,S11CJNEA,1,NEXT51LCALLDAY_PNEXT51CJNEA,2,NEXT52LCALLNIG_PNEXT52CJNEA,3,NEXT53LCALLMID_PNEXT53CJNEA,4,KEY33MOVS11,0LJMPKEY_DJKEY33JBS2,KEY34LCALLT10MSDJBS2,KEY34WAIT31JNBS2,WAIT31LJMPKEY_MAINKEY34AJMPMID_PHOU_TSETBF0調(diào)用定時延時標志位LCALLT100MSDLCALLT100MSDMOVLEDHL,0AHMOVLEDHH,0AHLCALLHMS_DIS1直接調(diào)用顯示,不經(jīng)過拆分程序LCALLT100MSDLCALLT100MSDMOVSEC,0LCALLHMS_DISJBS3,KEY41MOVA,HOURADDA,1DAAMOVHOUR,ACJNEA,24H,KEY41MOVHOUR,0KEY41JBS4,KEY42MOVA,HOURADDA,99HDAAMOVHOUR,ACJNEA,99H,KEY42MOVHOUR,23HKEY42JBS1,KEY43ACALLT10MSDJBS1,KEY43WAIT21JNBS1,WAIT21INCS11MOVA,S11CJNEA,1,NEXT61LJMPHOU_TNEXT61CJNEA,2,NEXT62LJMPMIN_TNEXT62CJNEA,3,KEY43MOVS11,0LJMPKEY_SJKEY43JBS2,KEY44LCALLT10MSDJBS2,KEY44WAIT32JNBS2,WAIT32LJMPKEY_MAINKEY44AJMPHOU_TMIN_TSETBF0調(diào)用定時延時標志位LCALLT100MSDLCALLT100MSDMOVLEDML,0AHMOVLEDMH,0AHLCALLHMS_DIS1直接調(diào)用顯示,不經(jīng)過拆分程序LCALLT100MSDLCALLT100MSDMOVSEC,0LCALLHMS_DISJBS3,KEY51MOVA,MINADDA,1DAAMOVMIN,ACJNEA,60H,KEY51MOVMIN,0KEY51JBS4,KEY52MOVA,MINADDA,99HDAAMOVMIN,ACJNEA,99H,KEY52MOVMIN,59HKEY52JBS1,KEY53ACALLT10MSDJBS1,KEY53WAIT24JNBS1,WAIT24INCS11MOVA,S11CJNEA,1,NEXT71LCALLHOU_TNEXT71CJNEA,2,NEXT72LCALLMIN_TNEXT72CJNEA,3,KEY53SETBTR0MOVS11,0LJMPKEY_SJKEY53JBS2,KEY54LCALLT10MSDJBS2,KEY54WAIT33JNBS2,WAIT33LJMPKEY_MAINKEY54AJMPMIN_TTOTIMEPUSHPSWPUSHACCMOVTH0,3CHMOVTL0,0B0HINCMS100MOVA,MS100CJNEA,10,RETURNMOVMS100,0MOVA,SECADDA,1DAAMOVSEC,ACJNEA,60H,RETURNMOVSEC,0MOVA,1HADDA,MINDAAMOVMIN,ACJNEA,60H,RETURNMOVMIN,0MOVA,1HADDA,HOURDAAMOVHOUR,ACJNEA,24H,RETURNMOVHOUR,0RETURNPOPACCPOPPSWRETITOPUSHPSWPUSHACCMOVA,1ADDA,M100MOVM100,AMOVA,M100CJNEA,100,RETURN1MOVM100,0INC21HMOVA,21HCJNEA,0AH,RETURN1已經(jīng)到了1公里MOV21H,0MOVA,1ADDA,DISTANCEDAAMOVDISTANCE,AMOVA,PRICEADDA,COUNTLDAAMOVCOUNTL,ACJNEA,10H,RETURN1MOVCOUNTL,0MOVA,1ADDA,COUNTHDAAMOVCOUNTH,ACJNEA,99H,RETURN1MOVCOUNTH,0RETURN1POPACCPOPPSWRETITOSTARTPUSHPSWPUSHACCMOVTH1,3CHMOVTL1,0B0HDJNZ22H,RETURN21S未到返回MOV22H,0AHMOVA,1ADDA,23HDAAMOV23H,ACJNEA,60H,RETURN2MOV23H,0MOVA,1ADDA,24HDAAMOV24H,ACJNEA,10H,RETURN2MOV24H,0MOVA,START_PRICEADDA,COUNTLDAAMOVCOUNTL,ACJNEA,10H,RETURN2MOVCOUNTL,0MOVA,1ADDA,COUNTHDAAMOVCOUNTH,ACJNEA,99H,RETURN2MOVCOUNTH,0RETURN2POPACCPOPPSWRETIHMS_DISPUSHACCPUSHPSWSETBRS1MOVR0,SEC時分秒的拆分三個字節(jié)MOVR1,LEDSLMOVR6,03HLOOP1MOVA,R0MOVB,AANLA,0FHMOVR1,ADECR1MOVA,BSWAPAANLA,0FHMOVR1,ADECR1DECR0DJNZR6,LOOP1POPPSWPOPACCHMS_DIS1PUSHACCPUSHPSWMOVR7,06HMOVR0,LEDSLLOOPMOVA,R0MOVDPTR,TABMOVCA,ADPTRMOVSBUF,ABKJBCTI,NEXTSJMPBKNEXTDECR0DJNZR7,LOOPCLRRS1POPPSWPOPACCRETCP_DISPUSHACCPUSHPSWSETBRS1MOVR0,COUNTHMOVR1,LEDCOUNT2MOVA,R0MOVB,AANLA,0FHMOVR1,ADECR1MOVA,BSWAPAANLA,0FHMOVR1,AMOVLEDCOUNT1,COUNTLMOVA,LEDCOUNT1送總金額低位MOVDPTR,TABMOVCA,ADPTRMOVSBUF,AJNBTI,CLRTIMOVA,LEDCOUNT2送總金額中位MOVDPTR,TABMOVCA,ADPTRCPLACC4MOVSBUF,AJNBTI,CLRTIMOVA,LEDCOUNT3送總金額高位MOVDPTR,TABMOVCA,ADPTRMOVSBUF,AJNBTI,CLRTICLRRS1MOVSBUF,0FEH送短線短線的字型碼是0FEHJNBTI,CLRTIMOVR0,PRICE單價拆分兩個字節(jié)MOVR1,LEDDANJIALMOVR6,03HMOVA,R0MOVB,AANLA,0FHMOVR1,AD
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)科護理常規(guī)
- 機械安全使用培訓班課件
- 傷寒患者皮膚護理要點
- 《人工智能通識》-項目6-2 AIGC數(shù)字人應用 -任務1 制作數(shù)字人“李白”文化大使
- 寶寶情緒管理與安撫技巧
- 《貓病防治技術》課件-第34講 貓巨食道和食道炎
- COPD患者呼吸治療護理
- 安全培訓記錄學時課件
- 安全培訓討論模式課件
- 機場安全管理培訓心得
- 租地合同協(xié)議書合同
- 《肺炎的CT表現(xiàn)》課件
- 胸科手術麻醉管理專家共識
- 物聯(lián)網(wǎng)智能家居設備智能控制手冊
- (二模)東北三省三校2025年高三第二次聯(lián)合模擬考試 英語試卷(含答案解析)
- 福建省泉州市2024-2025學年高一上學期期末質(zhì)量監(jiān)測生物試題(原卷版+解析版)
- 10千伏環(huán)網(wǎng)柜(箱)標準化設計方案 (2023 版)
- 2025年湖北省技能高考(建筑技術類)《建筑材料與檢測》模擬練習試題庫(含答案)
- 偽裝防護基礎知識
- 工程后評價報告
- 四川省成都市2024年七年級上學期期末數(shù)學模擬試卷6套【附參考答案】
評論
0/150
提交評論