找回密码
 注册
关于网站域名变更的通知
查看: 193|回复: 2
打印 上一主题 下一主题

多功能单片机出租车计价器设计 汇编语言程序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-7-6 10:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
计价表使用说明+ i1 E, w. z6 q, a; S1 T; r
(1)S1按键的功能' W$ ?* R( [- h0 ^
在出租车不走的时候,按下S1,可以实现数据的分屏显示;车在行走的时候只有总金额和单价显示屏在显示,当到达目的地的时候,客户要求查看总的里程的时候,就可以按下S1 切换到里程和单价显示屏,供客户查询。& N" b5 [0 S' V+ \' ^9 v
(2)S2按键的功能6 t$ n7 o1 V- g, k6 g- v+ b
     在按下S1按键之后,若接着按下S2键则进行单价调整(默认为调整白天单价),当接着按下S1时,则进行晚上单价调,再次按下S1可进行中途等待单价调整。当单价调整结束后,可以通过过按下S2按键进行时间调整,默认为调整时,接着按下S1可进行调整分,分调整后再接下S1可进行秒调整。当时调整完成后,若接着按下S2则又可进行单价调整。3 g4 n4 ?! E0 x  J8 F1 P* |! _, y
(3)S3按键的功能5 W& G9 N& |; P  D0 ]' l4 y" n
     在显示金额及单价时,若按下S3键则显示路程和单价,再次按下S3,可返回显示金额及单价。# C: i* s! g0 I) e$ q, Z/ g
