出租車計價器設計_第1頁
出租車計價器設計_第2頁
出租車計價器設計_第3頁
出租車計價器設計_第4頁
出租車計價器設計_第5頁
已閱讀5頁,還剩26頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、精選優質文檔-傾情為你奉上一、設計目的出租車計價器是乘客與司機雙方的交易準則,是出租車行業發展的重要標志,它關系著交易雙方的利益。現在,城市建設日益加快,象征著城市面貌的出租車行業也將加快發展,計價器的普及是毫無疑問的,所以未來出租車行業計價器的市場是很有潛力的。本文是為了探索計價器的設計而制作的。二、設計要求1、不同情況具有不同的收費標準。白天、晚上、途中等待(>10min 開始收費)2、能進行手動修改單價3、具有數據的復位功能4、IO口分配的簡易要求,距離檢測使用霍爾開關A44E,白天/晚上收費標準的轉換開關,數據的清零開關,單價的調整(最好使用 和 按鍵)5、數據輸出(采用LCM1

2、03 )單價輸出2 位、路程輸出2 位、總金額輸出3 位6、按鍵啟動計時開關、數據復位(清零)、白天/晚上轉換三、總體設計1、采用單片機控制,程序框圖如下:89S51單片機鍵盤控制單價顯示總金額顯示AT24C02掉電存儲里程計算單元串口顯示驅動電路 圖1 程序框圖利用單片機豐富的IO端口,及其控制的靈活性,實現基本的里程計價功能和價格調節、時鐘顯示功能。單片機方案有較大的活動空間,不但能實現所要求的功能,而且能在很大的程度上擴展功能,而且還可以方便的對系統進行升級。2、程序流程圖如下:開始初始化數據S1按下?否是S4按下?是否設定默認 單價(白天)設定晚上單價否按下S4?是啟動計價器設定中途等

3、待單價總路程加1總金額加1里程中斷?圖2 主程序流程圖S4按下?S3按下?到一公里?停止計價和里程計數S3按下?否是是否否是顯示金額及單價顯示路程和單價是是否返回時間顯示是否傳感有信號? 主程序流程圖如圖2 所示。當按下S1時,就啟動計價,將根據里程寄存器中的內容計算和判斷出行駛里程是否已超過起價公里數。若已超過,則根據里程值、每公里的單價數和起價數來計算出當前的累計價格,并將結果存于價格寄存器中,然后將時間和當前累計價格送顯示電路顯示出來。當到達目的地的時候,由于霍爾開關沒有送來脈沖信號,就停止計價,顯示當前所應該付的金額和對應的單價,到下次啟動計價時,系統自動對顯示清零,并重新進行初始化過

4、程。四、各部分電路設計1、鍵盤調整單元 圖3 鍵盤調整單元    當單價等信息需要進行修改時,就要用到鍵盤進行修改。由于調節信息不多,故采用4個獨立鍵盤即可,分別實現清零、切換、增大、減小和功能等作用。電路原理如圖3所示。 S1:接P1.0口,對上一次的計費進行清零,為下次載客準備S2:接P1.1口,實現白天和夜晚單價的切換;當功能鍵S4按下時,S2可對數據進行增大。S3:接P1.2口,當功能鍵S4按下時,S3可對數據進行減小。S4:接P1.3口,按1次,進入調整白天單價;按2次,進入調整夜晚單價;按3次,進入調整等待單價;按4次,進入調整起步價;按5次

5、,返回。2、里程計算里程計算是通過安裝在車輪上的霍爾傳感器A44E檢測到的信號,送到單片機,經處理計算,送給顯示單元的。其原理如圖4傳感器測距示意圖所示。圖 4 傳感器測距示意圖由于A44E 屬于開關型的霍爾器件,其工作電壓范圍比較寬(4.518V),其輸出的信號符合TTL 電平標準,可以直接接到單片機的IO 端口上,而且其最高檢測頻率可達到1MHZ。A44E 集成霍耳開關由穩壓器A、霍耳電勢發生器(即硅霍耳片)B、差分放大器C、施密特觸發器D 和OC 門輸出E 五個基本部分組成。在輸入端輸入電壓CC V ,經穩壓器穩壓后加在霍耳電勢發生器的兩端,根據霍耳效應原理,當霍耳片處在磁場中時,在垂直

