设为首页收藏本站

美丽的网站-英华家电维修论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1482|回复: 0
打印 上一主题 下一主题

使用单片机制作的6位数字钟

[复制链接]
跳转到指定楼层
楼主
发表于 2011-6-11 20:13:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
51单片机作的电子钟程序在很多地方已经有了介绍, 对于单片机学习者而言这个程序基本上是一道门槛,掌握了电子钟程序, 基本上可以说51单片机就掌握了80%。常见的电子钟程序由显示部分, 计算部分, 时钟调整部分构成。
. ?' f* |5 Q0 h. M1 b+ i    时钟的基本显示原理:时钟开始显示为0时0分0秒,也就是数码管显示000000,然后每秒秒位加1 ,到9后,10秒位加1,秒位回0。10秒位到5后,即59秒 ,分钟加1,10秒位回0。依次类推,时钟最大的显示值为23小时59分59秒。这里只要确定了1秒的定时时间, 其他位均以此为基准往上累加。 6 {1 J2 i% [: J: V- {5 R2 G
    开始程序定义了秒, 十秒, 分, 十分,小时, 十小时,共6位的寄存器, 分别存在30h,31h,32h,33h,34h,35h单元,便于程序以后调用和理解。 5 `6 W8 d! m7 C. u* p
    6个数码管分别显示时、分、秒,一个功能键,可以切换调整时分秒、增加数值、熄灭节电等功能全部集一键。2 w8 W% Y. a+ F1 L9 C

- U" P! z; T% t9 k: h2 _ 5 P: f3 ^. N. s/ K. ?
6 ~" @* _3 P. k( m
以下是部分汇编源程序,购买我们产品后我们用光盘将完整的单片机汇编源程序和烧写文件送给客户。
, c! ]% T* C; q8 f;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
" k7 C5 w) T+ Y8 v;; 中断入口程序 ;;  (仅供参考)9 D; S5 k% ~3 P0 ~6 p
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ k4 E: j* Z3 l* {8 s7 ]6 s  [;, L' @' H- B& Z" {  c
ORG 0000H ;程序执行开始地址8 Y$ J, x1 x$ g% p
LJMP START ;跳到标号START执行
$ J  w9 X  o8 r" N# I' x% X# SORG 0003H ;外中断0中断程序入口' k$ I- Z: r6 `
RETI ;外中断0中断返回
3 t# X, V+ H, qORG 000BH ;定时器T0中断程序入口
& D# o3 D$ {6 \2 i. i* n3 ?LJMP INTT0 ;跳至INTTO执行( `  f6 A# U9 W
ORG 0013H ;外中断1中断程序入口
0 w7 e; |6 e" O  K0 K% n- FRETI ;外中断1中断返回
1 p+ o  K+ Q! ~6 X) K! J7 m. hORG 001BH ;定时器T1中断程序入口# e$ E, \- ^+ c. {: H" w
LJMP INTT1 ;跳至INTT1执行9 e: g  ^. k6 V# S. n1 V# N2 L1 Y
ORG 0023H ;串行中断程序入口地址9 b% ~+ T6 z( h; w* @
RETI ;串行中断程序返回
+ \% i4 G  j! V+ ^
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
& Q! _; i" h) F( F;; 主 程 序 ;;
) }) G- B6 Q6 D5 |- B# ^% Q  O+ B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;. ?) Q8 b2 }7 e$ p7 c. Q0 d' Z
;
3 e. J, Q  Q  F4 d' K# BSTART: MOV R0,#70H ;清70H-7AH共11个内存单元- S; D' I6 b$ ]7 T
MOV R7,#0BH 3 C, r, L: v. ~
;clr P3.7 ;7 D, D; d( t) t$ j) g
CLEARDISP: MOV @R0,#00H ;- L, B' S2 c0 r, l( |
INC R0 ;
! E6 G$ {  N( n+ |DJNZ R7,CLEARDISP ;* \7 j7 _2 f6 t/ L
MOV 20H,#00H ;清20H(标志用)) i" l$ Q% u  ^$ P! s# M$ @+ A
MOV 7AH,#0AH ;放入"熄灭符"数据: J( M6 r( a4 X3 @
MOV TMOD,#11H ;设T0、T1为16位定时器
5 A+ t8 i/ M4 b. N& fMOV TL0,#0B0H ;50MS定时初值(T0计时用)) w/ `% x+ M% U: B
MOV TH0,#3CH ;50MS定时初值
+ i1 Z2 I$ c) s2 LMOV TL1,#0B0H ;50MS定时初值(T1闪烁定时用), G/ |3 I) ~1 L1 t
MOV TH1,#3CH ;50MS定时初值
+ v" P4 D6 e& ]! E3 qSETB EA ;总中断开放/ w8 \( I. k! l4 ]# T6 ~
SETB ET0 ;答应T0中断+ Q8 M. ]* j: S8 G- K/ h' L: m4 L% F
SETB TR0 ;开启T0定时器1 @1 v/ e/ R0 y5 B. u- |' O
MOV R4,#14H ;1秒定时用初值(50MS×20)$ S- G" Q$ y) q# {  @
START1: LCALL DISPLAY ;调用显示子程序
2 n* m( t+ g  U3 F7 b, FJNB P3.7,SETMM1 ;P3.7口为0时转时间调整程序
4 V1 b+ j" Z( l9 D$ e& A* s; @SJMP START1 ;P3.7口为1时跳回START15 E2 d0 C8 ]! J8 ?6 ^6 s
SETMM1: LJMP SETMM ;转到时间调整程序SETMM# ]! S, Q) e9 `1 |0 O+ k
;# F6 w. L, y9 O0 N: u( P
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2 I1 G  l, n! M9 S' V% [) K;; 1秒计时程序 ;;* I; y/ S9 r4 J8 v9 |' a( ^
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  o" p6 K' X! X- \  r' Z& N5 Y: E;T0中断服务程序
  A4 L5 X) I) N2 X- {5 Y) vINTT0: PUSH ACC ;累加器入栈保护