(4)S4按键的功能1 f- Q" m- Y# B5 G+ s7 M
在按下S1按键之后,若接着按下S4按键,则进行设定默认晚上单价,并启动计价器,若没有按下S4则可设定默认单价(白天),并启动计价器。当设定默认晚上单价结束后,再次接下S4按键,则可设定默认中途等待单价,并启动计价器。当设定默认中途等待单价后,若还按一次S4,则返回系统时间的显示。$ `4 R) U0 A, J
" C: Z/ T/ i1 ~3 m6 d" C

, A/ Y' E; W  Z9 u  W, K5 f5 ^1 y; B" [/ [" K- {" s5 @
数据的分屏的显示是通过按键S1 来实现切换的,如图7 所示。
4 ~3 ~# Y) }& ?/ A在出租车不走的时候,按下S1,可以实现数据的分屏显示;车在行走的时候只有总金额和单价显示屏在显示,当到达目的地的时候,客户要求查看总的里程的时候,就可以按下S1 切换到里程和单价显示屏,供客户查询。显示电路的电路原理图如图8所示。" L& y3 E: R( ~
. T' t* ^! m) P( d
DAY_PRICEEQU 6FH- R+ z* b+ N, b& E; e
NIGHT_PRICEEQU 6EH3 F+ A1 T5 O, ]
MIDWAY_PRICEEQU 6DH
( j9 t& L( B* m/ JSTART_PRICEEQU 6CH9 p/ t  @* D* @8 n2 h9 F
COUNTL EQU 6BH
, U. I. ]' E% T$ i: B/ LCOUNTH EQU 6AH
9 x- g- F1 M, D9 `9 R3 G9 J1 {" jM100 EQU 69H ; 外部中断次数$ w0 X: y7 i  ?% s4 q9 u
DISTANCE EQU 68H ; 行车距离
; \% Q8 d6 {" a" AMS100 EQU 67H
8 V" w: s0 R0 u4 ~# vSEC EQU 66H8 I5 A1 K: c- _! C& p. ?
MIN EQU 65H/ v  T+ q+ {: E3 N/ H8 V, t. B
HOUR EQU 64H
# R% R: |7 Q# H$ i& vLEDSL EQU 63H ; 时分钞显示缓冲区, p: e" [7 R4 S  v; ^. r0 l8 m/ `
LEDSH EQU 62H9 `! u- w3 I- A2 J3 W, F8 I
LEDML EQU 61H3 x/ y' i# W# @7 R: t! s: d$ d) V
LEDMH EQU 60H/ G% h# n$ O0 G1 Y3 C
LEDHL EQU 5FH
' o0 w8 F- E0 T1 W  n1 `+ M& }LEDHH EQU 5EH
- r8 ?/ R% h' I$ @% VLEDDANJIAL EQU 5DH ; 总额,单价显示缓冲区
* D  f8 T& s) \3 J# w3 }) ALEDDANJIAH EQU 5CH6 l1 y; H" g2 u/ F. p0 T' A
LINE_ EQU 5BH
, A# B( y" |& |, SLEDCOUNT1 EQU 5AH
2 [4 v+ f' x- q$ QLEDCOUNT2 EQU 59H/ V2 i: {" p/ G9 N4 [! X
LEDCOUNT3 EQU 58H: [9 @+ m( m' B
LEDDANJIA2L EQU 57H ; 路程,单价显示缓冲区
  v, b- i: K1 ~LEDDANJIA2H EQU 56H: _5 u6 r& [! f* Z
LINE__ EQU 55H. P- N9 A# ^& _0 R9 S- k
LINE___ EQU 54H
* i: e9 @( A0 ?7 T9 ]5 GLEDDISTANCEL EQU 53H
+ [) N3 y* N  U3 S0 dLEDDISTANCEH EQU 52H
- v; ~8 x. O; I5 q: KLEDDAY_PL EQU 51H ; 中途,晚上,白天显示缓冲区
; i3 z4 v( v' |& HLEDDAY_PH EQU 50H1 K, _" A; y2 ^" Y6 W# \
LEDNIG_PL EQU 4FH- w0 d3 G' ]0 U5 _( i; k
LEDNIG_PH EQU 4EH6 A' o" ]# ?$ O
LEDW_PL EQU 4DH
) ?2 l' r; a7 E  a0 S3 o7 kLEDW_PH EQU 4CH
% @. p8 M" w; C" O. vS1 BIT P1.01 I. x7 ~& r2 _0 H2 {' \
S2 BIT P1.19 g1 |" \% M5 q# [
S3 BIT P1.2
* o+ G' M8 y4 b1 t2 jS4 BIT P1.3
8 h' r; F/ d9 a% R3 I( I, Q4 RS11 EQU 4BH% i* m  Q/ Y  s# v. A; V+ E
S22 EQU 4AH
6 b9 z) V% u7 w* G+ `8 S+ ES33 EQU 49H
' h! i4 a% o$ Z3 R: SS44 EQU 48H3 e5 {3 u# I" u3 ?7 s2 B
M1 EQU 47H
* X) m: P3 j4 ]H1 EQU 46H0 \" }1 w2 b5 @/ Z/ V1 b
M2 EQU 45H: K3 I* P' |0 W( U5 P
H2 EQU 44H* d& _/ `* ~4 D8 N+ Y: r# a. v
PRICE EQU 43H* E: o9 \0 F7 `  q

6 Q' k5 [+ h; M( T6 X2 F6 NORG 0000H
: R0 Z' L$ t- P* h/ DAJMPMAIN' ^5 k6 H& t" @6 g0 ]0 t) `# {
ORG 0003H7 A: x3 N0 G) S: T- F. L
AJMPTO
; ]! {$ z, W% ~7 Z; \ORG 000BH
4 O2 E# m) o0 mAJMPTOTIME
' \" C  Y/ {0 P0 ~7 EORG 001BH5 v; v+ Y& v  i' i
AJMPTOSTART
- }5 Q; P/ a6 _: E7 _& w6 K" EORG 0030H6 {: x& b% l, h* [5 }
MAIN:  MOV SP,#70H8 A8 i' H3 C; t4 g
MOV TMOD, #11H
% k) ]. h4 X# n0 i2 M8 mMOV TH0, #3CH
1 T! B7 q% V  X2 h% n6 ]4 ZMOV TL0, #0B0H
. C" Q' Z/ E3 v0 S  hMOV TH1, #3CH
) x) {( K3 Q7 V8 H6 d6 ]: iMOV TL1, #0B0H
+ z7 v& d0 h$ @7 o: iMOV 22H, #0AH8 e* x& I4 R& K6 u  D9 J0 F
SETB EA
$ p! ~- a4 {- X3 {" ?( |5 nSETB TR0
; i4 V& O$ S" y" O' b* v: d. GSETB EX0/ C+ z. W& n4 R) H
SETB IT0
. u- h& o$ q; g& E" u9 pSETB ET0+ Y" |- L- t; f0 \, U, N" `5 P
SETB ET1. u7 c/ K- s2 Z. a4 I* u
MOV R7,#34
& x8 l4 x- v8 V$ R/ y7 H' z$ yMOV R0,#69H+ E8 h  S6 \0 B
LOOPL:MOV @R0,#0, m; B* C" T: l
DEC R05 v" V- j6 r" V# K
DJNZR7,LOOPL
  o: \" ]* F' F" r" i3 JMOV COUNTL, #00H ; 起步价
- ]3 V. ?& C2 g+ T( m$ D) `MOV COUNTH, #05H# o; U, G' z6 k% Z( m: n$ T
MOV DAY_PRICE,#25H ; 白天价格初始化, c5 y1 U9 [' }" X6 M
MOV NIGHT_PRICE,#30H ; 晚上价格初始化
" s% B+ @6 j5 y; c' Z5 S2 fMOV MIDWAY_PRICE,#10H ; 中途等待初始化  b" M0 s9 j9 ]( r1 e8 i  [( a
MOV START_PRICE, #50H ; 起步价初始化
' ?, V" |8 f! Y7 R2 E0 OMOV S11, #0
8 t7 Q4 y( c, S; uMOV S22, #0
  B2 v0 ]. m/ hMOV S33, #0
( h7 [* e2 j- v# A: ]7 nMOV S44, #0
. x$ D: D, I$ k! h5 l  t# hMOV DISTANCE, #02H1 h" Y8 t) p& d4 k; i: I
MOV HOUR, #12H
+ l; \  s, j; N, Y9 E" R1 b& M5 r7 q) `KEY_MAIN: SETB TR0
- m5 b) `9 i, yACALL HMS_DIS
- G) l8 A3 L! |8 Q: T; b- qACALL T100MSD
, R" G: {! Q  p8 X9 SACALL T100MSD; Z4 v# ]! W6 ?' a4 y( F4 b  T
ACALL T100MSD& k1 ]0 z; m# I! A6 w- X& L
JB S1, KEY_MAIN2 S& W' |' [! Z1 a7 Q+ v
ACALL T10MSD
" f0 l4 l/ G. b5 Q* XJB S1, KEY_MAIN3 u4 U. }/ K- W' `
JNB S1,$2 B5 Y( D9 L6 i+ p5 P& V
SJMP WAI1
. D! M( E2 L5 e; mWA1:JB S1, K1
  l# ]* Z7 f6 q! u4 fACALL T10MSD
2 }' m/ b$ l4 b! e5 mJB S1, K1( G$ V9 e5 {: H' B1 H; ]' ^8 ]: a
WAIT1:JNB S1, WAIT11 A( c& C" L9 Z
MOV R0, #LEDDANJIAL
3 D3 ~: }7 w  y8 A% |MOV R2, #6  R! K% j! N( [3 \# l( X4 ~! F- N
CLR A" y/ N/ l. d% Y2 C: z( l
MOV COUNTL,A
/ P* c( |% h4 H8 _2 B# KMOV COUNTH,A' ?6 y* i  u5 F* r, S. I) ^
MOV M100, A
9 R3 i& Q# W7 oMOV DISTANCE,A# }2 t+ o9 |0 @. s4 `; C
BK1: MOV @R0, A& _9 v+ B8 S  P+ O/ v" [1 Z
DEC R09 H* t% F6 x" j! [
DJNZ R2, BK1$ G2 |+ {" t" C1 g
MOV PRICE,DAY_PRICE; 起动初始化# D* n4 q* P5 P& ]6 H
MOV COUNTL, #00H; 起步价- n$ |6 R/ Y( A0 x5 I
MOV COUNTH, #05H
# |, w& m5 _+ W" u! U0 V, JLCALL CP_DIS; 总金额和单价显示2 ]/ o$ N# s& i: _0 D; l" E
K1: JB S2, K2, V, F& w" d+ q5 q1 w
ACALL T10MSD
( E. C3 }1 N/ c* _JB S2, K2
6 q- T% i. g7 _$ c5 _WAIT2: JNB S2, WAIT2+ z1 k% z9 A+ |$ Q6 R
INC S22
" U3 P& H$ c& a7 E8 ?: A. tMOV A, S22
6 C' P/ T! N7 V. U  U, ^1 M, KCJNE A, #1, NEXT1- h2 Y* _' ]. d) _5 t" t# J6 T! D
LCALL PA_DIS
3 p: t  Y5 a) v. ELJMP KEY_DJ! T/ B9 }- f. W
NEXT1:CJNE A, #2, NEXT29 b9 p! @7 B6 N& k
CLR TR0
) v8 N8 w0 U* JLCALL HMS_DIS
$ o% Z$ {: }- t6 T( L0 J" `0 c- BLJMP KEY_SJ
# @! b* t3 q* \+ R8 R/ o$ g3 a& RNEXT2:CJNE A, #3, K28 `4 r6 Z0 ?' q! d; u, _
MOV S22, #0) H9 j; ]; [8 v; o3 T
K2: JB S3, K3
# ]( {3 c: r  r: u* L. u- UACALL T10MSD
! d" o* K( r1 `" k7 `; r" p; Y6 o$ uJB S3, K3
* f. Y/ z: G% W* _6 D- ~WAIT3:JNB S3, WAIT39 K! m' a  ]7 w
INC S33
( |$ X: `' h" g, gMOV A, S33
" ?8 N( b6 ?. K9 S3 g* fCJNE A, #1, NXT1
) I/ E! g9 r( l) n! j) g) Z% x' s3 GLCALL DP_DIS
& ^1 i. l! Z* e; J2 Z5 X, |% R; KNXT1: CJNE A, #2, NXT2
, c& K0 e4 Q- ]2 {/ jCLR C
* ?0 N9 W- A# cMOV A, M2
; u+ [7 C( |4 l' zSUBB A, M1( [; Q( F' u# Z3 z5 E* Z! }
MOV M1, A% _0 a; x; U. K" u
MOV A, H2
; S0 B0 ]  p1 o$ C& R; C  YSUBB A, H1& B* ?; X" A6 _0 c5 C
MOV H1, A
+ \& t; |& G% ANXT2: CJNE A, #3, K39 j2 g# D6 R% {* m) z+ m
MOV S33, #0
  l  d4 j+ d4 K7 c6 |6 e# j6 M, `LCALL CP_DIS
- x& W- {: D3 t5 t1 x) I) k9 Y* XK3: JB S4, BK_KEY_MAIN( ~$ s. M6 h2 c, U
ACALL T10MSD, }4 }  N3 q8 N* x
JB S4, BK_KEY_MAIN* r8 ]! y. O. ?" P6 z/ B, i# N
WAIT4:JNB S4, WAIT4
# F2 @: Z- \1 U2 CINC S446 R# n1 x9 `; Z: J# |5 f# y. u
MOV A, S44
; i* M0 A+ }1 Z- ]0 ZCJNE A, #1, NT1! B" @2 @+ _, c0 X; a
MOV PRICE,DAY_PRICE  B- I  Y) Y0 O( p, l. @4 L! x# {& ~
LCALL CP_DIS0 t2 r) @: M; z( c
NT1:CJNE A, #2, NT21 e  _/ Y2 O  V' ?8 s1 e& z8 p
MOV PRICE,NIGHT_PRICE+ D7 ^7 `$ C* ]3 T
LCALL CP_DIS! l# n+ k- o1 m
NT2:CJNE A, #3, NT3
' [0 d4 f) ^- n8 `MOV PRICE,MIDWAY_PRICE) {3 Q* i, l* N' r5 _
SETB TR1
3 T9 ]5 c7 V* A0 F2 QLCALL CP_DIS9 `& Q+ T% d! ]
NT3:CJNE A, #4, BK_KEY_MAIN1 Z7 Z$ ]& ~) ~
MOV S44, #0
8 h+ Y& l0 d  m0 ^* P* u4 KLJMP KEY_MAIN
1 _5 w) D; ?/ D! q! k. ^BK_KEY_MAIN: LJMP WA1* `1 M4 ^' t& n2 R' g& Z( t; n5 M
KEY_DJ:JB S1, KY12 M1 A9 B3 q) y% \) W5 k
ACALL T10MSD8 v, u" `2 o- x* J3 s8 N" Q% ]
JB S1, KY1
: k, j8 \8 y( L; B$ uWAIT5:JNB S1, WAIT5" H5 z1 y! s3 G* {& Z% j
INC S11  u, w' V# m; w/ N5 S0 {( ^  h
MOV A, S11
6 N0 I! m/ x/ E7 j1 x5 nCJNE A, #1, NEXT112 ~- V4 j8 ?- M9 e2 _; ?0 D
LJMP DAY_P
$ a) x$ C0 W# N& Y! ]NEXT11: CJNE A, #2,+ k) E2 S- f4 D* f* l
NEXT12. [7 S4 c/ B( X! C' e; r
LCALL NIG_P1 |6 x1 Z# u6 i1 G9 z# b- R1 ^
NEXT12:CJNE A, #3, KY1
6 r' W( P' T! I, q2 U1 A7 ~" VLCALL MID_P$ _4 Q( {- D% c( ]! w. }5 `
MOV S11, #0
, l* J/ i' O' m3 Z; J; O  ZLJMP KEY_MAIN+ [) P8 U: n: v! G( V0 T
KY1:JB S2, KY2
6 F2 w  y! i; \/ [% Z) gACALL T10MSD2 @7 _$ b: S* F2 M( o
JB S2, KY2: R7 s: o8 U+ y; b: Z+ |9 z
WAIT6:JNB S2, WAIT64 `+ W  N4 z2 I& O* k  _  r0 @
INC S22
/ e$ z- O" ^2 Z% uMOV A, S22
( ?! c7 F9 y5 B5 e; U# \CJNE A, #1, NEXT13
: }8 D8 D- K& O' Q2 G5 Q+ QLCALL PA_DIS
+ a8 s3 s, b# |8 G) bLJMP KEY_DJ- u: k2 V5 o! ]) S! u& }4 ~
NEXT13:CJNE A, #2, NEXT147 Y- }" I  F; H$ {$ e
CLR TR0% d# C$ ^" Y7 d' `) b+ B" M; c
LCALL HMS_DIS& w$ R  p) x0 k
LCALL KEY_SJ
2 x/ I2 Q- o6 X  |- E* X: M$ CNEXT14:CJNE A, #3, KY2
! V2 R( C& b  Z1 v. iMOV S22, #0
' y' _/ E$ L# z  u4 kLJMP KEY_MAIN
. _( a  X" H; c( Q; Q4 J2 ]+ e% [KY2:AJMP KEY_DJ. q& e9 r' e9 ~  X, @6 {  \. }
KEY_SJ:JB S1, KEY1
& z* c. ?0 |: ]1 l; \1 j9 FACALL T10MSD
7 B6 y. U) M- D% Z  SJB S1, KEY1& i" L/ |( `- p
WAIT7:JNB S1, WAIT70 v# _% D% Z9 q0 i" t* D
INC S11
+ |6 n2 Z/ Q; P1 B6 r% C. CMOV A, S112 F' m- c7 R, J, K
CJNE A, #1,NEXT21
+ i4 P; n. Y" ELCALL HOU_T9 y. O/ y, l4 e) M* ~
NEXT21:CJNE A, #2,NEXT22* W; I4 E8 L! `9 I1 ]6 Q5 h
LCALL MIN_T
4 u' N0 y4 \0 n' B0 e: YNEXT22: CJNE A, #3,KEY16 S$ c" x2 S6 j' c3 Z
MOV S11, #0- U1 K# X+ Z+ x) d
LJMP KEY_MAIN6 B3 X4 }+ b$ c4 ^" J0 g
KEY1: JB S2, KEY2" B9 }7 p% D6 c$ t$ l
ACALL T10MSD
1 N% r: k6 C2 c) _  D& xJB S2, KEY2
- Q0 C4 y3 D& F" }. u) c" ]/ PWAIT8:JNB S2, WAIT8
+ `4 \- U( [5 ~0 M* TINC S22; t2 v, G6 Z; [, U
MOV A, S22
" e) {. c9 E7 e, S$ m' {CJNE A, #1, NEXT231 A+ N$ r# `0 H, Y
LCALL PA_DIS
4 w* S& Z" Q+ o8 k% w$ b% c* y$ E# bLJMP KEY_DJ9 Q! c  O; u4 `0 K
NEXT23:CJNE A, #2, NEXT24) B" j6 `2 t+ _
CLR TR0
8 z& X3 h8 t" |1 n! m9 J  kLCALL HMS_DIS  S, e& p+ ?8 h5 S9 u5 U! L1 B
NEXT24:CJNE A, #3, KEY21 O) K! u2 h6 V3 w. t' a
MOV S22,#0
8 N! ~! k# u2 E/ RLCALL KEY_SJ
' ?: c2 E5 s& f5 V3 d) SLJMP KEY_MAIN3 h) f3 ]! p' C7 p
KEY2:AJMP KEY_SJ
* A$ q$ c# i* y6 b6 oDAY_P:SETB F0 # D' N8 k0 ?4 |
LCALL T100MSD
( O4 k( L0 l. r0 ?& w$ p6 ^; _" P+ HLCALL T100MSD  i2 m2 ]3 \, l2 j
MOV LEDDAY_PL, #0AH8 r) ?6 S1 ^2 H, }! x. E0 k9 v
MOV LEDDAY_PH, #0AH
+ s. P. d6 ?* V/ _% YLCALL PA_DIS1: M5 @1 A* |) j( R. C4 H) c2 ]& Z' _; g
LCALL T100MSD' J  G/ p6 P' ]- F8 k
LCALL T100MSD
/ O& @. B3 A5 v5 `+ M# R2 yLCALL PA_DIS$ ]  L" t0 M3 }
LP1: JB S3, KEY113 P# [! ^+ d- [  Z: |' }" |
MOV A, #1. Y6 [5 z9 z) |6 m% b# i0 ?0 Z0 d1 H- D
ADD A, DAY_PRICE
+ _" V, S$ l% F( ^7 R" A) xDA A7 Y9 @: a0 O, ~1 S( j
MOV DAY_PRICE,A
# {2 _: I/ x" Q9 BMOV A, DAY_PRICE
; \6 U+ g& P- X- ]1 D, l9 _CJNE A, #99H, KEY117 r' S: b3 [  \" I- G
MOV DAY_PRICE, #0, P2 B6 ?7 [$ C, l5 ^& w
KEY11: JB S4, KEY12
# j1 j8 E# G; q/ i5 ?LCALL T10MSD
  p/ }* l, v$ _6 @JB S4, KEY12
. E6 \' ?: U: LMOV A,DAY_PRICE5 y( L! |; i0 g* Y- O" _
ADD A, #99H
+ R3 a0 T5 @! f- D4 FDA A
, I* Z7 B; n1 T2 w( wMOV DAY_PRICE,A6 h; L  h0 Y4 I, {! g5 ?
CJNE A, #00H, KEY12; p: I7 [) `4 I0 P% j2 c
MOV A, #99H
8 q, p+ ]! \3 E2 IKEY12: JB S1, KEY13
7 H# F: f4 B/ }6 H: X6 K- XACALL T10MSD" y" [8 Z3 T2 F8 E" l
JB S1, KEY138 |. Z4 v% V7 ~3 s9 [
WAIT11: JNB S1, WAIT11
! Y! M/ m+ B1 p# O6 dINC S11
7 V/ `3 A4 B  }: r4 oMOV A, S11
: }1 u6 v( S- t  Y" gCJNE A, #1,+ f! E# b7 ]* A& {1 j/ D
NEXT31' J+ X* l8 J& R* K( V3 f2 C
LCALL DAY_P6 L- I* M0 G# Z+ P( P; @4 T
NEXT31:CJNE A, #2,NEXT32
5 L7 ~) h& m6 N  H  PLCALL NIG_P
6 m9 ?0 s. m( m1 {2 ONEXT32:CJNE A, #3,NEXT33
" K% P/ u$ u8 X' O7 {) e) W  lLCALL MID_P
+ q) h/ d: U$ P) NNEXT33:CJNE A, #4, KEY13
; Z/ p( Y3 |& \6 @MOV S11, #0* c7 t0 B. E. Y$ ^8 `: B! j( h* X9 j
KEY13:JB S2, KEY14' _5 R2 w+ h; ~6 K- Z1 @
LCALL T10MSD4 W! J8 z0 P6 x; @* e+ k- p
JB S2, KEY14; q* Q1 P( O2 B9 z! P1 Z" K
WAIT12:JNB S2, WAIT12
! \* R0 L) A! bLJMP KEY_MAIN
7 X9 U' |% q; l! A9 ]1 K$ D. [KEY14:AJMP DAY_P
; h! O) C6 V2 gNIG_P:SETB F0 ;调用定时延时标志位
/ C+ D" M& `- F8 p+ OLCALL T100MSD  e2 M% P( \) h2 O# a/ C
LCALL T100MSD1 v8 g5 E# w) ~$ i* @+ A
MOV LEDNIG_PL, #0AH# G. Z# ^( x4 B
MOV LEDNIG_PH, #0AH% M/ s& w  ?7 y) v. Z
LCALL PA_DIS1
$ [- j( E8 J  d8 v" B) QLCALL T100MSD
# x9 p1 Q% @% p# \2 o: H, F: z) g8 q9 k2 F! fLCALL T100MSD$ O) }5 ~9 u4 E
LCALL PA_DIS0 F2 J4 {. E8 q0 \% t
JB S3, KEY21
4 u: e2 A; }' l6 o0 G! l3 K3 f- {+ [% LLCALL T10MSD5 U, |2 k8 o8 X5 K+ _! b: {+ j
JB S3, KEY21
+ k' \2 @# a9 L" I4 m% }% LMOV A, #1
; W5 I  Q3 M% X/ T- zADD A, NIGHT_PRICE3 q8 W1 j% R: y  T' @+ [7 s  L
DA A: @2 k* ?; h' ?; P
MOV NIGHT_PRICE,A  c/ o9 o. b8 j$ E5 ~
CJNE A, #99H,KEY21
; ~  P" E1 d, }% t) ]( LMOV NIGHT_PRICE,#0; `' Y# D  g/ ?0 o, @& i/ y( W+ R7 \
KEY21:JB S4, KEY22! o6 b7 e& E" o1 s
LCALL T10MSD$ `% j) O# P6 u+ C/ I! m( I5 D5 R! Q
JB S4, KEY22
  M; H2 I1 r, i7 y# IMOV A, NIGHT_PRICE
6 v6 f4 b3 a7 ]4 W" T% M8 u* |5 i' ]ADD A, #99H
& s, U' A- C4 l% M4 r  kDA A
! M- |0 D0 f& k( c# V1 vMOV NIGHT_PRICE,A
* i! l7 U& l4 cCJNE A, #00H, KEY22
' M# Z* _5 F: h! k% bMOV NIGHT_PRICE,#99H7 ^# w  `& A( _; f" a+ L1 c' S2 L
KEY22:JB S1, KEY23
4 n3 Y' M& {8 K+ d  |$ jACALL T10MSD+ e7 Y1 L. P5 i9 h) v
JB S1, KEY23
( L1 }( n+ V! v+ b" n0 f3 ?WAIT15:JNB S1, WAIT15
8 R- g' O8 h* A. c% lINC S11& a, |" C5 l7 \6 N- Z3 C& |) e, b
MOV A, S11" \$ ?+ }9 z3 w9 ]  I
CJNE A, #1,
" K& c7 _* J+ CNEXT41
5 o3 N) g" l4 {( n2 S" N! B2 SLCALL DAY_P7 q' B  h' R# f9 L) x
NEXT41:CJNE A, #2,NEXT42
9 t  J/ R% j6 F6 L2 L# HLCALL NIG_P
' c2 p4 J  K$ i$ uNEXT42:CJNE A, #3,NEXT43
2 u( L" s2 v. [' rLCALL MID_P/ H6 t" ?% Z% d9 V* v2 {: S) b
NEXT43:CJNE A, #4, KEY23
; O( ]$ G, o8 `2 FMOV S11, #08 t8 R. G' y2 q& O' s. ^1 i
LJMP KEY_DJ/ Y: w9 [( E6 @4 `* i
KEY23:JB S2, KEY24( \  K8 |5 Q+ t
LCALL T10MSD* o" D( l: E" N4 R
JB S2, KEY24' ?3 Z( F/ t2 h: G0 [2 q
WAIT30:JNB S2, WAIT30: K( M; H4 F" G- @6 _8 j+ w5 S  V
LJMP KEY_MAIN( L6 D5 P4 I3 ^
KEY24: AJMP NIG_P
) K. `$ a1 D: uMID_P: SETB F0 ;调用定时延时标志位" ~5 H$ A1 Y6 M; z2 y$ T( |
LCALL T100MSD
2 [+ O0 k0 t6 k. G, cMOV LEDW_PL, #0AH
" Q" S+ O3 C4 n. i$ }' LMOV LEDW_PH, #0AH& U7 O' i/ z" w1 T, H$ ^" O% f! ^8 b
LCALL PA_DIS1
; I4 k! a2 g( T1 |LCALL T100MSD
. z, S4 p9 [/ g- ~" Z4 {+ _% WLCALL PA_DIS
1 Q: q6 q" F) h: CJB S3, KEY312 V1 T! p/ ]/ D# w0 _! }
LCALL T10MSD
8 N+ d, Z( r; n6 p$ _JB S3, KEY312 t" Y$ c7 q6 {2 T7 N7 j
MOV A, MIDWAY_PRICE- {* h8 D4 ]* D! j9 f
ADD A, #1
1 Z9 C; O* _8 X1 }DA A7 [6 ]" b- v/ I
MOV MIDWAY_PRICE,A' _* l" W. h' ?# J5 P" l( R
CJNE A, #99H, KEY31% J) b# E' x( N
MOV MIDWAY_PRICE, #00H
% ?0 Y; n1 y9 V% i( c7 GCJNE A, #100, KEY31
- e) ]2 o+ d- W6 h6 PMOV MIDWAY_PRICE, #0# i0 l4 @* o" X9 h; O% Z7 R9 r5 I, b
KEY31: JB S4, KEY32. r3 a  x# p; M. }% H" C# |( f
LCALL T10MSD
) U& J, s4 z4 \+ [' t4 R6 U! ]4 GJB S4, KEY32  I% m0 m$ n" v9 [  K
MOV A, MIDWAY_PRICE
' ?' a# n8 t" yADD A, #99H2 F; R8 u, y  T' j" i; j+ f- T
DA A
" H6 d( ~2 r* F4 k% @5 x# _6 WMOV MIDWAY_PRICE,A
$ I. t4 Q+ e. a$ b3 m9 xCJNE A, #00H, KEY32, d$ ]. M4 e; w
MOV NIGHT_PRICE,#99H5 x& T% i% {" j( w  y# g5 k" J
KEY32: JB S1, KEY33
1 f! S0 }2 I# |" R- W5 `6 PACALL T10MSD+ g, X7 v$ G! I9 O/ C. F1 N4 x
JB S1, KEY33# t, a, }% [3 M: K) U* E2 m
WAIT18: JNB S1, WAIT18
( c8 J* Y/ ?" l$ p; HINC S11
' z* `/ F% v3 v- ^, k0 F1 j; e5 S$ F: iMOV A, S11
3 J# I1 y' r' Z. u. p1 m# }/ FCJNE A, #1,
0 ^! s% W& T! _! K1 r) E" KNEXT51) h1 {5 P; y5 T
LCALL DAY_P7 o; ~8 x; ]: b
NEXT51: CJNE A, #2,NEXT52$ ]4 q( [: D' T) j. J
LCALL NIG_P2 C6 {/ G0 T4 |! p# \# @6 k0 E
NEXT52: CJNE A, #3,NEXT53# Z. z$ G: Q( W
LCALL MID_P' G; ?- y& c9 W! z% k# R" M3 k
NEXT53: CJNE A, #4, KEY33
8 U' |! q6 o  P3 v2 r( QMOV S11, #0
+ l" O7 _) |4 CLJMP KEY_DJ5 ?3 D( f7 k, E# M2 B
KEY33: JB S2, KEY34
. I" ]4 z3 D6 e& l1 q5 N% ?6 uLCALL T10MSD
7 [1 P' s+ z% s0 s( |& }JB S2, KEY34% j5 G5 X' W( e3 g4 S  y
WAIT31:JNB S2, WAIT316 `* l' I5 M' b% X
LJMP KEY_MAIN  R& D7 e  d/ c
KEY34: AJMP MID_P* C' z% f: L, w  m0 X5 |$ g, w
HOU_T: SETB F0 ;调用定时延时标志位
% @( Y- o  y! y# S. m) l& aLCALL T100MSD
1 v  V% c/ x2 pLCALL T100MSD
: @1 T$ b- i6 ?* d9 U6 ?# ]& Z4 R. W# JMOV LEDHL, #0AH" }8 E* k) O/ [" S* P
MOV LEDHH, #0AH
$ `  ~6 _/ T6 \) q/ n0 lLCALL HMS_DIS1;直接调用显示,不经过拆分程序& s- I+ y9 i& m+ I# [
LCALL T100MSD: }8 L, P: M' h+ d) p) @+ X" H
LCALL T100MSD8 `' \; i" r4 O# M1 l8 X, q9 E
MOV SEC, #0
! i/ d3 g/ ^* ^$ H9 N$ uLCALL HMS_DIS  L, V) I- M# a- d8 h# T
JB S3, KEY41
8 O6 D( v  k! \MOV A, HOUR
- R4 x' W4 E- m3 OADD A, #13 g' u7 g/ E9 R
DA A
6 H, N, C7 o0 B; }# a: WMOV HOUR,A
, s' i+ p+ L; BCJNE A, #24H, KEY41
) W8 v/ G5 ~, g! SMOV HOUR, #09 y9 x( p- ~4 k8 P8 c  H. P
KEY41: JB S4, KEY426 R$ `( R3 a0 V2 [7 b& b0 e; r+ n0 G
MOV A, HOUR
0 e4 o- Z5 Y, u$ H( `2 JADD A, #99H2 v% |; l, K) O! R- ?5 u" _; c. V
DA A
$ i+ \2 i) a8 s" Z3 q0 s5 JMOV HOUR,A
: N! o$ Q& f+ u9 \( pCJNE A, #99H, KEY42
- a, c) {2 Z5 o0 yMOV HOUR, #23H
$ Z; D% H+ x* k) H: H5 b4 O4 W9 ~KEY42: JB S1, KEY43
, P0 h$ _9 L# u9 \9 h# GACALL T10MSD) E# `1 n9 [+ W+ ~
JB S1, KEY43
. _" z8 d) q: ~0 Y$ M5 i8 ]WAIT21: JNB S1, WAIT21' M$ G3 H/ O/ i2 b' k
INC S11
5 n* M& @, Y1 _; Y. yMOV A, S117 t- @+ H) F, `: k, A' x+ X$ L
CJNE A, #1,NEXT61) C' z/ Q7 Y  Z7 d
LJMP HOU_T! x- n: }# k, o
NEXT61: CJNE A, #2,NEXT627 L# }6 J/ N- u: r8 e1 H# ~! I
LJMP MIN_T
4 U+ D  j; ^# Z7 i$ J" LNEXT62: CJNE A, #3,KEY43
+ j7 q+ y2 P% p! e9 F' kMOV S11, #04 A$ T5 ], e8 \# R1 S0 j
LJMP KEY_SJ3 u! i$ C! U4 @% _. L' S
KEY43: JB S2, KEY44
7 N9 s- f5 {) `* P# yLCALL T10MSD4 y6 J, R. x. O8 v) R$ q0 A0 D. G* C
JB S2, KEY44- z& D. K0 o6 |8 S9 |$ f
WAIT32: JNB S2, WAIT32
/ {: \) ^" e. ~LJMP KEY_MAIN7 n, c" Z! k8 j6 T' O: S; _& N! C3 v
KEY44: AJMP HOU_T7 ^/ `: c* n- v7 O4 d' _2 U( t
MIN_T: SETB F0 ;调用定时延时标志位1 i2 C$ _# I5 P. o- w
LCALL T100MSD
0 \2 B0 o8 M" Y2 L3 sLCALL T100MSD
# P: `$ n1 t/ T, n0 C, T0 \7 FMOV LEDML, #0AH4 ?3 B3 D% W7 v& e- q0 o: E
MOV LEDMH, #0AH, X- M9 @  F4 {. D8 C4 s5 P" |. n
LCALL HMS_DIS1;直接调用显示,不经过拆分程序8 s* ?, B3 \' A+ t* s$ Z9 W: |
LCALL T100MSD
  g6 i- l. u+ L$ B& h& O1 gLCALL T100MSD6 R4 R0 _7 k8 m: P& t- j. D2 R
MOV SEC, #0
$ _( S6 s& V, ]: u& f+ h6 L# H( ULCALL HMS_DIS- R/ E) n5 p8 B1 E# R% H/ ?
JB S3, KEY510 L5 K9 ^, m+ c
MOV A, MIN
( ?: b$ _: q# Y1 ^) y5 L! ~4 yADD A, #1
" f6 Z0 @% p+ j8 M! ]* eDA A, F8 W2 ^" b7 w3 @
MOV MIN, A) o2 c$ w& H$ W. M# N- @& d1 G
CJNE A, #60H, KEY51
, b3 b7 s3 c3 J. w; o: }MOV MIN, #0
" `5 @# [  w4 s' g/ WKEY51: JB S4, KEY52
* n$ f5 Q5 f; |MOV A, MIN
1 W: f8 |2 W3 V8 w3 mADD A, #99H9 d" _0 S; A0 i  H8 J9 r
DA A
( I+ A3 q2 Q1 x$ ^& l! C/ h' rMOV MIN, A+ }2 w2 W7 R3 l2 n9 Q- E- s$ e6 E
CJNE A, #99H, KEY52
" O( `, i' M6 H$ K5 G" K0 iMOV MIN, #59H
% ?+ z) i( e  K) F; _# XKEY52: JB S1, KEY53
. t/ V2 g) F  D7 Z9 K/ D; S- [ACALL T10MSD8 W0 Q$ q7 P! }( N$ x: L4 s
JB S1, KEY53# Y- Y8 b" [. q0 q* p
WAIT24: JNB S1, WAIT24& O2 Z6 p0 q" i0 y' ?/ f
INC S11
; c9 i  `& W  a1 R5 ?MOV A, S11" f. \- z( ?+ w8 S2 l
CJNE A, #1,NEXT71* }+ k1 P3 @9 U/ S% F" K+ V
LCALL HOU_T; S  R2 r9 ~$ w7 @% A/ i# g
NEXT71: CJNE A, #2,NEXT726 H1 A3 L  k# _% a3 i
LCALL MIN_T
3 q# ]: F0 u6 _) Y# SNEXT72: CJNE A, #3,KEY533 k4 `) v) A+ X/ h
SETB TR0
+ _9 I( V$ Z8 w) jMOV S11, #0) z+ \# }$ E) N8 {8 n3 ?
LJMP KEY_SJ
+ J6 O4 z: |: l$ lKEY53: JB S2, KEY54
$ Z- Z* W/ _7 w2 V- ]4 G1 ~LCALL T10MSD1 @9 h$ S, E, x% l! `- I
JB S2, KEY54% K3 C# ~3 j- v$ c4 `
WAIT33: JNB S2, WAIT33
) o1 [. ]1 N" o3 }4 p. fLJMP KEY_MAIN
; r# O7 `# u) j6 B8 d: |9 mKEY54: AJMP MIN_T
, `7 Q7 g* f5 }; s+ `- jTOTIME: PUSH PSW9 C4 ?8 {$ |" `" u) o0 P' c
PUSH ACC7 \8 c7 v6 k: {5 P7 A
MOV TH0, #3CH1 Q0 o! L  c8 y7 z7 G* H
MOV TL0, #0B0H9 N& m* _& a" e7 v+ K* h5 l
INC MS1005 A( f- s4 N" _) V
MOV A, MS100
* E; ~9 u! J/ p& Q; g$ r1 u1 |1 Y1 hCJNE A, #10,RETURN
0 U+ w5 F0 N* K& I! tMOV MS100,#0
( K9 R" h" J$ t6 OMOV A, SEC
1 r* s, w; @! l6 K( u1 j6 j7 MADD A, #1
. l: C; U' G0 P3 L2 p% FDA A
. p/ s4 U) S% _- Y! }0 E4 zMOV SEC,A0 h* o; v* {* i& E8 y% E& r
CJNE A,#60H,RETURN
; W4 U0 T+ x- t$ [8 d: x& h6 ~  MMOV SEC,#0
5 D& H& l. r, G  ^; D, W: GMOV A, #1H, I7 R2 I8 X& M# x: j
ADD A, MIN2 K8 L- n. t/ A2 {2 o) t
DA A
3 x8 I  D! U* t" S& `# _MOV MIN,A. F2 L) }+ E/ e  M; ]/ n
CJNE A,#60H, RETURN
2 U6 s( C. l# k- ]0 nMOV MIN,#0
" n: ^: X4 w. o) s) d+ ~( gMOV A, #1H
! M$ v. j; R1 B  e% ]ADD A, HOUR
3 g' \. X9 T' `5 Y, _( c* }- qDA A0 u, U' {0 ^. D: z& C9 F5 O
MOV HOUR,A
9 n: `, x4 O! l8 `- }  F: ~; X+ oCJNE A, #24H,RETURN7 J) @; H; |$ O& `3 s+ @  l7 M. ^# ?
MOV HOUR,#0' p; I( O; N3 ]) o* Y
RETURN: POP ACC$ k8 n# {) t) J/ L; S" |
POP PSW
6 C3 a6 E. b$ f+ e$ M* nRETI
, c7 |! t( ]7 b% Y' n- {9 c: rTO: PUSH PSW
0 L! Z" y3 _# H9 P% ]% sPUSH ACC1 x) k) n- t% ~
MOV A,#1: {& W8 I# p( J- s
ADD A,M100+ n$ x5 P/ H9 G1 I4 j
MOV M100,A
9 o6 U, |( R! q  o; Q& JMOV A, M100
3 s! t7 U& W+ h9 q- U( qCJNE A, #100,RETURN1
: t0 q$ D5 j" \- A* E  z" dMOV M100,#00 t1 K0 f/ W$ u# {8 i7 ^
INC 21H
* t! \1 G# H7 [+ k! n& EMOV A,21H) I/ v0 t% l6 F  c: D
CJNE A, #0AH, RETURN1 ;已经到了1公里
0 E+ a0 u2 \6 S3 b% {MOV 21H,#0
7 B% D5 |% {1 H( _; k2 bMOV A, #1+ c% I$ O9 y5 U1 |! D% v# V4 D2 O/ \2 r
ADD A, DISTANCE
" Y+ b0 ~$ c: D2 L+ XDA A) @2 ^7 ]. R3 \; N+ D" ~% g
MOV DISTANCE,A
, c( U) I6 g1 l7 wMOV A, PRICE! b6 R8 W  y* }3 Y
ADD A, COUNTL/ T* T+ `4 r2 v. s+ d
DA A
3 h9 o7 r/ Y$ E$ |3 kMOV COUNTL,A
& K2 q, U. d' Z* z* r3 mCJNE A, #10H,RETURN1
* b  Q: T/ B1 f  A) O# i+ X5 q: vMOV COUNTL,#0' U, `. O* T# l
MOV A, #1
* X8 v0 h6 f4 K! I2 uADD A, COUNTH) c, z+ ^- A5 v7 {$ Y* x
DA A
1 A* k- L& U& u8 g' w9 cMOV COUNTH,A  o( d' F& b& }* E
CJNE A, #99H, RETURN1
# _, G. Q! _& ]# d% DMOV COUNTH,#02 |' v( \4 q3 [: }: X: M+ G) E
RETURN1: POP ACC
$ X1 R; w! Y1 _4 }POP PSW8 b& |) e' i) D. x
RETI
3 c8 |1 R; v- z1 F7 _TOSTART: PUSH PSW4 A  g' E0 f$ K& I* ?+ T
PUSH ACC
# ?5 [/ B$ e  oMOV TH1, #3CH
( m; X" D# \, g3 ~4 H# ]MOV TL1, #0B0H
7 r, c3 V  Y5 y9 T7 l8 tDJNZ 22H, RETURN2 ;1S未到返回
+ @7 S, E6 n8 u4 hMOV 22H, #0AH
  [9 g5 b$ o9 N7 g/ G8 A: GMOV A, #1! e/ ?" Q6 W1 N& M. |3 X8 G7 W
ADD A, 23H
3 d* g& K: }5 ]DA A/ z1 |( D3 b" {
MOV 23H, A
0 \8 q6 A+ h/ F8 a2 H( ECJNE A, #60H, RETURN2
! W1 Z+ Z4 k9 h4 E6 `MOV 23H, #0
4 J5 r# S9 g7 ^; K2 q8 `MOV A, #1
" W/ ~( O/ n& UADD A, 24H! u: `4 V5 o; ?
DA A& A/ y& z9 D7 o* m  T/ b0 z  H
MOV 24H,A
- I( h6 P; S  P4 B: K6 W& u/ RCJNE A, #10H, RETURN2
. B* X7 }! X4 p3 z  U; TMOV 24H, #0
. E8 v4 i8 W1 I& a: r$ a4 ?1 jMOV A, START_PRICE8 [4 o3 n/ d! n
ADD A, COUNTL. X6 b5 Q7 [& z
DA A
: B" \5 P8 q6 Q  [8 S, kMOV COUNTL,A7 ^4 E. P$ f2 Q
CJNE A, #10H, RETURN2+ d; [& ], p2 q4 u; I( m
MOV COUNTL, #0/ X( _- @# G# W* L6 J; G
MOV A, #1
' `" ?+ i! t- l$ e3 m' V: {ADD A, COUNTH
: C7 g) f0 g6 T2 g! gDA A1 L9 p. z* `2 `0 W: K2 c/ x
MOV COUNTH,A
! i6 h8 g" k% s* s0 yCJNE A, #99H,RETURN2
. P& A7 I. U0 Z/ d+ w+ R/ iMOV COUNTH,#02 @( M) i1 _' e# n; E+ I* `& ?
RETURN2: POP ACC
5 i6 ~  m- ~( L) a6 ]" H  ePOP PSW
9 O  H+ @* r* ?0 i" ^8 g5 rRETI2 @) ?& W! B4 o
HMS_DISUSHACC . T" q- D3 _# b: {; O3 V/ K
PUSHPSW
- w* g* S( C; a! B" T2 \SETBRS1' P7 t! _3 @+ u$ K7 L
MOV R0,#SEC ;时分秒的拆分(三个字节)4 H" C. m! H, Y4 D" H% x
MOV R1,#LEDSL% k3 O8 B, O$ E/ \. _8 Z+ M
MOV R6,#03H
% g* {9 x7 a3 a0 \0 [LOOP1:MOV A, @R0% B, ~; W! e. u* l, U5 k! F
MOV B, A
" i0 A/ I; g; v3 @3 F( J4 WANL A, #0FH( X8 z4 f  i6 A( H
MOV @R1,A
+ F( Y# _8 y1 N0 |3 j# yDEC R1
, K2 W* t0 e$ Z* {/ i  z/ @MOV A, B8 N9 K) b# m  e5 {, W% _; p; Q
SWAPA
' P/ \4 {  r4 P& K( Z& }ANL A, #0FH$ n! p! \  j1 \0 ?& J% a: s
MOV @R1,A) `* ]& {$ ?5 H  `8 J2 Q( D! X
DEC R1' d6 m& w: z; U% i' |
DEC R04 z& s% B: [5 B. w- d; y
DJNZR6,LOOP1
+ i1 j/ E6 @  _4 r- C$ w( KPOP PSW# v! c- B& ]( Z& ]1 H' g
POP ACC
6 c0 \* P1 Q' J" I8 h2 ~HMS_DIS1: PUSH ACC3 d2 b8 k$ U# N$ @- n# e
PUSH PSW
1 v- _/ N3 Y' u' T" d+ x7 Z6 q/ PMOV R7,#06H
4 ^+ ]: T) e7 J/ ?MOV R0,#LEDSL
4 Q) f& \/ {6 V5 NLOOP: MOVA, @R01 l9 g! ~9 V5 z
MOVDPTR,#TAB- R4 n7 @8 x3 t$ m( h0 R+ N! |9 n* ?
MOVCA,@A+DPTR7 O& C2 u+ I; O' E, ~& z8 ]2 o. {& T
MOV SBUF,A8 t: u$ ?- ?: ^/ m; H1 v% j0 j* n' Z( Y
BK: JBCTI,NEXT' u9 \) ?  S$ S3 }
SJMPBK$ i6 C6 P5 e6 O- N$ ?& x
NEXT: DECR0+ [" d* g' C) @9 c
DJNZR7,LOOP: w* d6 U  B# T2 V
CLRRS1
9 P5 o2 M4 M% o  jPOPPSW* I( N6 R& t8 n: T: y
POPACC( A. h5 T6 J! y1 V0 R
RET
8 b$ E/ P2 u( m8 ^6 |CP_DISUSH ACC 3 y( ~" Z) N, J# K' A9 c- I- L$ ~# r
PUSH PSW
5 Z' H/ h4 i# c% _SETB RS1
6 \7 T5 L! H- B8 y! OMOV R0,#COUNTH ;6 e5 m7 I6 j/ f
MOV R1,#LEDCOUNT2# ?) h, {* z1 v6 e7 |. w
MOV A, @R0
( z( F; P2 C4 h6 Y. B8 xMOV B, A: U. o( X- w. B
ANL A, #0FH
, w* k  i" y( a1 iMOV @R1,A" R: u7 T0 v! @6 j: k
DEC R1
4 e$ j" }: E/ c6 X, U; ^MOV A, B
! e0 B' X$ R9 j3 A0 VSWAPA) [" g9 T: `- ]+ P' R6 r
ANL A, #0FH
* p! r4 {9 ]; \& S! fMOV @R1,A
5 W- ]& y: t" ?  aMOV LEDCOUNT1,COUNTL0 K7 l6 y: X; ^( f/ ?
MOV A,LEDCOUNT1 ;送总金额低位
- Z7 r( ]6 M8 |0 R. aMOV DPTR,#TAB
: U7 K" x6 u% c1 S8 K1 {1 RMOVC A, @A+DPTR
3 x, [9 t7 P+ {- u9 oMOV SBUF,A
6 G& H7 G( j  `( F' zJNB TI,$
- r0 A$ Z% z: X9 \2 gCLR TI/ N( O" j# M0 M
MOV A,LEDCOUNT2 ;送总金额中位
- f& c+ s5 n3 @2 ~MOV DPTR,#TAB) b- v, c" h2 J
MOVC A,@A+DPTR
  F% ?' ?3 O0 z( Z9 [- Y  i" RCPL ACC.48 W! ^9 f' U0 p0 Y+ h+ Y; g  e
MOV SBUF,A
& X- G2 y! @! j8 D* g9 t& kJNB TI, $5 {9 Y, w, ^3 ]! _. C
CLR TI3 O3 L/ T  i# U8 M8 g
MOV A,LEDCOUNT3 ;送总金额高位0 A% d& v4 N$ L) _
MOV DPTR,#TAB
6 c& m8 q$ b  b* N& VMOVC A,@A+DPTR( Z# T* ^0 F9 O% n
MOVSBUF,A" o! t% k/ _8 ]2 p) N( K
JNB TI,$
# H$ I4 e% Y8 s+ U# Y' c  J; ~CLR TI- \) x0 L, L# t! r. C9 N4 g
CLR RS1
! W& F. b" \) M0 V; s7 O' eMOV SBUF,#0FEH ;送短线(短线的字型码是0FEH)- A* ^$ E5 y, Y
JNB TI, $. N8 `& g" ]" a3 ]* J
CLR TI
$ O  K  n1 P: F- A+ v  a0 YMOV R0,#PRICE;单价拆分(两个字节)
/ n% h0 m1 A0 }+ O4 B1 ~. U5 P8 JMOV R1,#LEDDANJIAL
- z. `: D4 b) x. K; p# `9 PMOV R6,#03H" O- o& s7 v1 z
MOV A, @R0
% p& E+ j3 N4 u# b# KMOV B, A& p4 D( |) k9 X5 A
ANL A, #0FH; p" ]0 Y  |2 p/ i' ]' d9 Q: I9 j$ i( l: J
MOV @R1,A; V% U2 ]1 r) D+ p& l
DEC R1' t( H2 F1 ]( r: F
MOV A, B) l! [( n/ J3 t1 x& r5 `0 B$ C' q
SWAPA' b9 n% |  @  P( h2 R/ ?! l
ANL A, #0FH/ k4 `& P3 q; @0 O; h% r
MOV @R1,A( b7 z5 e& H& u8 T& t! U
DEC R1" U% k; P  `, W7 S3 G
MOV A,LEDDANJIAL ;送单价低位1 k( w6 R( x1 A- F7 ]
MOV DPTR,#TAB$ y* x- a+ w$ n1 ]1 K! }
MOVC A,@A+DPTR
, ]- [7 B/ @6 h- o4 BMOV SBUF,A
! V! z0 C, P1 u" i! b% k) ]# hJNB TI, $
% g% g7 H: b1 I: E6 wCLR TI5 n6 d5 a4 R6 p7 e! t- f/ A
MOV A, LEDDANJIAH ;送单价高位
, j8 {$ p$ P4 Z- @! jMOV DPTR,#TAB% i# y7 {2 T# J  y0 e
MOVCA,@A+DPTR. m1 d1 k. o6 f) i4 X2 u2 p: Q
CPL ACC.4
8 E# H7 {/ C* S( W, e$ @MOV SBUF,A
" M$ Q/ |0 H$ X. ?JNB TI,$
6 R2 M: }6 \- q. v7 cCLR TI
% R: A# W5 T3 X) j6 W: E+ e# h( rPOP PSW
# |# m9 }1 b5 Z) m9 SPOP ACC
( ?: a/ C0 g! rRET
' v9 x) f$ l# d5 J  PDP_DISUSH ACC
1 k% z  F9 ?6 bPUSH PSW8 O! ~# \- x9 E5 r6 J
SETB RS1
, K" f6 d8 {, ?& m/ Q* CMOV R0,#PRICE ;单价的拆分(一个字节)* w; `" ~3 h* U9 U4 Z+ H
MOV R1,#LEDDANJIAL# y: {+ v3 }0 V9 J: z6 l3 \) _
MOV A, @R0
! ?0 e, S- `" O# l. g* N5 l; S- ^MOV B, A4 h: s; @( {3 {4 }
ANL A, #0FH
* f( Y% \# v, w/ q; sMOV @R1,A: o8 U( I& z+ ]) i
DEC R1
/ B$ `3 I" |2 K9 gMOV A, B$ [1 Y, O) m/ Z6 m$ Y4 i4 a4 f5 ]
SWAPA0 d& q$ u" x3 y! A! K9 V, n
ANL A, #0FH/ h  P) z# D. N9 `9 j
MOV @R1,A8 B: E* N* x+ b& {6 P' }) q+ w
DEC R1! v6 p) Y7 t1 R% R
MOV A,LEDDANJIAL ;送单价低位
3 }4 D* j% J1 A! z5 BMOV DPTR,#TAB
2 `. w2 Z( y$ J+ m% C+ I- ~MOVC A,@A+DPTR
( h8 b9 }1 u4 g$ h1 P' mMOV SBUF,A
5 e. g' H, C, v3 @( z. eJNB TI, $8 k. d2 p+ K9 s& p: z
CLR TI& E- d  P7 {( Y6 z: J2 O$ q
MOV A,LEDDANJIAH ;送单价高位
; f- z8 A; V% M  ~8 h4 L2 nMOV DPTR,#TAB0 z" E: j+ E& L: h
MOVCA,@A+DPTR3 s6 s' }  I/ ~# Y
CPL ACC.48 o/ X+ h' ]  T$ j+ p
MOV SBUF,A) [$ F* ^- `- w$ _
JNB TI,$
+ |! F: y5 X. H& OCLR TI: o2 c$ g& }0 S* N
MOV SBUF,#0FEH ;
0 b8 s+ J$ X; Q! o/ YJNB TI, $
+ r2 c3 o7 f" d" q3 v9 LCLR TI
9 N% b3 b  A5 Y  H  k, dMOV SBUF,#0FEH ;送短线
- @( U: {! h# c4 Z  [+ d. ]  E. I4 t8 {JNB TI,$( p. p6 C8 k8 I2 ?3 j6 ^; P
CLR TI! S, i# R# @! M6 k
MOV R0,#DISTANCE
2 g6 }% L# G, [+ t* e( kMOV R1,#LEDDISTANCEL
( r% E4 r0 R# k. D3 r9 B8 PMOV A, @R0
) Y/ k. b9 J4 m" d" DMOV B, A
: O' C! I$ `, u8 S7 jANL A, #0FH
3 s0 G7 C4 b% AMOV @R1,A0 c6 c( o& N! p; v. _
DEC R13 d: ]' b% p5 {8 k" `
MOV A, B6 ?9 y' H( V2 R# e; O4 [
SWAPA
. Y4 W  C6 f$ @6 _: n* E$ E( X6 SANL A, #0FH& V; h! H; F* }) R3 |1 |( L+ N2 v
MOV @R1,A% h0 d8 h! r; W" y) p
DEC R1
4 c5 E' U6 ?) b5 @MOV A,LEDDISTANCEL ;送路程低位
  ~% p2 |( z  _  r6 m  ^5 jMOV DPTR,#TAB
8 X+ |& G6 c+ Q* c4 cMOVC A,@A+DPTR+ }  s3 L% j4 ?: _# E9 e
MOV SBUF,A
& A" b) O7 {' o1 rJNB TI, $
; Z. ]* U6 t2 c% Y! E( ?CLR TI
" X: w1 j7 r  `. C- a5 BMOV A,LEDDISTANCEH ;送路程高位1 N$ `  j, m8 \; r6 b
MOV DPTR,#TAB
) Q! D) N2 G5 w) j$ ~+ HMOVC A,@A+DPTR: t# }2 h: s; F& t6 P! z# j% D
MOVSBUF,A
! i+ z3 n) g! J& `( J/ }: \JNB TI,$6 Y) V" n# Y# M% j
CLR TI
2 G1 c( b* a% M- d  k4 ECLR RS1
* l2 I1 j2 @" E3 Z  A, [POP PSW) ^6 h0 `0 W7 k8 v; l, B
POP ACC! Y" v. T+ L, M0 U- r7 y8 h9 r
RET9 e; m: u9 p) V" j' j
PA_DIS:PUSH ACC
" K2 x. q: |: M* OPUSH PSW! P1 e4 a( W# W5 ~" i8 E' ~( \
SETB RS18 Y! t& O3 c# w: z& `
MOV R0,#DAY_PRICE ;价格调整拆分(三个字节)
" V" w6 o% w9 GMOV R1,#LEDDAY_PL
: i# n0 X" E. w* f5 s6 }4 ?+ B$ iMOV R6,#03H
/ c" b) o! [2 o3 b2 N: N1 x( t6 k- \LOOP2:MOV A, @R03 F/ z& s" O$ V* O, j
MOV B, A
/ q' k3 R0 d# y0 rANL A, #0FH
8 `/ k7 O. z4 ]8 P. Q8 nMOV @R1,A$ w. L: Q4 y4 E  I# s9 ~. @7 U3 d4 y
DEC R1
6 a% j; K$ s+ K7 f, L# A, EMOV A, B
7 N& A$ K4 I. @/ Y" NSWAPA3 J* E$ a+ m. _4 L7 _9 [
ANL A, #0FH
2 }# D0 J4 T$ q& F# N" Z2 iMOV @R1,A* e0 K& F4 V. j) L( v' C
DEC R1* {0 [( r; S% q5 r& P; D
DEC R0
7 F2 B/ E, ~8 U7 X) E9 ^DJNZR6,LOOP2* |, [  ]+ J6 `: v' t8 R
POP PSW7 ], y6 }, Q8 @3 d" W7 k; k
POP ACC; @5 C; P- z1 b3 g6 w2 X& T
PA_DIS1:PUSH ACC
( u; c- v" q0 E$ d' s/ `, gPUSH PSW
4 |1 @% r4 i! h5 x7 ?MOV A,LEDDAY_PL ;白天单价5 W* h4 Q3 W6 |6 J% y) w" ^
MOV DPTR,#TAB
  K6 D9 i2 R$ I) K1 G- F& m% eMOVC A,@A+DPTR+ v" l, w& C4 T& B$ e# x- K
MOV SBUF,A. i. K1 n; z8 @" p8 r
JNB TI, $
. Q4 l2 S' _4 |# x: rCLR TI1 Y0 j8 |1 a" j' E. v( K1 {
MOV A, LEDDAY_PH, [5 c2 P: v/ E7 l
MOV DPTR,#TAB
' v5 A7 @; V3 @3 WMOVCA,@A+DPTR
; \% S6 c0 T) h; p5 fCPL ACC.4
- s- k5 V- C$ m1 a0 MMOV SBUF,A7 `4 ^; y( ^3 Q. W" F' N  A) p
JNB TI,$7 X4 t* f. C3 u" _
CLR TI) I5 _# v9 r* j3 W) r0 U
MOV A,LEDNIG_PL ;晚上单价2 X) C+ q/ a0 j+ m0 S
MOV DPTR,#TAB
2 c7 g6 @, x1 cMOVCA,@A+DPTR
  K. z1 i% Z0 G2 L( xMOV SBUF,A1 {9 W$ X- A, @. i$ f
JNB TI, $: I; ~, n7 z) W9 ^
CLR TI: S$ V  B$ E  y8 J6 `8 ?
MOV A,LEDNIG_PH9 r0 v1 I9 m2 n0 M8 T
MOV DPTR,#TAB/ Z: |7 \; N  q
MOVC A, @A+DPTR
# `5 l/ ]9 }% {( ACPL ACC.4
: i* v% f: e9 @MOV SBUF,A. g; X. v1 D! {& Z
JNB TI,$
4 |- N! h+ C% U0 N0 L- X( I3 WCLR TI
( i+ Y) K7 c9 F" C# M' R2 fMOV A,LEDW_PL ;中途等待单价
: n6 \7 A2 |9 |( j# x: |- q5 N- aMOV DPTR,#TAB
2 t- n4 [! r8 D0 I# Q5 w! KMOVC A,@A+DPTR
" N/ Q- u' Q% n* r3 b* uMOV SBUF,A
/ R3 t% B6 D" w# I2 p. OJNB TI, $9 B1 |. n8 r8 o& d5 x
CLR TI
& f5 J, r3 @( s$ E/ a6 l6 G: J# S$ nMOV A,LEDW_PH$ U4 h: h- p9 @, C; }  V% B  o/ Y
MOV DPTR,#TAB
8 m  s; R4 A) T" J6 _- S) \5 P# ^  N" OMOVC A,@A+DPTR( y; }& {: T( t1 F, D+ U* H$ M9 g; L
CPL ACC.4
5 o4 T! t- A. _/ P& t3 W3 g) j  H/ GMOVSBUF,A
5 \4 {; d. H1 I. y1 K" BJNB TI,$6 r$ @8 T  ^& b+ M( ]2 P' i7 h
CLR TI. w. ?6 O: p$ m+ a
CLR RS1) |! B" J, L6 G  \8 C) O
POP PSW
0 X; L& U  o/ {0 l; T2 HPOP ACC
% x5 m' Z3 @/ YRET+ D- t1 d) P' z+ f) j4 U6 |8 Z* o
TABB 11H,0D7H,32H,92H,0D4H,98H,18H,0D1H,10H,90H,0FFH; o3 g/ l) E) ], ]
T10MSD: SETBRS0; 10毫秒延时程序5 u& a2 ~7 f+ W/ w: a
MOVR4,#12
1 _4 K8 T2 x+ X& l7 MTM:MOVR3,#1287 ~" B3 ^9 x& V2 `- T
TM6JNZR3,TM6
4 f# H. V: @: v  }5 J7 YDJNZR4,TM( Z1 O# R$ }6 I
CLRRS0
, g& V+ F3 d8 B- T# [/ |+ PRET
/ p, U- R% B' H2 B( VT100MSD: MOV R3, #200# h9 P1 h, l1 L4 c/ _) G8 J5 o: }
D11: MOV R4, #125
6 V4 V. |) ~* b; ID12: DJNZ R4, D12
' K7 f  O3 \$ l6 lDJNZ R3, D11
, [* w1 E& _3 @' q$ ZRET) D+ G5 N7 u4 A7 A; J3 Y, t
END  }# t2 w6 Y1 d( ?0 X8 Y

该用户从未签到

2#
发表于 2022-7-6 11:20 | 只看该作者
现在汇编程序越来越少了,支持楼主。

该用户从未签到

3#
发表于 2022-7-6 13:13 | 只看该作者
有proteus原理图吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-7 02:57 , Processed in 0.093750 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表