6、于磁場的方向通以電流,則與這二者相垂直的方向上將會產生霍耳電勢差H V 輸出,該H V 信號經放大器放大后送至施密特觸發器整形,使其成為方波輸送到OC 門輸出。當施加的磁場達到工作點(即OP B )時,觸發器輸出高電壓(相對于地電位),使三極管導通,此時OC 門輸出端輸出低電壓,通常稱這種狀態為開。當施加的磁場達到釋放點(即rP B )時,觸發器輸出低電壓,三極管截止,使OC 門輸出高電壓,這種狀態為關。這樣兩次電壓變換,使霍耳開關完成了一次開關動作。我們選擇了P3.2 口作為信號的輸入端,內部采用外部中斷0(這樣可以減少程序設計的麻煩),車輪每轉一圈(我們設車輪的周長是1 米),霍爾開關就檢

7、測并輸出信號,引起單片機的中斷,對脈計數,當計數達到1000 次時,也就是1 公里。3、顯示電路設計 圖5 顯示電路顯示單元由7個8段共陽數碼管組成,采用動態掃描進行顯示。前三個數碼管分別接P3.0、P3.1和P3.2,用于顯示總金額;中間兩個分別接P3.4和P3.5,用于顯示里程;后邊兩個分別接P3.6和P3.7,用于顯示單價。電路如圖5所示。4、總金額計算總金額=單價*里程+起步價五、整體電路圖 圖7 整體電路圖1、S1按鍵的功能在出租車不走的時候,按下S1,可以實現數據的分屏顯示;車在行走的時候只有總金額和單價顯示屏在顯示,當到達目的地的時候,客戶要求查看總的里程的時候,就可以按下S1

8、切換到里程和單價顯示屏,供客戶查詢。2、S2按鍵的功能在按下S1按鍵之后,若接著按下S2鍵則進行單價調整(默認為調整白天單價),當接著按下S1時,則進行晚上單價調,再次按下S1可進行中途等待單價調整。當單價調整結束后,可以通過過按下S2按鍵進行時間調整,默認為調整時,接著按下S1可進行調整分,分調整后再接下S1可進行秒調整。當時調整完成后,若接著按下S2則又可進行單價調整。3、S3按鍵的功能在顯示金額及單價時,若按下S3鍵則顯示路程和單價,再次按下S3,可返回顯示金額及單價。4、S4按鍵的功能在按下S1按鍵之后,若接著按下S4按鍵,則進行設定默認晚上單價,并啟動計價器,若沒有按下S4則可設定默

9、認單價(白天),并啟動計價器。當設定默認晚上單價結束后,再次接下S4按鍵,則可設定默認中途等待單價,并啟動計價器。當設定默認中途等待單價后,若還按一次S4,則返回系統時間的顯示。六、設計總結經過本周關于出租車計價器的課程設計,我對單片機的應用有了更深的了解。當然在課程設計的過程中,不可避免的碰到了許多問題。對于代碼的前后順序及調用掌握得還不夠好;對于一些相關的應用軟件沒能熟練掌握。通過這幾天的思考,以及參考網上的程序和聽取同學的講解,最終還是把問題解決了。通過本次課程設計,又使我學到了許多書本上無法學到的知識,也使也深該體會到單片機技術應用領域的廣泛,不僅使我對學過的單片機知識有了很多的鞏固,

10、同時也對單片機這一門課程產生了更大的興趣。要做好一個課程設計,就必須做到:在設計程序之前,對所用單片機的內部結構有一個系統的了解,知道該單片機內有哪些資源;要有一個清晰的思路和一個完整的的軟件流程圖;在設計程序時,不能妄想一次就將整個程序設計好,反復修改、不斷改進是程序設計的必經之路;要養成注釋程序的好習慣,一個程序的完美與否不僅僅是實現功能,而應該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便;在設計課程過程中遇到問題是很正常,我們應該將每次遇到的問題記錄下來,并分析清楚,將之一一解決。全部源程序該出租車計價器的系統軟件設計源程序如下:DAY_PRICEEQU 6FHNIGHT

11、_PRICEEQU 6EHMIDWAY_PRICEEQU 6DHSTART_PRICEEQU 6CHCOUNTL EQU 6BHCOUNTH EQU 6AHM100 EQU 69H ; 外部中斷次數DISTANCE EQU 68H ; 行車距離MS100 EQU 67HSEC EQU 66HMIN EQU 65HHOUR EQU 64HLEDSL EQU 63H ; 時分鈔顯示緩沖區LEDSH EQU 62HLEDML EQU 61HLEDMH EQU 60HLEDHL EQU 5FHLEDHH EQU 5EHLEDDANJIAL EQU 5DH ; 總額,單價顯示緩沖區LEDDANJIAH

