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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
计价表使用说明- E. @% w" D( }$ n0 Y3 x8 U
(1)S1按键的功能2 M1 I/ T8 C9 s
在出租车不走的时候,按下S1,可以实现数据的分屏显示;车在行走的时候只有总金额和单价显示屏在显示,当到达目的地的时候,客户要求查看总的里程的时候,就可以按下S1 切换到里程和单价显示屏,供客户查询。
3 g# h' f/ W* l5 d* o7 F+ {(2)S2按键的功能, F- _; k2 B6 ?4 H
     在按下S1按键之后,若接着按下S2键则进行单价调整(默认为调整白天单价),当接着按下S1时,则进行晚上单价调,再次按下S1可进行中途等待单价调整。当单价调整结束后,可以通过过按下S2按键进行时间调整,默认为调整时,接着按下S1可进行调整分,分调整后再接下S1可进行秒调整。当时调整完成后,若接着按下S2则又可进行单价调整。
2 D* {# B; |5 J- F8 S9 R. o. [(3)S3按键的功能
/ ]3 i) I9 ^8 [+ H     在显示金额及单价时,若按下S3键则显示路程和单价,再次按下S3,可返回显示金额及单价。
  g  \3 X7 u# |" b# B3 I* w(4)S4按键的功能
" ^7 x! Y, W2 n在按下S1按键之后,若接着按下S4按键,则进行设定默认晚上单价,并启动计价器,若没有按下S4则可设定默认单价(白天),并启动计价器。当设定默认晚上单价结束后,再次接下S4按键,则可设定默认中途等待单价,并启动计价器。当设定默认中途等待单价后,若还按一次S4,则返回系统时间的显示。+ f/ x; @. L/ z# \9 C
* E% O' s1 `, p# ]' u! I

* d" U" A1 D4 x# X5 |, N+ U7 d: U$ ]' C( r) Z+ C
数据的分屏的显示是通过按键S1 来实现切换的,如图7 所示。/ M  R; d5 x" p7 w5 y
在出租车不走的时候,按下S1,可以实现数据的分屏显示;车在行走的时候只有总金额和单价显示屏在显示,当到达目的地的时候,客户要求查看总的里程的时候,就可以按下S1 切换到里程和单价显示屏,供客户查询。显示电路的电路原理图如图8所示。
- `5 P; }9 f0 e! {( O
; h2 E; L, [7 r7 H# zDAY_PRICEEQU 6FH% T& t- r2 P$ @1 y* s; q. t
NIGHT_PRICEEQU 6EH2 Y$ N5 J0 }  Y' f/ i$ n
MIDWAY_PRICEEQU 6DH# l5 j: W  K/ G, u" B- K+ b
START_PRICEEQU 6CH
- b( G% U8 q: r0 eCOUNTL EQU 6BH$ M. }' t# E' M3 c
COUNTH EQU 6AH* C7 C, ~3 Q% I6 p5 x) p
M100 EQU 69H ; 外部中断次数
8 d: E7 ?' ~  @DISTANCE EQU 68H ; 行车距离
, ~( V' X' `; K( ?8 Q5 IMS100 EQU 67H0 \7 ?* T) A4 i0 M
SEC EQU 66H
1 R( v1 F+ n% K+ D* iMIN EQU 65H+ W9 L/ I: j( M9 i. o: }6 }# F" ]
HOUR EQU 64H
; [" V2 B  c! J- S: O2 }: tLEDSL EQU 63H ; 时分钞显示缓冲区: D% y1 Y3 [2 l! ?
LEDSH EQU 62H
& j3 W. A' G. M9 ]2 r, E, |LEDML EQU 61H
5 n) q  X5 w$ S9 j8 NLEDMH EQU 60H
3 n! M  w; {# L# W; V1 p$ d0 q4 e* \; ELEDHL EQU 5FH7 H/ t  d7 F; D4 K( z; C) z
LEDHH EQU 5EH" U. ~8 y9 _# k& [* u
LEDDANJIAL EQU 5DH ; 总额,单价显示缓冲区
6 U2 Z) k$ E! ELEDDANJIAH EQU 5CH1 ]3 l! r+ x$ j( Z$ ~- o$ w7 S
LINE_ EQU 5BH
: P, @  V8 E' u. j( d4 LLEDCOUNT1 EQU 5AH! h; k( ~, M" ~7 x' v
LEDCOUNT2 EQU 59H* r; J5 t  c1 _! M0 `  ?6 C
LEDCOUNT3 EQU 58H
4 w- K; P% ^' h" |# C! _! t6 w4 KLEDDANJIA2L EQU 57H ; 路程,单价显示缓冲区1 ^/ x8 R: F5 S5 ]3 M. y% V
LEDDANJIA2H EQU 56H  E- K4 M" l6 C* T) l3 H* r4 u
LINE__ EQU 55H" T* n) P- _3 d- \6 O$ }4 ^2 z5 e
LINE___ EQU 54H8 p1 ~/ G7 _9 _6 h; Y) u+ g# v
LEDDISTANCEL EQU 53H
) f$ W( {9 b3 ULEDDISTANCEH EQU 52H* a. R, z+ O& F7 U! B3 F7 f
LEDDAY_PL EQU 51H ; 中途,晚上,白天显示缓冲区( R8 M3 x! g6 S1 o  z/ l
LEDDAY_PH EQU 50H# U/ M4 _% I8 U$ N% d
LEDNIG_PL EQU 4FH* l3 C% u, e' O- \4 U
LEDNIG_PH EQU 4EH
% J& X. z/ a$ E7 Q; {" gLEDW_PL EQU 4DH
4 e2 |9 U% U: F( w+ F) N0 I: uLEDW_PH EQU 4CH; {1 t9 Q+ Z  d2 f. h0 G
S1 BIT P1.0
. \0 V  a; i$ z5 SS2 BIT P1.1
& l( u0 t3 B/ K# iS3 BIT P1.2, h+ @/ L  K4 ?( M1 J
S4 BIT P1.3% m1 ~* j" }: b/ W
S11 EQU 4BH0 \4 ~" _, g8 M' {2 l: N( B! P, `$ H
S22 EQU 4AH7 X) j5 K6 W! J0 ~" o3 R
S33 EQU 49H1 A& C. P; a/ j! e2 B  e. s3 W
S44 EQU 48H
1 j: g% s* [1 \% M" G6 }3 h% z4 cM1 EQU 47H' s( D+ ~& f6 ^5 g2 c
H1 EQU 46H7 W) [' C  b. D2 O$ w% s, `
M2 EQU 45H
) X! B, X% y: mH2 EQU 44H
6 S% n+ B8 A3 K& uPRICE EQU 43H
/ w" R, j: i9 h6 m" A$ t+ @
% T; F. ~+ d+ v) v5 @& v: x: cORG 0000H
+ K7 l7 W. O0 _+ Z$ N* t+ _AJMPMAIN
5 X. E" Y- R2 m6 G1 B3 W4 nORG 0003H
6 ~) |3 Y2 u* C: c2 o: fAJMPTO) D5 a, h6 R  {' O: A
ORG 000BH
  k! E' B6 m) U( R. IAJMPTOTIME) [* P# u$ A! @# ^
ORG 001BH
. x# p5 x1 i/ K! R2 e: AAJMPTOSTART0 k4 x; u9 l8 G3 ?* p. @1 O, Q
ORG 0030H+ L" K0 b, T. d4 c3 N
MAIN:  MOV SP,#70H
/ @! ^0 U. \& f4 f7 E, L9 K2 C. eMOV TMOD, #11H; h6 D7 Q" X" q* ?
MOV TH0, #3CH( Z$ R! D& [, ^! ~
MOV TL0, #0B0H$ o8 b: K7 K# d/ h0 y( V; x
MOV TH1, #3CH- J1 R0 A! g( Z* C* i! m! m
MOV TL1, #0B0H
5 b* ~( _+ f( t/ mMOV 22H, #0AH
7 h6 j" P% ?9 ^! T: S9 s  L9 W% SSETB EA
& _. i1 \# @! GSETB TR08 A$ X: Z, P" p  {
SETB EX0, M9 u% f$ {0 V0 c5 Y1 ]2 [8 }. o
SETB IT01 @  |" b5 n0 q0 G( L% a+ C
SETB ET0' L2 w4 ^- d) k. v4 r5 `" Y
SETB ET1
% @$ R+ P; Q, M8 D; E+ U4 cMOV R7,#34
( y1 M. V, d0 p8 NMOV R0,#69H" b2 [2 q4 d$ {% e5 t% x% B* l: U: C
LOOPL:MOV @R0,#08 Z; k, W( h7 I& n9 p+ V2 v' ?+ Q0 U
DEC R06 A, d2 j/ s. T
DJNZR7,LOOPL7 a/ `6 p' h  S( I0 Y  Z) u
MOV COUNTL, #00H ; 起步价$ @0 e% D0 p9 [3 Y) [' A  O0 I; |
MOV COUNTH, #05H; f8 k; d. [- i4 m( R" [
MOV DAY_PRICE,#25H ; 白天价格初始化
/ k* `! A, n! i/ hMOV NIGHT_PRICE,#30H ; 晚上价格初始化
5 r1 \: G2 P! h- iMOV MIDWAY_PRICE,#10H ; 中途等待初始化
6 d! R# u( l& b, |7 zMOV START_PRICE, #50H ; 起步价初始化
% |' H5 `6 D6 [7 f( N9 G; a1 JMOV S11, #0
. u  w) r7 L8 N* M9 XMOV S22, #0
5 @0 ?! l- {/ n4 f7 sMOV S33, #0
/ I9 l( P: M/ \0 Y6 n; QMOV S44, #00 n& x4 J' I+ Z$ Q: P  V3 D
MOV DISTANCE, #02H/ W; z6 t+ M9 A( s! q# A! M7 [
MOV HOUR, #12H
/ E9 c# O. E  ~- ~/ \KEY_MAIN: SETB TR0, N6 |3 E; ~- v0 V; Y
ACALL HMS_DIS1 \: M6 Y, P2 o+ q: |4 H
ACALL T100MSD
# h7 c) E2 |1 w, @ACALL T100MSD6 q% d+ \( b' s6 r" U
ACALL T100MSD. t7 _, O! o3 w- c
JB S1, KEY_MAIN; A4 u1 c: U* }4 b" ^% r% u
ACALL T10MSD
/ [' o- l$ n9 F% P* b8 n6 yJB S1, KEY_MAIN
( F* J3 [8 O7 }JNB S1,$
2 c6 t$ q+ o: O! t" CSJMP WAI1
9 I0 Q! D$ i$ Q& V* ?1 f' G& n% H$ q9 z% ~WA1:JB S1, K1! d* `5 D$ ~! l/ G/ ?/ D
ACALL T10MSD
! y+ Q0 b1 Z+ h# R# o1 ZJB S1, K14 W5 o) _1 r2 G# N4 o+ ?
WAIT1:JNB S1, WAIT1* j  I/ ]0 C9 s- X0 O! @* L- V; w; r
MOV R0, #LEDDANJIAL7 B" ^$ X8 y4 |# |( n! H7 ]* P2 V9 a
MOV R2, #6
1 y! c( v3 F$ f0 X! P$ d/ t4 dCLR A- I" y7 h# {" _7 p7 f
MOV COUNTL,A- `1 R5 f. i7 ?, T% O' r5 g
MOV COUNTH,A/ Q; J' H/ l# H6 q. S  v
MOV M100, A8 `1 X9 g" a, j' p
MOV DISTANCE,A& Z; I# z% I+ x2 I/ @  g+ ~* |1 }( E+ F
BK1: MOV @R0, A7 B4 B% [4 b, X: {2 c% U% |
DEC R0
" Y0 }8 Q2 e$ Z5 qDJNZ R2, BK1
7 n/ O/ @% a0 ]2 bMOV PRICE,DAY_PRICE; 起动初始化! B2 x9 e- v! k$ S
MOV COUNTL, #00H; 起步价
- n2 |1 Y: Z; t  XMOV COUNTH, #05H, t# K1 O! K; {1 d
LCALL CP_DIS; 总金额和单价显示
5 d1 ~; z7 G/ Z2 v* F" v: n! {K1: JB S2, K2
; i" W+ v. x, D9 R4 O4 U  D2 KACALL T10MSD# M' q, @+ [% k* ~
JB S2, K29 O+ U7 \2 ^( p" u- e: d
WAIT2: JNB S2, WAIT2
0 c% ^# _! j- w4 c+ F5 oINC S229 A9 R) m. f3 q+ p3 ~
MOV A, S22
) w; ^2 [, {! s# {3 E0 q* kCJNE A, #1, NEXT1) q! Q4 Y2 x/ m  ?
LCALL PA_DIS
' N6 p! s$ E2 mLJMP KEY_DJ
0 f! r/ W9 G  f7 Q2 ^; yNEXT1:CJNE A, #2, NEXT28 J$ Q" H' q, G8 r1 X6 U
CLR TR0& v( `$ s0 Y2 C* b
LCALL HMS_DIS
8 E* w" x# A+ b' }) LLJMP KEY_SJ  N! {; c5 E# Q# z2 V
NEXT2:CJNE A, #3, K2% B- X5 C! ]' G/ N' p% M
MOV S22, #0: c# \$ k8 s+ J5 Q8 x- q
K2: JB S3, K3: ~! ?1 t, x- c8 s0 L, @
ACALL T10MSD
/ z( U  a  v* D& k% TJB S3, K3
6 Q4 d  g  ^4 K# kWAIT3:JNB S3, WAIT31 p  ?2 U+ H: H$ u; e  ?- x
INC S33
/ d. f0 C, b8 A+ ^% `$ fMOV A, S33
7 A( t" A0 G% U. c$ w; DCJNE A, #1, NXT1
& B$ J' p3 ?0 S; `* F9 eLCALL DP_DIS
3 X6 E$ ?- Q, A, ]* k" zNXT1: CJNE A, #2, NXT2
% Y  ]0 D  P8 U( }2 w1 ACLR C
4 R7 ?) g1 {  n3 e. F; s2 wMOV A, M2) ^1 h) B+ E7 N6 d! x
SUBB A, M1! f0 f: y1 d, \* W' |
MOV M1, A
$ m5 H# U' U8 E- k) }* VMOV A, H28 ~3 @/ Y6 Z4 O, Q5 Z" M; ?
SUBB A, H1# u8 J% r" A8 }. u% v# U
MOV H1, A9 \+ S. m. B$ S$ p4 i# F
NXT2: CJNE A, #3, K39 Z* [9 r( D3 V) B  o0 b0 _
MOV S33, #0+ u5 T: k3 ]) B1 {; e; @# L
LCALL CP_DIS3 V2 |2 d- Q: b
K3: JB S4, BK_KEY_MAIN' e8 H% J& u! ~7 n
ACALL T10MSD
* C9 s) O) a3 T6 d0 I% ^  b" iJB S4, BK_KEY_MAIN& [! A# v; X- `4 q+ c
WAIT4:JNB S4, WAIT40 E% t2 V: S, E1 z
INC S44( t) j% A( x$ b1 E. l
MOV A, S44
# z3 Q% [: l  S  N9 _  }CJNE A, #1, NT1
0 u% q6 S, @' JMOV PRICE,DAY_PRICE
* u, g% K# M' ~% x" L( _LCALL CP_DIS  n$ S/ @" B2 _* R3 ]
NT1:CJNE A, #2, NT2+ |$ W- e; {( p: z
MOV PRICE,NIGHT_PRICE$ h1 `3 u/ a$ x* M; @1 q0 |& P
LCALL CP_DIS
9 I, Q! T$ }; K' t* NNT2:CJNE A, #3, NT3
+ L9 N: Q6 J  F3 W# p9 tMOV PRICE,MIDWAY_PRICE
  ?+ d9 j1 l* |- M5 @1 aSETB TR1' _0 f  K9 b' C* j7 r
LCALL CP_DIS! H1 z8 m* N& B% B/ U3 k; s$ @  _/ \
NT3:CJNE A, #4, BK_KEY_MAIN
5 N7 }3 A$ \9 Y, R6 MMOV S44, #0
3 A, N+ l$ j) z! }6 _5 c4 L! MLJMP KEY_MAIN
( ]$ k# H% m, g% Z$ BBK_KEY_MAIN: LJMP WA1
5 G0 M$ L% o2 ?8 ^) @KEY_DJ:JB S1, KY18 j0 A2 r$ J+ A) p4 ^
ACALL T10MSD' A. r! O0 p$ y8 ]% `
JB S1, KY1% k& e' E! a. J% B) }
WAIT5:JNB S1, WAIT5
4 B! l& [8 S/ {" LINC S11; w/ j6 e0 }: X8 Q. I# ^; _
MOV A, S11* s8 }, n( G* S* y; E3 G* Y' k
CJNE A, #1, NEXT11
* D* N9 d" D* n1 p, X9 \LJMP DAY_P3 d/ }! t3 {0 D" V2 A- @
NEXT11: CJNE A, #2,' J/ S8 U( O! ^  j4 w5 u2 x
NEXT12
' \5 I8 e% t/ e. E0 g- |1 {4 y7 cLCALL NIG_P1 K  [6 X6 ~  I" U
NEXT12:CJNE A, #3, KY17 Y, L) ^5 s3 j0 n0 n' F5 a7 d% t6 f
LCALL MID_P7 R8 a8 G" F( U9 m6 }% q2 F
MOV S11, #02 o& b4 L" u+ J3 q
LJMP KEY_MAIN  L" J+ R% X& a. v  G6 e. J
KY1:JB S2, KY2
  c% p2 P9 p7 a& X  |6 bACALL T10MSD; ~8 n" A* h6 D; P  d( Q+ ?8 `5 W
JB S2, KY2
# @1 T. ?- e: SWAIT6:JNB S2, WAIT6
1 ]4 y, }8 m: v" e7 e! M8 i6 EINC S22+ H( G2 d' L: X5 ~
MOV A, S22
9 j" ?! d- G  m: V8 T5 }CJNE A, #1, NEXT13' K! q* {/ {. S/ g5 t5 v6 k
LCALL PA_DIS' ~) o4 \$ h- ~' _1 u
LJMP KEY_DJ5 C3 W1 D4 c; t7 A# J! \# G2 ?
NEXT13:CJNE A, #2, NEXT14
, Q. B( v# ^8 ]" ~+ e! {0 PCLR TR0% \4 V0 R6 M( p
LCALL HMS_DIS
# ~+ P! E1 g  D! H% NLCALL KEY_SJ
, @. s7 O( S7 ^' VNEXT14:CJNE A, #3, KY22 W& W+ z/ h# [# e
MOV S22, #0$ e$ |0 ]8 \+ B
LJMP KEY_MAIN
4 l. H4 `' i) T+ n" y, i+ j" ~KY2:AJMP KEY_DJ
" @. w- C8 |+ f$ |9 s+ qKEY_SJ:JB S1, KEY1: q* c# [9 A- X2 Y
ACALL T10MSD
  ~: \( V5 v- K: @* h5 R+ j. SJB S1, KEY17 U9 i/ j9 T% l3 ~% g% s' W6 g
WAIT7:JNB S1, WAIT72 m6 G  M" E( L" e
INC S11, T0 L" X9 U* p. I# \
MOV A, S118 p3 ?5 D; ^$ m; j
CJNE A, #1,NEXT212 Y: _2 w/ e, d% l2 u
LCALL HOU_T" z. _8 \. C6 P
NEXT21:CJNE A, #2,NEXT22
0 r5 i" u: ]3 Z) w. a) WLCALL MIN_T4 {. `5 g( Z" I0 _9 y) I
NEXT22: CJNE A, #3,KEY1- n% H2 z3 ]2 c' {
MOV S11, #06 I4 o8 K3 p* n( n. `
LJMP KEY_MAIN  f0 P2 [, ?( T7 M
KEY1: JB S2, KEY2
& o4 M5 M5 m( |2 h5 S: IACALL T10MSD- b3 I- `1 f% f) O; _( {
JB S2, KEY26 e. B* ^2 o3 x5 F) T. A; M
WAIT8:JNB S2, WAIT8& k+ m* K  z% o2 ~7 e  m
INC S22
! o$ F' K) @) k2 ]MOV A, S22
% G2 x3 F) k; _9 L( Q, CCJNE A, #1, NEXT23
' t" s9 S: C! a# ~, g: |* s: {: b. pLCALL PA_DIS1 b  g) g2 @1 I- N2 r7 ?9 n# j
LJMP KEY_DJ
( V9 N+ V' t3 ~3 S+ SNEXT23:CJNE A, #2, NEXT246 b  E; @# Y/ ?4 {  f0 }
CLR TR0
+ R2 }; w1 a/ n- z! eLCALL HMS_DIS
; |. \8 V  L3 j+ J: W8 }NEXT24:CJNE A, #3, KEY26 ^8 U% T7 Y4 J4 d
MOV S22,#0
" P& o& @/ ?1 T( yLCALL KEY_SJ
9 V3 A+ a4 |: @$ X; M' _7 yLJMP KEY_MAIN2 d. Z% I* z2 L, }. L8 M$ u  u
KEY2:AJMP KEY_SJ
$ S% d! B5 s- o  D5 m- @1 K: q# x0 DDAY_P:SETB F0   L0 B3 B& d5 i  R( ]
LCALL T100MSD
3 L# v, {+ m+ d& s) U) W$ h; [LCALL T100MSD
# |* f$ O5 f. Z/ W: E9 fMOV LEDDAY_PL, #0AH
$ W0 Q/ J. W  q2 M( M1 ~+ oMOV LEDDAY_PH, #0AH. q& m. e0 G, m9 h5 X  E
LCALL PA_DIS1# ]; Z: o# p5 o
LCALL T100MSD
( O$ z; {4 W, o9 ^: \LCALL T100MSD
, m7 e! b! |, I! Y& R& e- @LCALL PA_DIS  z5 F/ W0 o7 x4 \! N
LP1: JB S3, KEY114 O& r/ L' T( ?
MOV A, #1& l: F9 o5 I8 I. l, ^9 }5 w3 e
ADD A, DAY_PRICE# E# ?' e+ J$ q6 x1 o) X
DA A
0 g: e  G! C( F9 [! g$ A9 MMOV DAY_PRICE,A5 T7 s" u6 ~, i7 L
MOV A, DAY_PRICE
+ j  ]1 U9 ?6 Q+ p# tCJNE A, #99H, KEY11
6 ~* h9 r& c5 D' nMOV DAY_PRICE, #0
& l( e4 w% ^- u6 g. T, K. vKEY11: JB S4, KEY12  N# {. O* Y2 i* q2 ]
LCALL T10MSD
) x# \/ h8 K5 w3 oJB S4, KEY12+ X7 ?( `# u5 Q7 x
MOV A,DAY_PRICE
1 f2 J. ]. f1 C' J! J8 Y- h0 R( JADD A, #99H
. W  C% _2 P- P0 HDA A( k3 [/ Z/ h, i8 S5 l
MOV DAY_PRICE,A# P6 R  C" {/ }! @5 _. T
CJNE A, #00H, KEY12
0 V# t! G) u! t* W+ wMOV A, #99H, f7 E# O. V+ S' C( G
KEY12: JB S1, KEY133 b& i3 X, W$ T+ e8 m3 s
ACALL T10MSD
% @. p, M# ~4 r* _: F9 f$ ]" t; ~JB S1, KEY13# e5 q# W+ W' m3 h8 n
WAIT11: JNB S1, WAIT11
! K; [" ^# c7 Q5 I6 X2 a5 B' |# QINC S11& S% ^; h; D; J) E" s% O1 h) n
MOV A, S117 n* k" N! n7 J
CJNE A, #1,3 ]1 o! E2 w% \, k9 d* }
NEXT310 G: r9 I, e* U. v9 _
LCALL DAY_P0 y  ^9 c8 P4 F7 G, Y& h2 ^) T: U- l
NEXT31:CJNE A, #2,NEXT32
9 {* j' f7 A1 ]LCALL NIG_P
4 _! G. B+ D  F, N1 H9 c! JNEXT32:CJNE A, #3,NEXT33
2 P3 F; M$ D; O6 H% d4 b2 N0 J$ \LCALL MID_P
1 \  V' ]) n- @NEXT33:CJNE A, #4, KEY13( a0 I. F5 Z& @: p0 d
MOV S11, #0% X  s* b+ M4 S! ^( r  F+ C4 F: v
KEY13:JB S2, KEY14
" z7 }3 n7 Y1 f3 ~6 ~" DLCALL T10MSD9 N' h+ }. C" a( J
JB S2, KEY144 e' F& p* [- d7 b4 i9 }! u, u: I6 W
WAIT12:JNB S2, WAIT12
0 `$ H; [/ h% cLJMP KEY_MAIN
% X+ {- c$ h+ Q, ~& {# SKEY14:AJMP DAY_P; P9 `5 q, n  t) K' Z9 t
NIG_P:SETB F0 ;调用定时延时标志位- ^% s. y4 x$ u, a
LCALL T100MSD
3 o' F6 m5 ^6 ~. W) F! RLCALL T100MSD6 a' ^' ?! C7 H5 q6 ~$ {) s8 A
MOV LEDNIG_PL, #0AH2 L4 u+ N* K/ a3 }3 E/ d. b
MOV LEDNIG_PH, #0AH3 b" z1 z6 @' u: g" L
LCALL PA_DIS1
$ x3 N% ~  j* v% J+ \6 VLCALL T100MSD
) ~" o! n: w5 Q: wLCALL T100MSD: h8 [1 z2 ~- {' Q0 O( R6 Q5 c' i; T
LCALL PA_DIS, O: y$ J! e, P% `* M6 k2 Z
JB S3, KEY21
/ q1 Z; E5 k' n" A: U. }1 nLCALL T10MSD& [: R, W! i$ d" O
JB S3, KEY21
& {9 O0 b: m2 M5 m7 g2 I6 HMOV A, #1
' F& l, `$ P" G, H+ Q) BADD A, NIGHT_PRICE2 `6 q1 V. w! q5 e
DA A
: X* V, w2 o9 i& C" VMOV NIGHT_PRICE,A/ ?  N; }9 T2 h
CJNE A, #99H,KEY21/ |0 m: b4 a) R
MOV NIGHT_PRICE,#0
: R) y- p+ c* hKEY21:JB S4, KEY22
) b4 b0 z5 M; l' ~" n8 z, F/ rLCALL T10MSD6 m) }& U$ H2 K3 y) x2 e4 M$ h
JB S4, KEY22% j9 z* ]& s/ G. v; G
MOV A, NIGHT_PRICE  F6 y( D4 h1 d6 l1 _% |
ADD A, #99H9 H( @  n7 V8 `- s9 Z
DA A  W. P+ i% _. }7 i* q+ a
MOV NIGHT_PRICE,A
9 q! w# V4 v4 m" @/ TCJNE A, #00H, KEY22
1 M; n# E- b7 NMOV NIGHT_PRICE,#99H
! V% U, v/ p+ x/ g% `KEY22:JB S1, KEY239 A; Y3 a. E& I
ACALL T10MSD
0 |! o; |3 G7 y9 U) W# A1 I5 H3 {JB S1, KEY23+ t  w' v  {' B1 u$ X: i
WAIT15:JNB S1, WAIT15* f6 E9 c! D2 U& u/ G0 B
INC S116 E5 y; F7 ]' J" i  H# E
MOV A, S11
2 u" [8 B% _8 C/ A  \$ nCJNE A, #1,
4 y$ \- _% I- U7 Q( ONEXT41: {5 A& o" a% X. G3 t- d  ~3 ~
LCALL DAY_P( d, M0 Z4 |, G
NEXT41:CJNE A, #2,NEXT42  T  T/ k. ?" P% |* @& h1 C1 Z
LCALL NIG_P- a! w) z9 P: N4 A/ Y& U! L$ ~- ]% C+ T. T
NEXT42:CJNE A, #3,NEXT43
$ F' C  Q' X. R* v& [/ WLCALL MID_P0 f) B# J5 {% q. i+ `
NEXT43:CJNE A, #4, KEY23& T1 Y' ~5 ~% J# ~- j+ j
MOV S11, #0! L5 p5 K" Y$ v  Q& ^' L
LJMP KEY_DJ
; t- L% a5 i+ vKEY23:JB S2, KEY24, ~! A# M& W- G3 Z- {
LCALL T10MSD4 U" }' V) a5 H. j
JB S2, KEY24  ~2 r& T2 E6 s5 b
WAIT30:JNB S2, WAIT30
0 Y$ f$ P! N- x$ NLJMP KEY_MAIN, x1 ~" i. e$ b+ P
KEY24: AJMP NIG_P9 @7 p' ^% w" Q6 V4 B! ]) j
MID_P: SETB F0 ;调用定时延时标志位
  w5 _! e( q: i) ALCALL T100MSD! F  y/ y# M/ O$ a5 U  f
MOV LEDW_PL, #0AH6 Z; B9 \4 `0 L" m( ]/ f: [
MOV LEDW_PH, #0AH
! l% S! l4 o& m( U) S% L* Y9 kLCALL PA_DIS1
- x! u! M; F3 }( x' @& T" C1 TLCALL T100MSD( R* u* F1 V) o  h7 z% w$ f
LCALL PA_DIS
7 m3 I1 a, f: S6 j, b! lJB S3, KEY31- |% z1 K! ^# a: t9 a
LCALL T10MSD
, h/ E8 K- n( H9 F8 f, F* {JB S3, KEY31
/ A9 t6 |7 Z0 n0 C1 {MOV A, MIDWAY_PRICE) G# I2 b2 j5 g! S4 h$ m1 Z" A
ADD A, #1  s0 D6 b2 [- Z* n% j" }
DA A3 K- B) {" L/ N( m* H
MOV MIDWAY_PRICE,A2 A, d3 f/ \/ [  M9 a0 U& n' w
CJNE A, #99H, KEY31/ h1 T; A) }: c" F3 [# c3 q5 P
MOV MIDWAY_PRICE, #00H
" ~5 [, G' x! {2 gCJNE A, #100, KEY31
* f2 J' B2 x$ N$ `" F. }/ t5 H3 oMOV MIDWAY_PRICE, #0
" Q/ \/ a! F' o7 W, MKEY31: JB S4, KEY32( S8 e- @. \5 M2 m
LCALL T10MSD+ W+ l  b& ^. R$ o6 T( @
JB S4, KEY321 Z6 ~$ u! S5 E) O4 K+ u7 b- \
MOV A, MIDWAY_PRICE
6 m2 j7 Q% s4 F. [# A$ sADD A, #99H0 V% B: F( {0 ~- Y5 m' h) K
DA A
9 E3 c. k7 @, S8 m. TMOV MIDWAY_PRICE,A
& Z1 f  \% _3 {: L' I: JCJNE A, #00H, KEY32# s5 ?+ [' }6 R) a7 t' [
MOV NIGHT_PRICE,#99H
( E* h7 f- _0 a4 H% Z( e7 XKEY32: JB S1, KEY33
6 C' z! w% T8 w/ SACALL T10MSD( p5 i  E" C4 O9 f* x" F  n3 ~! _
JB S1, KEY33
! a3 ^4 x- y, S  p5 \, k$ }WAIT18: JNB S1, WAIT18( C& ~/ I8 x' r5 x' a
INC S11  }6 B2 }! h' v4 o9 e
MOV A, S11
; ^: j+ p/ O. `5 Y! SCJNE A, #1,# S5 f6 E: g+ @$ V2 g( G4 r3 M9 g) }
NEXT51
" H$ }2 P# Z3 E- ]$ ?LCALL DAY_P
0 B( p% x/ c/ ?8 }4 a( l' H' ?NEXT51: CJNE A, #2,NEXT52
( N* K/ u# ^; U( O' \% wLCALL NIG_P
7 Z# K, v7 k  G4 x+ MNEXT52: CJNE A, #3,NEXT53, I" N3 u' Y* o+ P  V# T% h
LCALL MID_P/ ?1 q! x& q/ f5 I# \! Y
NEXT53: CJNE A, #4, KEY33, |. M8 P& a: a2 {: L
MOV S11, #05 K0 a1 X9 r% P
LJMP KEY_DJ; ^7 J7 r7 s/ z( y+ T# C
KEY33: JB S2, KEY34' A3 f* F+ G5 @# u
LCALL T10MSD: b" ~4 r% @% H' A2 O
JB S2, KEY34
) w/ y& I% @9 ]( p( p% F5 I9 }WAIT31:JNB S2, WAIT315 x/ `* L- O, e3 o" |4 B, J$ @
LJMP KEY_MAIN4 u9 S' x, w0 c$ ~( B
KEY34: AJMP MID_P/ F: i# `0 u6 ~4 ^! U5 K8 @
HOU_T: SETB F0 ;调用定时延时标志位) Q8 u; b$ h0 V! V7 U" i& a$ ?5 P" f
LCALL T100MSD* B* I9 @1 M  p* j( S; E
LCALL T100MSD1 |3 d3 O/ a# E8 X5 ^
MOV LEDHL, #0AH: o! y" G" R, U3 K7 s9 r
MOV LEDHH, #0AH+ C* \% v/ U9 z6 a' v/ }; ]' U" ]
LCALL HMS_DIS1;直接调用显示,不经过拆分程序. w! F, O/ x: @$ G5 e) e$ v# f
LCALL T100MSD1 T: \. G0 H* T6 z1 V9 I! X
LCALL T100MSD; a$ W$ S( J/ g5 d1 X
MOV SEC, #01 j, k* n7 g" r; h( q
LCALL HMS_DIS
, A( _& w" t( H; |" Y+ u0 k& Z  o5 AJB S3, KEY41& E) Q( H# N1 I% F, Q+ J) \
MOV A, HOUR# Y& b1 t- _) k9 X4 [
ADD A, #1
( a4 ^) m3 @  J, D1 V$ oDA A- ^, O7 k  l4 V2 `) K1 N$ {
MOV HOUR,A
- w9 L3 f% V9 UCJNE A, #24H, KEY41
& \0 }+ x+ T) N) Z% N$ mMOV HOUR, #0
: D7 P3 p. x! M" ]( r; D% sKEY41: JB S4, KEY420 y& v1 |5 C, `, O; k( h" t( p
MOV A, HOUR4 ?/ U8 L1 D# l- f7 O3 n
ADD A, #99H
, D: m; _6 N7 PDA A4 y0 c1 A9 g9 a% ~4 z/ j2 S/ k
MOV HOUR,A
( [5 h' ^( U& ]6 TCJNE A, #99H, KEY42
5 q& I  J* i/ q9 i" T. VMOV HOUR, #23H
* }, w. b. S" OKEY42: JB S1, KEY43
- k- J! l5 h0 l+ KACALL T10MSD
! R1 ?1 ~# J* DJB S1, KEY43
& x6 R3 h2 w8 D: PWAIT21: JNB S1, WAIT21
9 I7 V4 P/ x3 g$ C8 B; bINC S11
, s* j1 \0 c) e3 Z0 |; gMOV A, S11
) z4 {1 f4 g6 `CJNE A, #1,NEXT61
& h. G; k; ]9 \* |( _  LLJMP HOU_T
) }; {. K7 ~3 c& a9 |( F$ gNEXT61: CJNE A, #2,NEXT62
- K0 w( [% y+ y0 eLJMP MIN_T
: g! W0 \" ^" _9 X4 u; I) PNEXT62: CJNE A, #3,KEY43
6 [5 \( G$ G* c  \. ]MOV S11, #0  F6 P. s) `+ e5 r0 O
LJMP KEY_SJ
6 a) O& F+ r. z# OKEY43: JB S2, KEY44# n/ V7 B! O  n+ D& Y- ~
LCALL T10MSD$ j  t( c8 [5 Z) O; s
JB S2, KEY440 z. h; T$ D) N6 r, a
WAIT32: JNB S2, WAIT32
) D5 [' C0 b+ b& V# JLJMP KEY_MAIN( X  j( m: K3 F" ]
KEY44: AJMP HOU_T2 O7 E/ T$ `" I- v% \( v- |. [
MIN_T: SETB F0 ;调用定时延时标志位
8 d6 l( Y6 y1 X% r! ]0 bLCALL T100MSD/ p) M8 a) N0 O1 R3 L
LCALL T100MSD/ X5 |. S( q. j! t
MOV LEDML, #0AH
4 ~! y1 c% c* c8 d; J( S& @MOV LEDMH, #0AH
7 a) J0 @% Z6 @" wLCALL HMS_DIS1;直接调用显示,不经过拆分程序  `, y: e; R2 ^$ c
LCALL T100MSD3 y- g( v* b9 E; J
LCALL T100MSD, b# c# w) s5 G* q
MOV SEC, #0: |& b4 X$ X/ R# b9 {( E
LCALL HMS_DIS
6 l" \' [# A6 vJB S3, KEY51
2 W8 Q/ c, c$ F8 B! K3 s9 \MOV A, MIN/ D$ F6 ^) |# w, a
ADD A, #1
1 l3 e8 O5 F: e& T  F: N: u# PDA A
2 {: t6 T: {, R: LMOV MIN, A
9 j& W8 l7 k3 {0 x7 Q; A( XCJNE A, #60H, KEY51
/ {  ?6 u9 @  y0 dMOV MIN, #0
" _6 |& s! R+ O" rKEY51: JB S4, KEY52: E& i/ @& u  w5 O- z1 N
MOV A, MIN) T2 v  S) S9 g! P/ E8 v9 J( w
ADD A, #99H; h+ R, [9 A. k
DA A4 K' {2 W0 H8 _8 o
MOV MIN, A9 ?( W( ^8 ?' z- N" L
CJNE A, #99H, KEY521 A, ^4 G1 p- F7 M* I: z4 X! \( G6 V
MOV MIN, #59H5 c1 ^: h4 P' ^# h+ F' v6 s9 F$ y7 S
KEY52: JB S1, KEY53
( u" [+ {. {0 c! eACALL T10MSD
! K3 ~2 U& n7 F. @: r5 H) |JB S1, KEY53: w% c+ I  W+ U; [* k
WAIT24: JNB S1, WAIT24
/ k1 @" D( J5 u' ^) I4 a  qINC S11
( u+ K3 ]7 m2 W2 {8 |2 y0 f1 uMOV A, S11% |8 C( Y7 ]( U2 }2 K5 O
CJNE A, #1,NEXT71
/ S- U7 _( F( H5 C1 T: i3 a5 `/ BLCALL HOU_T
2 t1 O* m. x9 O0 wNEXT71: CJNE A, #2,NEXT72
# N) U7 A5 K' ]; d  c+ r! QLCALL MIN_T* w3 j/ I3 B: K4 Q& K
NEXT72: CJNE A, #3,KEY53. k3 e) f! n0 g
SETB TR0
, l$ O3 }4 G2 E# ~3 i! [+ u8 K8 ~MOV S11, #0! a3 W7 S- v7 \- r, P) X5 j
LJMP KEY_SJ
# l) P7 g+ k1 ~+ {& {' RKEY53: JB S2, KEY54
3 n) ?; w0 e, q' U2 N% hLCALL T10MSD" c7 z, u5 @/ g) r- T& [
JB S2, KEY547 L6 r. l, j5 B, k, {
WAIT33: JNB S2, WAIT33
2 }0 f$ g" q! U5 k+ BLJMP KEY_MAIN
6 z: x  @" f+ EKEY54: AJMP MIN_T
! B/ Q- Z+ X+ D( P' \- I5 hTOTIME: PUSH PSW
( k' p' A- p1 nPUSH ACC
4 u- E/ n6 X( |) Y0 pMOV TH0, #3CH% k& q1 `% ]: G# I7 i8 @
MOV TL0, #0B0H$ A" A( o2 E  y
INC MS100) G3 L! a) e4 @1 v9 R
MOV A, MS100
9 G9 V1 w. j' h# CCJNE A, #10,RETURN6 t( K1 f6 \$ ^* K
MOV MS100,#0
" {: ~/ M7 ?( {6 b% z, |9 e- A' \MOV A, SEC
! q9 [5 b* b$ A( L5 L3 {ADD A, #1
- q/ Y+ Z. a* S4 N3 EDA A+ R3 P$ U! J$ r$ \3 n
MOV SEC,A
" P1 q' \$ I% lCJNE A,#60H,RETURN$ {  u+ `9 X/ j( ]( O8 k5 r
MOV SEC,#0# l/ s2 \3 H0 j" ^, r4 L
MOV A, #1H
4 H5 S3 s9 P3 x& oADD A, MIN
, I; s9 p% h) w- P2 H2 w! ]1 |% aDA A* u5 m1 G6 u3 n' h! ?
MOV MIN,A! d1 _& Z9 p3 i9 l% v
CJNE A,#60H, RETURN
6 a$ D* p6 K6 G( [* F2 MMOV MIN,#0
) b: ~6 B1 J9 m& NMOV A, #1H
5 G* t  e: l  G9 d6 o2 xADD A, HOUR
$ I( h' k9 v+ v3 c! e% G' dDA A8 B- [: Q6 u- V. D6 l! `
MOV HOUR,A7 d. |- ^' c# i( z/ D% Q1 ?
CJNE A, #24H,RETURN$ P- _6 \0 S. I3 R2 L8 f8 v
MOV HOUR,#0
5 _# w* V3 }! a  Y. MRETURN: POP ACC
' F, ]9 w$ g/ N9 X5 UPOP PSW
. ^; s  v$ e5 w" LRETI! A+ E9 F* L2 ^" h9 ~; O$ d
TO: PUSH PSW
7 l4 @& m: l& P( U, n. tPUSH ACC! l5 M6 m: E& x* v
MOV A,#1
# y% `5 s& K. rADD A,M100; r, ?1 F( f( x+ F  B* y
MOV M100,A
( J( i5 W" i/ D- a+ ]MOV A, M100
, {$ w# s' ?! K: u6 lCJNE A, #100,RETURN1' z3 c+ D$ i: m0 S9 A
MOV M100,#01 s7 b; N3 _$ o: y3 e
INC 21H% V- v4 D! v: z4 b
MOV A,21H
1 P0 c6 Z# k7 ^8 \6 ~CJNE A, #0AH, RETURN1 ;已经到了1公里
6 k. g( l  L% x  J# _% N% \  zMOV 21H,#0
" f) M( F8 l( G* U9 |MOV A, #1/ b& K. ^4 q4 c' K) h! P
ADD A, DISTANCE/ [; v8 ]3 G( s% O( l5 M& t" N6 z# `
DA A4 j! A  g1 q) B
MOV DISTANCE,A
, `9 o- [: E6 _MOV A, PRICE
# E  K, |5 t. F. ?- y0 g1 o' vADD A, COUNTL& K  V0 ?% }8 V/ T7 f2 }( s
DA A
) ~* V) w3 u& a6 p* yMOV COUNTL,A$ [0 z! [: T* Y+ Z7 ?
CJNE A, #10H,RETURN1
' L; L; K* D9 P* i- i! C9 Y' ^MOV COUNTL,#0, j8 r3 J6 M0 |1 N. T1 ?: N
MOV A, #1( N4 n' d% B+ v% `
ADD A, COUNTH
% m/ v: p) B. S! y8 G, I. rDA A
! b6 t8 s2 |4 q. Y1 @. Q" e- R' x6 BMOV COUNTH,A3 {1 E: f  z, {! \* v
CJNE A, #99H, RETURN1- ?1 R9 ?3 h: d- _  X
MOV COUNTH,#0
2 d1 x8 d0 w. H+ E; J3 VRETURN1: POP ACC, H8 ]/ g3 i3 P( H) K3 Q; l- a/ d, \
POP PSW" z( `# v, w: n2 ^8 a% o
RETI. D/ A3 G$ w) `. g
TOSTART: PUSH PSW
% y/ O' g  R# g+ f" t7 W3 o! MPUSH ACC2 H1 |3 d; k+ T* X
MOV TH1, #3CH
  h3 V* y5 p4 R5 Z$ V% c) i: |MOV TL1, #0B0H5 U% l# b' S7 `% ]5 q. P
DJNZ 22H, RETURN2 ;1S未到返回
: s4 H$ x  D  y+ eMOV 22H, #0AH2 L: _& J0 `5 z! x3 x  m
MOV A, #1, T" x4 j; i: k; G9 f( {& B
ADD A, 23H
4 y$ H7 b6 M9 k9 a/ [9 dDA A
) f" Z# D+ ~6 a! F# FMOV 23H, A
3 ^3 a3 K3 A5 O. LCJNE A, #60H, RETURN2" x1 i9 b( M4 w$ l0 p% J" a
MOV 23H, #0
# Z$ u" E) n- C! _4 ]MOV A, #1
* K* C; Q1 [# D  I6 W( h. ]7 z+ L8 qADD A, 24H/ @$ p0 W1 D  _) m* K
DA A: b3 ?! b) }( x& K$ d& u
MOV 24H,A& u) a4 @6 n/ m+ C$ _
CJNE A, #10H, RETURN2+ }* \; c; b% U/ c6 @4 ?% Y
MOV 24H, #0
1 l, P0 V! S5 Q8 T, e4 }! GMOV A, START_PRICE" j) U% s1 f6 {/ Z$ C8 F: Y
ADD A, COUNTL
& ?: U6 R/ s3 f+ U2 k6 A# \) nDA A
" @/ o( {3 H  k1 |MOV COUNTL,A
! O; d  _5 z& v+ b9 L9 D' aCJNE A, #10H, RETURN25 f) w4 z- A: V- W
MOV COUNTL, #0. b' Q+ q9 k' `
MOV A, #1# J& }% ^. B) I9 q. k- Q$ `
ADD A, COUNTH
+ ]! D# f- W$ U9 H+ KDA A
6 M$ l, s0 A5 h* @MOV COUNTH,A- V+ Y* u7 ~# b- z$ H
CJNE A, #99H,RETURN23 v) x0 C6 h1 Q0 N: N& ]) B  ?2 g$ S
MOV COUNTH,#0
, _9 d( f) ]  o1 ORETURN2: POP ACC; \& U0 n) K# U$ @/ F
POP PSW1 V- N! W8 U; P; w$ g
RETI
+ P( j, W2 O# l: M: DHMS_DISUSHACC
0 z: f; b9 Q) m8 y  U8 fPUSHPSW
3 O2 r: C+ T7 j* J$ M/ L7 V* VSETBRS1, ~8 R5 Y1 x. h9 J$ r2 ^
MOV R0,#SEC ;时分秒的拆分(三个字节)
1 ~7 e- y: U& q7 {, w/ QMOV R1,#LEDSL
' x9 b5 r" d; j7 F0 dMOV R6,#03H3 q5 O/ ?: h+ J  P! ~; o
LOOP1:MOV A, @R0# c' k! h8 ?, u# z* [
MOV B, A- ]$ W1 z  O- u$ D! U
ANL A, #0FH/ w0 m! Z- A( ]: G6 s' U: [5 U
MOV @R1,A
/ D* X6 n: z, IDEC R1
9 S" g1 t+ l, z/ u  VMOV A, B7 W$ d9 e; d$ b9 B1 \% q
SWAPA
8 s8 L" s. O2 ~ANL A, #0FH
* G, J# f$ U1 R$ zMOV @R1,A" n  ]4 e* A8 y! T; ]8 _
DEC R17 U' B7 K6 @' u2 v3 F1 K
DEC R0! ]* v9 b  w) ?9 F; ^
DJNZR6,LOOP1" q' L  k* J+ D3 k- A' P) V
POP PSW
7 Z4 [2 j. J3 X4 v8 c  A# U1 jPOP ACC3 g" t8 C+ d9 C: c0 b3 V
HMS_DIS1: PUSH ACC; |0 K. H# ~- s
PUSH PSW3 S8 ^0 c" n! h) @
MOV R7,#06H
3 W/ c: q  J: s8 S, MMOV R0,#LEDSL
# a* [% \1 C) ]; [" bLOOP: MOVA, @R0$ c$ }, ^+ X% M. `7 G, F
MOVDPTR,#TAB% S4 y" U' J1 }! y( B; n1 M: c% m
MOVCA,@A+DPTR7 k$ K' S, P: Z( m2 X, `# U
MOV SBUF,A( {! H: i  }! N7 {3 [
BK: JBCTI,NEXT4 ?7 `2 D9 d, j; U  }' Y2 B0 k
SJMPBK9 |( v" R0 y- D: i# c  k
NEXT: DECR0$ g: N  y# {7 Y: q* z0 E# q' h
DJNZR7,LOOP8 J2 y' c! X0 A5 Y$ \' @
CLRRS1+ t, f9 D6 U( f! [) i2 t/ t
POPPSW
8 o+ n7 O8 T3 vPOPACC
8 t) `% x0 C6 r6 r# ARET
& E8 q3 ?1 a) gCP_DISUSH ACC ; l& b6 K0 t  X; M5 A7 z: D
PUSH PSW
5 ?3 F8 ]  }# G# x5 I! E6 s8 w8 ]SETB RS1% k6 m7 {2 V$ {7 D* K( q5 g7 n/ F# X
MOV R0,#COUNTH ;) j# i& D- }2 x9 q- n& o
MOV R1,#LEDCOUNT20 @; k5 V" u3 k6 m5 Q1 _$ _
MOV A, @R0) T; @0 G- k% Y- V' f
MOV B, A$ a* Z9 I( F- x7 {' f; S
ANL A, #0FH
/ z4 g, h0 @, ?  m3 i: z- z/ ^  a& x* gMOV @R1,A
7 L/ v, Z% k& u$ W' G% u/ ^DEC R1- o7 j* c& E9 q! t. T. X
MOV A, B5 N1 G" D( u$ v! ]
SWAPA
7 N$ f: k  \: QANL A, #0FH/ b- y$ `3 o* I, F' P7 w  Q+ _
MOV @R1,A
! e  M8 x1 B2 W6 H# a) D3 I7 NMOV LEDCOUNT1,COUNTL( _8 o( D8 Q6 d# c+ I
MOV A,LEDCOUNT1 ;送总金额低位9 {! s5 ~5 h3 C
MOV DPTR,#TAB
3 c& b: ?+ f5 }MOVC A, @A+DPTR
! q  o; [4 w5 Y8 E1 _5 T7 L5 X& DMOV SBUF,A+ r, S, M) H' N$ a% K
JNB TI,$+ C8 z; E. d( }, Y3 \) r
CLR TI
) o% t' Y1 R2 x# {, uMOV A,LEDCOUNT2 ;送总金额中位
2 [; L9 b. H5 d+ K& bMOV DPTR,#TAB
. J; A' [9 S# HMOVC A,@A+DPTR
3 o: o' ~6 j) lCPL ACC.4
0 b; L, i7 d! y3 U) }MOV SBUF,A
4 I4 L1 u7 @( p1 ~- S& YJNB TI, $
! g: t+ g' u: ]$ cCLR TI
, D) B. i- v' cMOV A,LEDCOUNT3 ;送总金额高位
* j: [  D& n: o5 A" oMOV DPTR,#TAB4 Q2 f. D+ I% m5 R" {- D: i
MOVC A,@A+DPTR6 k7 S( f3 O' r5 H5 |8 t8 G
MOVSBUF,A
! L/ l. b  a5 ^JNB TI,$* a& H+ T8 s8 j0 m8 U3 q+ q; ^8 Z
CLR TI
0 X" ?, u( s$ `0 yCLR RS1, O% q- D' s* W, Q
MOV SBUF,#0FEH ;送短线(短线的字型码是0FEH)/ f* I+ }! `; l  N! |! l& h
JNB TI, $0 i+ L% A, W: k4 w& R: [
CLR TI7 z. j: C$ u4 J0 R: e
MOV R0,#PRICE;单价拆分(两个字节)  O9 X. e6 [4 W0 `8 s: _6 I
MOV R1,#LEDDANJIAL
3 a+ N; E5 h/ N9 FMOV R6,#03H
3 P; q2 {! G* BMOV A, @R06 K5 A" q+ s, g, \- _
MOV B, A
7 w0 w2 @' n1 I; \) @* A1 T6 YANL A, #0FH
* V8 [! Y, L# K0 D5 f+ K! R' I9 n+ tMOV @R1,A
3 a2 l9 X5 O9 {  v, LDEC R11 P: u* f  d& k! V9 U9 c/ o, P. v
MOV A, B9 a# I" Y6 Q# x
SWAPA% L1 \1 _* z; b; D! l& i+ J' X
ANL A, #0FH  f/ y4 @$ o7 R
MOV @R1,A
6 ^  t. u$ Z* f, y+ {; k2 LDEC R1
( G0 |* H; D8 V4 n' T1 f2 zMOV A,LEDDANJIAL ;送单价低位
! T2 h6 ], R' V7 L$ c1 l6 |7 nMOV DPTR,#TAB
! L: y( N) O1 {. ^2 `8 i/ ^MOVC A,@A+DPTR
+ d. c  S6 Y3 H3 B6 ~0 CMOV SBUF,A
! ~6 R! D2 j: r, i" |# VJNB TI, $
; |+ e* C, \" g0 aCLR TI
8 G( \* u! x8 o, V& RMOV A, LEDDANJIAH ;送单价高位2 M# b$ U; |4 C; v6 S) W
MOV DPTR,#TAB5 y+ G. y0 P9 p0 q; b: s
MOVCA,@A+DPTR) ?6 ~; i; S0 R$ y# x$ D3 X
CPL ACC.4: b0 y5 H& T" t9 }, ~2 w
MOV SBUF,A9 j7 x3 g; o  p
JNB TI,$
% w; c( j& r( ~% _& O6 N# gCLR TI( w/ o% d$ |/ J1 [5 F0 {: S
POP PSW" P) P7 ^! F6 w2 j
POP ACC
! ?9 A4 |2 P. gRET# |" w5 `9 I- R1 m9 _/ z" Z2 M
DP_DISUSH ACC : n( J& Z+ D5 {* p( l
PUSH PSW
; c" m) h) ~6 h/ f  e( {7 O! @% Z5 ESETB RS12 X2 W8 a! W- n4 v) R* a
MOV R0,#PRICE ;单价的拆分(一个字节)) W  k" ?5 b. ]( a
MOV R1,#LEDDANJIAL1 S) [- Y. O1 Q/ D
MOV A, @R04 |+ m4 ?) O- }& y8 n( U0 v
MOV B, A  S: j; r" m6 m$ A6 r
ANL A, #0FH& Q1 _# h" d6 X4 c( S6 W: D+ q
MOV @R1,A
( N; O$ s. E& @DEC R1$ w( n' q  B* Q' G: g
MOV A, B4 ~5 _  s* w* p6 n) [( A7 I/ q
SWAPA6 a5 B. u, m4 V
ANL A, #0FH/ u" q+ K3 a; V3 z
MOV @R1,A/ l/ ~% |0 P0 }$ W
DEC R1
  M- B7 m7 W) y! MMOV A,LEDDANJIAL ;送单价低位
9 @( O: Z  b1 E1 m/ JMOV DPTR,#TAB" c$ d9 e' G+ ^6 n! B5 t- B
MOVC A,@A+DPTR5 S- V* @  S) o5 E) p# C
MOV SBUF,A" f, x  {* ~; l& j/ V
JNB TI, $% ]: v  n7 Y0 Y) s
CLR TI( Q7 R5 A0 n( n  ~, d& ?5 W5 ?: ^
MOV A,LEDDANJIAH ;送单价高位# J$ p0 b: b7 V) ~% b* @" d
MOV DPTR,#TAB
  O) {7 b* q' M- P, u# l- j+ pMOVCA,@A+DPTR
' v, V6 S4 \9 mCPL ACC.4
9 [0 ?0 H* l) U" eMOV SBUF,A
0 [5 [3 [+ m, \4 |% ~+ S% LJNB TI,$
: G: {. m+ M9 H/ |- d. dCLR TI
+ k6 H2 P5 F( ]MOV SBUF,#0FEH ;
- k4 b1 [8 t$ e- UJNB TI, $: i9 U2 Y6 B* `) c! V
CLR TI
$ }% t6 `" a/ `' g: _MOV SBUF,#0FEH ;送短线
7 m- N; w1 M$ z- H% h7 F% BJNB TI,$- E- d- D2 Q  R
CLR TI$ Q2 {. J% P. u) H4 @
MOV R0,#DISTANCE
1 U: K& [# l2 |  XMOV R1,#LEDDISTANCEL
- e8 i. O9 N' `" `! u5 Y+ ]2 zMOV A, @R0
2 m0 |& L, h2 J; d- r. X4 FMOV B, A! F# O4 p  s# ^0 V1 X. K$ B
ANL A, #0FH$ L; t* S' A4 y6 L& z
MOV @R1,A. o( u) e5 f* A
DEC R1
% N: _' a% L- q: yMOV A, B+ ]" r) D" ~: T4 t$ M
SWAPA( e5 \$ g% G1 w% a
ANL A, #0FH
* M( S/ F. y% D0 m6 E8 y0 d  ~MOV @R1,A4 y' N6 e! n! [! ]
DEC R1
8 b, I& f- ^: H  n7 U& J$ MMOV A,LEDDISTANCEL ;送路程低位9 g, }4 R( C3 a# Q( q. R) M5 ]/ e2 V* c# W
MOV DPTR,#TAB
5 _* C( _; C, I3 K2 B) u, iMOVC A,@A+DPTR8 X; Q' d( @+ k! T
MOV SBUF,A- ~) y8 Z3 M0 ^* d$ Z! O* A( |
JNB TI, $7 n7 T1 l# H4 r2 ]/ ?6 {" c3 n
CLR TI5 C4 `* M  J$ H" O) T0 _
MOV A,LEDDISTANCEH ;送路程高位
6 {: \& p9 U. |5 T0 B+ w% [MOV DPTR,#TAB
) {/ T) ?/ J! o9 u8 H3 cMOVC A,@A+DPTR
/ q+ `- q: {) |+ \MOVSBUF,A1 [+ T7 s" ?( @( n
JNB TI,$0 m* `  r2 b9 j+ G1 `9 G2 W. O( o
CLR TI$ }& ~6 Z- a- Q( y
CLR RS1
6 Y- m/ s  Q0 S, S& ~1 Q/ ~1 L6 CPOP PSW4 b$ t/ |/ A$ K$ n4 o4 \
POP ACC' G9 `. ]! H3 x
RET
# z# _  @, S1 @  D, cPA_DIS:PUSH ACC , h; r' I  k7 T; L/ d4 _" W
PUSH PSW/ j7 E3 |; {5 g+ [
SETB RS1
( i1 e. @% e' Q2 |6 vMOV R0,#DAY_PRICE ;价格调整拆分(三个字节). N5 D- w: h$ n* _, c% Z0 m) o
MOV R1,#LEDDAY_PL
5 ]+ C3 J, b8 P. C  V4 b* ~1 M) A8 wMOV R6,#03H* r" I6 w/ _2 f. T. v5 g
LOOP2:MOV A, @R0  ~+ _$ W5 x" o( }' h. s
MOV B, A' `& Q, n) s: u- ]0 A
ANL A, #0FH: k5 Z# [4 W# j( h' {  ]" L
MOV @R1,A8 x* f& j. W3 d8 z4 z* \
DEC R1
  ?* E# t7 p% C5 nMOV A, B. V) [$ v7 _2 F" {
SWAPA
% k, i2 u# _" G9 R1 lANL A, #0FH. ~) W/ e# C. g. H2 m
MOV @R1,A
$ I* j1 s" t" c' g' l2 ^! n4 pDEC R1
$ K3 y6 C% R" M3 Z( qDEC R0( I* B# |  G7 W+ z$ O7 ]/ h" F4 P
DJNZR6,LOOP2! H6 u0 T% D. I  |! F
POP PSW
7 h4 s. F- U: f3 ZPOP ACC, @7 I4 Q7 f4 A7 e
PA_DIS1:PUSH ACC
9 C+ K! B. r& UPUSH PSW$ [: A" M3 A) k
MOV A,LEDDAY_PL ;白天单价
  \4 t7 D. R( t4 z% z1 wMOV DPTR,#TAB
4 n$ R+ Q! W% R1 Y' bMOVC A,@A+DPTR, c  X7 R- j# M$ y
MOV SBUF,A8 Z* D( N$ M: r2 f2 f9 B  D
JNB TI, $
$ N' E$ o( v& `0 ]CLR TI: E: D$ T; ]6 J7 Q7 D
MOV A, LEDDAY_PH
8 t. o* O* a( w# Q0 m) V8 A! K* y6 TMOV DPTR,#TAB
. q) j6 b7 R0 RMOVCA,@A+DPTR+ `  I. L9 w- \4 Z( }
CPL ACC.4
8 y* c+ S/ N1 D7 t( c8 X6 Z% {MOV SBUF,A; P, u# V8 n' E+ a3 v. Z
JNB TI,$9 R* }# `$ K, M5 U! K9 z7 P
CLR TI
& u# m4 J+ W9 W% W' d$ [. T" CMOV A,LEDNIG_PL ;晚上单价0 l& P! q9 o/ h" v' H
MOV DPTR,#TAB
9 C0 n6 h& e( \MOVCA,@A+DPTR
/ L, i1 x' m: U$ K2 I2 T% kMOV SBUF,A* Y# R  x% [& j+ v6 K. @' ]$ Q
JNB TI, $
% o2 `5 e( F, M5 _% e1 i$ |+ vCLR TI
1 ^; f( U7 H: g- S3 O1 jMOV A,LEDNIG_PH2 Q7 u) n( M6 \) h$ t, x1 e
MOV DPTR,#TAB
, W0 Z$ E, c0 ZMOVC A, @A+DPTR
9 Q0 P9 D# w$ x- zCPL ACC.4
  n- c% T* T' b$ _/ ~) O2 x% @MOV SBUF,A1 j9 c  F0 ^% c+ b) `0 \6 O- k
JNB TI,$
3 u1 r+ g: r. e, wCLR TI, X* G# c9 w6 W2 ^0 o( O
MOV A,LEDW_PL ;中途等待单价
& K9 o! L% s7 \% e$ ?& PMOV DPTR,#TAB
! m. x1 s- f: O* }MOVC A,@A+DPTR
, F8 u, v7 W- k. k/ R4 H8 U. s7 IMOV SBUF,A
1 U% `) U. l: B; o. _+ O* JJNB TI, $) p8 r$ t2 x8 {' b
CLR TI
) t/ F, G: E3 q( X/ y0 RMOV A,LEDW_PH$ Z4 [. n( Z; c. t( q
MOV DPTR,#TAB
4 M8 j# K, P, b. r$ ZMOVC A,@A+DPTR' Q3 E% I+ L' R& q3 {4 Y
CPL ACC.4
8 j. A) w: Y! a1 Y- k8 N" \) ~3 KMOVSBUF,A( J7 p$ h' @3 \& e
JNB TI,$" U  q; ]  r" s
CLR TI
- Y/ n: i7 [9 p2 m5 q0 WCLR RS1
3 `* {$ B+ ]# z% l4 \  e  y. aPOP PSW  i4 V( y$ F* x1 g: `/ c
POP ACC
" W: g, Y$ M7 Z) S/ oRET
- x8 w( K! Z" [' A8 c& jTABB 11H,0D7H,32H,92H,0D4H,98H,18H,0D1H,10H,90H,0FFH
3 C2 h" J& N) \& e4 ZT10MSD: SETBRS0; 10毫秒延时程序1 }& I( B8 |: Z
MOVR4,#12
; s; ?  g- A7 v; X4 gTM:MOVR3,#128
8 e1 U. A$ m4 b0 A8 _TM6JNZR3,TM6$ r& X$ i0 h: @& J: M$ ^: U
DJNZR4,TM  w. V7 x7 }8 D+ F; a5 P
CLRRS0
1 L9 Z& P) V4 ]0 c+ ?; uRET/ a0 n/ m1 B8 I+ c- G. u( y
T100MSD: MOV R3, #200
$ }: ]! |$ L8 R% n" D8 L4 `D11: MOV R4, #1250 u4 e+ d( Z/ s1 n3 Z6 Q
D12: DJNZ R4, D12  u, N' x  U3 W  l( Z. c
DJNZ R3, D11: J0 n! \9 c( g# h( q4 P
RET# K6 k8 k) {/ O# Z6 K" F2 P
END
5 D* g; B7 V* a0 Q  }

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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