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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
计价表使用说明9 A+ U' Z1 \" q6 q
(1)S1按键的功能$ ?7 b( e) L: j3 ?
在出租车不走的时候,按下S1,可以实现数据的分屏显示;车在行走的时候只有总金额和单价显示屏在显示,当到达目的地的时候,客户要求查看总的里程的时候,就可以按下S1 切换到里程和单价显示屏,供客户查询。
$ b1 ~) q# k8 l, t; r- J# ^7 B(2)S2按键的功能! B% Y& K! _6 Z& R& ~1 O- R$ f
     在按下S1按键之后,若接着按下S2键则进行单价调整(默认为调整白天单价),当接着按下S1时,则进行晚上单价调,再次按下S1可进行中途等待单价调整。当单价调整结束后,可以通过过按下S2按键进行时间调整,默认为调整时,接着按下S1可进行调整分,分调整后再接下S1可进行秒调整。当时调整完成后,若接着按下S2则又可进行单价调整。- O3 W8 r0 ~& h9 a9 T6 A7 H" d
(3)S3按键的功能
. x9 ^6 s- y) }1 v. r     在显示金额及单价时,若按下S3键则显示路程和单价,再次按下S3,可返回显示金额及单价。
% r1 O1 I2 Q+ t, Z(4)S4按键的功能/ t* n- Q  s1 P2 ~
在按下S1按键之后,若接着按下S4按键,则进行设定默认晚上单价,并启动计价器,若没有按下S4则可设定默认单价(白天),并启动计价器。当设定默认晚上单价结束后,再次接下S4按键,则可设定默认中途等待单价,并启动计价器。当设定默认中途等待单价后,若还按一次S4,则返回系统时间的显示。
; P+ F% P* ?. ?; k- V" U/ o. _0 \& y( m+ r: t( _

  R7 M. W9 L! p7 p3 z. G
  E9 a+ O4 H6 Z9 X& ^4 I$ |数据的分屏的显示是通过按键S1 来实现切换的,如图7 所示。
5 f4 r. F% V# J4 N( M+ E在出租车不走的时候,按下S1,可以实现数据的分屏显示;车在行走的时候只有总金额和单价显示屏在显示,当到达目的地的时候,客户要求查看总的里程的时候,就可以按下S1 切换到里程和单价显示屏,供客户查询。显示电路的电路原理图如图8所示。
4 K. }- ?  U6 r3 h% a
8 U  L% D( k  k' D9 N# S$ v4 yDAY_PRICEEQU 6FH
4 Q  ~3 d4 _2 a, J. J8 _NIGHT_PRICEEQU 6EH* M5 I/ L  @" N+ b( y
MIDWAY_PRICEEQU 6DH
5 L8 U8 X! |5 f" [- zSTART_PRICEEQU 6CH' F3 }, ^  ^" T1 _
COUNTL EQU 6BH
+ Y0 k" h& q& c7 Z) vCOUNTH EQU 6AH) B2 d7 [) Z, F  y1 O5 D" |/ s# k( A
M100 EQU 69H ; 外部中断次数
7 I" i* \* r% [  rDISTANCE EQU 68H ; 行车距离
0 X( h( ]5 ], U* V6 ^/ n3 rMS100 EQU 67H
/ W8 L5 q# ^, w( H- s0 Z0 ~SEC EQU 66H
. u- t6 E+ C  g: k0 s8 uMIN EQU 65H
0 M) d) r* d" {: x( @% ^4 MHOUR EQU 64H! D4 x8 J' ?: q9 F; r" f- z
LEDSL EQU 63H ; 时分钞显示缓冲区; H$ }2 ], g3 e/ y( P3 J; |6 p6 w6 B
LEDSH EQU 62H0 I+ m; E6 E, R
LEDML EQU 61H
! C" R: Y7 n+ c" @. H) VLEDMH EQU 60H3 _7 A; D. M- G  C3 Y* {% O
LEDHL EQU 5FH) d4 k# ~7 }. z) J
LEDHH EQU 5EH+ }' d) d9 y) g5 b) {7 W8 [8 m* A9 _/ |
LEDDANJIAL EQU 5DH ; 总额,单价显示缓冲区
) W6 |7 S1 ~, e' FLEDDANJIAH EQU 5CH: X% V' H8 e! m& H
LINE_ EQU 5BH! w, q; T# E/ u
LEDCOUNT1 EQU 5AH
) @5 `& k' R9 S. h% q( H7 yLEDCOUNT2 EQU 59H3 l: D4 G! k/ B# Q- J
LEDCOUNT3 EQU 58H
, R+ r$ r3 Y+ Z* t+ [LEDDANJIA2L EQU 57H ; 路程,单价显示缓冲区
, M; W# N( L# s% n: tLEDDANJIA2H EQU 56H
+ L2 T" u/ c6 a7 w2 T8 J3 Q9 S' PLINE__ EQU 55H
( a/ ?; a1 v: r; P- d. ^$ n* GLINE___ EQU 54H
3 k1 l, Q( f, x. b/ Q# x7 q* c0 wLEDDISTANCEL EQU 53H
2 v4 l4 g, O4 e  `$ [3 kLEDDISTANCEH EQU 52H' X4 t& W4 n9 U2 D' `7 v7 m
LEDDAY_PL EQU 51H ; 中途,晚上,白天显示缓冲区
9 X- a! y  ~. TLEDDAY_PH EQU 50H* m* P7 s1 S5 s+ {8 y
LEDNIG_PL EQU 4FH' j# \/ m. x% j
LEDNIG_PH EQU 4EH2 G7 f1 J/ P& z" ?/ t3 S  l3 `( G4 G
LEDW_PL EQU 4DH* t7 k: C. C) K8 N
LEDW_PH EQU 4CH
; p+ F# z# {  s1 XS1 BIT P1.0
& ]- w. o( g" {' e' @& b9 u2 mS2 BIT P1.1" y1 X2 w4 O  d. x
S3 BIT P1.2
* `0 ]; h2 A4 l) S( d9 Q/ y! |& ]S4 BIT P1.3
7 {, m+ m# v9 o% Q: |S11 EQU 4BH2 r+ _  O3 l4 _) S2 j! W/ i% h+ [
S22 EQU 4AH
+ }0 Z' y' f3 JS33 EQU 49H. P; ~* Y* f2 ^
S44 EQU 48H
7 Q- [4 V7 h. Q7 @& w7 @. rM1 EQU 47H
! w8 b# f3 v  d: `H1 EQU 46H
; N- `8 N3 C' i( FM2 EQU 45H$ m( Z' }4 m* n; b0 d) D
H2 EQU 44H
# J1 K5 z1 a6 B) k7 K0 [" xPRICE EQU 43H
2 m" M: s; r% w) A7 @6 q' [; j$ {6 x: L9 ^4 u' _- S
ORG 0000H
/ P7 w- C. m# C0 gAJMPMAIN# N9 Q) f  J. Y. X2 u/ G  y: H
ORG 0003H
! V# X; v$ F2 p, X( }+ c/ HAJMPTO
5 _# c& C" _6 u  MORG 000BH" K7 m) U9 Y( k& d: i+ N
AJMPTOTIME
0 i: o* o. y" Z" d  ~: FORG 001BH
  l! }( D8 [+ h/ k) E7 `8 A9 }AJMPTOSTART- U! D% K6 F3 m0 T