12、EQU 5CHLINE_ EQU 5BHLEDCOUNT1 EQU 5AHLEDCOUNT2 EQU 59HLEDCOUNT3 EQU 58HLEDDANJIA2L EQU 57H ; 路程,單價顯示緩沖區LEDDANJIA2H EQU 56HLINE_ EQU 55HLINE_ EQU 54HLEDDISTANCEL EQU 53HLEDDISTANCEH EQU 52HLEDDAY_PL EQU 51H ; 中途,晚上,白天顯示緩沖區LEDDAY_PH EQU 50HLEDNIG_PL EQU 4FHLEDNIG_PH EQU 4EHLEDW_PL EQU 4DHLEDW_PH EQU 4

13、CHS1 BIT P1.0S2 BIT P1.1S3 BIT P1.2S4 BIT P1.3S11 EQU 4BHS22 EQU 4AHS33 EQU 49HS44 EQU 48HM1 EQU 47HH1 EQU 46HM2 EQU 45HH2 EQU 44HPRICE EQU 43HORG 0000HAJMPMAINORG 0003HAJMPTOORG 000BHAJMPTOTIMEORG 001BHAJMPTOSTARTORG 0030HMAIN: MOV SP,#70HMOV TMOD, #11HMOV TH0, #3CHMOV TL0, #0B0HMOV TH1, #3CHMOV TL

14、1, #0B0HMOV 22H, #0AHSETB EASETB TR0SETB EX0SETB IT0SETB ET0SETB ET1MOV R7,#34MOV R0,#69HLOOPL:MOV R0,#0DEC R0DJNZR7,LOOPLMOV COUNTL, #00H ; 起步價MOV COUNTH, #05HMOV DAY_PRICE,#25H ; 白天價格初始化MOV NIGHT_PRICE,#30H ; 晚上價格初始化MOV MIDWAY_PRICE,#10H ; 中途等待初始化MOV START_PRICE, #50H ; 起步價初始化MOV S11, #0MOV S22, #

15、0MOV S33, #0MOV S44, #0MOV DISTANCE, #02HMOV HOUR, #12HKEY_MAIN: SETB TR0ACALL HMS_DISACALL T100MSDACALL T100MSDACALL T100MSDJB S1, KEY_MAINACALL T10MSDJB S1, KEY_MAINJNB S1,$SJMP WAI1WA1:JB S1, K1ACALL T10MSDJB S1, K1WAIT1:JNB S1, WAIT1MOV R0, #LEDDANJIALMOV R2, #6CLR AMOV COUNTL,AMOV COUNTH,AMOV M

16、100, AMOV DISTANCE,ABK1: MOV R0, ADEC R0DJNZ R2, BK1MOV PRICE,DAY_PRICE; 起動初始化MOV COUNTL, #00H; 起步價MOV COUNTH, #05HLCALL CP_DIS; 總金額和單價顯示K1: JB S2, K2ACALL T10MSDJB S2, K2WAIT2: JNB S2, WAIT2INC S22MOV A, S22CJNE A, #1, NEXT1LCALL PA_DISLJMP KEY_DJNEXT1:CJNE A, #2, NEXT2CLR TR0LCALL HMS_DISLJMP KEY_

17、SJNEXT2:CJNE A, #3, K2MOV S22, #0K2: JB S3, K3ACALL T10MSDJB S3, K3WAIT3:JNB S3, WAIT3INC S33MOV A, S33CJNE A, #1, NXT1LCALL DP_DISNXT1: CJNE A, #2, NXT2CLR CMOV A, M2SUBB A, M1MOV M1, AMOV A, H2SUBB A, H1MOV H1, ANXT2: CJNE A, #3, K3MOV S33, #0LCALL CP_DISK3: JB S4, BK_KEY_MAINACALL T10MSDJB S4, BK

18、_KEY_MAINWAIT4:JNB S4, WAIT4INC S44MOV A, S44CJNE A, #1, NT1MOV PRICE,DAY_PRICELCALL CP_DISNT1:CJNE A, #2, NT2MOV PRICE,NIGHT_PRICELCALL CP_DISNT2:CJNE A, #3, NT3MOV PRICE,MIDWAY_PRICESETB TR1LCALL CP_DISNT3:CJNE A, #4, BK_KEY_MAINMOV S44, #0LJMP KEY_MAINBK_KEY_MAIN: LJMP WA1KEY_DJ:JB S1, KY1ACALL T

