设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2011-6-11 20:13:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
51单片机作的电子钟程序在很多地方已经有了介绍, 对于单片机学习者而言这个程序基本上是一道门槛,掌握了电子钟程序, 基本上可以说51单片机就掌握了80%。常见的电子钟程序由显示部分, 计算部分, 时钟调整部分构成。 - Y$ q1 @) `. @  u& z: J3 L' k
    时钟的基本显示原理:时钟开始显示为0时0分0秒,也就是数码管显示000000,然后每秒秒位加1 ,到9后,10秒位加1,秒位回0。10秒位到5后,即59秒 ,分钟加1,10秒位回0。依次类推,时钟最大的显示值为23小时59分59秒。这里只要确定了1秒的定时时间, 其他位均以此为基准往上累加。 - l# c* x/ o$ k  Y# S$ _6 {* A
    开始程序定义了秒, 十秒, 分, 十分,小时, 十小时,共6位的寄存器, 分别存在30h,31h,32h,33h,34h,35h单元,便于程序以后调用和理解。
  V  Z8 a' ^. k  G  U6 _- z    6个数码管分别显示时、分、秒,一个功能键,可以切换调整时分秒、增加数值、熄灭节电等功能全部集一键。
# u4 T# g3 ~" k0 w6 e9 S/ K0 X" z8 Q/ y7 X' M

6 R! k0 O- H( b, ^

- [; m/ Y# d8 y. Q/ U& [
以下是部分汇编源程序,购买我们产品后我们用光盘将完整的单片机汇编源程序和烧写文件送给客户。
! Q4 f3 B7 q2 v0 E& E, M;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
/ x9 S+ ^7 Q  @  H;; 中断入口程序 ;;  (仅供参考)
7 B7 @9 c7 A* [$ e5 T;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;% w* K& e+ L+ h/ F8 w/ t
;' B2 V' t9 u, [8 }9 d& t
ORG 0000H ;程序执行开始地址5 z. C7 l3 T6 K* x" G- i
LJMP START ;跳到标号START执行
& z: w! L$ M' C/ ]8 CORG 0003H ;外中断0中断程序入口4 o* \3 q& d8 U
RETI ;外中断0中断返回
" W) _; }7 b* ~! c3 X" M5 t1 LORG 000BH ;定时器T0中断程序入口1 S$ l" V! E8 H2 T
LJMP INTT0 ;跳至INTTO执行
" k( s7 W5 ?8 ^, b+ ]- o+ V; {ORG 0013H ;外中断1中断程序入口
, x7 G8 b- B% r+ BRETI ;外中断1中断返回
) U. c0 {. Y* [/ r' m4 F' I" W1 B- ?! QORG 001BH ;定时器T1中断程序入口& u/ P( t; e2 f6 }" q: I2 M
LJMP INTT1 ;跳至INTT1执行2 ^( X! Y+ J: G5 U, o
ORG 0023H ;串行中断程序入口地址7 F& k9 O. B" u& i! \
RETI ;串行中断程序返回

2 s+ e: w8 A) |7 q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;* ]/ x' X2 m: X% X
;; 主 程 序 ;;) {, g( v3 l. \7 M) |: E# r5 ~
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  q5 p/ n% q( p% R0 g" R& H;
6 O7 A& G+ u0 I" ~9 i( OSTART: MOV R0,#70H ;清70H-7AH共11个内存单元
( g: d( @  C( t$ T% hMOV R7,#0BH
) V3 S; \* t# |$ }0 J9 q3 l' F% r;clr P3.7 ;. ~+ Z' P( {+ h4 s  J
CLEARDISP: MOV @R0,#00H ;
2 ?$ {3 l4 o7 F0 Q% c' {INC R0 ;# {; g% m9 D$ p) N6 d9 ^, b
DJNZ R7,CLEARDISP ;" S6 f5 I9 J. t1 d( ~- d# v
MOV 20H,#00H ;清20H(标志用)
/ u& `2 T- t# @6 B8 J- rMOV 7AH,#0AH ;放入"熄灭符"数据2 R3 Y/ b& i3 i) }" F* y' K
MOV TMOD,#11H ;设T0、T1为16位定时器
' _* n8 a3 [5 D: E' \. @$ C4 dMOV TL0,#0B0H ;50MS定时初值(T0计时用)' K* J2 S$ {- q
MOV TH0,#3CH ;50MS定时初值
( B$ f) z$ Q5 n0 L2 d3 L( DMOV TL1,#0B0H ;50MS定时初值(T1闪烁定时用)
) g$ G$ C8 {2 Y; d+ {4 A4 H: P7 PMOV TH1,#3CH ;50MS定时初值
, @6 b6 m$ n8 t3 F7 c: E$ lSETB EA ;总中断开放
' I( e( V$ ?! L, M' A+ HSETB ET0 ;答应T0中断7 \" {  m' M5 @, r1 O9 K
SETB TR0 ;开启T0定时器
/ V: `6 v" P5 v- g) VMOV R4,#14H ;1秒定时用初值(50MS×20)* `6 Z/ W0 Y* R' A8 {2 \' ^' U8 r/ w
START1: LCALL DISPLAY ;调用显示子程序
0 L5 M# }: w4 Y9 aJNB P3.7,SETMM1 ;P3.7口为0时转时间调整程序 % v( p2 T5 I: v7 o! {/ j3 h% t; v
SJMP START1 ;P3.7口为1时跳回START1
+ y( W; |, g, M7 l, i' k4 i; SSETMM1: LJMP SETMM ;转到时间调整程序SETMM% z. B# @! D) E4 Z5 x
;# _9 I* v( z8 N  w" W0 k- |* R
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8 _( d. q) d- |% R1 f+ V
;; 1秒计时程序 ;;& X1 U. q: J, ^$ \9 S4 q) H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3 E/ P, ?7 n' C8 g! t
;T0中断服务程序& Q+ d( X& Y' F
INTT0: PUSH ACC ;累加器入栈保护9 o- R# A6 o0 A  @
PUSH PSW ;状态字入栈保护0 f3 q) F& Q7 X$ e4 K! Z
CLR ET0 ;关T0中断答应
! C2 d: X; ~7 uCLR TR0 ;封闭定时器T05 J# `( V% j6 O3 F) e% W
MOV A,#0B7H ;中断响应时间同步修正
4 m1 o+ J, ]: d# b+ u& C$ f1 Y" W: {+ IADD A,TL0 ;低8位初值修正
) T1 ]1 ]- y! P5 P6 I# p# }, ?MOV TL0,A ;重装初值(低8位修正值)
' }; J' L: D7 O! x( D9 J* x9 XMOV A,#3CH ;高8位初值修正
0 ~8 I$ Y2 a) E; hADDC A,TH0 ;
, w" j, @& z6 \7 J; h% cMOV TH0,A ;重装初值(高8位修正值)7 a  K# G. `' W! `$ ~" R
SETB TR0 ;开启定时器T0
) k9 r; R% Y) z( |; G4 u" }DJNZ R4, OUTT0 ;20次中断未到中断退出( o1 R: ^9 T  Z$ L
ADDSS: MOV R4,#14H ;20次中断到(1秒)重赋初值: L* @" g& k+ n7 S& v6 t- Z
MOV R0,#71H ;指向秒计时单元(71H-72H)
; g% c6 w# M  Z  \ACALL ADD1 ;调用加1程序(加1秒操作)
0 ?2 |- N$ l4 Q0 y/ FMOV A,R3 ;秒数据放入A(R3为2位十进制数组合)8 u. b( z  G7 ~$ f
CLR C ;清进位标志
6 @4 }. K2 y+ U' nCJNE A,#60H,ADDMM ;6 @; x! F6 x# v( H3 ]. L
ADDMM: JC OUTT0 ;小于60秒时中断退出1 F$ Y; c' q/ o
ACALL CLR0 ;大于或即是60秒时对秒计时单元清0; J/ n7 s; \. Q# ]
MOV R0,#77H ;指向分计时单元(76H-77H)
: p- G) }0 d' k) A! w3 x6 ZACALL ADD1 ;分计时单元加1分钟
1 X( a/ |. O3 W( N: J1 w6 N: P; PMOV A,R3 ;分数据放入A# Y7 L* c2 Z# {2 p9 O
CLR C ;清进位标志4 d0 Z- W5 e% f3 |0 H  X
CJNE A,#60H,ADDHH ;8 C: N- A( g8 y0 N, Q) v
ADDHH: JC OUTT0 ;小于60分时中断退出
3 s/ j, H8 g, J' ~% G, M7 [ACALL CLR0 ;大于或即是60分时分计时单元清0
  ^& e3 ~; N$ Z/ W3 k; @& G) kMOV R0,#79H ;指向小时计时单(78H-79H)' r, E  |* _4 n: d
ACALL ADD1 ;小时计时单元加1小时
8 r% {8 _2 C+ m: }8 `MOV A,R3 ;时数据放入A) o. Z/ K0 v* \+ i" {) ^
CLR C ;清进位标志2 d2 z. L& `5 k
CJNE A,#24H,HOUR ;2 t: i- b& G! U
HOUR: JC OUTT0 ;小于24小时中断退出
. Q& y4 I  R2 Q$ r! XACALL CLR0 ;大于或即是24小时小时计时单元清0# ^9 l% C7 P; {
OUTT0: MOV 72H,76H ;中断退出时将分、时计时单元数据移
* x( f( A: y3 Q% t; pMOV 73H,77H ;入对应显示单元
8 z2 ?* `+ w5 t$ J, E! S! N. ~MOV 74H,78H ;: W& A6 |1 o- n8 O3 \
MOV 75H,79H ;
* \5 |$ {# W. G5 l3 D/ L" V' E5 M$ uPOP PSW ;恢复状态字(出栈)
' ^! B5 B: j+ s. B: F( XPOP ACC ;恢复累加器
& [5 ]! w  H4 L  E1 F$ bSETB ET0 ;开放T0中断+ C, f0 {8 q/ @! @3 {+ u6 n- G: e
RETI ;中断返回6 t7 }3 _8 W6 A. E5 f
;9 E! ?- D2 \2 ]% U* j/ F) ]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ `  A" c( m) \: n% O;; 闪动调时 程 序 ;;
5 W9 L8 b& g  h: M; m* u7 |3 U2 _( Z;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2 I& }" m! Y$ p( B( s" q;T1中断服务程序,用作时间调整时调整单元闪烁指示
) I- c( V" k" N  \& _INTT1: PUSH ACC ;中断现场保护
  a6 ~" W3 h6 cPUSH PSW ;- o4 r& A+ j, R! h
MOV TL1, #0B0H ;装定时器T1定时初值" U! X! B# q- f* U
MOV TH1, #3CH ;$ c/ ~2 }+ {, V1 v. ~
DJNZ R2,INTT1OUT ;0.3秒未到退出中断(50MS中断6次)6 q; A8 q4 _# P5 w* r
MOV R2,#06H ;重装0.3秒定时用初值
/ ~6 y3 n# ]9 Q$ M/ g. [2 rCPL 02H ;0.3秒定时到对闪烁标志取反+ X: E' [- S: a/ G- A3 p/ M# q7 t
JB 02H,FLASH1 ;02H位为1时显示单元"熄灭"8 v! l, [/ K! E
MOV 72H,76H ;02H位为0时正常显示
- b4 o; O5 g- f: z% E2 rMOV 73H,77H ;
0 C. k4 q7 G) _9 bMOV 74H,78H ;' S5 r  ~& @$ u* y2 _: I1 T
MOV 75H,79H ;8 X/ E& h4 L  ], ~
INTT1OUT: POP PSW ;恢复现场
* o: W2 A$ z5 d9 i4 RPOP ACC ;
$ ]0 h% u7 c+ M- jRETI ;中断退出0 U$ m8 e! u% }
FLASH1: JB 01H,FLASH2 ;01H位为1时,转小时熄灭控制
" j! e" b; Z2 k/ q% V9 x) N0 FMOV 72H,7AH ;01H位为0时,"熄灭符"数据放入分
+ @. C5 L( V" b# K' OMOV 73H,7AH ;显示单元(72H-73H),将不显示分数据
- N1 ?, l$ n3 I! vMOV 74H,78H ;4 G- K  @( h2 y- c/ `
MOV 75H,79H ;
, c  Q$ B# ~* @# dAJMP INTT1OUT ;转中断退出8 a1 d5 e) N( t
FLASH2: MOV 72H,76H ;01H位为1时,"熄灭符"数据放入小时
! g6 E1 {  H; a9 U; E2 F  M. s" MMOV 73H,77H ;显示单元(74H-75H),小时数据将不显示' X! w- {2 g' ?" H6 x' \; r
MOV 74H,7AH ;, p- D* ~- l, X+ B6 A
MOV 75H,7AH ;" \1 f* z+ q9 r* D2 k. ?
AJMP INTT1OUT ;转中断退出
- g+ m1 r0 t+ b. o% a$ m* x;, [7 h# K. }- d: w
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;) l' E# m1 _2 z* H6 \
;; 加1子 程 序 ;;; Z: z' J- J) y1 U. T
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;- ]$ h$ ?) c+ L
;$ l2 D6 H3 d5 Q
ADD1: MOV A,@R0 ;取当前计时单元数据到A  n$ r9 [7 v5 }% E
DEC R0 ;指向前一地址3 d0 G! ^6 h  l& E; [# \
SWAP A ;A中数据高四位与低四位交换
( c: k0 D* A& }+ i+ E- j& D3 CORL A,@R0 ;前一地址中数据放入A中低四位5 t+ G1 Q1 o2 f
ADD A,#01H ;A加1操作
8 m4 S3 P7 |( \+ m" s5 {DA A ;十进制调整- p: S# B/ B' G* O4 ~  v1 E1 f) U
MOV R3,A ;移入R3寄存器
' e+ ~) i* \) x1 g4 p$ g9 EANL A,#0FH ;高四位变0$ Y' u( y0 I, n- ~0 s, ]
MOV @R0,A ;放回前一地址单元
8 ~: t' k" _" q; A% H+ Q4 wMOV A,R3 ;取回R3中暂存数据: l( J" ^! N3 E" v
INC R0 ;指向当前地址单元
7 r4 Z" B, c% ?( ?SWAP A ;A中数据高四位与低四位交换
6 ^7 g7 {: f' @8 qANL A,#0FH ;高四位变08 [! u  _/ x% D' d( k* \
MOV @R0,A ;数据放入当削地址单元中
* n" m9 N$ D8 ], }RET ;子程序返回
. g# i6 K2 E3 S3 a# U( x;" O1 R8 \9 v( s+ x( U1 i  X/ {
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;( E) e; G& ?- Q  T& D2 x
;; 清零程序 ;;
, N$ B: [; U6 G8 A. \8 R;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3 `  P+ j, t* P& B# V# u
;.............
' ~$ U2 _9 J4 H# G2 T;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
: i* n$ ~4 ^! c" I5 x; o  v" ^;; 时钟调整程序 ;;, B0 b# G& G, S/ U! L& N5 ~
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1 Q8 B! e. a  g- ];当调时按键按下时进入此程序
1 T0 x# o6 G4 u! E% lSETMM: cLR ET0 ;关定时器T0中断
' A/ m' O* S# O- i1 nCLR TR0 ;封闭定时器T0
) _5 R4 w; P, U7 KLCALL DL1S ;调用1秒延时程序! D0 t* \/ \2 \* f; [7 U
JB P3.7,CLOSEDIS ;键按下时间小于1秒,封闭显示(省电)
6 v  g2 r( Z: R. V! y; P* ]2 uMOV R2,#06H ;进入调时状态,赋闪烁定时初值
/ f0 B1 P# `; }+ m- jSETB ET1 ;答应T1中断* t' H8 c  `) V4 ?) d6 k
SETB TR1 ;开启定时器T1; x1 J: C& n' ?/ `1 e
SET2: JNB P3.7,SET1 ;P3.7口为0(键未开释),等待# L8 ^# N* {: U2 K1 l  I; D
SETB 00H ;键开释,分调整闪烁标志置1% i+ [: L: a* d8 ~2 o
SET4: JB P3.7,SET3 ;等待键按下
# u6 J8 N2 g( h! k9 j4 YLCALL DL05S ;有键按下,延时0.5秒
5 Z) g5 f' t" iJNB P3.7,SETHH ;按下时间大于0.5秒转调小时状态6 B1 d( L. g& k+ j
MOV R0,#77H ;按下时间小于0.5秒加1分钟操作1 K9 H/ }" F& k( H# e: J
LCALL ADD1 ;调用加1子程序
$ n9 S* h' L/ w% NMOV A,R3 ;取调整单元数据
' h% i, ~, {* A' h' gCLR C ;清进位标志
2 \1 s! w! [4 X9 X* s  cCJNE A,#60H,HHH ;调整单元数据与60比较
# K' g, N1 u) ]* e9 VHHH: JC SET4 ;调整单元数据小于60转SET4循环' e/ c* C8 e# t! U* y, S( H
LCALL CLR0 ;调整单元数据大于或即是60时清0: n! Z9 B* q4 b& l+ I# d
CLR C ;清进位标志
! h4 x) g- ?) W2 k9 iAJMP SET4 ;跳转到SET4循环( N; B3 W4 O% l
CLOSEDIS: SETB ET0 ;省电(LED不显示)状态。开T0中断( `- X# w! Z! o( i3 m
SETB TR0 ;开启T0定时器(开时钟)
) ^5 G% i, u) _, `# z: Z! Y# G# nCLOSE: JB P3.7,CLOSE ;无按键按下,等待。' ?: Z2 A+ [1 i3 _3 C
LCALL DISPLAY ;有键按下,调显示子程序延时削抖$ E! f9 O8 _$ r1 s0 b. E' l
JB P3.7,CLOSE ;是干扰返回CLOSE等待
5 R' B8 h* k: T, P6 oWAITH: JNB P3.7,WAITH ;等待键开释7 G) Q+ u- ]7 D" t
LJMP START1 ;返回主程序(LED数据显示亮)
1 v& Z# J" d0 z) ~SETHH: CLR 00H ;分闪烁标志清除(进入调小时状态)
$ Q6 y) o6 g4 {- k) r; U& U( DSETHH1: JNB P3.7,SET5 ;等待键开释
" w" ?! z2 l0 X! E; Q& _; g1 U) xSETB 01H ;小时调整标志置13 V8 J; l) w$ g# D0 z
SET6: JB P3.7,SET7 ;等待按键按下: d8 E& k  |6 y- ?  s0 R
LCALL DL05S ;有键按下延时0.5秒" Q. Y" u$ q# A2 C
JNB P3.7,SETOUT ;按下时间大于0.5秒退出时间调整
0 H5 a% k' l: [' o( Z$ TMOV R0,#79H ;按下时间小于0.5秒加1小时操作' l% U0 R& l0 d
LCALL ADD1 ;调加1子程序
- I- [; L- G6 B* r0 tMOV A,R3 ;
8 o  k1 l( n# @$ ~CLR C ;
! Y; j( t6 Z/ R) {, V( s* ECJNE A,#24H,HOUU ;计时单元数据与24比较4 K/ L5 T5 }8 |2 F) l, H& q
HOUU: JC SET6 ;小于24转SET6循环' ^5 [# N" G' H; Z9 ?
LCALL CLR0 ;大于或即是24时清0操作* _$ f" g5 r5 R0 u5 l4 @- I
AJMP SET6 ;跳转到SET6循环5 [  U  S+ `8 |3 c* C
SETOUT: JNB P3.7,SETOUT1 ;调时退出程序。等待键开释
" {' ?, ^% O7 FLCALL DISPLAY ;延时削抖3 O/ X' U" f/ u8 b3 ~5 f% w
JNB P3.7,SETOUT ;是抖动,返回SETOUT再等待3 R, l2 B7 }+ n/ A' Q
CLR 01H ;清调小时标志7 m* p4 V; j8 s; C" ?6 R
CLR 00H ;清调分标志
& q" l8 f  j6 x+ z% VCLR 02H ;清闪烁标志2 ~# B2 e  k2 L4 f; U
CLR TR1 ;封闭定时器T14 u) o- i: C" k3 K
CLR ET1 ;关定时器T1中断; M& [* [! \! l$ Y' D7 B
SETB TR0 ;开启定时器T03 W* E1 Z+ S; J0 J3 [' e: ^
SETB ET0 ;开定时器T0中断(计时开始)
' ^3 M0 s( Y, A; }- MLJMP START1 ;跳回主程序
. X$ y( H$ g3 D" _* F6 Y5 gSET1: LCALL DISPLAY ;键开释等待时调用显示程序(调分)
4 Q7 m: ^6 f( e5 N& j( _' T; TAJMP SET2 ;防止键按下时无时钟显示
2 N/ N1 i! F5 X& |SET3: LCALL DISPLAY ;等待调分按键时时钟显示用
, j$ \5 v0 q' OAJMP SET4
2 q0 r3 y1 N0 nSET5: LCALL DISPLAY ;键开释等待时调用显示程序(调小时)" B! {0 d; J8 [' g# l
AJMP SETHH1 ;防止键按下时无时钟显示
. Q8 z* W* ]7 d* D. qSET7: LCALL DISPLAY ;等待调小时按键时时钟显示用
) |0 R: v! p9 v# yAJMP SET6
7 m2 M, i1 W* w- l( o  n' h7 ~SETOUT1: LCALL DISPLAY ;退出时钟调整时键开释等待
3 @- u0 t8 b9 m9 ~3 T! CAJMP SETOUT ;防止键按下时无时钟显示+ w+ I: _4 r5 Z; l
;* k; `. D2 V" M0 I+ f
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
7 B8 d" U8 b& V! P& ^: A: V;; 显示程序 ;;( }+ m! Q( h' K' I
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
4 k  ?  C  x4 R4 b$$$$$$$$$$$$$$$$$$$$$$$$$$$

7 ], e" `& v  C) B1 n# _, J* u;1MS延时程序,LED显示程序用0 X- s5 e8 |6 Q' b# i4 C, S$ _
DL1MS: MOV R6,#14H
4 z! I6 t7 ]' \, `' T" b) v: {$ NDL1: MOV R7,#19H
2 E" T! i+ P3 eDL2: DJNZ R7,DL21 g- O" H4 p# `) @' ^
DJNZ R6,DL11 m8 {/ h4 F) E8 q: l- P; ?# D& X
RET
, a+ G- Z- e& m$ K6 W;20MS延时程序,采用调用显示子程序以改善LED的显示闪烁现象4 G/ h! }. i- V/ \" e0 ^! j
DS20MS: ACALL DISPLAY
8 {5 h7 c( [. H4 t" E! HACALL DISPLAY
9 l9 n' t+ y* B6 lACALL DISPLAY
$ ^) f1 ]0 V/ I2 L; ]  wRET
' S5 o, z. P( P2 T# v$ V;延时程序,用作按键时间的长短判定" Q$ B9 X3 O# S2 B4 M  A2 H$ {
DL1S: LCALL DL05S
# g9 L! K+ |7 j, `LCALL DL05S
8 Z  T4 n% e9 m) o) _2 X8 URET# y/ w% I( B! S, B, K- T. ~
DL05S: MOV R3,#20H ;8毫秒*32=0.196秒
8 b7 P# D* f0 z/ v1 l$ x$ ADL05S1: LCALL DISPLAY, ~& ^, |- w7 U+ }5 _
DJNZ R3,DL05S10 D4 d% Z* g* V
RET. m$ @$ `  q9 J  U
END ;程序结束

! Y5 x* N; p2 V- I+ E+ {3 Z' z
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
回复

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2026-10-29 20:54 , Processed in 0.147639 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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