/ B/ M0 P5 P/ N3 `/ g; TPUSH PSW ;状态字入栈保护
' _% L) G3 L% Q, l% @3 ~2 m4 GCLR ET0 ;关T0中断答应! I! u' _( X8 \2 l+ }& B% _
CLR TR0 ;封闭定时器T0
6 e) h( |8 `- ]! V' ~8 e' N0 zMOV A,#0B7H ;中断响应时间同步修正5 d* A8 O* a6 s& L$ i
ADD A,TL0 ;低8位初值修正
. i5 g2 U- P' s- ~' v. yMOV TL0,A ;重装初值(低8位修正值), B, U1 [7 W- M! A
MOV A,#3CH ;高8位初值修正
4 w! G" a6 G2 _! w3 I3 UADDC A,TH0 ;, u8 z( G7 \1 {) ~! e! N) s3 r0 C' u
MOV TH0,A ;重装初值(高8位修正值)
5 ]" l5 G0 ]# Y9 |2 gSETB TR0 ;开启定时器T00 o. Q0 b/ Q" O
DJNZ R4, OUTT0 ;20次中断未到中断退出
: H+ w, F: q7 `/ p2 l: a( R0 UADDSS: MOV R4,#14H ;20次中断到(1秒)重赋初值
( s' U( i( E* ]MOV R0,#71H ;指向秒计时单元(71H-72H)  f( x/ }8 u9 X& V5 f" K
ACALL ADD1 ;调用加1程序(加1秒操作); n. N1 A9 f$ O, q) b5 ^* |3 @# X; g
MOV A,R3 ;秒数据放入A(R3为2位十进制数组合)  J7 P- Z$ d/ [$ {5 o
CLR C ;清进位标志
# l0 _* g+ L* ~6 T5 t' \CJNE A,#60H,ADDMM ;: T( C9 Y7 ]1 O/ R/ a
ADDMM: JC OUTT0 ;小于60秒时中断退出
' _! \7 E0 ~. {1 K' ?0 w/ GACALL CLR0 ;大于或即是60秒时对秒计时单元清0# P2 ^5 B$ K* p8 ]3 D7 S
MOV R0,#77H ;指向分计时单元(76H-77H)
& _6 ?- y( ?' XACALL ADD1 ;分计时单元加1分钟
& X' Z" g4 P5 x5 {  s" B5 iMOV A,R3 ;分数据放入A, R6 C* ^* q: I4 t  ?' [6 x
CLR C ;清进位标志. s/ ?0 u- `/ I# [7 r
CJNE A,#60H,ADDHH ;
, a% n1 K* t! t# SADDHH: JC OUTT0 ;小于60分时中断退出
& q4 B" v; v% WACALL CLR0 ;大于或即是60分时分计时单元清0$ x% U. ]/ Q/ y  k0 p9 O
MOV R0,#79H ;指向小时计时单(78H-79H)
* w+ S* o; O7 m9 ^# R) vACALL ADD1 ;小时计时单元加1小时! c4 d( e5 u! Y1 e
MOV A,R3 ;时数据放入A2 O9 F" H$ T: i+ V! P, J
CLR C ;清进位标志
: L& L5 b' V1 [, cCJNE A,#24H,HOUR ;
8 k  T7 s9 x8 dHOUR: JC OUTT0 ;小于24小时中断退出
& U1 f  @7 \& T( n, B  r, OACALL CLR0 ;大于或即是24小时小时计时单元清0' E1 p: y, C% v& v) o, Y% H4 q
OUTT0: MOV 72H,76H ;中断退出时将分、时计时单元数据移
1 _% O: Q( n7 ?MOV 73H,77H ;入对应显示单元
/ S3 ^: Z" u4 Q5 ]* oMOV 74H,78H ;
* n$ @7 _3 g0 ^- c$ u5 V9 [MOV 75H,79H ;
( O# B1 @# n6 u, e  g% z" b6 a1 rPOP PSW ;恢复状态字(出栈)
  j  d' T: }& _1 WPOP ACC ;恢复累加器7 r8 {$ M& h) g. P: s
SETB ET0 ;开放T0中断
. p5 h6 R  g0 Q! \4 i6 ?RETI ;中断返回7 p; _. U4 E# y; F9 {3 B" Z
;
/ ^0 F- x3 p4 M* h;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$ G3 O, `( M/ ^8 V3 F- d) L;; 闪动调时 程 序 ;;
' d. D+ W' c( O! ?4 ^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;. _7 N1 K- i3 P9 C9 `$ d7 u
;T1中断服务程序,用作时间调整时调整单元闪烁指示
# ^) ^' t" e! q* G. ZINTT1: PUSH ACC ;中断现场保护5 F; }/ C: g. S
PUSH PSW ;
  u, A5 r( ~' U. L; gMOV TL1, #0B0H ;装定时器T1定时初值7 D8 s/ c) H  R6 T$ }
MOV TH1, #3CH ;3 f3 B; k( p6 W7 P& e& j4 ^
DJNZ R2,INTT1OUT ;0.3秒未到退出中断(50MS中断6次)& X+ D) H/ H3 S: Y3 w' H
MOV R2,#06H ;重装0.3秒定时用初值- T& U7 a- e6 j' j0 Y' H, L
CPL 02H ;0.3秒定时到对闪烁标志取反4 j+ |/ W* d' p3 E" P0 L' T
JB 02H,FLASH1 ;02H位为1时显示单元"熄灭"
: ]" o$ h/ y4 R4 P9 tMOV 72H,76H ;02H位为0时正常显示
& Q+ Q/ Y- D) H5 GMOV 73H,77H ;" C( b' V; h, V  ]" P
MOV 74H,78H ;5 p1 Y0 J$ d4 \5 d
MOV 75H,79H ;
9 G& g: t6 u2 f& O: U& YINTT1OUT: POP PSW ;恢复现场) J" T; V. U% R/ @; n  f
POP ACC ;
6 r* ^! A4 q5 m: |RETI ;中断退出
) W0 n8 m3 _8 b. b; ~FLASH1: JB 01H,FLASH2 ;01H位为1时,转小时熄灭控制
$ R% m3 n0 d# D/ p. wMOV 72H,7AH ;01H位为0时,"熄灭符"数据放入分0 X: r9 V% l  ~) z2 c% B+ j
MOV 73H,7AH ;显示单元(72H-73H),将不显示分数据
# G! F5 n/ J/ }/ D7 ?( @( J+ b0 w" Q( [MOV 74H,78H ;$ L# z. q- `% T4 o+ K* N  j
MOV 75H,79H ;
9 a- ?) m. q- e: V! N) wAJMP INTT1OUT ;转中断退出
5 u- Q8 Y- i0 eFLASH2: MOV 72H,76H ;01H位为1时,"熄灭符"数据放入小时  S, Q! s/ E- f+ w" L! l! b/ S6 m% b
MOV 73H,77H ;显示单元(74H-75H),小时数据将不显示- X' G4 g1 q8 R& g; L
MOV 74H,7AH ;5 Y9 q9 `2 H( [
MOV 75H,7AH ;
, c/ m  `$ m1 h9 K4 yAJMP INTT1OUT ;转中断退出
1 I0 K! E: h: W;* A/ e! G2 m; ]. i% ]* s. \
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
' S  F, z! N& @* U) D+ d;; 加1子 程 序 ;;
( \( @  M) m. @3 L* y; ~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;. {/ T  m! O9 o4 ^7 U5 e6 Q5 \
;" M7 a7 [! Q" s" e! j
ADD1: MOV A,@R0 ;取当前计时单元数据到A
! Q5 Q5 M* W+ u" P  H# ^6 TDEC R0 ;指向前一地址" K, H& H- j* e- q8 w
SWAP A ;A中数据高四位与低四位交换
! V9 @1 \# d* D3 a/ L- @( AORL A,@R0 ;前一地址中数据放入A中低四位
$ I# h" D" Z1 i6 D/ S1 oADD A,#01H ;A加1操作6 o( C% L  R& x7 j* ?  @0 D
DA A ;十进制调整9 ~8 g) V4 }, X- S7 r
MOV R3,A ;移入R3寄存器$ {: ^/ x- G) Y1 y7 H0 m) R7 y
ANL A,#0FH ;高四位变0
9 v7 s2 j; [, Q1 dMOV @R0,A ;放回前一地址单元
  a4 h2 d& V) |/ ^MOV A,R3 ;取回R3中暂存数据* e9 T9 @  Q; [* b  V9 v9 z
INC R0 ;指向当前地址单元! n% |3 r" u4 p' B+ O& S1 P
SWAP A ;A中数据高四位与低四位交换2 r* O8 A: I: B
ANL A,#0FH ;高四位变04 c5 J$ X6 k2 e, b2 W, k0 i
MOV @R0,A ;数据放入当削地址单元中
! k  q# }, a9 L5 LRET ;子程序返回  r2 g% \- ^/ v$ j& V
;2 R0 M& }. b/ g* O6 C) p& M( w( e
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  Z0 \- S0 r6 B2 c+ R, H9 p;; 清零程序 ;;
5 r' K% ?- H; D# E- m5 \. J;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+ I# J7 [8 o1 l( K9 T6 k; Y5 i8 e
;.............3 y* ^7 W% e1 x0 y) Y0 @/ c
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
% l0 x5 ?$ S) J, C: b4 e/ };; 时钟调整程序 ;;
* {  p/ c9 c1 G6 I- f6 r! A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;& }5 t! T( k* J/ V3 A( N% ^/ j
;当调时按键按下时进入此程序& U7 B( l; h5 O
SETMM: cLR ET0 ;关定时器T0中断
$ b* Y/ w4 x, P* vCLR TR0 ;封闭定时器T0
0 \/ S" T! p8 Q/ M: b! aLCALL DL1S ;调用1秒延时程序5 m% U5 p0 M! P! K  q9 Y5 V8 \
JB P3.7,CLOSEDIS ;键按下时间小于1秒,封闭显示(省电)
9 W. r5 g! c3 b6 }/ XMOV R2,#06H ;进入调时状态,赋闪烁定时初值; v( k/ @2 |5 M
SETB ET1 ;答应T1中断/ c' F  t" Q0 x9 z- q0 x
SETB TR1 ;开启定时器T1
% X; d" S) {9 b# r0 i; S/ l/ D" pSET2: JNB P3.7,SET1 ;P3.7口为0(键未开释),等待
5 b6 }$ c" C+ B8 W1 a& ]& \1 _. `SETB 00H ;键开释,分调整闪烁标志置1
! l8 f0 G; M- d$ I5 SSET4: JB P3.7,SET3 ;等待键按下
+ f7 G* ^. |$ D& jLCALL DL05S ;有键按下,延时0.5秒
8 U7 p6 _1 W0 g: P3 WJNB P3.7,SETHH ;按下时间大于0.5秒转调小时状态
9 |+ _  Z1 B4 x4 kMOV R0,#77H ;按下时间小于0.5秒加1分钟操作
9 {* Z- b1 ]6 H- f$ d' ALCALL ADD1 ;调用加1子程序' h9 @& Q- Q( y: ?
MOV A,R3 ;取调整单元数据
( m2 R; f3 y& [CLR C ;清进位标志
5 y$ [* i, y1 K, }2 tCJNE A,#60H,HHH ;调整单元数据与60比较
. J  w) U: R6 L/ I6 b) MHHH: JC SET4 ;调整单元数据小于60转SET4循环- |: }6 n& n) Y  z! ?
LCALL CLR0 ;调整单元数据大于或即是60时清0
6 b5 v8 I8 `9 YCLR C ;清进位标志
7 f8 G) p3 _% a" tAJMP SET4 ;跳转到SET4循环
) g% V' V' O' }0 ]8 y; i4 I9 JCLOSEDIS: SETB ET0 ;省电(LED不显示)状态。开T0中断# z% u  w( M& i1 U- S
SETB TR0 ;开启T0定时器(开时钟)1 F' g3 `$ j& T
CLOSE: JB P3.7,CLOSE ;无按键按下,等待。
& C' t. M. o8 r/ T& ~3 }LCALL DISPLAY ;有键按下,调显示子程序延时削抖, x9 C7 q% X% a) b; b% U7 w  O
JB P3.7,CLOSE ;是干扰返回CLOSE等待5 ?8 i% b( w1 I/ ?7 F  p' U- l
WAITH: JNB P3.7,WAITH ;等待键开释+ o& t" ~, S! }9 B0 M
LJMP START1 ;返回主程序(LED数据显示亮)9 D- [, X. ~' Y. l
SETHH: CLR 00H ;分闪烁标志清除(进入调小时状态)
( M( p/ t. w, f$ q9 u; O* k8 R3 _SETHH1: JNB P3.7,SET5 ;等待键开释, G9 E  ~5 U! r3 f  \1 L# F
SETB 01H ;小时调整标志置1
$ y; d" K) B/ W* r1 H( n( V" ?SET6: JB P3.7,SET7 ;等待按键按下3 T2 N  q* @, X# D6 y
LCALL DL05S ;有键按下延时0.5秒
1 P3 P; C/ D$ Q6 RJNB P3.7,SETOUT ;按下时间大于0.5秒退出时间调整' T. {( s5 {/ ?5 U0 p0 v
MOV R0,#79H ;按下时间小于0.5秒加1小时操作* x3 S4 P* Q! ^1 j
LCALL ADD1 ;调加1子程序' p* m7 s5 G5 k% b
MOV A,R3 ;
) a# o" H' T4 v. l4 j0 ZCLR C ;5 Z# R' K4 ~, S! Y, K
CJNE A,#24H,HOUU ;计时单元数据与24比较
  l: @6 x$ r! o5 D1 sHOUU: JC SET6 ;小于24转SET6循环
: y6 I( `# P/ X2 I4 T9 _2 ILCALL CLR0 ;大于或即是24时清0操作1 N8 h4 Q& u' I
AJMP SET6 ;跳转到SET6循环
/ Q+ K& ^2 q& o: n' YSETOUT: JNB P3.7,SETOUT1 ;调时退出程序。等待键开释
- n1 s! ~$ u  v" A. ^! V3 {LCALL DISPLAY ;延时削抖
5 s- ]- J# F  i* e8 v" i- vJNB P3.7,SETOUT ;是抖动,返回SETOUT再等待
8 a$ z9 a1 l" M( W+ u) BCLR 01H ;清调小时标志: Y$ E8 @/ b; s  P
CLR 00H ;清调分标志
3 U1 e" d: o9 H0 J$ C$ }2 cCLR 02H ;清闪烁标志+ p9 j! n9 [! p5 v& }
CLR TR1 ;封闭定时器T1/ Y% x- c% t- I' m! j
CLR ET1 ;关定时器T1中断7 M- }$ C. G0 _2 k* O
SETB TR0 ;开启定时器T0
$ e* p% Z5 ~$ K) X- GSETB ET0 ;开定时器T0中断(计时开始)
' Q8 A- \, ?; L& A3 x% X9 B& ]LJMP START1 ;跳回主程序
! C# K4 Y' Y. \/ U$ uSET1: LCALL DISPLAY ;键开释等待时调用显示程序(调分)' t, z& s* z/ n. s4 W$ W
AJMP SET2 ;防止键按下时无时钟显示
/ g' p1 e5 [/ m4 E: b; C! s  b3 x) [+ GSET3: LCALL DISPLAY ;等待调分按键时时钟显示用+ m9 e6 i, [8 Q; r
AJMP SET4  t& K3 z/ o7 F  N8 k
SET5: LCALL DISPLAY ;键开释等待时调用显示程序(调小时)6 t1 \  E+ o5 L- z0 ?! k
AJMP SETHH1 ;防止键按下时无时钟显示9 h# Q0 I1 ?- V5 r% k
SET7: LCALL DISPLAY ;等待调小时按键时时钟显示用
2 w& u* `( B, A1 fAJMP SET6  B9 _7 P2 C8 E) Y$ P: ]. w4 U
SETOUT1: LCALL DISPLAY ;退出时钟调整时键开释等待
: [1 o) s5 r, C- X: qAJMP SETOUT ;防止键按下时无时钟显示9 M) I; z& h: N. h' x& Q7 y2 r" H$ r
;
1 \' K$ r- I4 f# x$ j2 |# u;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ^: D! l" Y/ R! t" h
;; 显示程序 ;;
$ O+ o6 k4 H3 k" s% j;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;( V% Z' G. Y2 x: G. H! o4 M2 F! ^) l
$$$$$$$$$$$$$$$$$$$$$$$$$$$
  k1 y3 g/ I% B& v+ }
;1MS延时程序,LED显示程序用! W4 _5 N  s7 q8 |4 X6 z
DL1MS: MOV R6,#14H- G4 Q; S* \6 ~. _3 M
DL1: MOV R7,#19H5 C( ?. X4 [7 H
DL2: DJNZ R7,DL2
  n" F, Q6 v* v- M8 H9 M8 vDJNZ R6,DL1
& G3 q# x7 D# bRET4 G' |2 `( i! @* Y4 w& \
;20MS延时程序,采用调用显示子程序以改善LED的显示闪烁现象/ F# ^& }  J' U, S; r
DS20MS: ACALL DISPLAY$ ^% D/ |  T) T9 |! _) ~1 a7 q
ACALL DISPLAY
. V+ }- T- f, R1 GACALL DISPLAY" _) K6 G+ [& t# `: S
RET
; V9 d, L6 @. j;延时程序,用作按键时间的长短判定
# }6 U! S7 L5 W6 sDL1S: LCALL DL05S- C4 J4 K! v4 Y
LCALL DL05S! O5 M% D" q: X$ N! d
RET
0 O# Q; Z* A- MDL05S: MOV R3,#20H ;8毫秒*32=0.196秒
+ Q( r4 v# R# s% K/ d8 f1 gDL05S1: LCALL DISPLAY: z, R0 D/ y# ^/ E
DJNZ R3,DL05S1$ w) ?6 Z1 y" Q+ `2 `
RET
# L4 C2 h6 ]/ I5 j, wEND ;程序结束
. Y- t+ @' J0 y& p+ Y8 B
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|粤ICP备13038386号|粤ICP备13038386号|美丽的网站-英华家电维修论坛 ( 粤ICP备13038386号 )     站长邮箱 505966338@qq.com

GMT+8, 2025-11-16 03:22 , Processed in 0.154601 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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