19、10MSDJB S1, KY1WAIT5:JNB S1, WAIT5INC S11MOV A, S11CJNE A, #1, NEXT11LJMP DAY_PNEXT11: CJNE A, #2,NEXT12LCALL NIG_PNEXT12:CJNE A, #3, KY1LCALL MID_PMOV S11, #0LJMP KEY_MAINKY1:JB S2, KY2ACALL T10MSDJB S2, KY2WAIT6:JNB S2, WAIT6INC S22MOV A, S22CJNE A, #1, NEXT13LCALL PA_DISLJMP KEY_DJNEXT13:CJNE A,

20、#2, NEXT14CLR TR0LCALL HMS_DISLCALL KEY_SJNEXT14:CJNE A, #3, KY2MOV S22, #0LJMP KEY_MAINKY2:AJMP KEY_DJKEY_SJ:JB S1, KEY1ACALL T10MSDJB S1, KEY1WAIT7:JNB S1, WAIT7INC S11MOV A, S11CJNE A, #1,NEXT21LCALL HOU_TNEXT21:CJNE A, #2,NEXT22LCALL MIN_TNEXT22: CJNE A, #3,KEY1MOV S11, #0LJMP KEY_MAINKEY1: JB S

21、2, KEY2ACALL T10MSDJB S2, KEY2WAIT8:JNB S2, WAIT8INC S22MOV A, S22CJNE A, #1, NEXT23LCALL PA_DISLJMP KEY_DJNEXT23:CJNE A, #2, NEXT24CLR TR0LCALL HMS_DISNEXT24:CJNE A, #3, KEY2MOV S22,#0LCALL KEY_SJLJMP KEY_MAINKEY2:AJMP KEY_SJDAY_P:SETB F0 LCALL T100MSDLCALL T100MSDMOV LEDDAY_PL, #0AHMOV LEDDAY_PH,

22、#0AHLCALL PA_DIS1LCALL T100MSDLCALL T100MSDLCALL PA_DISLP1: JB S3, KEY11MOV A, #1ADD A, DAY_PRICEDA AMOV DAY_PRICE,AMOV A, DAY_PRICECJNE A, #99H, KEY11MOV DAY_PRICE, #0KEY11: JB S4, KEY12LCALL T10MSDJB S4, KEY12MOV A,DAY_PRICEADD A, #99HDA AMOV DAY_PRICE,ACJNE A, #00H, KEY12MOV A, #99HKEY12: JB S1,

23、KEY13ACALL T10MSDJB S1, KEY13WAIT11: JNB S1, WAIT11INC S11MOV A, S11CJNE A, #1,NEXT31LCALL DAY_PNEXT31:CJNE A, #2,NEXT32LCALL NIG_PNEXT32:CJNE A, #3,NEXT33LCALL MID_PNEXT33:CJNE A, #4, KEY13MOV S11, #0KEY13:JB S2, KEY14LCALL T10MSDJB S2, KEY14WAIT12:JNB S2, WAIT12LJMP KEY_MAINKEY14:AJMP DAY_PNIG_P:S

24、ETB F0 ;調用定時延時標志位LCALL T100MSDLCALL T100MSDMOV LEDNIG_PL, #0AHMOV LEDNIG_PH, #0AHLCALL PA_DIS1LCALL T100MSDLCALL T100MSDLCALL PA_DISJB S3, KEY21LCALL T10MSDJB S3, KEY21MOV A, #1ADD A, NIGHT_PRICEDA AMOV NIGHT_PRICE,ACJNE A, #99H,KEY21MOV NIGHT_PRICE,#0KEY21:JB S4, KEY22LCALL T10MSDJB S4, KEY22MOV A,

25、 NIGHT_PRICEADD A, #99HDA AMOV NIGHT_PRICE,ACJNE A, #00H, KEY22MOV NIGHT_PRICE,#99HKEY22:JB S1, KEY23ACALL T10MSDJB S1, KEY23WAIT15:JNB S1, WAIT15INC S11MOV A, S11CJNE A, #1,NEXT41LCALL DAY_PNEXT41:CJNE A, #2,NEXT42LCALL NIG_PNEXT42:CJNE A, #3,NEXT43LCALL MID_PNEXT43:CJNE A, #4, KEY23MOV S11, #0LJMP

