三位循环秒表实验报告 联系客服

发布时间 : 星期日 文章三位循环秒表实验报告更新完毕开始阅读8deb7680bceb19e8b8f6ba46

4. 程序清单

CLR 20H.6 MOV R7,#100 ORG 0000H

LJMP KAISHI ;进主程序

ORG 000BH

LJMP INTT0 ;进中断程序

ORG 0020H

KAISHI:MOV P2,#0FFH ;扫描P2.4

MOV A,P2

CJNE A,#0FFH,XUAN LJMP KAISHI

XUAN: MOV 40H,A LCALL DELAY10 MOV A,P2

CJNE A,40H,KAISHI LJMP KEY0 KEY0: MOV C,P2.4

JC KAISHI

LJMP START

START: MOV 40H,#00H ;程序初始化 MOV 41H,#00H

MOV 42H,#00H SETB 20H.0 SETB 20H.1 SETB 20H.2 SETB 20H.3 CLR 20H.4 CLR 20H.5

MOV R3,#200

MOV TMOD ,#00000001B MOV TCON,#00010000B MOV TL0,#0F0H

MOV TH0, #0D8H MOV IE ,#10000010B

MAIN: MOV C,P2.5 ;中断等待程序 JNC C2 C1:JB 20H.0,A1 JB 20H.1,A2 JB 20H.2,A3

JB 20H.6,START

A1: LCALL DISPLAY ;数码管一位显示

LJMP MAIN

A2: LCALL DISPLAY1 ;数码管二位显示

LJMP MAIN

A3:LCALL DISPLAY2 ;数码管三位显示 LCALL DL2MS DJNZ R3,MAIN MOV 40H,#9 MOV 41H,#9 CLR 20H.2 SETB 20H.1 LJMP MAIN C2: LCALL DISPLAY1 CLR TR0

LJMP C2

INTT0: JB 20H.3,B1 ;开始中断程序 JB

CJNE A,#255,INTTOUT1 MOV 40H,#9

20H.4,B2 DEC 41H

JB 20H.5,B3

B1: MOV TL0,#0F0H ;进入加一程序

MOV TH0, #0D8H

DJNZ R7,INTTOUT1 MOV R7,#100 INC 40H MOV A,40H CJNE A,#10,INTTOUT1

MOV 40H,#00H CLR 20H.0 SETB 20H.1 INC 41H

MOV A,41H

CJNE A,#10,INTTOUT1 MOV 41H,#00H CLR 20H.1 INC 42H SETB 20H.2 CLR 20H.3 SETB 20H.4

RETI

B2: MOV TL0,#0F0H;进入二位减一程序

MOV TH0, #0D8H

DJNZ R7,INTTOUT1 MOV R7,#100

DEC 40H

MOV A,40H

MOV A,41H

CJNE A,#0,INTTOUT1

CLR 20H.1

SETB 20H.0 CLR 20H.4

SETB 20H.5

MOV 40H,#9

RETI

B3: MOV TL0,#0F0H;进入一位减一程序

MOV TH0, #0D8H

DJNZ R7,INTTOUT1 MOV R7,#100

DEC 40H MOV A,40H

CJNE A,#0,INTTOUT1 CLR 20H.5 CLR TR0

CLR 20H.0

CLR 20H.1 CLR 20H.2 CLR 20H.3 CLR 20H.4

CLR 20H.5

SETB 20H.6

RETI INTTOUT1: RETI

DISPLAY: MOV DPTR,#TAB ;

调用一位数码管显示

MOV A,40H MOVC A,@A+DPTR MOV P0,A CLR P2.3 LCALL DL2MS SETB P2.3

RET

DISPLAY1: MOV DPTR,#TAB;调用两位

数码管程序

MOV A,40H MOVC A,@A+DPTR MOV P0,A CLR P2.3 LCALL DL2MS

SETB P2.3

MOV A,41H

MOVC A,@A+DPTR

MOV P0,A CLR P2.2 LCALL DL2MS

SETB P2.2

RET

DISPLAY2: MOV DPTR,#TAB;调用三位

数码管程序

MOV A,40H MOVC A,@A+DPTR MOV P0,A

CLR P2.3

LCALL DL2MS SETB P2.3 MOV A,41H MOVC A,@A+DPTR MOV P0,A CLR P2.2 LCALL DL2MS

SETB P2.2 MOV A,42H

MOVC A,@A+DPTR MOV P0,A CLR P2.1 LCALL DL2MS SETB P2.1

RET

DELAY: MOV R6,#50 ;延时程序 D1: MOV R5,#199 D2: MOV R4,#124 D33: DJNZ R4,D33 DJNZ R5,D2 DJNZ R6,D1

RET

DELAY10:MOV R1,#20 ,延时程序 D3: MOV R2,#250 D4: DJNZ R2,D4 DJNZ R1,D3 RET

DL2MS: MOV 34H,#20 ;延时程序 DL1: MOV 35H,#40

DL2: DJNZ 35H,DL2 DJNZ 34H,DL1

RET

TAB: 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 ;013456789字形码 END

5.性能测试与测量方法

5.1测量方法

将手机秒表测量时间作为标准时间T0,让设计的秒表与手机高精度秒表同时开始计时,当设计的秒表计时T1=600s时,按下手机停止计时按键。则绝对误差=|T1?T0|,相对误差=5.2测量记录 测量次数 1 2 3 4 5 秒表显示时间 600s 600s 600s 600s 600s 平均误差 表1 测量记录

标准测量时间 598.22s 598.25s 598.20s 598.21s 598.23s 绝对误差 1.78s 1.75s 1.80s 1.79s 1.77s 1.78s 相对误差 0.298% 0.293% 0.300% 0.299% 0.296% 0.297% |T1?T0|*100%。多次测量求平均值,得出准确精度。 T0