已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
前言單片機是指在一個芯片上集成了中央處理器、存貯器和各種I/O接口的微型計算機(MCU),它主要面向控制性應(yīng)用領(lǐng)域,因此又稱嵌入式控制器。單片機的應(yīng)用技術(shù)是一項新型的軟硬件工程技術(shù),不僅要掌握單片機應(yīng)用的基本原理和基本指令,還應(yīng)具備較強的分析程序和編制程序的能力以及單片機應(yīng)用系統(tǒng)的硬件設(shè)計、綜合分析與調(diào)試能力。出租車計價器從最初只能進行簡單的價格計算,發(fā)展到價格、距離獨立計量并顯示,可根據(jù)特殊情況設(shè)定相應(yīng)的收費標(biāo)準(zhǔn),能打印營運發(fā)票,可使用IC卡結(jié)算等功能。目前市場上的計價器越來越趨向于集成多種功能。例如,產(chǎn)品上提供數(shù)碼管顯示及液晶屏顯示器,可設(shè)置時間距離分別顯示、等候收費,永久時鐘,晝夜自動切換,能自動打印票據(jù)等等。本次課程設(shè)計報告包括硬件設(shè)計和軟件設(shè)計,軟件設(shè)計主要包括程序結(jié)構(gòu)設(shè)計和程序代碼編寫及調(diào)試。本次設(shè)計由一個主程序及相關(guān)中斷子程序組成。主程序中完成的是整個模塊的控制,即初始值的調(diào)顯功能及鍵掃功能,檢查是否有啟動鍵,切換鍵,暫停鍵,復(fù)位鍵中任意一者按下,有則轉(zhuǎn)入相應(yīng)的功能區(qū)去完成實現(xiàn)。否則繼續(xù)監(jiān)控按鍵程序直到有鍵按下。中斷程序則是利用T0來計算外界進來的脈沖數(shù)(模擬為車輛行駛的路程),根據(jù)此路程加價,最終完成所要求的出租車計價功能。第一章設(shè)計內(nèi)容及要求出租車計價器的設(shè)計基本要求(1)里程顯示為公里(2)能預(yù)置起步價及單價如起步3公里600元;160/公里。提高要求(1)起步價和單價能夠調(diào)整參考原理框圖圖11原理框圖脈沖產(chǎn)生電路變換電路單片機顯示器鍵盤第二章系統(tǒng)組成及工作原理21系統(tǒng)的組成本次設(shè)計的出租車計價器系統(tǒng)是由四部分組成,包括信號源、由三極管和反相器74LS14組成變換電路、單片機8031系統(tǒng)和HD7279顯示模塊。設(shè)計結(jié)構(gòu)框圖如圖21所示。圖21設(shè)計結(jié)構(gòu)框圖其中,1NE555多諧振蕩電路輸出矩形脈沖作為信號源,經(jīng)過放大整形電路,輸出標(biāo)準(zhǔn)脈沖信號。28031單片機模塊是以8031作為微處理器的控制系統(tǒng)。它主要實現(xiàn)對整個系統(tǒng)的控制管理,完成數(shù)據(jù)的處理等。該模塊使用單片機8031,128字節(jié)的內(nèi)部RAM數(shù)據(jù)存儲器,2個16位定時器/計數(shù)器,一個串行口,5個中斷源、2個中斷優(yōu)先級,時鐘頻率在12MHZ12MHZ。由于其內(nèi)部沒有程序存儲器,內(nèi)部數(shù)據(jù)存儲器容量不夠,必須外部擴展程序存儲器和數(shù)據(jù)存儲器。37279可編程數(shù)碼管/鍵盤串行接口芯片是一片具有串行接口的,能同時驅(qū)動八位共陰式數(shù)碼管的智能顯示驅(qū)動芯片,該芯片同時還可以連接多達64鍵的強大鍵盤矩陣,單片即可完成LED顯示,鍵盤接口的全部功能,它是單片機應(yīng)用系統(tǒng)中常用的一種外圍接口電路。本機用HD7279管理16個鍵和八位數(shù)碼管。信號源整形電路單片機顯示器鍵盤22工作原理出租車計價是根據(jù)車所行駛的路程以及乘客乘車的時間段綜合決定的。出租車行駛總路程可以通過車輪的周長乘以車輪旋轉(zhuǎn)圈數(shù)得到,即可計算得到車輪旋轉(zhuǎn)幾周出租車能行駛一公里的路程。在本次課程設(shè)計中采用555多諧振蕩電路輸出脈沖模仿出租車計價器計量車輪旋轉(zhuǎn)的圈數(shù)。信號源輸出電脈沖,經(jīng)過放大整形電路,輸出標(biāo)準(zhǔn)TTL信號。輸出的脈沖信號被接入到8031單片機系統(tǒng)中,通過計算接收到的脈沖個數(shù),計算出當(dāng)前所行駛的路程。同時,根據(jù)不同的收費標(biāo)準(zhǔn),選擇相應(yīng)的起步價、單價等收費標(biāo)準(zhǔn)進行計算。HD7279管理鍵盤和數(shù)碼顯示,通過鍵盤能夠?qū)崿F(xiàn)啟動、暫停、停止計價器、切換顯示當(dāng)前的行駛里程和需支付的車費,還能夠?qū)蝺r、起步價、起步公里進行設(shè)置。第三章硬件電路設(shè)計31微處理器系統(tǒng)1、以8031為核心的微處理系統(tǒng)8031單片機模塊是以8031作為微處理器的控制系統(tǒng)。它主要實現(xiàn)對整個系統(tǒng)的控制管理,完成數(shù)據(jù)的處理等。該模塊使用單片機8031、數(shù)據(jù)存儲器6116、程序存儲器27128、地址鎖存器74LS373、74LS138譯碼器等芯片構(gòu)成單片機的基本系統(tǒng)。本系統(tǒng)在設(shè)計中,通過輸入外部信號作為T0計數(shù),完成數(shù)據(jù)處理。本次設(shè)計中使用的微處理系統(tǒng)是以8031為核心的最小開發(fā)系統(tǒng)板,如圖31所示。圖31最小下載系統(tǒng)32整形電路信號源輸出矩形脈沖,經(jīng)過放大整形電路,輸出標(biāo)準(zhǔn)脈沖信號。放大整形電路如圖32所示。參數(shù)計算由BCI15VV取值140110取50I52RK12070ICVR的取值范圍是343。所以取為56。1K1RK圖32放大整形電路33鍵盤、顯示接口在本次硬件電路的設(shè)計中,在處理鍵盤和顯示部分中曾考慮兩個芯片,即芯片8279和芯片7279。1、8279鍵盤、顯示接口8279是一種有鍵盤/顯示接口電路的集成塊??捎?279管理28個鍵和6個顯示器。由74LS138譯碼器對SLZ譯出的鍵掃描線,由另一個38譯碼器譯出顯示器的位掃描線8279與單片機的硬件連接如圖33。圖338279與單片機的硬件連接概圖2、7279鍵盤、顯示接口HD7279A是一片具串行接口的,可同時驅(qū)動8位共陰式數(shù)碼管的智能顯示驅(qū)動芯片,該芯片同時還可以連接多達64鍵的鍵盤矩陣,單片即可完成LED顯示,鍵盤接口的全部功能。HD7279主要特性有1串行接口,無需外圍元件可直接驅(qū)動LED。2各位獨立控制譯碼/不譯碼及消隱和閃爍屬性。3(循環(huán))左移/(循環(huán))右移指令。4具有段尋址指令,方便控制獨立LED。564鍵鍵盤控制器,內(nèi)含去抖動電路。HD7279接口電路如圖34所示。圖347279鍵盤、顯示接口電路經(jīng)過比較,采用7279芯片,它可有效地提高編程的效率。3、555多諧振蕩電路用555定時器構(gòu)成的多諧振蕩器電路如圖35所示圖中電容C、電阻R1和R2作為振蕩器的定時元件,決定著輸出矩形波正、負(fù)脈沖的寬度。定時器的觸發(fā)輸入端(2腳)和閥值輸入端(6腳)與電容相連;集電極開路輸出端(7腳)接R1、R2相連處,用以控制電容C的充、放電;外界控制輸入端(5腳)通過001UF電容接地。圖35555多諧振蕩電路其中振蕩周期TT1T207R12R2C,振蕩頻率F1/T。正向脈沖寬度T1與振蕩周期T之比稱矩形波的占空比D(R1R2)/(R12R2),若使R2R1,則D1/2,即輸出信號的正負(fù)向脈沖寬度相等的矩形波(方波)。在設(shè)計的具體方案中將R1和R2使用100K電位器,使得輸出的方波占空比可調(diào)。第四章系統(tǒng)軟件設(shè)計41軟件設(shè)計說明本系統(tǒng)的軟件設(shè)計主要可分為主程序模塊、定時計數(shù)中斷程序、里程計數(shù)中斷服務(wù)程序、中途等待中斷服務(wù)程序、顯示子程序服務(wù)程序、鍵盤服務(wù)程序六大模塊。下面對各部分模塊作介紹。1程序模塊中,需要完成對各接口芯片的初始化、出租車起價和單價的初始化、中斷向量的設(shè)計以及開中斷、循環(huán)等待等工作。并設(shè)計相應(yīng)標(biāo)志位及對它們進行初始化。2在里程計數(shù)中斷服務(wù)程序設(shè)計中,需要完成當(dāng)前行駛里程數(shù)和總額的累加操作,并將結(jié)果存入里程和總額寄存器中。并調(diào)用顯示子程序顯示總金額或總路程。3顯示子程序服務(wù)程序設(shè)計中通過編寫6個顯示子程序來完成其功能的。4在鍵盤服務(wù)程序設(shè)計中,鍵盤采用查詢的方式,放在主程序中,當(dāng)沒有按鍵按下的時候,單片機循環(huán)主程序,一旦有按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。本設(shè)計通過讀8031芯片的T0口的輸入脈沖數(shù)目來確定里程,為了便于計算,規(guī)定T0口來1個脈沖為1米即車輪周長。程序運行時,先通過鍵掃程序判斷是否開始啟動TO計里程。在這里程序中設(shè)定開始運行顯示HELLO;設(shè)定S0為啟動鍵、S1為單價顯示鍵、S2鍵為起步公里顯示鍵、S3為起步價顯示鍵、S4鍵為復(fù)位鍵、S5鍵為切換顯示總金額、總路程鍵。在鍵掃描之后,調(diào)用計數(shù)子程序,T0口第一次接收累積到100個脈沖后,主程序進入T0中斷,開始根據(jù)單價進行加價。為使出租車計價器能夠切換顯示總金額、總路程問題,在程序中設(shè)置了顯示切換鍵S5,按下此鍵能顯示總路程,再按一次顯示總金額。當(dāng)再次有乘客上車時,司機可按下S4鍵(復(fù)位鍵),所有計數(shù)內(nèi)存單元清零,程序重新運行。此外為使起步價,起步公里和單價能夠調(diào)整,本程序增加6個鍵起步價調(diào)整鍵S6和S7;起步公里調(diào)整鍵S11和S10;單價調(diào)整鍵S15和S14。另外增加等待的時候切換成等待時間換算成公里數(shù)以及特殊情況下暫停,對應(yīng)該功能增加兩個鍵S12等待,S13暫停。427279鍵盤功能設(shè)計43存儲單元及關(guān)鍵字介紹431存儲單元介紹30H,31H起步價存儲單元32H,33H起步公里存儲單元34H,35H單價存儲單元36H,37H,38H總路程存儲單元39H,3AH,3BH總金額存儲單元50H,51H,52H,53H,54H,55H,56H,57H,58H,59H顯示緩沖區(qū)00H標(biāo)志位切換顯示總金額和總路起步公里加一等待暫停單價加一起步價顯示起步公里顯示單價顯示啟動出租車計價器起步價加一起步價減一路程金額切換復(fù)位起步公里減一單價減一程表431存儲單元432關(guān)鍵字介紹MAIN主程序KEY1讀鍵值子程序STFS發(fā)送一字節(jié)子程序STJS接收一字節(jié)子程序DTR7279顯示子程序LUC定時器0中斷子程序BEG7279初始化子程序TAB0“0”到“9”字形表TAB1“0”到“9”字形表TAB2其它所用到的功能顯示字形表TABR鍵值表T0口8031芯片脈沖輸入口表432關(guān)鍵字介紹44程序結(jié)構(gòu)設(shè)計441、主程序結(jié)構(gòu)設(shè)計程序開始運行時對存儲區(qū)及7279初始化,對計數(shù)器T0初始化,判斷是否有按鍵按下,無鍵按下,重新進行鍵盤掃描;有鍵按下,判斷是哪個鍵按下,并進行相應(yīng)的操作,如下圖所示。NYYNNNNNYN切換顯示總金額、總路程開始7279初始化,各單元初始化T0初始化,計數(shù),中斷允許初始值送顯緩區(qū)調(diào)顯示子程序并調(diào)鍵掃描程序有鍵按下求鍵號并保存啟動鍵S0T0計數(shù)切換鍵S5起步價調(diào)整調(diào)整公里數(shù)調(diào)整單價調(diào)整調(diào)整復(fù)位鍵調(diào)整調(diào)整等待計時NNNNYN圖41主程序流程圖442中斷程序結(jié)構(gòu)設(shè)計每100個脈沖信號到來的時候使得總路程加100,一直加下去,若總路程超過起步公里數(shù)時,則總金額加160。如下圖所示。YNYN圖42中斷程序框圖開始返回存入總路程每來1個脈沖路程加001總路程是否超過起步公里數(shù)單價加一是否顯示總金額顯示總金額顯示總路程調(diào)顯示程序子程序開始設(shè)定循環(huán)次數(shù)8、顯緩首址CS0,選通7279調(diào)用STFS發(fā)送工作方式字將鍵號發(fā)送給7279顯示顯緩區(qū)加一,方式字減一循環(huán)次數(shù)8返回將鍵號送給顯緩單元443其他子程序結(jié)構(gòu)設(shè)計7279顯示子程序設(shè)計如圖43所示。圖43顯示子程序框圖第五章實驗調(diào)試與測試結(jié)果51實驗調(diào)試根據(jù)系統(tǒng)設(shè)計方案,本系統(tǒng)的調(diào)試共分為三大部分硬件調(diào)試,軟件調(diào)試和軟硬件聯(lián)調(diào)。硬件調(diào)試使用的儀器儀表數(shù)字萬用表DT9203單片機仿真器WAVE6000燒寫器GF2100雙蹤穩(wěn)壓穩(wěn)流電源DH1718E5數(shù)字示波器TDS1002本次課程設(shè)計中硬件電路有放大整形電路如圖32所示和555多諧振蕩電路如圖32B。焊接完成后,將多諧振蕩電路輸出的脈沖接入到放大整形電路的輸入端,用示波器測量整形電路的輸出端,輸出為反向放大的脈沖信號。用示波器觀察555電路輸出波形,并且調(diào)節(jié)電位器實現(xiàn)了產(chǎn)生0到100HZ可調(diào)的方波信號。輸出的方波接入整形電路輸入端,實現(xiàn)了較好的輸出可調(diào)占空比的方波信號。硬件調(diào)試比較順利。軟件調(diào)試在本次設(shè)計中,程序的調(diào)試并不是雜亂無章的,而是分別對每個子程序進行調(diào)試,使每個功能都可以實現(xiàn)后才進行整體的調(diào)試。在開始對主程序的調(diào)試時,遇到了一點小麻煩,就是讀鍵調(diào)轉(zhuǎn)塊程序時,由于按鍵過多,調(diào)轉(zhuǎn)時老是出問題,要么不轉(zhuǎn),要么轉(zhuǎn)錯。后來經(jīng)仔細地檢查每條指令,逐條修改,終于使讀鍵部分調(diào)試成功。在T0中斷程序中,36H,37H,38H單元中存放總路程,39H,3AH,3BH單元存儲總金額。當(dāng)進行一次T0中斷,存儲總路程的低位38H單元自動加1,從而會引起37H,36H單元內(nèi)容的改變,即總路程的個位,十位和百位的進位,要通過與32H,33H中存儲的起步公里數(shù)相比較,看是否超過起步公里,若未超過起步公里,則39H,3AH,3BH單元存儲總金額為起步價;若超過起步公里,則總金額要按照34H,35H中存儲的單價進行累加。因而可能會引起總金額39H,3AH單元即總金額的高位存儲單元的進位。在調(diào)試中,發(fā)現(xiàn)總金額的增加未按照單價進行累加,導(dǎo)致總金額計價不正確,后來發(fā)現(xiàn)總路程與起步公里不能正確比較造成的,于是增加程序LUC0,通過修改完成其功能。此外,新增加等待計時功能時也不是很順利,在調(diào)試程序時,按下相應(yīng)的功能鍵時,程序總會跳到初始化里去,起初以為是標(biāo)志位出了問題,后來經(jīng)過多次調(diào)試及查閱相關(guān)資料才知道,是中斷出了問題,初始化時應(yīng)先關(guān)閉前面的相應(yīng)中斷。最終經(jīng)調(diào)試本設(shè)計基本完成相關(guān)功能。52測試結(jié)果出租車計價器開機顯示“HELLO”,按S0鍵啟動計價器,計價器計數(shù),每100個脈沖信號到來的時總路程加100,一直加下去,若總路程超過起步公里數(shù)時,總金額加160;按鍵S5切換顯示總路程、總金額;按鍵S7和S6為起步價調(diào)整鍵,S7鍵為起步價加100元,S6鍵為起步價減100元;按鍵S11和S10為起步公里調(diào)整鍵,S10鍵為起步公里加100,S11鍵為起步公里減100;按鍵S15和S14為單價調(diào)整鍵,S15為單價加01,S14為單價減01;S4鍵為復(fù)位鍵;按鍵S3為起步價顯示鍵,S2鍵為起步公里顯示鍵,S1為單價顯示鍵,S12為啟動時間計算金額數(shù),S13為暫停鍵。最小系統(tǒng)板7279鍵盤設(shè)計達到預(yù)期的效果。結(jié)論本款出租車計價器比目前市場現(xiàn)在的增加了不少功能,其中包括單價輸出、單價調(diào)整、路程輸出、顯示當(dāng)前的系統(tǒng)時間等功能。另外,多功能出租車計價器還具有性能可靠、電路簡單、成本低、實用性強等特點,加上經(jīng)過優(yōu)化的程序,使其有很高的智能化水平。在本次課程設(shè)計過程中,我學(xué)會了在網(wǎng)絡(luò)上查找有關(guān)本設(shè)計的各硬件的資源,其中包括8031單片機及其引腳說明、7279引腳圖及其引腳功能等,為本次課程設(shè)計提供了一定的資料。在硬件的選擇上用了7279而沒有選擇8279雖然用并行通信的8279芯片可以提高其速度,但7279在功能上更加強大。軟件設(shè)計是首要任務(wù),所以首先要明確程序所要完成的任務(wù),確定輸入/輸出,對輸入數(shù)據(jù)應(yīng)進行哪些處理,以及發(fā)生錯誤后該如何處理等。再結(jié)合硬件結(jié)構(gòu),進一步弄清軟件程序所承擔(dān)的一個個任務(wù)細節(jié),確實具體實施的方法。通過本次課程設(shè)計,我學(xué)到了許多書本上無法學(xué)到的知識,同時也深該體會到單片機技術(shù)應(yīng)用領(lǐng)域的廣泛,不僅使我對單片機的相關(guān)應(yīng)用及匯編語言有了更進一步的理解,同時提高了動手能力,實踐和理論的得到很好的結(jié)合。為我們今后的畢業(yè)設(shè)計的制作奠定了一定的基礎(chǔ)。參考文獻1、戴梅萼、史嘉權(quán)編微型計算機技術(shù)及應(yīng)用(第三版)清華大學(xué)出版社,2003年8月2、張友德、趙志英、涂時亮編單片微型機原理、應(yīng)用與實驗(第三版)復(fù)旦大學(xué)出版社,2000年11月3、王福瑞等編單片微機測控系統(tǒng)設(shè)計大全北京航空航天大學(xué)出版社1999年3月4、涂時亮編單片機微機控制技術(shù)復(fù)旦大學(xué)出版社1994年5、高傳善等編接口與通訊復(fù)旦大學(xué)出版社1989年6、徐君毅等編單片微型計算機原理與應(yīng)用上??茖W(xué)出版社1988年附錄1程序清單及注釋ORG0000HLJMPMAINORG000BHLJMPLUCORG001BHLJMPYYMAINMOVSP,67HACALLBEG調(diào)7279初始化程序MOVTMOD,16HTO工作在計數(shù),中斷允許MOVTH0,0F6H計數(shù)從F6H到FFHMOVTL0,0F6HMOVTH1,0F6H計數(shù)從F6H到FFHMOVTL1,0F6HMOVTCON,00HMOVIE,8AHT0的溢出中允許MOV30H,06H初始化起步價600元,30H31H單元存起步價MOV31H,00HMOV32H,03H初始化起步公里數(shù)300公里,32H33H存起步公里數(shù)MOV33H,00HMOV34H,01H初始化單價160元,34H35H存單價MOV35H,60HMOV36H,00H初始化路程數(shù),36H37H38H存總路程MOV37H,00HMOV38H,00HMOV39H,00H初始化總金額,39H3AH3BH存總金額MOV3AH,06HMOV3BH,00HMOV52H,16H初始化顯示,50H到59H為顯示緩沖區(qū)MOV53H,17H開機顯示HELLO,說明工作正常MOV54H,18H其中特殊字符造字表為查表程序中的TAB2MOV55H,18HMOV56H,00HMOV57H,1BHMOV58H,0BHMOV59H,1BHLPACALLDIR調(diào)用顯示程序,顯示顯緩區(qū)數(shù)據(jù)LP0ACALLKEY調(diào)用讀鍵子程序,鍵值存在A中CJNEA,0FFH,LP1判斷是否有鍵按下SJMPLP0LP1ACALLCJH調(diào)用求鍵號子程序CJNEA,00H,LP2SJMPL0鍵值為00H轉(zhuǎn)到L0LP2CJNEA,01H,LP3SJMPL1鍵值為01H轉(zhuǎn)到L1LP3CJNEA,02H,LP4LJMPL2鍵值為02H轉(zhuǎn)到L2LP4CJNEA,03H,LP5LJMPL3鍵值為03H轉(zhuǎn)到L3LP5CJNEA,04H,LP6SJMPL4鍵值為04H轉(zhuǎn)到L4LP6CJNEA,05H,LP7SJMPL5鍵值為05H轉(zhuǎn)到L5LP7CJNEA,06H,LP8LJMPL6鍵值為08H轉(zhuǎn)到L8LP8CJNEA,08H,LP9SJMPL8鍵值為02H轉(zhuǎn)到L2LP9CJNEA,09H,LP10SJMPL9鍵值為09轉(zhuǎn)到L9LP10CJNEA,0CH,LP11SJMPL12鍵值為0CH轉(zhuǎn)到L12LP11CJNEA,0DH,LP12LJMPL13鍵值為0DH轉(zhuǎn)到13LP12CJNEA,07H,LP15LJMPL14鍵值為07H轉(zhuǎn)到L14LP15CJNEA,0BH,LP16LJMPL15LP16CJNEA,0AH,LP17LJMPL16LP17CJNEA,0EH,LP13LJMPL17LP13SJMPLP0再轉(zhuǎn)LP0重新讀鍵L0ACALLQBJ調(diào)用QBJ,起步價顯示SJMPLP0L4INC30H起步價調(diào)整,加1MOVR1,30HCJNER1,10,TPTPJCTPPMOV30H,00HTPPACALLQBJ調(diào)整后再顯示起步價SJMPLP0L5DEC30H起步價調(diào)整,減1MOVR1,30HCJNER1,1,TP11TP11JNCTPP1MOV30H,9TPP1ACALLQBJ再次顯示起步價AJMPLP0L1ACALLQBGL調(diào)用QBGL,起步公里數(shù)顯示AJMPLP0L8INC32H起步公里數(shù)調(diào)整,加1MOVR2,32HCJNER2,10,LLPP1JNCLLPP2LLPP2MOV32H,00HLLPP1ACALLQBGL調(diào)整后顯示LJMPLP0L9DEC32H起步公里數(shù)調(diào)整,減1MOVR3,32HCJNER3,0,LLPP3JCLLPP4LLPP4MOV32H,09HLLPP3ACALLQBGLLJMPLP0轉(zhuǎn)LP0,重新讀鍵L2ACALLDANJIA調(diào)用DANJIA,顯示單價LJMPLP0L12MOVA,35H單價調(diào)整ADDA,10H每次加010元DAABCD碼調(diào)整MOV35H,AMOVA,34H34H存儲單價的高位ADDCA,00H調(diào)整有進位加1DAABCD碼調(diào)整MOV34H,AACALLDANJIA調(diào)整完,再次顯示單價LJMPLP0L13MOVA,35H單價調(diào)整,減010元CLRCSUBBA,10HJNCLLLL0MOVA,090HSETBCDEC34HLLLL0ADDA,0DAAMOV35H,AMOVA,34HSUBBA,00HADDA,0DAAMOV34H,AACALLDANJIA調(diào)整完畢,單價顯示LJMPLP0轉(zhuǎn)LP0,重新讀鍵L3SETBTR0TR0置“1“,TO開始計數(shù)LJMPLP0L14AJMPMAIN復(fù)位,程序重新運行L15CPLTR0暫停,程序停止計數(shù)和定時LJMPLP0L16CLR30H啟動T0計數(shù)器,開T0中斷MOVIE,82HSETBTR0CLRTR1LJMPLP0L17SETB30H啟動T1定時器,暫停T0計數(shù)器MOVIE,88HSETBTR1CLRTR0ACALLSHIJIAN顯示等待的時間ACALLDIRLJMPLP0L6CPL00H切換顯示總金額和總路程JNB00H,LC_1其中00H為標(biāo)志位,用來記憶ACALLLC_XS顯示總路程ACALLDIRLJMPLP0LC_1ACALLJE_XS顯示總金額ACALLDIRLJMPLP0STFSMOVR7,08H發(fā)送一字節(jié)子程序B1RLCAMOVP12,CSETBP11MOVR6,02HB2DJNZR6,B2循環(huán)2次,作用為延時約8USCLRP11MOVR6,02HB3DJNZR6,B3DJNZR7,B1RETSTJSMOVR7,08H接收一字節(jié)子程序A1SETBP11SETBP12MOVR6,02HA2DJNZR6,A2延時約10USMOVC,P12鍵盤值讀入CYRLCACLRP11MOVR6,01HA3DJNZR6,A3DJNZR7,A1RETKEYSETBP13P1口作為輸入MOVC,P13JCTP2為1轉(zhuǎn)LP2JB01H,TP1LCALLKEY1鍵盤指令SETB01HRETTP2CLR01H位清零,無鍵按下TP1MOVA,0FFHRETKEY1CLRP10CS無效MOVR6,0CH延時LLP1DJNZR6,LLP1MOVA,15HACALLSTFS發(fā)送一字節(jié)子程序MOVR6,06H延時LLP2DJNZR6,LLP2ACALLSTJS接收一字節(jié)子程序SETBP10RETDIRMOVR5,08H顯示程序,循環(huán)8次(8個數(shù)碼管)MOVR0,52H52H為顯示緩沖區(qū)首址MOVR1,97H顯示碼D1CLRP10CS有效,P10接CSMOVR6,0CHD2DJNZR6,D2延時,大于25USMOVA,R1ACALLSTFS輸出指令碼MOVR6,06HD3DJNZR6,D3延時MOVA,R0ADDA,0DHMOVCA,APC查表指令A(yù)CALLSTFS發(fā)送顯示數(shù)據(jù),即查表后的顯示碼MOVR6,02HD4DJNZR6,D4延時SETBP10一個數(shù)碼管顯示完INCR0DECR1DJNZR5,D1延時RETTAB0DB7EH,30H,6DH,79H,33H,5BH,5FH,70H,7FH,7BHTAB1DB0FEH,0B0H,0EDH,0F9H,0B3H,0DBH,0DFH,0F0H,0FFH,0FBHTAB2DB67H,0EH,37H,4FH,0EH,3DH,09H,00HCHEMOVB,ACHE子程序,SWAPA用來提取一字節(jié)存儲的兩個BCD碼ANLA,0FHMOV42H,AMOVA,BANLA,0FHMOV41H,ARETBEGCLRP10P10清零,7279初始化子程序MOVR6,0CH延時G0DJNZR6,G0MOVA,0A4HACALLSTFS發(fā)送一字節(jié)子程序MOVR6,02H延時G1DJNZR6,G1SETBP10CS有效RETQBJMOVA,30H起步價顯示,起步價存儲在30H,31H單元ACALLCHE調(diào)用CHE后使以BCD碼形式存儲MOVA,41HADDA,0AHMOV43H,AMOVA,31HACALLCHEMOV52H,1BH送入顯示緩沖區(qū),52H59HMOV53H,1BH初始顯示為“600元“MOV54H,1BHMOV55H,1BHMOV56H,1BHMOV57H,43HMOV58H,42HMOV59H,41HACALLDIR調(diào)用顯示子程序RETQBGLMOVA,32H起步公里顯示,起步公里數(shù)存儲在ACALLCHEMOVA,41HADDA,0AHMOV43H,AMOVA,33HACALLCHEMOV52H,1BH送入顯示緩沖區(qū)MOV53H,1BH初始顯示“300公里“MOV54H,1BHMOV55H,1BHMOV56H,1BHMOV57H,43HMOV58H,42HMOV59H,41HACALLDIR調(diào)用顯示子程序RETDANJIAMOVA,34H單價顯示,單價存儲在34H,35H單元ACALLCHEMOVA,41HADDA,0AHMOV43H,AMOVA,35HACALLCHEMOV52H,1BH送入顯示緩沖區(qū)MOV53H,1BH初始顯示“160元“MOV54H,1BHMOV55H,1BHMOV56H,1BHMOV57H,43HMOV58H,42HMOV59H,41HACALLDIR調(diào)用顯示子程序RETLC_XSMOVA,36H總路程顯示,總路程存儲在36H,37H,38HACALLCHEMOV46H,42HMOV45H,41HMOVA,37HACALLCHEMOV44H,42HMOVA,41HADDA,0AHMOV43H,AMOVA,38HACALLCHEMOV52H,15H送入顯示緩沖區(qū)MOV53H,1AH初始顯示“L000000公里“MOV54H,46HMOV55H,45HMOV56H,44HMOV57H,43HMOV58H,42HMOV59H,41HACALLDIR調(diào)用顯示子程序RETJE_XSMOVA,39H總金額顯示,存儲在39H,3AH,3BH單元ACALLCHEMOV46H,42HMOV45H,41HMOVA,3AHACALLCHEMOV44H,42HMOVA,41HADDA,0AHMOV43H,AMOVA,3BHACALLCHEMOV52H,14H送入顯示緩沖區(qū)MOV53H,1AH初始顯示“P000600元“MOV54H,46HMOV55H,45HMOV56H,44HMOV57H,43HMOV58H,42HMOV59H,41HACALLDIR調(diào)用顯示子程序RETSHIJIANMOVIE,88HCLRTR0SETBTR1MOVA,3EH總金額顯示,存儲在39H,3AH,3BH單元ACALLCHEMOV46H,42HMOV45H,41HMOVA,3DHACALLCHEMOV44H,42HMOVA,41HMOV43H,AMOVA,3CHACALLCHEMOV52H,05H送入顯示緩沖區(qū)MOV53H,1AH初始顯示“P000600元“MOV54H,46HMOV55H,45HMOV56H,44HMOV57H,43HMOV58H,42HMOV59H,41HACALLDIR調(diào)用顯示子程序RETCJHMOVB,A保存,求鍵號子程序MOVR2,00H00放項號MOVR7,0FH循環(huán)15次CJH1MOVA,R2ADDA,0AH查表MOVCA,APCCJNEA,B,CJH2A,B不等轉(zhuǎn)CJH2SJMPCJH3CJH2INCR2DJNZR7,CJH1CJH3MOVA,R2RETTABRDB1
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 熱力公司應(yīng)急處理課件
- 空管基礎(chǔ)知識
- 燒烤店服務(wù)員培訓(xùn)
- 空氣凈化系統(tǒng)培訓(xùn)課件
- DB37+T+5297-2024頂管工程技術(shù)規(guī)程
- 滅火救援案例培訓(xùn)
- 2026年礦業(yè)權(quán)評估師考試(礦業(yè)權(quán)評估經(jīng)濟與法律專業(yè)能力)試題及答案
- 2026廣東陽江市陽春市高校畢業(yè)生就業(yè)見習(xí)招募15人備考題庫(第二期)附參考答案詳解(完整版)
- 2026山東青島市人力資源集團有限公司招聘14人備考題庫附參考答案詳解(綜合題)
- 2026廣西南寧市吉祥路幼兒園招聘2人備考題庫附答案詳解(鞏固)
- 餐廳特色檔口運營方案
- 2025年天翼云解決方案架構(gòu)師認(rèn)證考試模擬題庫(200題)答案及解析
- 2025年甘肅省綜合評標(biāo)專家?guī)炜荚囶}庫及答案
- 部隊后勤炊事課件
- 2025年數(shù)據(jù)分析與可視化考試試題及答案
- 全過程咨詢項目管理實施方案
- 跨文化溝通與合作參考手冊
- 惡性高熱專家共識課件
- 云原生架構(gòu)與GitOps實戰(zhàn)閱讀備忘錄
- 有效排痰護理
- 醫(yī)院培訓(xùn)課件:《老年綜合征及老年綜合評估》
評論
0/150
提交評論