ORG 0030H
, _0 f5 A4 K# ^, ~1 n9 O! k2 CMAIN:  MOV SP,#70H
& j9 T$ y1 k* Z" BMOV TMOD, #11H) W9 P) W+ e  @& W
MOV TH0, #3CH/ K; [2 t: l+ g4 ]
MOV TL0, #0B0H) _# Y- o2 T3 p; i% s  u
MOV TH1, #3CH
+ k& }; y& P& |9 F) R$ LMOV TL1, #0B0H
3 k4 G6 Z; ^1 x' Q+ UMOV 22H, #0AH6 P/ \, I: n2 i: K, E% i: B& Y
SETB EA4 ]( `3 a' o& \; H6 O
SETB TR0
, `0 c3 M" k0 F4 jSETB EX0
4 Q2 L' r& j2 hSETB IT08 G( D9 f# P1 X1 [4 b2 o1 _- p
SETB ET05 b4 J* v5 W6 o$ Q5 q
SETB ET1
9 X4 b' P9 N7 q* FMOV R7,#34
( {) a: `$ |& r* k* wMOV R0,#69H+ p7 m) D0 w' x9 {& a
LOOPL:MOV @R0,#0+ Z* O) I% B% Y% w
DEC R0; f7 X' J& g4 s& @- P7 @# ^
DJNZR7,LOOPL; m, n$ k; Q5 `: j4 y4 S
MOV COUNTL, #00H ; 起步价/ r2 q, s  R! R; t4 a/ i
MOV COUNTH, #05H
$ w$ i. S; m* l, W" jMOV DAY_PRICE,#25H ; 白天价格初始化
8 X. b4 |) O2 v/ K7 zMOV NIGHT_PRICE,#30H ; 晚上价格初始化
+ @6 m2 I7 J- z0 L+ jMOV MIDWAY_PRICE,#10H ; 中途等待初始化% @* k4 ]7 D" \# f
MOV START_PRICE, #50H ; 起步价初始化9 J/ }8 X% y1 y. B% u' s. R
MOV S11, #0
# V5 m2 z$ q- S4 `MOV S22, #0
* x" i, I1 U( ?& B6 IMOV S33, #01 ^( }0 u% P6 T( z. n& |, p
MOV S44, #0- y5 a: R" x5 c: u' g: [* F) w# y
MOV DISTANCE, #02H* q( B) c3 W9 S) N. x  e' E
MOV HOUR, #12H5 ^; `* Y- I; R& P
KEY_MAIN: SETB TR0. {# z. L4 z/ X* k; D. Z
ACALL HMS_DIS/ R) e0 T/ a/ T" g$ r
ACALL T100MSD& ]8 D( Y( k$ R, F& L# S/ J) P
ACALL T100MSD2 G8 l' P/ g3 j2 g2 m: X
ACALL T100MSD
+ T) Q3 Z1 M9 O: w  e; g: ?9 V0 FJB S1, KEY_MAIN
/ O' C  }6 E; b, AACALL T10MSD0 _& \! l- T" x; W5 p5 J8 t
JB S1, KEY_MAIN! G' p' G! `1 c" x
JNB S1,$
1 ?+ P  h& y/ q2 Z2 pSJMP WAI1
0 c0 O7 T, j8 H7 ^, B/ oWA1:JB S1, K1
1 m% K' p' [  T9 D$ `ACALL T10MSD
% L3 Z2 c" l, ^: v* \& f* b5 B8 ^: {JB S1, K11 D( W. E$ Y. v9 g5 K
WAIT1:JNB S1, WAIT1
' l2 E( @- X! q4 Y6 eMOV R0, #LEDDANJIAL
' }0 Q0 s' u3 r! V: rMOV R2, #6
# V! C' [- W" cCLR A
8 U+ u: k. T4 B: w5 O& u* |# Z; {$ jMOV COUNTL,A" k& Y' ~: g9 Y
MOV COUNTH,A
  ~% V" V5 c6 }3 Q; W! H! B8 H& EMOV M100, A3 m/ |& f1 S2 o8 D5 i( x' S, L
MOV DISTANCE,A% y6 @# e; ~2 s& T. u; ], I
BK1: MOV @R0, A
: B* w) b' X* ^/ U& MDEC R01 x* L& v; d5 w( ?. Z% `; j7 ^) \' P' ^
DJNZ R2, BK1
+ \& M) |  O5 Q9 `: r1 r! YMOV PRICE,DAY_PRICE; 起动初始化. j4 R  j$ a2 }7 N5 C1 t( t) H
MOV COUNTL, #00H; 起步价
# Z; K" n1 Z" L6 f" XMOV COUNTH, #05H1 G' l5 G  i; x6 }4 b
LCALL CP_DIS; 总金额和单价显示
& V6 y. ~) l, w& e7 e& V' b: BK1: JB S2, K2# r9 e( b( Z6 A2 R
ACALL T10MSD
; \' n, I% u3 C& B* o# b+ x7 E. c; kJB S2, K2
" e0 g0 c$ h6 p& z7 T0 RWAIT2: JNB S2, WAIT2
, x+ k5 l1 k2 g( GINC S22
5 L' `3 h5 W) @- AMOV A, S22: H3 w* v6 ]6 f. {
CJNE A, #1, NEXT1
4 \4 Y! g8 p: t9 pLCALL PA_DIS
' `) R5 N( @, z, a( b% QLJMP KEY_DJ1 B: K. s; I4 f7 W, |
NEXT1:CJNE A, #2, NEXT2
% g% i7 H2 r0 F) yCLR TR0
* T2 p6 b7 R+ U% ^1 lLCALL HMS_DIS
6 u; B9 v" k5 A: ~LJMP KEY_SJ
& Z5 l. R+ D' a: U! PNEXT2:CJNE A, #3, K2
1 y  I, Q  F5 t1 f$ SMOV S22, #06 g/ K1 e5 K) |" K
K2: JB S3, K3
2 g6 G# b/ ]4 z' O% C( Y$ I) pACALL T10MSD. V- O/ u! J9 Y- Y8 |4 W
JB S3, K3. }8 b7 [* h* X1 v* d
WAIT3:JNB S3, WAIT3
3 T4 f% w% {) }8 m9 Z# X/ n3 {INC S33; N6 G+ }. u! t) Y
MOV A, S33
' l% y+ X: {; G0 s( u* oCJNE A, #1, NXT1
3 I* h0 E" |# x4 M" n2 T) cLCALL DP_DIS/ f2 L8 f0 A! ?  h
NXT1: CJNE A, #2, NXT2
, T; s, j7 s1 d) ~( v9 nCLR C
; h' @2 F( Z* k# u( f7 e3 b" BMOV A, M27 a- m1 P" O) T/ a( v
SUBB A, M1
0 z3 r- I+ N! ^( y2 p5 Q) P9 tMOV M1, A$ }- B4 p- X0 U. j
MOV A, H2
, t& i4 g# H4 a" t. D* _' ^$ o' tSUBB A, H1" \! O4 o5 w4 f$ Q
MOV H1, A& S" |/ w" @# ^
NXT2: CJNE A, #3, K3
) c" w$ J9 |1 g0 GMOV S33, #0
& {6 G4 b% {# {6 a" JLCALL CP_DIS
. s8 t  f- @0 G4 @5 W7 ]' n# LK3: JB S4, BK_KEY_MAIN  a9 _8 T8 w* h$ D) B5 K
ACALL T10MSD2 Y! m$ A* n/ C" l' `8 }( Q
JB S4, BK_KEY_MAIN
' _; U2 ?3 g8 H; r/ T# _WAIT4:JNB S4, WAIT46 g6 s0 f  O- F0 f: C7 L* ~* W
INC S44
3 L( ?2 h  p  `MOV A, S44+ l: @  A2 C2 b$ d4 w$ s" G$ q
CJNE A, #1, NT17 k. ~7 f* s! ^1 I
MOV PRICE,DAY_PRICE
1 I( _; {) [0 |; g$ cLCALL CP_DIS
2 E  C9 r9 [- @5 }; O0 B) k# A* \0 ]NT1:CJNE A, #2, NT2
  s$ Y7 Z; X! [$ o  r" DMOV PRICE,NIGHT_PRICE
( h, _# N) ?- t  tLCALL CP_DIS0 w: g, [& h' I  z* C9 H& M
NT2:CJNE A, #3, NT3
3 m+ l5 P; b+ [8 W) t. P2 `MOV PRICE,MIDWAY_PRICE" b+ p7 I2 b. m- c. ]  D3 J
SETB TR1
9 n: V& f; r. {( P+ FLCALL CP_DIS/ l. Q' w8 I) G. X
NT3:CJNE A, #4, BK_KEY_MAIN
/ V/ M1 P7 {, sMOV S44, #0
6 Y2 \, W# i+ P3 b% L. h) J3 ?LJMP KEY_MAIN
& Z" D5 O! x3 J1 p5 \BK_KEY_MAIN: LJMP WA1
& r) l2 K+ M2 ~. x# xKEY_DJ:JB S1, KY1# u) ?; ?3 {! C; a8 O
ACALL T10MSD
( ?9 J9 b0 r1 e, d9 x" V5 EJB S1, KY1
' v( T1 ^8 [" sWAIT5:JNB S1, WAIT5* s1 @! ]6 _. s2 O
INC S11, e0 t9 E* e  t. U) {% F4 D. O% n1 G  s
MOV A, S11! j# I! j# O7 g" j- U
CJNE A, #1, NEXT119 I  A& }0 X) ?) b& P
LJMP DAY_P
. Y& U1 U8 u  RNEXT11: CJNE A, #2,
- b" O) p5 b. Y$ |( T) {( ZNEXT12- g1 y# M# g- L& Q  M
LCALL NIG_P: `8 Q/ N6 ~' u4 D( M% \
NEXT12:CJNE A, #3, KY1
2 h6 K- v4 N# }7 l* {! ZLCALL MID_P
: J( B/ o. O* eMOV S11, #0/ e: X: b. O. O0 r3 b9 ?
LJMP KEY_MAIN
2 t  X" B9 v. PKY1:JB S2, KY2  P" G. d& A7 a& F+ c% l; o$ E' p* j8 Y
ACALL T10MSD
2 ~$ k( G9 V7 v$ a/ f+ \, @JB S2, KY2: v5 c/ k- J" W
WAIT6:JNB S2, WAIT62 c6 c8 s9 K3 z1 {
INC S22
5 E" K) A" P6 e) pMOV A, S22. G5 _, m2 K8 X- `& Z
CJNE A, #1, NEXT13
. b; s6 ~) r2 _8 W' nLCALL PA_DIS" i1 S2 b4 j  Q  S: _4 L8 S
LJMP KEY_DJ
" m- K! y& v5 s6 N3 lNEXT13:CJNE A, #2, NEXT14
7 Z  m4 r; E& YCLR TR0
: b, M, M5 |& i1 Q, zLCALL HMS_DIS
$ L* O8 A0 K( T1 e- r5 D. M5 YLCALL KEY_SJ5 I$ [4 ^% {+ `% N7 _, h
NEXT14:CJNE A, #3, KY2
9 w0 H( E8 V% u5 {4 u1 y. t" QMOV S22, #0
: [- ~, k  ~; d/ _# Y/ ALJMP KEY_MAIN
6 S5 m" L4 C: \KY2:AJMP KEY_DJ
- w4 I! _0 J1 m: |& l: wKEY_SJ:JB S1, KEY1  V# A  k) C5 @* h3 S
ACALL T10MSD
5 X) @. |2 N4 }8 ?9 p* wJB S1, KEY1
, o7 F* j) b4 E3 \, S! Q; x  tWAIT7:JNB S1, WAIT7
$ z* Y$ m3 ~+ s: F" y6 F4 zINC S11$ D/ I- W: }! y+ b. O- y. j
MOV A, S11# U7 `6 y( w. x9 c3 U
CJNE A, #1,NEXT21! Y9 p9 n9 M; @1 v: J8 ?$ q
LCALL HOU_T
7 p% h# _. i. a: B; {NEXT21:CJNE A, #2,NEXT22
) ~$ X- K: [3 F' b* ]* x/ FLCALL MIN_T
9 S6 B! S) G; y/ \8 ~9 n6 Y# }8 q9 gNEXT22: CJNE A, #3,KEY16 `: e4 d3 ^6 I% Y$ }
MOV S11, #0
+ t, R1 Z; O4 x$ ^LJMP KEY_MAIN
- ~9 p  L7 H1 }9 ~2 J/ vKEY1: JB S2, KEY22 o! k, N( `' ^# B
ACALL T10MSD8 ]0 M; r: C+ z* ^) ]: t
JB S2, KEY2+ ?7 X1 w: S. ]
WAIT8:JNB S2, WAIT8
7 V* ~/ \4 f" i6 @6 f2 fINC S22' y& c3 [: M* s1 o1 Z0 _
MOV A, S22
" \; A1 [0 S0 A5 O1 ?! OCJNE A, #1, NEXT23
. Q* q6 l* c5 b4 \; Z. J% Q3 tLCALL PA_DIS( f; f; M' Q* _) f+ k
LJMP KEY_DJ8 T2 o2 o0 _" `+ {( y5 E
NEXT23:CJNE A, #2, NEXT248 c4 h2 |5 p# }* l7 L# j. e0 [: O
CLR TR02 i+ M  B8 c) W# I" n2 T+ Y
LCALL HMS_DIS# f; E7 E% O" @, @0 n
NEXT24:CJNE A, #3, KEY2
8 N2 K* P& v# ^8 l1 ?0 S5 Y: L6 xMOV S22,#0
2 l# F% e" ]1 O" b4 o# ALCALL KEY_SJ
+ p. `. l6 q/ ^LJMP KEY_MAIN* [9 h& u5 e. a) k1 P/ W' b
KEY2:AJMP KEY_SJ
  c9 u/ B: f# U1 M& O7 y- A! u+ l8 dDAY_P:SETB F0 ! z0 t' f: ~; ]7 n
LCALL T100MSD! e- g& {* a3 W) ~
LCALL T100MSD: V. s% m6 L: ]7 u
MOV LEDDAY_PL, #0AH
. J( E) R% Q. X' N7 CMOV LEDDAY_PH, #0AH
- J5 O7 m. b( K7 V! N2 y7 |LCALL PA_DIS1
* H$ h9 ~" v" e7 J- lLCALL T100MSD
  R2 A" b5 D! W2 ?' l+ Z! R+ A0 l( zLCALL T100MSD2 ]+ y# b# p4 N6 O
LCALL PA_DIS/ e" e' S( C! j) l) V
LP1: JB S3, KEY11
0 b9 o7 v/ w0 f; B1 vMOV A, #10 p3 X4 N5 x0 {5 U# U
ADD A, DAY_PRICE9 ~, g# `- |" @& F9 L+ L
DA A
, B+ J  E$ }. A+ |' V- T* o  C/ jMOV DAY_PRICE,A( ~( G+ C2 _- Y. x* M" ?
MOV A, DAY_PRICE# \# R( z) F8 X$ B; A
CJNE A, #99H, KEY11
; v) n0 x, x, p( K$ E  X: m8 OMOV DAY_PRICE, #0( U1 a* Y$ [* f/ r
KEY11: JB S4, KEY12
+ v* a5 [5 p" \+ z9 m, lLCALL T10MSD6 {. z0 @6 P) G4 A
JB S4, KEY12
7 g8 [0 ?0 I+ R7 a, F" fMOV A,DAY_PRICE  d' f% I* P$ \3 G) E( x) M; @
ADD A, #99H) ^0 G* B" L3 M+ t4 p4 Q
DA A5 t- Y& P$ E( t, V% L6 N- [
MOV DAY_PRICE,A
, R$ D( l0 l* x% m, M6 g0 YCJNE A, #00H, KEY12  s: e) Q  j2 ^
MOV A, #99H
. n; C% k. C" |/ Y7 ?6 D, e  T, k% C  jKEY12: JB S1, KEY13, R5 H' r/ o0 z: Q
ACALL T10MSD, G) ]) I1 S8 O. A
JB S1, KEY13* u- t  R/ i+ x8 C6 i3 R
WAIT11: JNB S1, WAIT11
. _% v- w5 O: S* `INC S11
( F; h+ y4 ]/ T$ W! t# SMOV A, S11
: L2 B5 C2 N: M% GCJNE A, #1,0 ]# @, l; q/ ^: o
NEXT319 T9 f8 D9 @1 O, d# R2 j4 q, h9 x
LCALL DAY_P( ~. Y3 k  i/ Y: h& C# R
NEXT31:CJNE A, #2,NEXT32; K7 W: W' t! S3 Q% s( W) L2 Q
LCALL NIG_P
" }6 t5 h/ G3 K* v- D$ L2 i  }NEXT32:CJNE A, #3,NEXT33# L4 D0 T- \/ r3 s
LCALL MID_P
$ @. q+ V) Q$ I9 CNEXT33:CJNE A, #4, KEY13* `7 Y* j( W1 B: L
MOV S11, #01 o4 S7 E$ \3 q# p8 u6 \+ x
KEY13:JB S2, KEY14$ \! j  v) b7 U5 V; c- u! Z
LCALL T10MSD
9 f# z6 Q- `+ r9 NJB S2, KEY14" f; o; n& w" d. I* |# d& Q
WAIT12:JNB S2, WAIT12
) q2 i+ {1 n7 p3 [1 S  ?LJMP KEY_MAIN( r/ S1 O8 m) J$ Q, D" r
KEY14:AJMP DAY_P9 x; p- _& f, I- s2 Z& Q
NIG_P:SETB F0 ;调用定时延时标志位6 ?, q: y2 b- c6 d) m( Z" t3 w; h9 T
LCALL T100MSD
% l3 ?2 U3 f- L* U$ A+ s$ WLCALL T100MSD$ y0 W3 \! n3 @' ]- a: G
MOV LEDNIG_PL, #0AH
8 Y- w& _, s5 G. z; m2 ?MOV LEDNIG_PH, #0AH
' ^+ [! ?0 z2 n8 V0 L# J7 @LCALL PA_DIS1
1 U' z2 @5 O7 M. n2 `LCALL T100MSD
8 a2 |" \% h& G8 r0 HLCALL T100MSD) B: O& F* ]6 O
LCALL PA_DIS# O" ~9 ~1 K! D& B' \5 r
JB S3, KEY21: O" k  D8 P2 z
LCALL T10MSD! R6 Q* J. C; [* j3 M9 f/ F- `  I
JB S3, KEY21
  C: a. z1 e3 D1 `MOV A, #1
, e3 F* n& i, G* {) ^- \/ M+ z, ]ADD A, NIGHT_PRICE! o6 K5 K% |  y2 P& X! T9 J3 u
DA A
' W6 j3 u. {& a7 O# m) J- HMOV NIGHT_PRICE,A5 m' B. b. G9 C4 y, x3 h
CJNE A, #99H,KEY21; i& K4 \  x/ Q
MOV NIGHT_PRICE,#06 Z* K2 v4 @- o8 Z# S2 t4 d$ E
KEY21:JB S4, KEY22
  ?( U7 v* K# H' N8 f6 yLCALL T10MSD
# `' r& D$ j" p' |0 RJB S4, KEY22
. V2 g) k/ t3 v( z+ vMOV A, NIGHT_PRICE9 v" I! u; q4 c+ x
ADD A, #99H0 o* Z- e, z7 f8 i8 n$ u7 L& s6 G/ }
DA A
* B" ]- A+ S& ^$ H( g- P( fMOV NIGHT_PRICE,A
' q  ^( I# x& G$ A* n. X' ?CJNE A, #00H, KEY22
) W9 K" p/ G4 l) X' H. O3 kMOV NIGHT_PRICE,#99H
+ r- y9 ]+ R, F/ R2 ^7 YKEY22:JB S1, KEY23
* \* l' w  Z' V" i1 @& Y7 B% `$ CACALL T10MSD
$ }( R5 j- ]& `( ?8 `% KJB S1, KEY23  V8 q4 U5 ^8 o8 ?* i
WAIT15:JNB S1, WAIT152 u& `6 H: L; ]4 B+ `) B
INC S11+ E8 ^" f$ b/ D
MOV A, S11
+ Q9 G. s1 s* B) ^* jCJNE A, #1,
) s  {$ j+ I/ yNEXT41
. U* u" u4 a& U- XLCALL DAY_P4 C, ?7 g! k- h" u) N
NEXT41:CJNE A, #2,NEXT42
9 L" \4 @- j+ D  L9 Y3 [" QLCALL NIG_P
* q+ N  G1 V. h4 o! @1 vNEXT42:CJNE A, #3,NEXT43' Z- X4 g. i5 n# Q) b$ j
LCALL MID_P3 }' e; |0 }3 a# B- w3 e
NEXT43:CJNE A, #4, KEY23, \" ^( `) v- G% X2 ~6 P1 J
MOV S11, #0
/ i) x  O6 r: C! XLJMP KEY_DJ' p! F3 h( w% k
KEY23:JB S2, KEY24% w7 U/ o* l+ M+ `
LCALL T10MSD
& @, F) x6 w0 |! aJB S2, KEY242 ]/ R4 G2 L3 A/ j4 S& C
WAIT30:JNB S2, WAIT308 z, C4 F" _8 f' k
LJMP KEY_MAIN
  z+ q; `0 @, Z& S/ \KEY24: AJMP NIG_P. G9 z, a2 K" j" O& M
MID_P: SETB F0 ;调用定时延时标志位
3 V5 T  F; u9 B2 a. iLCALL T100MSD
4 O  l3 Z2 |0 JMOV LEDW_PL, #0AH+ V7 W* J7 p7 {6 E
MOV LEDW_PH, #0AH
# T1 U/ N7 [8 R6 S' nLCALL PA_DIS17 C6 @% m( N7 C* v. D
LCALL T100MSD
( ^) C) C/ D' _; }, eLCALL PA_DIS
, F+ P* G) e& V; A* X; V( wJB S3, KEY31) @# }( H3 W1 `( G
LCALL T10MSD
9 q9 W0 I+ A1 z) qJB S3, KEY31
  D$ ], r( E$ CMOV A, MIDWAY_PRICE
6 T+ M4 q# Q& G* f' }ADD A, #1
% Z2 f  ]: M: GDA A$ Z' D, b' g0 ~
MOV MIDWAY_PRICE,A
) H: G% _, G) {0 r& KCJNE A, #99H, KEY31
# y8 Y( {$ h1 BMOV MIDWAY_PRICE, #00H1 Y( ~7 x! Y0 q. r
CJNE A, #100, KEY31
& r& v; J' f$ f9 s5 MMOV MIDWAY_PRICE, #0
6 J* @/ k9 z. w9 j, s8 F  AKEY31: JB S4, KEY32: f& T5 G  i: m% ]
LCALL T10MSD
# \2 V, T+ b! p9 SJB S4, KEY32( X( f! C' O5 k
MOV A, MIDWAY_PRICE' D9 `2 m5 V2 }0 T) Q
ADD A, #99H) b. i2 s  ^  H" S) O9 P$ S
DA A! [. O, d/ ^/ p" V! h
MOV MIDWAY_PRICE,A! z- F9 y& V# j- |3 t+ s9 Q
CJNE A, #00H, KEY32( x) L" C  c9 F+ O
MOV NIGHT_PRICE,#99H3 Z  h* Q8 b9 M
KEY32: JB S1, KEY33
- ~& }7 ~! S) v$ E3 eACALL T10MSD
! q) N; b. h) \+ G, M$ \6 x/ kJB S1, KEY33
6 k3 V7 H# \/ d( G' _& C4 `! TWAIT18: JNB S1, WAIT18
6 c& ^* }3 x5 rINC S11
4 a" R- t/ e/ a0 M1 G: N% {( B$ _MOV A, S11' H4 s9 R) Z5 F5 O+ M! D2 p( u
CJNE A, #1,6 ?9 \# {+ Y7 k) I4 C* L' k' b
NEXT51
. k+ p; _& T' X0 \LCALL DAY_P/ Z- F; i% f8 Q2 x' c
NEXT51: CJNE A, #2,NEXT52) d* [" }) a, f5 w+ [' R2 J8 f5 S7 z
LCALL NIG_P
) J8 b" f/ D9 E( |- q7 e) G$ |NEXT52: CJNE A, #3,NEXT53) X3 G  |! V( y/ {+ Q
LCALL MID_P
3 w) R/ h# m1 t) GNEXT53: CJNE A, #4, KEY33
" R' r& A4 v, o  R0 Q: a4 K6 ]& e4 WMOV S11, #03 M( o2 i( |- P& Q9 B
LJMP KEY_DJ
8 k  T0 S/ r) _' I! f3 ]9 gKEY33: JB S2, KEY34* c2 B2 c- M# r5 O" Q$ v
LCALL T10MSD$ Y/ V$ F! }  @8 Z  ^% \
JB S2, KEY34% ]$ {# `, p! s4 h" a/ ~
WAIT31:JNB S2, WAIT315 E. l& }7 H& j0 R  X: ?8 a
LJMP KEY_MAIN
6 u6 b8 Z" i6 n# E$ PKEY34: AJMP MID_P4 D) y& \6 J2 v( F" ?
HOU_T: SETB F0 ;调用定时延时标志位
$ s3 ?/ v, V0 W- d, `% I/ R/ o( ILCALL T100MSD1 }- W5 v% s: ^0 \
LCALL T100MSD
' b' _3 D7 h3 o9 m; mMOV LEDHL, #0AH
* ~9 u/ n) `# y8 AMOV LEDHH, #0AH
- N3 O6 H% o8 s0 r! JLCALL HMS_DIS1;直接调用显示,不经过拆分程序# @/ M; ]8 T* }$ n7 b, V
LCALL T100MSD
5 F# [! e7 i  ?4 M; ]LCALL T100MSD
5 m# d7 E8 V& r0 ^MOV SEC, #0
9 M- \1 D9 n' xLCALL HMS_DIS
: a/ ]8 z, }$ z  B7 Z% m% WJB S3, KEY41
0 t, P8 E8 w2 |% g+ `MOV A, HOUR" w: P: J; X* g4 a. J  a
ADD A, #1+ V2 y: G8 k$ I7 N& ]! H
DA A+ ^, w+ |" P- Z, o" Q
MOV HOUR,A
  K0 ^6 F0 s8 v3 E! a' f2 \CJNE A, #24H, KEY41
) J- {9 u" r/ i, X0 X& aMOV HOUR, #0  i, h9 h9 x8 T9 Y9 H) [
KEY41: JB S4, KEY42* I1 x: s- Y+ y% ^$ e$ x
MOV A, HOUR
, c- T2 W8 g: x2 _ADD A, #99H
3 ]- K$ g0 \9 s/ d( f+ F) FDA A5 d1 @: ~& ^' _+ N, C- m' m
MOV HOUR,A
% v8 a% L( n; ~$ OCJNE A, #99H, KEY42
- _8 u5 A' b  LMOV HOUR, #23H
" z. O6 \6 t& s  p. a9 O2 C8 tKEY42: JB S1, KEY435 {  m/ ^+ i; M- a/ M
ACALL T10MSD' }; H( |9 Q1 |. z  b/ Z$ M* Y
JB S1, KEY43
5 ^4 _! N& `  Q  m! \1 YWAIT21: JNB S1, WAIT21) h5 W" H  s* G; w& U. T8 S
INC S11
7 J) |6 t" c$ x6 I6 NMOV A, S11
6 `1 i! J# }+ C: }4 u' @) v" wCJNE A, #1,NEXT613 r2 y- I: k: t+ f) a# e: Z  E
LJMP HOU_T
# U, y+ q4 }! B8 F8 w/ ]NEXT61: CJNE A, #2,NEXT62
+ o' G* _  o) O" HLJMP MIN_T( @  ^1 o4 N# O1 P
NEXT62: CJNE A, #3,KEY43. x  H; G* c$ n% B  {: p9 I
MOV S11, #0
6 ]/ H. a, R: l) q# j* v' V7 A' m+ \LJMP KEY_SJ$ h3 Y* a0 r' `6 E+ g
KEY43: JB S2, KEY448 s7 q. G2 F0 H+ r1 ?+ w
LCALL T10MSD6 \8 a8 m' O) V! m0 n% j& Z  w
JB S2, KEY44
5 ^( v+ k7 E$ c" u$ m( iWAIT32: JNB S2, WAIT32/ i0 e. }; D: e" A, C9 P+ i
LJMP KEY_MAIN$ b! Q; c% c- r) l* x4 ^
KEY44: AJMP HOU_T
4 o! U; ]+ s) O1 l2 ]3 T7 `MIN_T: SETB F0 ;调用定时延时标志位2 e& N  H7 x; W- U. T/ K& n
LCALL T100MSD
* H- F  I2 S* r' C5 @8 |LCALL T100MSD- ?2 N7 J$ J5 `  n* @! {) h
MOV LEDML, #0AH
1 P0 _5 c" _3 a% W1 G. Z" _" IMOV LEDMH, #0AH
9 r2 p1 j5 x; B$ ~5 ?LCALL HMS_DIS1;直接调用显示,不经过拆分程序, E3 l7 n6 g; @: a6 }
LCALL T100MSD
5 y8 V# ^  |# `" `3 wLCALL T100MSD9 n) y0 }5 E% o, T1 s$ _
MOV SEC, #05 W1 Y2 q  |% V+ N& [
LCALL HMS_DIS3 C* v# ^* t3 Q4 k, U5 {* A' n+ o# O9 M
JB S3, KEY51( L3 i2 _' @3 J3 s
MOV A, MIN
$ m; }- o1 m! Z! _: tADD A, #1" @  d' m* h; U3 j
DA A
" l6 V6 x) N: ~7 ?/ y7 JMOV MIN, A# r+ ^* x! y4 w4 P' k. A
CJNE A, #60H, KEY51
$ f. G, f' s2 XMOV MIN, #0
6 L5 Q& `: R0 a7 o7 T2 vKEY51: JB S4, KEY521 H2 w/ V! m- K
MOV A, MIN% E2 S4 ^* ^. \
ADD A, #99H9 D* T- C  R4 T& \  Q! E# Q
DA A) V' g; Q% x4 K6 O* S- m
MOV MIN, A
' b) O% v) d; U  sCJNE A, #99H, KEY52* q1 @3 S9 @2 T6 o! A3 z
MOV MIN, #59H% D5 `/ Q0 N$ d5 V# e
KEY52: JB S1, KEY534 P% ]6 p7 a$ t, @7 X' z
ACALL T10MSD
$ M3 g8 b- O2 HJB S1, KEY53& r, p9 h* M8 }2 U
WAIT24: JNB S1, WAIT24
) i( L' C# _8 `6 _1 n, d% l% SINC S11* {- v" L6 W' g% h* i
MOV A, S114 D5 Y) g. x1 R4 x
CJNE A, #1,NEXT71$ W9 I) p6 c$ @
LCALL HOU_T
1 T4 H" t0 m* @9 [' z  B- |3 _NEXT71: CJNE A, #2,NEXT72# H) R7 C4 d! x3 o- h9 _0 m" H
LCALL MIN_T
+ _& o- W/ x( d/ \" n$ YNEXT72: CJNE A, #3,KEY53, W- l& l2 x! i# M) H2 u# Y
SETB TR05 R. H8 x+ n# S/ o
MOV S11, #0
  M1 H- k8 y8 t. V- sLJMP KEY_SJ
6 E; ?3 i6 d  r3 vKEY53: JB S2, KEY54
& e0 u0 L8 o, g2 V* LLCALL T10MSD: l2 R* x& k- y4 O7 r, i+ {! U
JB S2, KEY54
/ F$ p5 O3 b% u8 j1 DWAIT33: JNB S2, WAIT33, q$ S+ H; x2 N, k0 r) _
LJMP KEY_MAIN$ d9 o0 B/ O0 g) B$ K% }
KEY54: AJMP MIN_T$ O8 o& _0 n/ Q5 Q. H* u
TOTIME: PUSH PSW
: I8 o# ?( K+ o  T3 e: C. \PUSH ACC  Y* b* R& N# z/ d) e5 A" t
MOV TH0, #3CH/ p3 i( j+ m  G! f
MOV TL0, #0B0H
6 x3 [0 M6 T9 b% hINC MS100! ]& m+ W# P8 z/ A
MOV A, MS100
- K/ [$ ]# E: v% Y0 ^5 F7 vCJNE A, #10,RETURN# n, Z  v2 [5 R7 R9 s( z7 t
MOV MS100,#01 A, V$ a( d( l: F( a( t( h& S7 A8 Z
MOV A, SEC
' s" P7 Y+ I6 g* L& nADD A, #1  W; S2 f, A# f1 {
DA A7 e' M4 _$ ]/ f
MOV SEC,A
! D( b, `  ]9 D6 ~- W& q: VCJNE A,#60H,RETURN3 }- I" `4 X; q) j$ T
MOV SEC,#0  j0 T- Q8 N# I. k6 s) y7 P
MOV A, #1H! B' p( C* Y+ t) ^
ADD A, MIN7 T* x- X0 S8 r# I. P
DA A0 x2 G. V+ g" Q. g$ }$ h" l
MOV MIN,A
+ K+ X& T4 ~6 y9 \* L; Z4 H& ?CJNE A,#60H, RETURN
) H" _2 b- o6 j, sMOV MIN,#0
1 g1 H; j0 [: i% ]8 X( M3 ]MOV A, #1H
$ X$ x% g$ g# z4 u3 D$ Y1 dADD A, HOUR
1 m% \9 V8 \2 x! p; {% `. `DA A# y" s2 N/ u4 m; ?
MOV HOUR,A
; J& \8 Q; h3 UCJNE A, #24H,RETURN
) v6 T# T' z! D2 x3 BMOV HOUR,#0
  @; U# H1 s9 ~; R  J% \# nRETURN: POP ACC