26、 KEY_DJKEY23:JB S2, KEY24LCALL T10MSDJB S2, KEY24WAIT30:JNB S2, WAIT30LJMP KEY_MAINKEY24: AJMP NIG_PMID_P: SETB F0 ;調用定時延時標志位LCALL T100MSDMOV LEDW_PL, #0AHMOV LEDW_PH, #0AHLCALL PA_DIS1LCALL T100MSDLCALL PA_DISJB S3, KEY31LCALL T10MSDJB S3, KEY31MOV A, MIDWAY_PRICEADD A, #1DA AMOV MIDWAY_PRICE,ACJNE

27、 A, #99H, KEY31MOV MIDWAY_PRICE, #00HCJNE A, #100, KEY31MOV MIDWAY_PRICE, #0KEY31: JB S4, KEY32LCALL T10MSDJB S4, KEY32MOV A, MIDWAY_PRICEADD A, #99HDA AMOV MIDWAY_PRICE,ACJNE A, #00H, KEY32MOV NIGHT_PRICE,#99HKEY32: JB S1, KEY33ACALL T10MSDJB S1, KEY33WAIT18: JNB S1, WAIT18INC S11MOV A, S11CJNE A,

28、#1,NEXT51LCALL DAY_PNEXT51: CJNE A, #2,NEXT52LCALL NIG_PNEXT52: CJNE A, #3,NEXT53LCALL MID_PNEXT53: CJNE A, #4, KEY33MOV S11, #0LJMP KEY_DJKEY33: JB S2, KEY34LCALL T10MSDJB S2, KEY34WAIT31:JNB S2, WAIT31LJMP KEY_MAINKEY34: AJMP MID_PHOU_T: SETB F0 ;調用定時延時標志位LCALL T100MSDLCALL T100MSDMOV LEDHL, #0AHM

29、OV LEDHH, #0AHLCALL HMS_DIS1;直接調用顯示,不經過拆分程序LCALL T100MSDLCALL T100MSDMOV SEC, #0LCALL HMS_DISJB S3, KEY41MOV A, HOURADD A, #1DA AMOV HOUR,ACJNE A, #24H, KEY41MOV HOUR, #0KEY41: JB S4, KEY42MOV A, HOURADD A, #99HDA AMOV HOUR,ACJNE A, #99H, KEY42MOV HOUR, #23HKEY42: JB S1, KEY43ACALL T10MSDJB S1, KEY4

30、3WAIT21: JNB S1, WAIT21INC S11MOV A, S11CJNE A, #1,NEXT61LJMP HOU_TNEXT61: CJNE A, #2,NEXT62LJMP MIN_TNEXT62: CJNE A, #3,KEY43MOV S11, #0LJMP KEY_SJKEY43: JB S2, KEY44LCALL T10MSDJB S2, KEY44WAIT32: JNB S2, WAIT32LJMP KEY_MAINKEY44: AJMP HOU_TMIN_T: SETB F0 ;調用定時延時標志位LCALL T100MSDLCALL T100MSDMOV LE

31、DML, #0AHMOV LEDMH, #0AHLCALL HMS_DIS1;直接調用顯示,不經過拆分程序LCALL T100MSDLCALL T100MSDMOV SEC, #0LCALL HMS_DISJB S3, KEY51MOV A, MINADD A, #1DA AMOV MIN, ACJNE A, #60H, KEY51MOV MIN, #0KEY51: JB S4, KEY52MOV A, MINADD A, #99HDA AMOV MIN, ACJNE A, #99H, KEY52MOV MIN, #59HKEY52: JB S1, KEY53ACALL T10MSDJB S1

32、, KEY53WAIT24: JNB S1, WAIT24INC S11MOV A, S11CJNE A, #1,NEXT71LCALL HOU_TNEXT71: CJNE A, #2,NEXT72LCALL MIN_TNEXT72: CJNE A, #3,KEY53SETB TR0MOV S11, #0LJMP KEY_SJKEY53: JB S2, KEY54LCALL T10MSDJB S2, KEY54WAIT33: JNB S2, WAIT33LJMP KEY_MAINKEY54: AJMP MIN_TTOTIME: PUSH PSWPUSH ACCMOV TH0, #3CHMOV

33、TL0, #0B0HINC MS100MOV A, MS100CJNE A, #10,RETURNMOV MS100,#0MOV A, SECADD A, #1DA AMOV SEC,ACJNE A,#60H,RETURNMOV SEC,#0MOV A, #1HADD A, MINDA AMOV MIN,ACJNE A,#60H, RETURNMOV MIN,#0MOV A, #1HADD A, HOURDA AMOV HOUR,ACJNE A, #24H,RETURNMOV HOUR,#0RETURN: POP ACCPOP PSWRETITO: PUSH PSWPUSH ACCMOV A,

