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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
计价表使用说明# E; m" ^3 p$ f8 @( l
(1)S1按键的功能) g1 F! c& z. |
在出租车不走的时候,按下S1,可以实现数据的分屏显示;车在行走的时候只有总金额和单价显示屏在显示,当到达目的地的时候,客户要求查看总的里程的时候,就可以按下S1 切换到里程和单价显示屏,供客户查询。  b% Q0 A- e- B$ G, E
(2)S2按键的功能
# @0 A$ i5 g# n     在按下S1按键之后,若接着按下S2键则进行单价调整(默认为调整白天单价),当接着按下S1时,则进行晚上单价调,再次按下S1可进行中途等待单价调整。当单价调整结束后,可以通过过按下S2按键进行时间调整,默认为调整时,接着按下S1可进行调整分,分调整后再接下S1可进行秒调整。当时调整完成后,若接着按下S2则又可进行单价调整。
  w5 o% \  X- m0 l(3)S3按键的功能, R1 f6 p; }3 J7 f; Y: n
     在显示金额及单价时,若按下S3键则显示路程和单价,再次按下S3,可返回显示金额及单价。& v( Z6 K. k3 {% l
(4)S4按键的功能
$ a9 k+ I/ f7 F4 [; J在按下S1按键之后,若接着按下S4按键,则进行设定默认晚上单价,并启动计价器,若没有按下S4则可设定默认单价(白天),并启动计价器。当设定默认晚上单价结束后,再次接下S4按键,则可设定默认中途等待单价,并启动计价器。当设定默认中途等待单价后,若还按一次S4,则返回系统时间的显示。4 C: o0 d6 J, \

  }  Q  l" x. `* N$ o: l) ^9 O9 }: P3 h 2 t3 a" Z# x+ \( H% Q3 L  `/ C( c& j
2 n/ m0 d& M& l5 J
数据的分屏的显示是通过按键S1 来实现切换的,如图7 所示。
" s9 d+ t% R- }在出租车不走的时候,按下S1,可以实现数据的分屏显示;车在行走的时候只有总金额和单价显示屏在显示,当到达目的地的时候,客户要求查看总的里程的时候,就可以按下S1 切换到里程和单价显示屏,供客户查询。显示电路的电路原理图如图8所示。
& W% J( B5 h8 F3 Q  z
+ ]8 E) [5 s) C& GDAY_PRICEEQU 6FH: E6 F; n# w' C2 H# r, T* P
NIGHT_PRICEEQU 6EH* ~: g% f. x3 y  @$ u. w+ k; R! R
MIDWAY_PRICEEQU 6DH
6 `8 C/ V# S( t8 ]; n. I' ISTART_PRICEEQU 6CH
; ~# r: l+ i" m9 S4 ], y4 lCOUNTL EQU 6BH
# V9 m9 V! U3 B! q* H# ~COUNTH EQU 6AH+ U0 r( x: P9 D7 j& x' k7 }
M100 EQU 69H ; 外部中断次数
, h9 b! }9 R9 }& tDISTANCE EQU 68H ; 行车距离
3 l# W. v3 ?# v( T  ZMS100 EQU 67H% y' a; Y: W3 m
SEC EQU 66H, ^" s" Z* j0 L+ \$ [
MIN EQU 65H
% s9 w0 S+ P: ~0 M) O4 V0 nHOUR EQU 64H
- p0 P. P# I; T# RLEDSL EQU 63H ; 时分钞显示缓冲区
/ J  y& q/ }% x9 m! j0 a) F1 GLEDSH EQU 62H% a* [3 O! ]! q( a
LEDML EQU 61H
! C' i& ^, t& v- B* u8 oLEDMH EQU 60H$ L4 D( }4 s1 M' y4 c7 @" P' T
LEDHL EQU 5FH6 S3 [& R  c7 t6 y5 \% M$ j
LEDHH EQU 5EH* A% P+ X2 O6 L9 y! W# X
LEDDANJIAL EQU 5DH ; 总额,单价显示缓冲区
1 y+ o, }1 ?2 ?' R, t$ `LEDDANJIAH EQU 5CH
$ g5 o' _8 i: e8 jLINE_ EQU 5BH
4 m* L1 N2 b% O: h2 t( tLEDCOUNT1 EQU 5AH7 f  E8 ?1 S* }; f, e
LEDCOUNT2 EQU 59H
2 m  H2 `' W' _6 a+ m* ^LEDCOUNT3 EQU 58H' M( P  R: E$ ~! Y) Z( J- d
LEDDANJIA2L EQU 57H ; 路程,单价显示缓冲区
" W* y0 D0 m6 L& W1 z+ CLEDDANJIA2H EQU 56H/ N/ s. {+ `$ F5 {) H" ?
LINE__ EQU 55H3 j: N9 C. g% r
LINE___ EQU 54H
. o) j$ y* x6 Z: y/ ?LEDDISTANCEL EQU 53H
5 M. L  K1 g* q) f: R- _LEDDISTANCEH EQU 52H) ]3 B  R9 p& p2 e2 s& D
LEDDAY_PL EQU 51H ; 中途,晚上,白天显示缓冲区* V* ^0 P# f5 a3 }3 }; p
LEDDAY_PH EQU 50H* ^( s% _8 \- A/ r
LEDNIG_PL EQU 4FH* _  C) e* G: Y
LEDNIG_PH EQU 4EH
' i0 |# t1 z' k$ P) J  r% gLEDW_PL EQU 4DH9 {: d; b0 b6 W) T3 G7 `' S% T
LEDW_PH EQU 4CH0 ]& {; i  u. B5 l
S1 BIT P1.0
  ?! u' h) I; V7 L+ k& Y5 b* R, {S2 BIT P1.1
% m# _  c- e+ v) X4 y1 D) |! r5 N: ~S3 BIT P1.2
) P) \7 ]) f8 hS4 BIT P1.3
; S; z- J+ m$ sS11 EQU 4BH* }6 Q$ S7 ^# T4 E( E" o
S22 EQU 4AH7 C  Y8 s$ C1 ?/ F
S33 EQU 49H  n3 Y, ]+ P# [% w6 a
S44 EQU 48H
; C1 f* F" u8 |# z, k0 ^M1 EQU 47H
) x1 e% q# ]' O5 e9 m1 k7 I# CH1 EQU 46H
! |$ b6 y( i6 a' BM2 EQU 45H
3 `+ P4 ?7 x3 u; H1 P- iH2 EQU 44H) t( U. J% c' P: V6 S
PRICE EQU 43H1 U- e7 |+ d* H/ D3 A* p

8 ]$ m; J5 V" X7 V9 jORG 0000H' r- B6 }5 X0 }2 p; l& W9 S
AJMPMAIN' r+ t6 E) f: M7 K2 f$ G: J
ORG 0003H) g7 A- L8 o* p% ]; e! e) T
AJMPTO
( B# A0 v; r0 z  }1 p' ~0 L& I, _ORG 000BH; \1 g% n, y$ }: I* v" @
AJMPTOTIME
9 m2 M/ m3 N) ~ORG 001BH: G( d0 ]1 |) c$ p! u1 g
AJMPTOSTART3 M. V' _; y+ ~6 `: ?) b6 X
ORG 0030H% v( o7 w0 r- ]6 @
MAIN:  MOV SP,#70H
7 P) h' ~  F! O' FMOV TMOD, #11H# X6 W4 a' D, m1 {5 r+ W
MOV TH0, #3CH2 N0 a$ K2 S1 v( |1 s6 S; \5 ]
MOV TL0, #0B0H
' J4 c1 M( \# d7 NMOV TH1, #3CH$ h/ F( Y5 ~- W. N8 C2 ]5 J
MOV TL1, #0B0H
: [' S( X4 w9 N% _: FMOV 22H, #0AH! |; x2 S. i7 h" k! `- }5 S
SETB EA
: V: r9 Z# p% ~- b: c7 JSETB TR06 ]: S. G0 Q4 x3 }, ?
SETB EX09 N2 f5 ~/ x% v+ G
SETB IT0
+ s8 `; H6 q, Q3 DSETB ET0
7 c' [0 k! I6 o7 KSETB ET1- l2 ]* f, _9 I
MOV R7,#341 Q! Y& B# g* [2 U, h  g% a( }
MOV R0,#69H8 u9 C3 m& u+ P; A4 f. Y. u; x" M. e
LOOPL:MOV @R0,#0
1 x! k( w1 z  o. T9 s& fDEC R0$ u, e! l% }5 d; p) y3 m. d
DJNZR7,LOOPL
; n0 ~' I& c  B0 f- O. pMOV COUNTL, #00H ; 起步价0 K0 y+ k  s2 O' w8 N
MOV COUNTH, #05H/ ^2 b' h, ?/ @
MOV DAY_PRICE,#25H ; 白天价格初始化
. v- W1 C% A! I9 m$ j5 `MOV NIGHT_PRICE,#30H ; 晚上价格初始化0 C% _2 x' `1 c
MOV MIDWAY_PRICE,#10H ; 中途等待初始化
! b0 x5 `( K+ H8 d; ^4 bMOV START_PRICE, #50H ; 起步价初始化6 D6 V7 g: i* O5 ^- G
MOV S11, #0' t+ C) j- u" f. w
MOV S22, #0
# Q3 r0 r7 q. QMOV S33, #0; V- P" h2 v; ~
MOV S44, #0
" ?) y/ Q" ^( l1 lMOV DISTANCE, #02H& C! k8 e5 [! K4 A% S1 A# e
MOV HOUR, #12H- v6 O: ~/ e0 X/ R- ~
KEY_MAIN: SETB TR09 Y7 k5 f% R* h3 q6 A: @3 E3 i1 U
ACALL HMS_DIS- G5 {( T% {3 x4 m4 S! P
ACALL T100MSD
2 w( D6 o- I% n: O  yACALL T100MSD7 L1 c5 I6 T- _5 a  c7 }4 u  ~
ACALL T100MSD, t: V% K; P3 X' n# k
JB S1, KEY_MAIN# O; f9 N$ k/ }# f* `! C* T& P2 {
ACALL T10MSD
' ~4 Z  H, L6 L. X: I# I; IJB S1, KEY_MAIN2 j5 N% b0 Q& x% e
JNB S1,$
) }/ C1 h% N1 c6 D9 tSJMP WAI1
5 L* w: E3 Y- B6 g; ?WA1:JB S1, K1: u6 X0 x- ?/ ~1 w% V
ACALL T10MSD
( U0 K2 _$ i; B, g* Z$ S2 V( HJB S1, K1" U6 C: q( J. S# e
WAIT1:JNB S1, WAIT1
* l1 V+ l& m. r1 sMOV R0, #LEDDANJIAL3 ~- {; O9 K) a
MOV R2, #6
/ ?: f( g  h8 a- y: HCLR A
) N5 T$ n7 x0 `2 [2 YMOV COUNTL,A, z9 z2 b2 y8 G0 ~* ~
MOV COUNTH,A
3 t) w; Q7 T, h9 fMOV M100, A' m9 @9 ?4 Q% t" f! D0 C
MOV DISTANCE,A7 s( w# E- h/ y# |. B9 Y2 C+ h
BK1: MOV @R0, A6 U. L1 z, `- _( @1 `/ R. {( K% z
DEC R0* K1 ?: M2 D3 p5 J# z; `
DJNZ R2, BK17 k# F- [8 D1 ?* m7 J1 N* d
MOV PRICE,DAY_PRICE; 起动初始化
- M4 d* {3 q/ y4 t; f( KMOV COUNTL, #00H; 起步价( K/ R+ I/ V# |" J
MOV COUNTH, #05H
1 @2 p: B; R' Q% `6 KLCALL CP_DIS; 总金额和单价显示, e3 U3 h7 \% l
K1: JB S2, K2% C( Z' o' G9 i- H; T
ACALL T10MSD
& Y' v4 b4 S/ q- _( k  Q0 QJB S2, K29 ]$ v. k3 d! ^3 w- U- m8 `
WAIT2: JNB S2, WAIT2! n+ Q0 A9 y9 w' M
INC S22
9 K8 ?- n$ y  a( W/ qMOV A, S22
3 [5 s* \. w& @& y  K/ dCJNE A, #1, NEXT1* {6 p4 r) ~; H% m5 j% [
LCALL PA_DIS; u# V7 r; A, j1 w/ {6 R
LJMP KEY_DJ, N- z: c, [& t# }7 y. i6 U* }
NEXT1:CJNE A, #2, NEXT2
3 B. n/ L  I3 N+ t4 ZCLR TR0
2 E9 p0 O- d* M+ h6 bLCALL HMS_DIS9 K5 k! a. s, e7 K: n2 X% Y- i6 D) c% V% R
LJMP KEY_SJ* u# O- |1 y$ T9 [7 m& l7 ]
NEXT2:CJNE A, #3, K2
" L+ \7 N4 p# Z. E; r  vMOV S22, #0
* V  e. h+ @, [K2: JB S3, K3+ {# O3 D# w( j
ACALL T10MSD( X) |. W8 i' u9 `! ?: V& V. `) H
JB S3, K3$ P' @- r9 q$ u; t4 w0 s5 l; m: Y
WAIT3:JNB S3, WAIT35 X0 y  h& N* \: i8 U- t" d: U% h
INC S33
5 l1 Y# c% ~4 c' EMOV A, S33
7 C9 Y# h5 |$ e% s( c. L$ {CJNE A, #1, NXT1, q' l3 R8 U# {
LCALL DP_DIS: x: R$ G4 ^% `% o0 s# h
NXT1: CJNE A, #2, NXT2( }3 l* K: @( a5 W/ u5 b9 Q
CLR C3 R/ Y; R1 |3 i# M) S1 w7 U
MOV A, M2: R! A  [* i) J- o, I2 F% [9 L$ z
SUBB A, M1
: T7 m; H% z+ a$ U% v0 S# ZMOV M1, A
! q4 @0 r. ]+ g9 H' qMOV A, H20 p3 e7 K5 x! r3 I5 p& S5 ]6 v
SUBB A, H1
- C- C9 U  }8 PMOV H1, A
& n( C+ A+ c/ |* y! D. NNXT2: CJNE A, #3, K3
. t1 |1 y4 O2 q3 ^8 I1 lMOV S33, #0, J8 ^4 U* A; g; a9 ]6 P$ a
LCALL CP_DIS
0 S$ x; I% p! j. C; w4 yK3: JB S4, BK_KEY_MAIN
  c! g2 O3 `( L; ?/ mACALL T10MSD+ i; \1 `8 R/ p% i$ i
JB S4, BK_KEY_MAIN
+ g, C- Q1 d; kWAIT4:JNB S4, WAIT4
  Q0 u; p, g( M9 G  S) B! _( eINC S44
2 e! _, w, |% A' AMOV A, S44
* p" k) M' ]$ m/ D3 O; i! PCJNE A, #1, NT1; E  s2 X, G/ q" R+ ]8 C8 K- C! F
MOV PRICE,DAY_PRICE8 F1 m3 v/ v* m7 }. z+ M- ^
LCALL CP_DIS' ?% C* W* T) j2 B5 g5 ]5 u
NT1:CJNE A, #2, NT2% X  l% N+ R6 L; |
MOV PRICE,NIGHT_PRICE
% p: O/ F' }# F$ NLCALL CP_DIS
) y7 f. s6 j# i- E- RNT2:CJNE A, #3, NT3
. F( o" U4 N+ u, _1 _MOV PRICE,MIDWAY_PRICE4 ~% H& j. I" {* e
SETB TR1
8 K( |+ r+ E+ H# MLCALL CP_DIS
7 t% ?0 R. k( q9 {( _NT3:CJNE A, #4, BK_KEY_MAIN" s( ?0 [5 m' |6 {5 V2 Y
MOV S44, #0
; b  C2 M$ I+ Z4 D( rLJMP KEY_MAIN
/ V/ T8 E. S) j9 Z: R7 eBK_KEY_MAIN: LJMP WA1! m( _- n* ?3 E8 w
KEY_DJ:JB S1, KY18 @! j6 V/ ^! ^+ u1 L
ACALL T10MSD
) @1 {* _8 k6 l6 ^7 `! [& rJB S1, KY1
( \) X/ d& `2 i$ r4 }WAIT5:JNB S1, WAIT5
4 {/ Z3 h9 y7 WINC S11
8 D  m- t- L. M! s# NMOV A, S117 {, \( s1 O) V) f" t
CJNE A, #1, NEXT11  t: Q1 o. V, P: y) f
LJMP DAY_P
1 k) S5 ]4 q3 o# FNEXT11: CJNE A, #2,! v# {: F! q, U* G, t5 j4 p# S2 _
NEXT123 B& b! y! ~( H0 T$ [
LCALL NIG_P- K. x9 C5 |# J+ i" N
NEXT12:CJNE A, #3, KY1# W" ~3 L$ d; n4 D/ Q  R
LCALL MID_P
  E$ Z, q( K5 P% j' ZMOV S11, #07 \$ R1 A* E% [! o" m
LJMP KEY_MAIN4 l& q* D- v! |# x
KY1:JB S2, KY2
$ I: [( F* M8 I8 Z* @ACALL T10MSD5 G) R+ ^* Y; F- y; |
JB S2, KY2
) a& i  {. _1 M2 A2 o% M& l% DWAIT6:JNB S2, WAIT6
- {. h* Y/ _2 R( `9 dINC S22
2 X; r% G" }) \# n# x7 g' x: dMOV A, S22
+ i" i- @- \% Z7 GCJNE A, #1, NEXT13; A, M/ k6 N$ e- ]) r
LCALL PA_DIS
; \$ H6 T. z) q5 m4 ?$ t& VLJMP KEY_DJ
% r" ]7 `8 Q$ a6 }NEXT13:CJNE A, #2, NEXT14$ D7 V7 r* B/ K( m6 U
CLR TR0
. r& Q1 _0 _; E: }0 \" BLCALL HMS_DIS# F: U6 w! C0 B6 |9 ]- V) ]
LCALL KEY_SJ
4 A; Z# g& \, b" C, cNEXT14:CJNE A, #3, KY2* J2 d/ x  _: m! J9 Z" l
MOV S22, #0
- n5 v7 T; \( j3 M  J. z) gLJMP KEY_MAIN0 V0 ^9 r. n$ W0 S
KY2:AJMP KEY_DJ& _% A6 W, I6 p- \6 J1 E
KEY_SJ:JB S1, KEY1
( ?2 t  m1 r  z. @8 A1 |ACALL T10MSD) \* }7 L, e0 C/ j) Y
JB S1, KEY1
0 X5 g+ u1 R1 Q* k8 Y+ L- fWAIT7:JNB S1, WAIT7& W; h# E  P5 f, z! f; b3 H
INC S111 O1 V4 G- ~! ]5 M
MOV A, S114 H+ e# r& g! G
CJNE A, #1,NEXT21
: T/ T) M* j& f8 U- r# K& LLCALL HOU_T
" b4 C/ T. }0 R2 P) p" QNEXT21:CJNE A, #2,NEXT22$ O" A, D1 p1 I1 [) m7 z; b
LCALL MIN_T8 a1 D8 }  Y: q( Q: j" v) f
NEXT22: CJNE A, #3,KEY1
5 t1 H7 g' M1 _0 E! r/ X* F+ h+ f( cMOV S11, #0
) d* d9 h1 m7 t3 C! T4 h: `LJMP KEY_MAIN7 q- w4 _5 b4 ]5 C" q$ }
KEY1: JB S2, KEY2
2 f& a  u0 k) a' {& uACALL T10MSD
& {! E; R, D1 H, d1 ~. y6 M* kJB S2, KEY2$ n/ W5 O1 l/ [' `
WAIT8:JNB S2, WAIT8
+ B" w7 A9 M# J7 j$ W  W- `INC S225 k! M" H. j! y4 N2 W' d) r& R
MOV A, S22
1 L; i( Y; E- VCJNE A, #1, NEXT23
5 k# y: u0 c# {$ ]( ULCALL PA_DIS, Q+ T! f. k/ t. w
LJMP KEY_DJ
  \, O; @: t9 k6 d; fNEXT23:CJNE A, #2, NEXT24
" U' s% \. i8 J% g" w; t8 M, GCLR TR05 Z' z1 I" J1 o, `% I
LCALL HMS_DIS- {/ w$ ?) C6 ~" s$ r) w) \
NEXT24:CJNE A, #3, KEY2
6 x- [3 s( c$ G4 L: v' IMOV S22,#0- z. O$ ~& _! i# ~- Z/ ]
LCALL KEY_SJ9 [3 q$ f9 H& q) l
LJMP KEY_MAIN
9 A: Y! X) Z- G2 W- cKEY2:AJMP KEY_SJ
0 r: V3 I9 I9 o9 U/ LDAY_P:SETB F0 ) O$ L* n5 j- Y5 @+ n
LCALL T100MSD3 }# ]: y3 N* p3 v8 A8 Y
LCALL T100MSD
, ^! g, k* g' tMOV LEDDAY_PL, #0AH6 M# C) ?! F& S$ |9 u  y
MOV LEDDAY_PH, #0AH9 f; \; E6 k5 m# u( l2 G: Z
LCALL PA_DIS13 e2 |0 c" y6 O7 k! A
LCALL T100MSD# \' H+ i6 m7 u" j/ g. A; E* h
LCALL T100MSD6 q/ C. S: g- n' S  `) B
LCALL PA_DIS; e! k# R/ e. b0 j! M" Z
LP1: JB S3, KEY11
! ~- E* ]8 E2 ]MOV A, #1  C+ M. P' N0 j+ I, q, Z5 u- F
ADD A, DAY_PRICE. U3 v3 U2 Y4 W% f4 c6 u$ [4 {
DA A
& f( ^  G; {% R/ @8 \9 X- WMOV DAY_PRICE,A3 g! [+ j1 Z5 W) g% \
MOV A, DAY_PRICE
+ R) ]  s  d, n/ `( Q7 ]% V. J3 zCJNE A, #99H, KEY11  ~! ]+ E9 @; k5 d, E9 X
MOV DAY_PRICE, #0
) Q1 |' W9 ]& r4 X9 K5 {9 P0 l  OKEY11: JB S4, KEY12* ?. P' \9 }3 |+ [
LCALL T10MSD
" a% S$ D2 F( o; e0 Z% yJB S4, KEY128 D' R1 Z$ T" a; y, A  N- d
MOV A,DAY_PRICE
* b3 H" ]: ~* @! b; V0 |ADD A, #99H  q1 a/ j8 M. @( v# T! w8 J
DA A' h/ e' l+ t4 J# k/ F( v
MOV DAY_PRICE,A
( O+ W) p. H/ Z6 D0 R6 OCJNE A, #00H, KEY12
6 U- I; o3 Q; Z1 m* z: FMOV A, #99H% G$ Z' @, B3 Q- K/ i* U
KEY12: JB S1, KEY13. S9 F! P: Y9 T& V+ s) i$ A, G
ACALL T10MSD; ?* V( A# W. Q
JB S1, KEY139 o  c: m2 R3 _* }' ?: u/ u
WAIT11: JNB S1, WAIT11% I5 w& [; G& o8 m! F
INC S11% ~) g8 ]3 H+ C, y
MOV A, S11
& ~1 R" s4 E$ N: a( M9 @' G2 uCJNE A, #1,2 M2 \% B* Z1 c& H- M7 P0 ]/ _# a
NEXT31
5 V( t+ W; C4 h) `1 S2 r4 J( D/ |LCALL DAY_P) b9 A4 N2 @! @9 @, e5 R
NEXT31:CJNE A, #2,NEXT32
3 W. `6 ]% z+ K0 K0 ILCALL NIG_P
3 i( }1 f- g, e: s+ p$ V4 HNEXT32:CJNE A, #3,NEXT33
+ a3 _2 w' [7 JLCALL MID_P
* Z7 J; n1 M& t/ M1 @+ {NEXT33:CJNE A, #4, KEY13
: Y! @3 Z" o0 b6 P2 TMOV S11, #0" o. L$ f6 o, D# _( _
KEY13:JB S2, KEY14
1 c! j3 X9 H9 K( Z; G) G( @LCALL T10MSD
/ e* }1 |/ r% R" g# ]JB S2, KEY14$ `: \, G. T) d- i# L# f& D$ ~
WAIT12:JNB S2, WAIT120 }' v- b! ~+ E; e" I  ]8 o
LJMP KEY_MAIN: r" P# t0 |% J. ~/ g* d% w
KEY14:AJMP DAY_P- K& B( b$ \& _
NIG_P:SETB F0 ;调用定时延时标志位
- t1 R( {$ W# ^1 [/ N+ hLCALL T100MSD
( Y& V# h( ?+ aLCALL T100MSD
8 u- e) e% K7 {MOV LEDNIG_PL, #0AH& f7 r+ L) H" ^- M1 B
MOV LEDNIG_PH, #0AH
( U* O& b( t* V7 c* j+ yLCALL PA_DIS1. l4 n0 T8 `( s9 B2 t6 H2 |+ o
LCALL T100MSD
. l% @& j5 X' d: i/ J5 LLCALL T100MSD
# Z# ^/ {1 Z$ P1 ^4 C4 p7 oLCALL PA_DIS4 M( E" k( I) l% |9 u4 ~1 @3 z+ h6 S
JB S3, KEY21
, M  N% X' l% {* C! pLCALL T10MSD
  M6 F: ~( n4 M9 r2 J3 bJB S3, KEY219 y' p9 V& g1 O  ~. N0 d
MOV A, #1; Y& _; @* f  C9 ^& }8 y
ADD A, NIGHT_PRICE5 b3 _; O0 O. P9 G$ _3 g; l
DA A) d7 Z9 f5 D* d
MOV NIGHT_PRICE,A
+ x; K( e  W& J7 R+ q  nCJNE A, #99H,KEY21' W0 g/ r  P# q. S
MOV NIGHT_PRICE,#0& _4 i- }1 {0 e' a0 [- S
KEY21:JB S4, KEY22
  M0 ]/ p% N/ z1 P0 pLCALL T10MSD
: C; d: r! r$ _6 d. gJB S4, KEY22
+ v& a3 T  q* KMOV A, NIGHT_PRICE
5 c: e2 `. E$ w( _1 d' ]0 zADD A, #99H& T7 r9 G2 D7 S, n! v& x
DA A$ }; r; c  R7 [) g- Q$ L0 z
MOV NIGHT_PRICE,A
; g. u8 _1 g( N& ZCJNE A, #00H, KEY22' s- S3 H6 B- G
MOV NIGHT_PRICE,#99H/ B  ]7 L8 i7 a( w0 C, O0 l) @4 |
KEY22:JB S1, KEY23- N: V" r0 @1 Z9 {
ACALL T10MSD4 O6 Y& V6 ^% E9 t: d2 w
JB S1, KEY237 S- n% _/ P6 o8 ~; n
WAIT15:JNB S1, WAIT15
7 @4 D5 X% M& r* n0 U4 m' G% h/ SINC S11
2 z* \* \" f2 ~/ g' _8 H& o5 \MOV A, S119 E$ j1 f# _! U# I
CJNE A, #1,3 }9 [6 N3 w* V" ^$ l/ x
NEXT41
8 o9 L( r9 U2 \6 w( |' ]LCALL DAY_P4 l) P# F6 l7 U8 o1 j9 j
NEXT41:CJNE A, #2,NEXT42
4 s8 o' [) f: m4 M1 e3 fLCALL NIG_P8 `7 j' R7 Q% }: l% @; N
NEXT42:CJNE A, #3,NEXT43/ s' e6 J/ {4 o7 Q% G
LCALL MID_P' k% O) C1 U$ _1 `0 ]4 u" U/ u* n
NEXT43:CJNE A, #4, KEY23% o1 m5 t5 b8 }! I( ~( Y
MOV S11, #0
8 k0 r# N: n" G# C8 aLJMP KEY_DJ, i# m- }2 v$ m9 l4 L" F) y! Y
KEY23:JB S2, KEY24. L( L) ^2 M4 W
LCALL T10MSD
/ H( d4 j* _% m" G; f& E& lJB S2, KEY242 S; b, h* Y- @& d5 l6 M
WAIT30:JNB S2, WAIT30
/ K3 A  h5 ^) S# PLJMP KEY_MAIN  |1 j' J) V, h6 z. t. j$ I
KEY24: AJMP NIG_P
; ]( y8 T2 v5 JMID_P: SETB F0 ;调用定时延时标志位
' `! @6 Z. f4 t8 [LCALL T100MSD
1 w& t$ n/ c: Z: S9 bMOV LEDW_PL, #0AH! h9 q6 a; j1 `) e
MOV LEDW_PH, #0AH" ]$ R" z4 c+ y6 U9 t
LCALL PA_DIS1: q4 s+ S" Q. U4 T. k9 }7 b# F
LCALL T100MSD' i' C- b6 _4 f5 c% @
LCALL PA_DIS: T1 }' x! ]6 I! \4 p7 X* C2 r
JB S3, KEY31
6 k) z+ \+ L& W1 f1 eLCALL T10MSD
  L  n4 w( j4 {. Z2 H( dJB S3, KEY31+ t* t2 n$ q: {) h( Q+ h
MOV A, MIDWAY_PRICE1 f9 H1 U: l, X, w$ N
ADD A, #1
" Z( [3 J0 E+ x' tDA A6 r$ s5 \' ?* G; n. N$ t( F
MOV MIDWAY_PRICE,A# t8 W- m) p1 O; m
CJNE A, #99H, KEY311 d  K. x: x( B+ N! }% a# V# y
MOV MIDWAY_PRICE, #00H
5 n( m- w0 y. D' WCJNE A, #100, KEY31$ J- j8 u0 s3 O) c7 c
MOV MIDWAY_PRICE, #0
3 P, u3 D% Q- e5 r- mKEY31: JB S4, KEY32: b3 V2 s* p0 |; `. H# m
LCALL T10MSD
8 M) Q% _% u, U% PJB S4, KEY32
3 N4 {5 D' `5 {# j, J1 X9 sMOV A, MIDWAY_PRICE
7 Z/ V" _7 ^" v' B7 A# cADD A, #99H) |0 `! c3 z# X
DA A
7 b! \; H# V* t% Z9 W% u7 k$ p* `MOV MIDWAY_PRICE,A4 U+ W/ ]- C/ _& E1 ^
CJNE A, #00H, KEY32
) }- o; D6 B# A+ u. g: jMOV NIGHT_PRICE,#99H5 s7 U$ Z- S1 [! {' Z
KEY32: JB S1, KEY332 \4 s# O: F% Z6 ^! p# r/ {
ACALL T10MSD
2 L! U( \3 X/ Q$ LJB S1, KEY33
+ u1 s% d0 g( s; ~1 LWAIT18: JNB S1, WAIT18
9 u; u$ d8 s" h* WINC S119 {: U0 ^- o- }$ D4 m, J
MOV A, S115 l7 U; U, a  Q& Y% ^
CJNE A, #1,
2 g; e! r% ?( ~0 PNEXT51
! _) \- G0 j! @) kLCALL DAY_P8 m2 d0 i# S& {' c! u5 m. n
NEXT51: CJNE A, #2,NEXT521 p( J( [9 i, z, X) g
LCALL NIG_P
# A6 T, t% g2 D) q3 _$ ANEXT52: CJNE A, #3,NEXT53/ J# a' w' [- |/ b! A+ }- a! I( g# {8 X
LCALL MID_P" W$ u; r& O7 b2 M  u  `
NEXT53: CJNE A, #4, KEY33
" H9 ~3 X8 S. }4 zMOV S11, #0
! M1 O/ I* I7 TLJMP KEY_DJ/ I5 b$ E# ?( n6 u6 g/ W
KEY33: JB S2, KEY34
. K( Y" `% s3 h/ qLCALL T10MSD; z0 [; V! o/ n0 |$ R, m3 {
JB S2, KEY34* v4 J. Q& U/ u" v) `) e
WAIT31:JNB S2, WAIT31% F. a; ]! S3 r3 x/ M* u9 W
LJMP KEY_MAIN, [7 K+ K. M2 @3 s) y( d% C
KEY34: AJMP MID_P, J9 B+ O0 V' R1 S4 R
HOU_T: SETB F0 ;调用定时延时标志位
4 f& N1 ]& N" i8 c, \( O- mLCALL T100MSD2 Z9 j& z- l! k' e; n% _
LCALL T100MSD9 H$ ]8 ?7 V2 E0 o
MOV LEDHL, #0AH: ?* k# e2 y. i5 c% z& @- s
MOV LEDHH, #0AH( m- q0 V$ ?' S
LCALL HMS_DIS1;直接调用显示,不经过拆分程序
2 S) w) {! y$ @LCALL T100MSD
  [! j7 y  p% q# ^9 \4 oLCALL T100MSD
( X9 v- P, _8 i$ M. E5 b- pMOV SEC, #01 p' V% h6 N- ]1 F" I
LCALL HMS_DIS- O/ N! s; K# R$ q/ V
JB S3, KEY416 \; v$ s; E/ N% A- a. ~( N4 O- ~
MOV A, HOUR! Z! X" _0 D: N. H* }0 g
ADD A, #1  J2 x2 o$ G1 u' H6 A7 d
DA A
! v! T" H( ]1 }" EMOV HOUR,A- N" k, p* L  u
CJNE A, #24H, KEY415 A5 _" W, O# c
MOV HOUR, #0
1 ]4 J# w/ c, e8 UKEY41: JB S4, KEY42
' i. w6 D; J" |( E% p) `: jMOV A, HOUR
3 k+ w2 i% d* z+ _& S( N4 _0 r, QADD A, #99H! d0 B7 r. v1 U2 {: @
DA A
, D# G+ F% d. i& [6 QMOV HOUR,A+ U. b9 ~/ b) U( Y+ |; d+ l+ r: c
CJNE A, #99H, KEY42
) i4 J3 i6 y1 rMOV HOUR, #23H. t4 m1 b7 ~" ~/ ?  O& y
KEY42: JB S1, KEY43* O# T( |5 q$ Z1 v
ACALL T10MSD, u) [7 ]5 p7 ]% H
JB S1, KEY43; ?) M- _7 k8 U
WAIT21: JNB S1, WAIT219 X$ F0 `! H) D( N+ c
INC S11
! F& z" k1 G4 K0 @2 I/ GMOV A, S11
0 n5 O# I& J2 K' }1 f8 qCJNE A, #1,NEXT61
/ V% I# ^9 z; c; j0 tLJMP HOU_T0 _8 p# j$ P' q- n+ ?
NEXT61: CJNE A, #2,NEXT62: `) N" D, l# L. n. J& y
LJMP MIN_T
( R  X  J8 @: Q) G) ~- TNEXT62: CJNE A, #3,KEY43
4 P' _  A5 E. h7 k, u0 l! gMOV S11, #0
/ m/ i- Y/ K" P! h* U* jLJMP KEY_SJ
6 M$ `" G% d7 s$ J: JKEY43: JB S2, KEY44
2 }5 O4 Z) C: `3 O9 J" Q2 n/ ]LCALL T10MSD
1 M& W+ P8 Y! i% H1 XJB S2, KEY44
  v$ W# W6 Y( G1 X8 F: O7 XWAIT32: JNB S2, WAIT32$ ^& ]9 h+ T; e" |4 C! F* j
LJMP KEY_MAIN
% z. f  }# C+ i3 }: ZKEY44: AJMP HOU_T
" l- p  e  u; u( ~/ tMIN_T: SETB F0 ;调用定时延时标志位0 v* Y; p: v5 n7 y
LCALL T100MSD* w) n' l) t  k- s) _
LCALL T100MSD' ?, v% x8 Y3 F6 A# G( k
MOV LEDML, #0AH
# }$ X6 N5 U$ ^  m/ B: zMOV LEDMH, #0AH
" O% b1 n. K+ q+ d, p3 g& [2 uLCALL HMS_DIS1;直接调用显示,不经过拆分程序
) r8 s$ e, Y+ h* e% s) b8 B' bLCALL T100MSD
; f) o0 X/ M/ f  P( \/ T3 B% {LCALL T100MSD
" S1 T- c" R+ j$ q: dMOV SEC, #0
5 [- N7 {& p: t0 HLCALL HMS_DIS
! S' M  C/ P$ S* Y$ ZJB S3, KEY515 E; o- _8 L4 J* a1 n
MOV A, MIN8 [. y' M1 _  V4 o% b
ADD A, #1% x# _& m# q1 x! x
DA A1 D" j) G3 L2 w/ o# G" t
MOV MIN, A0 q$ ~5 b& q# H' u1 K1 L( e2 I
CJNE A, #60H, KEY510 P- i6 t6 t. i+ W2 K
MOV MIN, #0  M% w. ^* t$ v! c& c/ Z7 Q  n
KEY51: JB S4, KEY52
% g, H. g1 D8 ?4 C9 o1 L* ]8 gMOV A, MIN. P% f( A% t0 q; h+ e7 ?
ADD A, #99H
' a9 M# s3 t9 h2 P6 v% ?3 lDA A8 a7 R6 r9 H6 x2 F
MOV MIN, A8 M# S7 Z3 O  ^" G( W) W# U3 e- s' G
CJNE A, #99H, KEY529 f! ~' m; E5 \: b
MOV MIN, #59H4 F* I  {" e0 ]
KEY52: JB S1, KEY53
' z7 `' |' W& L3 o! y. j% fACALL T10MSD
, H+ \1 f3 ~* ~2 {  ~! `# wJB S1, KEY53
$ m5 N4 m- x# GWAIT24: JNB S1, WAIT24
3 |) n- a: `6 e3 C. }- uINC S11
; e( {  {& |0 ?* r) IMOV A, S11
3 S# e5 B; W7 c3 y5 u; `CJNE A, #1,NEXT71- E9 v+ u. m$ K" H/ u5 a
LCALL HOU_T
9 H. V1 |* I. @4 ^' Q5 UNEXT71: CJNE A, #2,NEXT721 D; o( G4 E5 X4 @( j) d
LCALL MIN_T
1 b$ q6 [: ~# i% z9 i6 Z2 _NEXT72: CJNE A, #3,KEY53
" V) o+ T; W+ Y0 U. W& d, \- h9 B1 vSETB TR0
$ @. P+ e7 c1 t; y2 u# dMOV S11, #04 d8 h4 I4 ]& R
LJMP KEY_SJ
2 n8 O' M6 M, `* ~5 Q$ Z, o% T' H$ lKEY53: JB S2, KEY54: I, I% g& {0 p" r% o" y$ \
LCALL T10MSD+ E/ y& t) C5 j/ o4 l4 _4 m
JB S2, KEY54
- h- g) _# z. s4 Z1 qWAIT33: JNB S2, WAIT33% j  i% m- E( r
LJMP KEY_MAIN
: I% [7 Q6 \$ uKEY54: AJMP MIN_T
* z: f  q2 I3 u8 v* e+ Z7 WTOTIME: PUSH PSW. v' Y2 j) m( V8 H
PUSH ACC
, {. p/ D1 ?. z8 yMOV TH0, #3CH
' b; G/ v) N5 ]& y3 O) I! H0 y+ mMOV TL0, #0B0H9 A! s3 y7 _1 ^2 C: A4 Z
INC MS100- i! K$ W. h5 ^) e; Q+ [
MOV A, MS100! s6 f( G* ^4 b7 X' i( ^- }
CJNE A, #10,RETURN
* p5 v" Z8 J( M; ^3 r4 R6 [2 d& QMOV MS100,#0# |: a. a  ~( [2 k/ D( \
MOV A, SEC5 x4 ^( n0 c3 _, r' }3 Q2 j' \
ADD A, #1
# v' }/ X! G* N6 Z: B9 I) Z) qDA A& Q3 K7 m! P5 M' o' l% m5 @
MOV SEC,A% `1 Y; m9 \; j! c( ~
CJNE A,#60H,RETURN
$ M6 b+ D: M& k/ eMOV SEC,#0$ u9 ?  r. g2 N* g4 I. f. }3 w4 V
MOV A, #1H
( c& `  @5 a8 M6 o- p- L$ nADD A, MIN5 I0 [$ L/ A  J3 {  w
DA A
3 ?5 u0 u0 l. jMOV MIN,A9 H8 o/ I! ]2 ~
CJNE A,#60H, RETURN2 ?. Y3 S  \( j) u/ i. z  O3 s4 o" H$ Q
MOV MIN,#0
5 w8 I' z! }" T6 @$ W" yMOV A, #1H; _$ w4 C+ q5 `4 R, K4 G9 z# c+ S$ b  w
ADD A, HOUR- K4 z* _, j0 \# V: O. ]7 d2 A
DA A
' o9 p4 W. y, n7 lMOV HOUR,A
+ }6 ^2 P* s: g7 q& w4 m- iCJNE A, #24H,RETURN
- W8 A+ m' j8 K- c2 KMOV HOUR,#0; K# C$ j+ O0 h; U& h
RETURN: POP ACC) G+ E3 g9 ?* n" ^( Z
POP PSW
2 b9 f- Q$ y' t" r! U' ^% x8 Q8 t2 qRETI- j  P, @4 e$ o9 N& O# e" T6 Q) R
TO: PUSH PSW+ J, c7 }) B  G: i0 ?; \
PUSH ACC2 M2 u. d- Z7 I" _8 i8 Y! V
MOV A,#18 G/ s5 B9 e7 O" G) v" L2 K
ADD A,M100* c3 v. T8 t/ h
MOV M100,A) f* D. F+ P1 C, |% R8 d. m
MOV A, M100
' F% U" X- J( ?1 B& fCJNE A, #100,RETURN1
. E& P  x3 t9 t" rMOV M100,#0  q+ e4 B) m. S* T: k: s9 [
INC 21H
0 n8 v9 l- J4 S! K* ^MOV A,21H
3 ?7 q8 e$ z& e9 G3 e$ s0 @CJNE A, #0AH, RETURN1 ;已经到了1公里6 X. i  |1 T* w
MOV 21H,#0
7 r1 m" u* |0 r$ X. rMOV A, #1
! }' y2 q3 L! k7 i0 O+ OADD A, DISTANCE2 U$ [4 }3 W& L7 H) k: |
DA A3 j9 E7 l2 E" c% e' y8 g
MOV DISTANCE,A
9 R) s4 q9 t/ O! G1 g& [MOV A, PRICE3 ~# V+ m- [8 F1 a! k, \. \
ADD A, COUNTL' N- i, i- Q  `( j8 p2 ^( C
DA A. [  W9 f7 t2 s7 M
MOV COUNTL,A4 f7 V) q- {6 j* T1 P; |5 C  n
CJNE A, #10H,RETURN1
, [: U  A- Z& N( b+ y0 u- QMOV COUNTL,#0
# w, h6 u8 U: z! K0 pMOV A, #11 \. p) h9 D; Y7 }# P- X9 V& L
ADD A, COUNTH
$ ]0 S; F. H. O  n% a- c$ {DA A4 _% }) ?8 j: @6 D, h+ a+ I2 C
MOV COUNTH,A2 B0 j2 v. y& w. ~  l
CJNE A, #99H, RETURN14 ]/ V7 Q) j: J/ v7 |5 O, C$ [1 U) C
MOV COUNTH,#0
! t9 f$ L, z! Y5 ^RETURN1: POP ACC
! ]3 q% e: B  z0 U* |0 q0 NPOP PSW
6 W( ]- Y. o: T4 P4 kRETI& y( H, w  Z* v" Y% h
TOSTART: PUSH PSW; M& C; @  `. M
PUSH ACC
4 Z+ ?2 q1 s/ S/ g6 _MOV TH1, #3CH% b  a# z2 ?, R9 e
MOV TL1, #0B0H/ ]- e# r- Q- z5 E6 ], G: n0 }7 e
DJNZ 22H, RETURN2 ;1S未到返回7 M' n5 K0 b0 r# E3 o6 Z% {
MOV 22H, #0AH
  c9 z) i4 Z* V. f" sMOV A, #1% C& v3 y8 i$ v7 f7 n4 u! t) ?
ADD A, 23H0 x! i6 E( i) |. ~* ^1 n
DA A2 n2 w2 e2 s6 I" v+ N
MOV 23H, A: J2 j& A: H! H4 b8 p# j9 f
CJNE A, #60H, RETURN2/ ]- v: D2 o+ T
MOV 23H, #0
, G8 I$ F7 A  ~5 ]  `MOV A, #1
: X* ~5 Q. s; wADD A, 24H* s2 c5 j+ N9 j9 L: ?
DA A
/ p7 l( u4 \8 I; m' J# EMOV 24H,A
5 M( O" ?6 S  \- J+ Y; r9 qCJNE A, #10H, RETURN2
* H3 ^$ C  q6 Z3 U$ j# |9 {MOV 24H, #02 z' P% `# O$ r0 N0 I* B/ O
MOV A, START_PRICE
, ]- H+ D+ C5 H4 iADD A, COUNTL
: O0 d% j$ C4 T4 ~2 e. v2 w/ xDA A
( t# N0 [9 J+ q' ^MOV COUNTL,A
8 o! _- I, A9 KCJNE A, #10H, RETURN2" d% p# p/ J! H/ u: e1 O. C
MOV COUNTL, #05 z( T5 V5 X, K9 s8 K
MOV A, #12 ?! H3 K5 R( x2 e8 Z# h: o* ]
ADD A, COUNTH
5 ?4 v% ]- a, s( y( ]. G& l1 KDA A
* t! U/ N) b( P4 qMOV COUNTH,A! |9 h' f  w# i5 M0 ?
CJNE A, #99H,RETURN28 ]' f! y- J" f: s. e, P5 J" ]
MOV COUNTH,#0  R4 L) [' e( A% z
RETURN2: POP ACC# u' }# V4 t# |  w0 r, {5 N5 J
POP PSW# }8 u3 J# _! g1 k% P
RETI+ @" [' W; O! e" ?
HMS_DISUSHACC
1 w+ i1 j3 l. Z4 I" V" E& {PUSHPSW3 b7 y4 D% _: J
SETBRS1+ P5 Z1 G  v$ T% [
MOV R0,#SEC ;时分秒的拆分(三个字节)
& d# O! c) S6 U# AMOV R1,#LEDSL
' |; t: a! Y9 @3 [MOV R6,#03H8 L/ Z* @; J4 W+ [- a  X
LOOP1:MOV A, @R02 Y- R# R2 k# D4 t& A
MOV B, A6 Y% S7 J% k& M6 @
ANL A, #0FH% X  e9 e9 m$ f- _0 Y1 _" K; N3 R
MOV @R1,A! J6 O( ?8 c' M) s+ v6 i/ b  Y* R8 \
DEC R1
9 p: H# i) v* @, p# LMOV A, B7 n* t  f9 h2 j+ ?# ~4 `
SWAPA4 ]' [5 w3 Q1 S& b  W/ I
ANL A, #0FH
6 E$ F  w6 h9 MMOV @R1,A
6 }" F$ Q! @4 H! d" f' O1 n0 |9 VDEC R1
; i) L! Y8 I1 U. L& w* X3 _7 [/ l; F$ jDEC R0* T- f7 m! C- [/ F: R& @2 K2 k
DJNZR6,LOOP1
4 W- c, R5 Y5 a  B) h6 WPOP PSW
, K; T% w( d' K1 `) CPOP ACC
# a1 b: V3 o7 p& N* g1 T$ C7 yHMS_DIS1: PUSH ACC& N! |- n0 A8 c6 r6 }0 V" Y
PUSH PSW
! e4 }2 N) ?( A; ~  h6 F! @MOV R7,#06H- W! S2 U2 {' {1 M5 B
MOV R0,#LEDSL. V8 E' G- d$ U
LOOP: MOVA, @R0
; O$ W6 z" o; s0 _MOVDPTR,#TAB
) S4 e* w7 s7 u4 v; p4 SMOVCA,@A+DPTR# E7 l- k: U9 ]5 k! o- P
MOV SBUF,A
! s8 H; S2 f+ e/ ^BK: JBCTI,NEXT* _7 Z# p8 c( Q. h: V2 Y+ J4 e; l) w* @
SJMPBK
# `( D; z+ e& n( bNEXT: DECR0" P5 K6 [" S& l- ~, y  {
DJNZR7,LOOP
+ @/ C/ n+ s: s7 k5 D# q( C( \CLRRS10 v3 l; [1 `+ F% i* {( f3 Z
POPPSW
- ~5 I9 c' s/ e. P& VPOPACC& N, ^* E! o) a2 g
RET( s; l) p8 }4 M6 _0 b' v
CP_DISUSH ACC
, r2 y' L2 d0 B& Z$ y$ m, y/ tPUSH PSW6 I: u. I  b* F
SETB RS14 e2 L* [- N. i% f. ]
MOV R0,#COUNTH ;% S2 {9 ]+ m0 I% S
MOV R1,#LEDCOUNT23 d  K1 d7 h3 I0 a
MOV A, @R0
0 s% |7 {/ Y- s3 `  }MOV B, A5 [' v; f& s) s: u( b+ Q: ]8 e
ANL A, #0FH
; B0 k* y: [: g4 F7 t7 XMOV @R1,A" Q( F: H& b5 @/ k
DEC R1
* Z, P  M  b9 }5 J: |  v0 iMOV A, B
& D: j/ y4 Z0 e( O# L2 ~/ DSWAPA) H  @7 R9 z; ^9 s0 A3 L: t
ANL A, #0FH' K$ J5 @0 U! s) s& m
MOV @R1,A2 h3 e5 ?' G5 @. Y% Q9 a
MOV LEDCOUNT1,COUNTL
. v- u% r. r" ^# m; c# @- jMOV A,LEDCOUNT1 ;送总金额低位
" B# S; b- B2 A& k- F* J% H: k  z* iMOV DPTR,#TAB
9 i$ S7 A/ E+ OMOVC A, @A+DPTR
5 C3 |+ D1 A9 ]$ R# Y, zMOV SBUF,A% i- y( W* O  I( ~6 Y% g. V
JNB TI,$" t& b, i) U$ z& V
CLR TI
! t5 Y+ S4 X  {( I' C0 b0 ^MOV A,LEDCOUNT2 ;送总金额中位
: j" e- @+ }& N, v. \1 R+ ~MOV DPTR,#TAB
) Z* v0 l  E0 T# u. O% `- HMOVC A,@A+DPTR1 M$ z2 q% w# F/ \+ z* p
CPL ACC.4
9 e- d( ]  a. U' `MOV SBUF,A
6 [& w* T& P+ j3 a  y4 qJNB TI, $: |0 G0 S6 p& H  y& Z, M
CLR TI
5 a; N; ?5 |3 D: Q2 [MOV A,LEDCOUNT3 ;送总金额高位
/ t! T7 B+ t6 uMOV DPTR,#TAB
9 g  {  v* Y5 h+ N6 {4 fMOVC A,@A+DPTR* l9 h1 I5 S& a% |3 F
MOVSBUF,A& ^5 M6 {0 a5 g! i- n0 k3 m
JNB TI,$) |- }7 N$ N  i0 W+ e$ p
CLR TI! h  d+ U. F( I6 B3 l3 F
CLR RS1
! z: I+ G& [3 X% v6 |; t1 DMOV SBUF,#0FEH ;送短线(短线的字型码是0FEH)- W- Y4 N& L$ a1 e% v* @
JNB TI, $
/ @& J  s; E6 U$ Q# B* Q# j) w) oCLR TI2 x  V' P" w" ?, V! {! \+ @
MOV R0,#PRICE;单价拆分(两个字节)
' _: V3 E& {/ D2 l0 xMOV R1,#LEDDANJIAL
# }. q- |' a, dMOV R6,#03H
/ _$ O; T  i" L- i2 N& |+ J" }8 ^' ]MOV A, @R0
2 K) L, m' \( L- J+ ~MOV B, A
" A% B0 G- _% h6 `ANL A, #0FH
4 s# ]: b( J3 x* n- r- ^MOV @R1,A: `8 ]7 v; C& Q& P4 x
DEC R1
0 _6 K# X6 V6 t7 p# t. hMOV A, B/ N( ?# @) x- p5 |
SWAPA
: M# U4 q7 {& H& c: h0 XANL A, #0FH
4 ]. l( [" V7 g6 FMOV @R1,A
* ]$ g; q+ `# e9 PDEC R1
  t' V( b1 t* V6 U1 e0 u0 _MOV A,LEDDANJIAL ;送单价低位
" h" R$ A! i# f2 k, }% D& `MOV DPTR,#TAB
$ @0 _& \6 S. C, NMOVC A,@A+DPTR- @! L9 f3 K4 m' P$ x2 D8 P
MOV SBUF,A* `4 Q( k: x" q6 n( O
JNB TI, $0 x& O& k3 o, @4 t( y5 f
CLR TI* k3 Q, Z. a8 a( Z, _+ r3 ?7 L9 z
MOV A, LEDDANJIAH ;送单价高位- ~& R' O, D' |6 _
MOV DPTR,#TAB( v- z; F. p0 V8 \6 ^6 X
MOVCA,@A+DPTR
, R. Z  [9 [. {CPL ACC.4
2 N9 V4 Q8 K; H+ ~3 ]$ LMOV SBUF,A! d. m, i+ r1 k+ t
JNB TI,$3 X' l1 S9 `( d1 V0 `
CLR TI
4 |9 e0 L8 w3 [: n9 RPOP PSW
" d3 Q5 N6 _. sPOP ACC, [, g; ?2 E8 b3 H
RET8 h' j  E; @  D
DP_DISUSH ACC " B% q1 N' j) b, S# ?; q
PUSH PSW
* Z: T: l6 W8 r4 [! `SETB RS1
, q* P( m( T3 X7 B( T4 ?4 a1 dMOV R0,#PRICE ;单价的拆分(一个字节)
( g0 r8 }- _9 C: p5 ZMOV R1,#LEDDANJIAL: f* J- D$ }* A9 S* c+ ?$ X
MOV A, @R0
3 }9 |# ~! T% ?+ Y6 b6 MMOV B, A
# e% c! h8 a: b% {# FANL A, #0FH
& _/ `, O3 P* v2 FMOV @R1,A& [" R( z# S/ z$ C$ t
DEC R1
; k: e4 R) [4 s/ h! oMOV A, B
' ^  N$ o+ B* D3 E" O" ~) YSWAPA
: B* Q3 j& F  D- e. kANL A, #0FH
5 I& k# ]5 `$ J# e, n# yMOV @R1,A* r/ E3 _  g) F/ @( i
DEC R1; `' E, ^+ k4 `
MOV A,LEDDANJIAL ;送单价低位# F2 q: x; M; j$ [" Y# T1 J
MOV DPTR,#TAB4 p  ?% n9 A- q3 I# [
MOVC A,@A+DPTR9 z# r! n  I! c8 _4 @
MOV SBUF,A" s! R3 z% P. [, X; h- J
JNB TI, $, K, u9 k* d+ [; s5 W( M2 g  U
CLR TI* Q& ]' t; `* O
MOV A,LEDDANJIAH ;送单价高位" c* n" U/ y+ S  w  `
MOV DPTR,#TAB" v1 d& P% Q& L4 o$ |% y. [
MOVCA,@A+DPTR
) V+ l3 _6 s6 q+ G; J0 uCPL ACC.4
5 ]2 l0 Z9 M( N, {# @1 @; \) vMOV SBUF,A
4 V( c& e4 f4 x# T, y- ]JNB TI,$
$ M! ?0 B; B: q6 K9 JCLR TI
% L" H) m5 O; q( H8 OMOV SBUF,#0FEH ;
# c; i+ S, S9 V5 v1 y- PJNB TI, $; {- w5 Q& q8 ?. B# k8 f% u. E; l
CLR TI, k$ o* l4 A8 [- ]! F  o: W
MOV SBUF,#0FEH ;送短线: g) T: D% @$ @0 @1 l4 f
JNB TI,$
% @9 P: @* E/ J1 \& p* |/ pCLR TI
# |5 E" B8 [4 Z3 T# lMOV R0,#DISTANCE
& w7 ~  W$ j6 a" @9 ZMOV R1,#LEDDISTANCEL
/ @! g# b& }% o% V2 B) `6 iMOV A, @R01 J# N0 m: n# p2 _
MOV B, A
& t9 k6 R( c8 \$ F% OANL A, #0FH% i2 |$ ~4 ?% v. h
MOV @R1,A
/ J. s$ r  T2 D8 V4 ?DEC R1
1 S8 ~4 O8 x. R6 q3 k- JMOV A, B
  \- @6 R# d  }3 k: lSWAPA
( c6 ^3 f: y: r" ]3 E; y+ _- RANL A, #0FH2 V; u8 b% d; F8 E
MOV @R1,A# N7 {- S$ T5 F1 U. }, _
DEC R1
9 G" D* B: a( [MOV A,LEDDISTANCEL ;送路程低位' w" p# ^+ b# F2 m' Z
MOV DPTR,#TAB
: w7 w1 s0 j# y# c7 g5 |4 t- H- aMOVC A,@A+DPTR
2 F4 Z! [3 |; y. U4 }; [' O: w7 GMOV SBUF,A
3 n5 K( Z9 z1 i; KJNB TI, $: {( T; I  E7 a
CLR TI: w  E  Y, }7 M5 x
MOV A,LEDDISTANCEH ;送路程高位
  c& Z0 {0 V4 a: ^. N5 KMOV DPTR,#TAB
( H! Z& k$ |7 R2 M+ z) n3 NMOVC A,@A+DPTR
" |! L6 \* b/ H) T6 _4 T. dMOVSBUF,A
  U* r# k9 n6 Y+ C: `& }. GJNB TI,$; Q$ f. e* ~1 {" C# y$ e' O% M* g
CLR TI
; @6 y% {9 p8 gCLR RS1
4 Y* v# J9 Q, B3 W; ~5 E. QPOP PSW
. t/ B$ b% b6 |, x8 bPOP ACC
4 I  ?2 d- {1 m# b3 T7 {$ kRET
1 P! G& C/ q1 a% nPA_DIS:PUSH ACC % e: |- T( S  `3 Q( b# E: G5 F1 P
PUSH PSW
, u/ x. N/ p- |1 G5 Y, @SETB RS1" X8 X1 g% o( P( o3 n
MOV R0,#DAY_PRICE ;价格调整拆分(三个字节), t( N4 P1 F* S& L' y9 M- ^6 K. L/ ?
MOV R1,#LEDDAY_PL
# K4 X3 I+ p% x" U' r. ?" cMOV R6,#03H& |: X6 M2 ^: ?; I5 @# Y. X8 r# R' C0 S
LOOP2:MOV A, @R0" }8 }* [8 w& u2 D3 _
MOV B, A
9 a- g8 c# D. g; J$ S1 n! dANL A, #0FH
5 y+ Q9 f; J4 H- l+ }% t, S% xMOV @R1,A
' N+ f' c1 t: @8 F( X: UDEC R1
( y+ |6 R# j- f; B2 ZMOV A, B
$ A, @" {# o( x, R  L: eSWAPA: j2 p+ a+ h. Q9 v( }8 ^3 Y
ANL A, #0FH
, E, [8 {5 V# D2 p, B9 S* a/ `MOV @R1,A# h5 }5 p# I! Z9 G
DEC R1
! a% E% \4 Z+ ?2 k* M  [, MDEC R0
2 I' l5 E9 \8 SDJNZR6,LOOP2
( w- K1 F; M7 W8 {* r1 wPOP PSW
$ _! B* S& f/ hPOP ACC7 l# B# ]' t3 C. R% C4 Q
PA_DIS1:PUSH ACC, w  q1 H6 G; \$ G  G
PUSH PSW
1 Z" M5 A; @& e& S4 \9 Z3 ~MOV A,LEDDAY_PL ;白天单价
6 i7 c1 a! `1 r0 }1 OMOV DPTR,#TAB
- p. ?+ n5 A6 \4 mMOVC A,@A+DPTR/ f0 s& ?6 x: C& m, m6 c
MOV SBUF,A1 j5 d; p) n4 j6 u
JNB TI, $
2 y, u# j8 i7 d/ FCLR TI
& z9 r  P0 C; j9 I  y- ~% tMOV A, LEDDAY_PH7 |6 @% D: s7 B2 }( q) X
MOV DPTR,#TAB+ R0 T: |  p& n% H: ]$ z& H
MOVCA,@A+DPTR
" }) T" m( {( jCPL ACC.4
3 ^+ s% A6 W2 q; M3 JMOV SBUF,A
) x) ]6 ?9 J# F2 v. oJNB TI,$; J# {7 R) Z7 ?
CLR TI3 n/ N) N' n6 m
MOV A,LEDNIG_PL ;晚上单价" y9 W; @' y$ l/ ^. w) z# {% V& b
MOV DPTR,#TAB1 ^6 W( s0 ]6 d2 A$ D' c% m
MOVCA,@A+DPTR4 y' i/ S9 u2 q
MOV SBUF,A; _$ {8 Y6 I1 D+ A6 `) g" m4 v
JNB TI, $" r/ ?9 C; r) A% ]8 J* l$ U
CLR TI
* D/ Y, j' m. o. xMOV A,LEDNIG_PH
) ], u% p2 j) @1 f; ^* fMOV DPTR,#TAB
( {2 J3 _. S( y4 ^7 y; ?MOVC A, @A+DPTR
5 K0 r9 I, Z% l/ KCPL ACC.48 T/ R4 S8 Z- e% M8 m0 z
MOV SBUF,A
& i; V, b4 I/ o' K! c9 K: E+ OJNB TI,$
  h& o) c; j) ^2 w! OCLR TI4 V% V$ x% G& N  Y" v3 d- ?  {
MOV A,LEDW_PL ;中途等待单价7 q3 U9 |/ v: R2 G- R' M6 Y$ c
MOV DPTR,#TAB3 B6 S8 ^% i: I  s' {) O
MOVC A,@A+DPTR8 G" C$ E- `- V6 K3 F/ g
MOV SBUF,A
' \7 ^) a" V: G3 F$ x* zJNB TI, $4 a' M: c3 f& f- Q7 N
CLR TI
1 h2 J' h( q$ C5 S* gMOV A,LEDW_PH
+ D3 p- d( W$ |7 @" t5 d- bMOV DPTR,#TAB
* l8 w! o9 ]- s+ R( Q; |& oMOVC A,@A+DPTR
9 E- P* _) g% U6 f# \CPL ACC.4" t& r( z6 m4 W* I
MOVSBUF,A3 u: L' w* O! x' ?1 C
JNB TI,$
1 |+ @. c; m0 hCLR TI
/ m6 H! Q9 y! v3 |$ ACLR RS14 T1 P1 M4 U, ?6 D, Y7 M
POP PSW& O- S8 w; A( ?  U: b
POP ACC* K7 f5 a* B+ Q2 x+ w$ f# k' B! w
RET
  s& h& R, A3 G0 O# N( OTABB 11H,0D7H,32H,92H,0D4H,98H,18H,0D1H,10H,90H,0FFH+ |* z7 i" S! }/ a- t: _7 L  J+ n
T10MSD: SETBRS0; 10毫秒延时程序9 n$ B0 \$ w/ d4 b, \4 R
MOVR4,#12
# {$ D+ I% e  Z! _1 G! l% Z1 r8 E* [TM:MOVR3,#128$ |5 h9 x+ K5 I, X4 O, i4 ~% u
TM6JNZR3,TM64 v/ v% t4 j$ a6 |! t8 D7 i# Y' p
DJNZR4,TM
& N+ C8 _  N+ eCLRRS0
/ k( ]6 z+ t- Q) L1 a0 E$ qRET
: g, ^$ r! K7 o1 j# vT100MSD: MOV R3, #200
- N4 p2 q' s  _' ~  c6 G& ~D11: MOV R4, #125( R# G2 x, j; Z+ W9 P( L  x
D12: DJNZ R4, D125 s4 }' t, i3 O" y' e: D
DJNZ R3, D11
# A. ]- v$ }  F% A, N4 W; I5 [RET
% |6 N6 K9 i0 n* q* v7 {0 X2 j' SEND
. ]9 H  u% M: U6 D0 d

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-16 02:49 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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