四位秒表程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

重赏之下心有勇夫^_^

;汇编时钟程序。4位共阳管。P0口段码,P2.0~P2.3位码。显示毫秒和秒。三个按键一个控制时钟开始走,一个控制暂停和继续。。。一个按键清0

;12M晶振 2011 04 20 调试完成

STRT EQU P3.2

STP EQU P3.3

CLRR EQU P3.5

ORG 00H

SJMP MAIN

ORG 0BH

AJMP T0INT

ORG 30H

MAIN: MOV SP,#60H

MOV R3,#10

MOV R4,#20

MOV TMOD,#01H ;定时器T0工作方式1

MOV TH0,#0D8H ;10MS定时初值

MOV TL0,#0F0H

SETB ET0

SETB EA

k1: LCALL DISP

JB STRT,K2

LCALL DISP

JNB STRT,$-3

AJMP START

k2: LCALL DISP

JB STP,K3

LCALL DISP

JNB STP,$-3

AJMP SS

K3: LCALL DISP

JB CLRR,K1

LCALL DISP

JNB CLRR,$-3

AJMP CLEAR

START: SETB TR0

CLR F0 ;如无此条,暂停后,不是按继续键,而是按开始键继续走时,下次按暂停键时,不能暂停

AJMP K1

SS: CPL F0

JNB F0,START

STOP: CLR TR0

AJMP K2

CLEAR: CLR TR0

MOV A,#0

MOV 20H,A

MOV 21H,A

MOV 22H,A

MOV 23H,A

MOV 24H,A

MOV 25H,A

AJMP K3

DISP: MOV A,24H

MOV B,#10

DIV AB

MOV 20H,B ;余数(MS个位数)

MOV 21H,A ;商(MS十位数)

MOV A,25H

MOV B,#10

DIV AB

MOV 22H,B ;余数(S个位数)

MOV 23H,A ;商(S十位数)

MOV A,20H ;MS个位

ACALL SEG7

MOV P0,A

SETB P2.4

ACALL DLY

CLR P2.4

MOV A,21H ;MS十位

ACALL SEG7

MOV P0,A

SETB P2.5

ACALL DLY

CLR P2.5

MOV A,22H ;S个位

ACALL SEG7

MOV P0,A

CLR P0.7

SETB P2.6

ACALL DLY

CLR P2.6

MOV A,23H ;S十位

ACALL SEG7

MOV P0,A

SETB P2.7

ACALL DLY

CLR P2.7

RET

T0INT: MOV TH0,#0D8H MOV TL0,#0F0H

INC 24H

MOV A,24H

CJNE A,#99,T0INTR

MOV 24H,#0

INC 25H

MOV A,25H

CJNE A,#60,T0INTR

MOV 25H,#0

T0INTR: RETI

DLY: MOV R7,#10

D1: MOV R6,#50

DJNZ R6,$

DJNZ R7,D1

RET

SEG7: INC A

MOVC A,@A+PC

RET

DB 0C0H;0

DB 0F9H;1

DB 0A4H;2 DB 0B0H;3 DB 099H;4 DB 092H;5 DB 082H;6 DB 0F8H;7 DB 080H;8 DB 090H;9 END

2

STRT EQU P1.0

CLRR EQU P1.1

ORG 00H

AJMP MAIN

ORG 0BH

AJMP T0INT0

ORG 30H

MAIN:

MOV SP,#60H

MOV R4,#20

MOV TMOD,#01H

MOV TH0,#3CH;12M晶振时定时初值取#3CB0H,还可细调如TL=#0B7H,可以更准MOV TL0,#0B0H

SETB ET0

SETB EA

k1:

ACALL DISP ;开始/暂停键

JB STRT,K2

ACALL DISP

JNB STRT,$-2

AJMP K1

K2:

JB CLRR,K1

ACALL DISP

JNB CLRR,$-2

MOV A,#0

CLR TR0

MOV 26H,A

MOV 27H,A

MOV 28H,A

AJMP K2

DISP:

MOV A,26H

MOV B,#10

DIV AB

MOV 20H,B ;余数(百分秒位数)MOV 21H,A ;商(十分秒位数)MOV A,27H

MOV B,#10

DIV AB

MOV 22H,B ;余数(秒个位数)MOV 23H,A ;商(秒十位数)MOV A,28H

MOV B,#10

DIV AB

MOV 24H,B ;余数(分个位数)MOV 25H,A ;商(分十位数)

MOV A,20H ;百分秒?

ACALL SEG7

MOV P0,A

CLR P2.3

ACALL DLY

SETB P2.3

MOV A,21H ;十分秒

ACALL SEG7

MOV P0,A

相关文档
最新文档