34、#1ADD A,M100MOV M100,AMOV A, M100CJNE A, #100,RETURN1MOV M100,#0INC 21HMOV A,21HCJNE A, #0AH, RETURN1 ;已經到了1公里MOV 21H,#0MOV A, #1ADD A, DISTANCEDA AMOV DISTANCE,AMOV A, PRICEADD A, COUNTLDA AMOV COUNTL,ACJNE A, #10H,RETURN1MOV COUNTL,#0MOV A, #1ADD A, COUNTHDA AMOV COUNTH,ACJNE A, #99H, RETURN1MOV C

35、OUNTH,#0RETURN1: POP ACCPOP PSWRETITOSTART: PUSH PSWPUSH ACCMOV TH1, #3CHMOV TL1, #0B0HDJNZ 22H, RETURN2 ;1S未到返回MOV 22H, #0AHMOV A, #1ADD A, 23HDA AMOV 23H, ACJNE A, #60H, RETURN2MOV 23H, #0MOV A, #1ADD A, 24HDA AMOV 24H,ACJNE A, #10H, RETURN2MOV 24H, #0MOV A, START_PRICEADD A, COUNTLDA AMOV COUNTL,

36、ACJNE A, #10H, RETURN2MOV COUNTL, #0MOV A, #1ADD A, COUNTHDA AMOV COUNTH,ACJNE A, #99H,RETURN2MOV COUNTH,#0RETURN2: POP ACCPOP PSWRETIHMS_DIS:PUSHACC PUSHPSWSETBRS1MOV R0,#SEC ;時分秒的拆分(三個字節)MOV R1,#LEDSLMOV R6,#03HLOOP1:MOV A, R0MOV B, AANL A, #0FHMOV R1,ADEC R1MOV A, BSWAPAANL A, #0FHMOV R1,ADEC R1D

37、EC R0DJNZR6,LOOP1POP PSWPOP ACCHMS_DIS1: PUSH ACCPUSH PSWMOV R7,#06HMOV R0,#LEDSLLOOP: MOVA, R0MOVDPTR,#TABMOVCA,A+DPTRMOV SBUF,ABK: JBCTI,NEXTSJMPBKNEXT: DECR0DJNZR7,LOOPCLRRS1POPPSWPOPACCRETCP_DIS:PUSH ACC PUSH PSWSETB RS1MOV R0,#COUNTH ;MOV R1,#LEDCOUNT2MOV A, R0MOV B, AANL A, #0FHMOV R1,ADEC R1M

38、OV A, BSWAPAANL A, #0FHMOV R1,AMOV LEDCOUNT1,COUNTLMOV A,LEDCOUNT1 ;送總金額低位MOV DPTR,#TABMOVC A, A+DPTRMOV SBUF,AJNB TI,$CLR TIMOV A,LEDCOUNT2 ;送總金額中位MOV DPTR,#TABMOVC A,A+DPTRCPL ACC.4MOV SBUF,AJNB TI, $CLR TIMOV A,LEDCOUNT3 ;送總金額高位MOV DPTR,#TABMOVC A,A+DPTRMOVSBUF,AJNB TI,$CLR TICLR RS1MOV SBUF,#0FE

39、H ;送短線(短線的字型碼是0FEH)JNB TI, $CLR TIMOV R0,#PRICE;單價拆分(兩個字節)MOV R1,#LEDDANJIALMOV R6,#03HMOV A, R0MOV B, AANL A, #0FHMOV R1,ADEC R1MOV A, BSWAPAANL A, #0FHMOV R1,ADEC R1MOV A,LEDDANJIAL ;送單價低位MOV DPTR,#TABMOVC A,A+DPTRMOV SBUF,AJNB TI, $CLR TIMOV A, LEDDANJIAH ;送單價高位MOV DPTR,#TABMOVCA,A+DPTRCPL ACC.4MOV SBUF,AJNB TI,$CLR TIPOP PSWPOP ACCRETDP_DIS:PUSH ACC PUSH PSWSETB RS1MOV R0,#PRICE ;單價的拆分(一個字節)MOV R1,#LEDDANJIALMOV A, R0MOV B, AANL A, #0FHMOV R1,ADEC R1MOV A, BSWAPAANL A, #0FHMOV R1,ADEC R1MOV A,LEDDANJIAL ;送單價低位MOV DPTR,#TABMOVC A,A+DPTRMOV SBUF,AJNB TI, $CLR TIMOV A,LEDD

溫馨提示

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

評論

0/150

提交評論