: q% S/ u  X4 ^% q9 u3 hPOP PSW
  H' z( y7 p& i2 O3 URETI
! X' m( X: B. V) s- PTO: PUSH PSW
9 d9 W' P2 h8 w: O) sPUSH ACC" P4 a/ O, T3 ~+ k* }. N4 l
MOV A,#1
$ }7 a# |0 \: E; [/ P2 `ADD A,M100- p, B* K) q) ?- f, M
MOV M100,A
* L# g8 N2 R1 b( GMOV A, M100: J0 C9 ^4 L7 v) Y1 M
CJNE A, #100,RETURN1
4 e0 o" G; {6 p( b; g, lMOV M100,#0
: a; x% q$ g& W5 Y$ D8 T9 g3 W) kINC 21H
& V% ~1 X5 s2 D1 N9 I$ h! MMOV A,21H
' ~, s8 t& U0 s/ Y& b: _CJNE A, #0AH, RETURN1 ;已经到了1公里
# {) n5 P- g8 s7 u' \: }$ Y9 BMOV 21H,#0$ k5 L) ~6 l) k; [" K% w
MOV A, #1, o: ?% d1 c" e0 ]) z3 B  u
ADD A, DISTANCE: x& z% j3 a9 Z3 S3 t6 s) F
DA A
* y  v3 l, F7 k# ~: j+ tMOV DISTANCE,A
/ ^% [( _9 e; b$ y/ n! [MOV A, PRICE
) w. j7 @; R" |0 a  Z) t  `ADD A, COUNTL
  m% J  |8 V4 ~4 lDA A
6 e5 d6 i+ i" a2 h& h7 v5 Y( E* Y7 QMOV COUNTL,A
0 G6 ~6 l7 E$ Z9 j0 P$ [CJNE A, #10H,RETURN1
! d( A0 p( h. n' N1 iMOV COUNTL,#08 m2 ^: H. f$ U9 u
MOV A, #1
# V0 C, x4 C' hADD A, COUNTH4 S+ U6 J4 Z8 x' u4 y
DA A
5 @% T$ {9 R' t- a& V1 G! VMOV COUNTH,A
) h' k7 k) j* j" TCJNE A, #99H, RETURN1
" `1 X) B( c  X; N3 M' Z2 H7 BMOV COUNTH,#0. f; j$ _- |3 s/ q! u  l8 ^
RETURN1: POP ACC
1 ]0 u8 P8 p7 M: ^POP PSW
0 y8 \5 f5 \& ?1 rRETI; [( l$ k! O! @6 I8 h
TOSTART: PUSH PSW% ]9 C  t7 ^; I) o
PUSH ACC
  W( Y8 J2 a; JMOV TH1, #3CH) ~5 d. g; N+ H3 o4 L
MOV TL1, #0B0H* K2 w' N8 Z4 o" s8 m
DJNZ 22H, RETURN2 ;1S未到返回
, N: b: V/ }. `3 z6 F) sMOV 22H, #0AH
% v* @; L8 j4 h& L6 x: ~6 t! RMOV A, #1
1 m! c: S% A) y* ^$ XADD A, 23H
+ y. z9 z1 Q' I! qDA A: `. b) n( ?. ^
MOV 23H, A
5 |* d, Z" x9 \3 OCJNE A, #60H, RETURN2( N+ s4 B; X0 ?7 S; h' l2 n* n
MOV 23H, #0' ]% H2 R: Y% ?; }" M: T
MOV A, #10 w% W8 D: b8 k# x9 B
ADD A, 24H( j* i2 I" @& e+ ^: Y
DA A; y! o/ U2 X# Q6 L
MOV 24H,A4 q" I4 {+ `# `( E, _
CJNE A, #10H, RETURN23 \* S/ \3 y* Y
MOV 24H, #0
4 I! o/ l- l" K* T! ~6 gMOV A, START_PRICE/ O5 L. ^' D* p* I
ADD A, COUNTL( {9 I# f' f& Q) m8 J+ G
DA A- {0 F3 s+ J9 M
MOV COUNTL,A5 P! T: k4 Q8 o' `7 F  }
CJNE A, #10H, RETURN2
6 H, n' S9 B( i/ P- gMOV COUNTL, #0
  K$ o) F  h% d6 b3 t; bMOV A, #1
) `! g! T7 J8 n7 J( OADD A, COUNTH
5 o6 Q( E/ b# yDA A/ K5 \  W) b4 R! `7 p8 n( I
MOV COUNTH,A; j' E9 b3 b) }6 d& b
CJNE A, #99H,RETURN27 r1 `& W. t1 K3 U
MOV COUNTH,#0( ?3 C  i  V# c' N8 \; b
RETURN2: POP ACC3 n! j7 D; Q( G$ U& E: w' r
POP PSW# v! K, [% [* _$ _" E/ L  Q8 c& A
RETI+ h7 t9 l' ]) X0 `  d
HMS_DISUSHACC
7 ^) w5 G1 z% o% Q# ^# v+ rPUSHPSW  b) f' B  t: J# V( E- P
SETBRS1& t* h; ?: b5 n: Q6 |6 n
MOV R0,#SEC ;时分秒的拆分(三个字节), b0 F/ C) @- W1 s
MOV R1,#LEDSL" q1 V. E' e  W+ w1 W
MOV R6,#03H9 h6 ?7 E7 x1 v. m) P4 v$ _
LOOP1:MOV A, @R0
. l5 P( D) b) ]MOV B, A
0 U7 ]- {+ }& S; H0 [0 q$ ^ANL A, #0FH
$ g, Q. _! S7 D. o: I% RMOV @R1,A: N" V; s  B: R2 S/ o7 B+ T
DEC R1
9 w3 Z' j- Z  l/ U1 b& E, pMOV A, B
8 s4 B3 S2 G" D- d" A# @SWAPA
1 v+ \( L% `) Z! Q% ^0 D+ j$ g# XANL A, #0FH8 F8 D6 B! r7 r2 A% \$ }+ v
MOV @R1,A
& G/ k/ A& }/ SDEC R1
# s% x$ A- {, f# \8 p. p6 LDEC R0
4 t0 x' L3 i! b6 M* n, X4 NDJNZR6,LOOP11 d  Y2 a3 M( [  L2 P
POP PSW
" U) H9 K  Z! W0 H* i; YPOP ACC
' U5 r+ x/ c" n) L" a  EHMS_DIS1: PUSH ACC
+ p) F! W+ y$ C) SPUSH PSW
$ _- v* X4 K& L( G/ _# T, z4 _MOV R7,#06H
2 m- Z) t6 Y$ S% U% W3 A5 y% XMOV R0,#LEDSL+ c4 _3 p2 k6 E' Y1 _7 }0 ~5 ~$ I
LOOP: MOVA, @R0
" y6 Y( ~% n3 Y0 i5 P7 ^" _& aMOVDPTR,#TAB
& y, [' J) `& P, J5 s8 T. s9 uMOVCA,@A+DPTR( X9 n: V. W! d" j% H4 W/ ~
MOV SBUF,A
5 E1 U, w9 n  v: c  u/ [4 z  i' b, RBK: JBCTI,NEXT
$ {  {0 a: w8 j0 tSJMPBK) r3 Y0 N, A! C1 }
NEXT: DECR0
1 h, c% \; k2 j" t* Z9 T& x+ QDJNZR7,LOOP
/ d% {  o4 e( _  w4 V0 K# OCLRRS1! d0 }+ I0 y: n5 w
POPPSW
) e& Q5 ?* z( \' z  X- GPOPACC
& }+ ?4 t; E2 k+ \4 F: P+ P; wRET" O/ C0 L- ~0 \+ H8 S, k# E9 l
CP_DISUSH ACC / R+ W0 ]3 x! d% Z1 Q7 e" _
PUSH PSW# r/ _5 M/ x3 Y8 q! m3 ^
SETB RS1: G, t5 W6 @, R- y5 k1 G
MOV R0,#COUNTH ;  B+ O# W' w! \- W; p( a. V; i
MOV R1,#LEDCOUNT2( i3 K  t# o# h; v- T
MOV A, @R0/ U5 ]& A* |0 ^* U( o8 ~
MOV B, A) a/ B) G4 f' S: W1 \% I
ANL A, #0FH
9 c+ u+ J! r+ rMOV @R1,A  u" r  ]6 r5 y  w- i1 I" V- n& j
DEC R1
, B% i7 R$ E! b  ?" v: \9 l8 m5 g' {MOV A, B7 x$ C6 p1 w9 _" O$ B( D
SWAPA
$ e! \" A7 c- ~6 HANL A, #0FH2 M: \4 Y/ R$ P( r- v1 t; `
MOV @R1,A) t7 n( k* A! n/ X6 [' m/ i
MOV LEDCOUNT1,COUNTL1 @) V$ S' W) W  C
MOV A,LEDCOUNT1 ;送总金额低位
. r: l& Z" R. E( b9 }3 zMOV DPTR,#TAB
4 q7 u4 i; @0 |( m' j9 V" D) JMOVC A, @A+DPTR
6 Z, ~* C) E4 DMOV SBUF,A0 A, @. `$ G" l, K0 _) `
JNB TI,$: G  y4 Z) S0 q& s& u
CLR TI
# y# s. K  i/ j' |/ ?MOV A,LEDCOUNT2 ;送总金额中位' g  ^- K$ F( T6 S5 G6 S& z/ k
MOV DPTR,#TAB
* u, k/ u# ?3 `6 g$ I# uMOVC A,@A+DPTR
/ r0 N4 [  n9 ?- V% v- kCPL ACC.4
! D: q0 Q2 \: {7 T4 q7 ZMOV SBUF,A% W* \1 r/ z  y& x; k
JNB TI, $, g) h% \% Q# P. o. Z' R5 S  ^7 [/ j
CLR TI
/ v& v) [3 `" _" u) vMOV A,LEDCOUNT3 ;送总金额高位
* h* U" O7 {: J, z9 zMOV DPTR,#TAB) u7 t: k5 ]+ R& J$ ]9 P/ K
MOVC A,@A+DPTR
7 z  `/ c; S& E$ H0 w, C5 qMOVSBUF,A
$ w$ p  }; k) PJNB TI,$
) K: _5 b: b0 {1 ^1 F9 zCLR TI
7 ^+ v* @( e$ X! o3 C3 v0 _CLR RS1
% P/ N  i, k" H6 K8 h- i7 K; OMOV SBUF,#0FEH ;送短线(短线的字型码是0FEH)( C8 Q8 X1 b  C. |  z
JNB TI, $
( B" h& t9 z3 M0 b) `- ACLR TI  k8 ~9 r% p( T5 Y
MOV R0,#PRICE;单价拆分(两个字节)- n+ m/ j0 d6 q1 x  y5 U' B
MOV R1,#LEDDANJIAL
, T4 |  }! b; @; uMOV R6,#03H, R: Q  M$ O$ `
MOV A, @R0
2 d1 ?0 _& k+ v6 TMOV B, A
8 C7 P7 R2 d% a6 B, }ANL A, #0FH$ C) M7 P7 q% {5 d7 |) N0 y
MOV @R1,A
/ W/ F1 }" f; a3 p( k/ jDEC R1: d5 O9 a& Q; u0 v( @3 j7 Q
MOV A, B, G9 l, t  r& [" j0 e+ v$ x8 F( Q* f& O
SWAPA
. E' {& ?( Q" X0 |  I& S, xANL A, #0FH9 j$ ]5 {- g) @; H% }
MOV @R1,A
: W5 K1 G, K3 |. H) s# WDEC R1: {1 H$ i  {' }; B3 b3 ]6 P: t+ [. N
MOV A,LEDDANJIAL ;送单价低位
! R7 o' h# X) k' d# Y* E5 UMOV DPTR,#TAB* t0 K- Q: M$ J
MOVC A,@A+DPTR8 I* \0 e8 g: a; Y9 k- t5 }7 g
MOV SBUF,A! z% p* g  T$ v& O: |6 t4 z
JNB TI, $
1 M% w- v) e6 t' zCLR TI& E6 o( q! ~  x3 W$ z
MOV A, LEDDANJIAH ;送单价高位* |8 D! D; W. \8 E6 V# d
MOV DPTR,#TAB: _. j% R% O) A! }/ m) @% o
MOVCA,@A+DPTR
7 A, B, p% _3 w5 ~CPL ACC.4
# C7 N% K. L# {# {1 V7 D2 VMOV SBUF,A
" b3 t! c/ P8 V% r# G) y' rJNB TI,$5 q5 H9 p( Y/ l$ b, Q& o
CLR TI
; c: u8 {$ V' u8 QPOP PSW
; N, \; Z( R  xPOP ACC
$ i2 b! @# q8 @1 Q( q: DRET
! Q* y4 q. w0 G! CDP_DISUSH ACC 8 t* R* T; K# c! ]- J
PUSH PSW
5 Y% n+ \# W7 R2 ^! I0 G# {SETB RS1* b! Q8 [4 V7 J' [3 {/ N
MOV R0,#PRICE ;单价的拆分(一个字节), {; ^+ [' F% {, O& r3 M
MOV R1,#LEDDANJIAL  v) P7 p; B8 i" @6 D, h, k
MOV A, @R0: \# t. ~* s1 [; U& P2 U) v4 P
MOV B, A
7 v4 ^- y. Q( b! }$ b$ fANL A, #0FH
1 X4 k% D# T7 Z+ eMOV @R1,A  `4 c/ I! F3 i& {2 F$ Z2 D
DEC R1
8 V+ F4 q2 h1 j1 d$ E& V1 wMOV A, B
5 t0 D$ f$ P6 `% {SWAPA
/ j8 @+ b8 i4 I$ u: o: yANL A, #0FH
0 ^  u/ M$ r+ D1 [& ^+ |0 p9 j9 D: mMOV @R1,A
( ], c2 n0 o4 v1 A' h9 SDEC R16 O9 M2 X! i# @( X7 W* h
MOV A,LEDDANJIAL ;送单价低位* @7 w3 ]/ y- [" c1 g/ P9 V
MOV DPTR,#TAB: b7 i9 m: i& v& h$ t8 c
MOVC A,@A+DPTR0 L. p% x6 M4 _( X+ [/ [* E0 T8 V% A
MOV SBUF,A  F$ K, {* G& n1 A
JNB TI, $
9 U- J4 s& }) o/ D3 ECLR TI
6 g+ K# h* w  G3 e% z# r( K4 TMOV A,LEDDANJIAH ;送单价高位
# @) F  }* s" b0 eMOV DPTR,#TAB
: S% j/ h4 F3 \& X! nMOVCA,@A+DPTR
5 d' x: X- y4 ^& k' |+ bCPL ACC.42 U4 o' t- _* E' P
MOV SBUF,A
) d" x5 a) ?( L1 l! }$ |( S! v" RJNB TI,$
+ I$ P6 y, _# a  n4 n) xCLR TI
- q! r* j, }# M# l- ]MOV SBUF,#0FEH ;
2 O4 {2 N; |/ R# RJNB TI, $' B- O0 E; m& D, G9 }9 M
CLR TI9 W) \, |( b7 ~  {: W5 J. T
MOV SBUF,#0FEH ;送短线
2 y0 Z' ~; R1 ~  N2 ?" E( xJNB TI,$3 l2 R1 I+ Y8 @  f7 `
CLR TI
0 Q- k( s* l6 b0 p) aMOV R0,#DISTANCE- x  r8 l4 h) z/ W
MOV R1,#LEDDISTANCEL5 D' c: @" r& ]( y
MOV A, @R0+ v9 C. F6 i+ L7 q
MOV B, A# e) K8 y  N( p7 C/ H5 j; N
ANL A, #0FH4 m8 H/ ^& Z; w; w; o, J
MOV @R1,A" X. ~& F6 ]0 j  d* O* a
DEC R1
: W  B/ z9 x; q* y- ^2 `* s% @MOV A, B
" c% J1 s" n- U; ASWAPA
0 N( x; |1 r, j# e* P/ ?ANL A, #0FH
- ]' n: N3 `, s) h* @  |MOV @R1,A
4 V1 G% m* g* p- ~" z' U. f- K8 G) F4 eDEC R19 ?; U' A3 y# r* [9 m
MOV A,LEDDISTANCEL ;送路程低位6 S4 [7 K$ ~: V8 N: E5 F5 P
MOV DPTR,#TAB/ A4 D+ L4 c( p: ?
MOVC A,@A+DPTR
! ?( g9 u- o+ X3 Q+ R3 tMOV SBUF,A' Q9 ?4 x9 {3 g5 H* ]  E7 n
JNB TI, $
4 ?8 v0 ]3 s! P. T! B+ z! @$ fCLR TI
- W" {. A. |8 E% K- y% J4 nMOV A,LEDDISTANCEH ;送路程高位
" i: y. l! ?: ]1 }+ nMOV DPTR,#TAB8 y: W3 U  f* E, V+ I  R& S
MOVC A,@A+DPTR1 O( t8 K; x1 ?) I" W0 c
MOVSBUF,A
/ x4 u: o8 R1 W& |2 J: U9 F. {JNB TI,$* l- F/ f4 f! h$ ?* A5 C) f7 |
CLR TI) A5 L! n! v1 S# J
CLR RS1
0 k$ x8 l3 c- }8 |POP PSW
  g4 `% k$ g6 [" K: N) qPOP ACC
( G3 F% A4 B4 \( h  Q! gRET
* b; N( h/ I1 r& x: g* APA_DIS:PUSH ACC + Y8 z( E6 i& U5 `: N: w, k
PUSH PSW) M1 a7 \. }1 x7 I) D
SETB RS1; s7 ?/ ~% L' l! p
MOV R0,#DAY_PRICE ;价格调整拆分(三个字节)- l: \2 t0 P- F5 a( M
MOV R1,#LEDDAY_PL
0 l" m7 Y! c- e( U/ f7 bMOV R6,#03H
" h% s/ a& _5 aLOOP2:MOV A, @R0
8 A4 T2 V' F$ b; `8 h" _MOV B, A) e5 H5 U) @+ a
ANL A, #0FH
4 k) O. Y! j! ?. `9 F8 r: uMOV @R1,A- \7 R( y( C0 W" \2 k; `, a% `6 K
DEC R1
: t8 f& r" _8 d" }5 ~MOV A, B
2 ~) |+ _# J1 L5 n' ?5 bSWAPA
3 w/ S: e% [5 q" V# X1 ?1 {3 I7 QANL A, #0FH
8 [! i' {; G- v0 A3 o7 NMOV @R1,A
3 H( h9 x" e/ [DEC R1
6 j- [) ]) D6 }: H# lDEC R0
" r3 Y$ g4 o" wDJNZR6,LOOP25 y0 W0 y+ M+ D) M0 m- Q  P0 r
POP PSW  s- T+ _- Z; f
POP ACC1 U! ?; O- e$ t, S( A
PA_DIS1:PUSH ACC# i$ `' Z' M* n' Y; r! Y
PUSH PSW  X7 X1 t0 z5 M+ r8 b# T# ?
MOV A,LEDDAY_PL ;白天单价2 \- M8 N- {, P( C; i9 d9 a
MOV DPTR,#TAB% p6 e" H) K+ L: D" a
MOVC A,@A+DPTR. S0 M$ K0 ?% o; u* m  S
MOV SBUF,A
- `" G+ @' F# @5 f% `3 `2 x- rJNB TI, $
3 R! B( u6 Q/ ]) H% P( w+ ~- ]CLR TI' b% n8 ~# @7 |" m! s' U9 P; }
MOV A, LEDDAY_PH5 s$ Q! y; w! Y9 S" `* S; c1 u' o
MOV DPTR,#TAB! P0 X8 k) T9 Q9 B& ^
MOVCA,@A+DPTR
8 F' D3 P( D' ^- @0 t/ ICPL ACC.4
, y+ X, W1 l  W: L7 ^- E; B3 XMOV SBUF,A
/ u% ?  ^: M% X! A' c; v1 s# X& |" [JNB TI,$& G  B  x! Z0 o4 y2 p& Y
CLR TI9 |5 _& |4 c" t) T! y2 `# |' _
MOV A,LEDNIG_PL ;晚上单价; |- A2 \' R3 n& k% O6 m
MOV DPTR,#TAB
) N  p: x/ g" C4 Z5 [MOVCA,@A+DPTR/ Z7 R3 D! p  [; [
MOV SBUF,A/ a4 ?4 A9 x* W- t+ N. c
JNB TI, $0 G0 k5 s. e) N/ S) |
CLR TI
& t- a2 o6 }0 P" SMOV A,LEDNIG_PH
4 `' v% h# d+ r& g' T: k" m4 l# ?MOV DPTR,#TAB
+ ]6 Y! H9 t* g* }% P  nMOVC A, @A+DPTR
0 \/ [* p# ]+ WCPL ACC.4
: s( b9 ?1 E. B! L! d5 zMOV SBUF,A" Y6 r8 {+ F- @- m! h
JNB TI,$
- P$ [% B6 B4 ~& V4 ]" S( q2 r; J# S3 |CLR TI
- v4 D; Z( Q: |; i7 q' j- hMOV A,LEDW_PL ;中途等待单价6 `. n( L' o" b) [3 S
MOV DPTR,#TAB
8 U. V0 t. C4 ?" I2 ?9 T) CMOVC A,@A+DPTR! w) W3 v5 A$ t9 \& g1 Y# e6 l
MOV SBUF,A
% j; c0 O3 Q  o( x" q) c  dJNB TI, $4 U- {0 ?4 p; }) ^' T- B% l
CLR TI" Y8 L* Z+ }- s" M# p1 k7 ~
MOV A,LEDW_PH3 C  n' t6 F5 X" z; \3 n, h' r
MOV DPTR,#TAB
! F, h8 l& P6 O1 Y8 A# qMOVC A,@A+DPTR; `# u$ c. _5 F9 V9 ?
CPL ACC.4, ~9 O) y. _/ @5 B% {
MOVSBUF,A
* x6 P# _, \2 r! OJNB TI,$
$ p5 z! w- f3 }) f0 ^& G8 oCLR TI# [5 W' `3 p$ n* C; A! x- r% r
CLR RS1
- r* I) i, S& O) B6 r5 Z6 x! _POP PSW
  @( F  Q; f* E4 y+ OPOP ACC3 [  R3 O2 ]% m( A7 O
RET# j. w/ r7 `4 V% g/ l! y
TABB 11H,0D7H,32H,92H,0D4H,98H,18H,0D1H,10H,90H,0FFH; D) e% V4 n" o# g5 o
T10MSD: SETBRS0; 10毫秒延时程序9 g8 g; c) s9 h' g3 \- `
MOVR4,#121 x5 Q  x" x0 y7 _3 a: _4 j0 v! x
TM:MOVR3,#128
" E  W2 q% c) D/ {TM6JNZR3,TM6* E, w* e( `2 h3 u+ W
DJNZR4,TM
# S* t. {% r- a  Y% F9 T+ MCLRRS0
# ?9 L+ A8 X- R) W, ^0 ^' KRET2 b: ?' y1 X8 t. G( ]) K3 f' \
T100MSD: MOV R3, #200$ r. {2 n# H  s9 |, l" M
D11: MOV R4, #125
1 d$ p% i) y, f7 E% i( ]D12: DJNZ R4, D124 X+ W( F) g( M" E" X4 _
DJNZ R3, D11$ z) Q) n, L/ c" G+ P/ \% L0 u& ?, t
RET( q4 ]) o" `3 k; K& _6 d1 k
END# l5 q9 I4 E1 }1 f/ e  a9 k0 y

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-4 21:51 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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