找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

求救 急急急急急急急急急 此程序我分析不来了

[复制链接]
admin 发表于 2012-9-2 09:16:00 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

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

×
ORG 0000H
AJMP START
ORG 0003H
LJMP ST1
ORG 000BH
AJMP TT0
ORG 0030H
START: MOV 30H,#00H ;秒个位内存单元
MOV 31H,#00H ;秒十位内存单元
MOV 32H,#00H ;分个位内存单元
MOV 33H,#00H ;分十位内存单元
MOV 34H,#00H ;时个位内存单元
MOV 35H,#00H ;时十位内存单元
MOV TMOD,#01H ;定时器T0,工作方式1,
MOV TH0,#3CH ;定时50MS
MOV TL0,#0B0H ;
MOV R0,#30H ;指针指向显示单元
MOV R5,#0FEH ;选中秒个位
MOV R1,#20 ;
MOV 36H,#00H ;时位键盘判断时用
MOV R3,#6 ;秒十位判断时用
MOV R2, #6 ;分十位判断时用
MOV R4,#10 ;
MOV 40H,#10
MOV IE, #81H ;
SETB EA ;开中断
SETB ET0 ;开T0中断
SETB TR0 ;记时开始
MAIN: LCALL DIS
LJMP MAIN

;#################显示子程序###################

DIS: MOV A,R5 ;先位码

MOV DPTR,#7FFFH ;位码选择p2.7

MOVX @DPTR,A

MOV A,@R0 ;再段码

MOV DPTR,#TAB ;表地址

MOVC A,@A+DPTR ;查表

MOV DPTR,#0BFFFH ;段码选择p2.6

;###############显示小数点###################

CJNE R0,#32H,GO111 ;小数点选择(R0)=/=32H转移

ORL A,#80H

GO111: CJNE R0,#34H,MIN

ORL A,#80H



MIN: MOVX @DPTR,A ;送出去显示

LCALL DELAY ;1MS延时

LCALL DELAY

LCALL DELAY

INC R0 ;修改指针指向下一显示单元

MOV A,R5 ;也可写为XCH A,R5



JNB ACC.5,LH ;判断显示完否?

RL A ;也可写为XCH R5,A

MOV R5,A

AJMP ENR ;返回循环显示

LH: MOV R0,#30H ;重心定义显示指针

MOV R5,#0FEH ;重设位码,形成循环ACC.0-ACC.3

ENR: RET

;###############定时中断###########################

TT0:

MOV TH0,#3CH ;

MOV TL0,#0B0H ;

DJNZ R1,FANHUI ;判断1秒到否?未到跳转

MOV R1,#20 ;

INC 30H ;秒个位加一

DJNZ R4,FANHUI ;判断10秒到否?未到跳转

MOV R4,#10 ;

MOV 30H,#00H ;

INC 31H ;

DJNZ R3,FANHUI ;

MOV R3,#6 ;

MOV 31H,#00H ;

INC 32H

DJNZ 40H,FANHUI ;

MOV 40H,#10

MOV 32H,#00H

INC 33H

DJNZ R2,FANHUI

MOV R2,#6

MOV 33H,#00H

INC 36H ;时位判断时用

MOV A,36H

CJNE A,#24,JUMP

MOV 36H,#00H

JUMP: MOV A,36H

MOV B,#10

DIV AB

MOV 34H,B

MOV 35H,A





FANHUI: RETI

;*********键盘处理程序***********

ST1: CLR EX0 ;键盘1判断时用

PUSH B

PUSH ACC

JB P1.0,ST2

LCALL DELAY111

JNB P1.0,$

LCALL DELAY111

DJNZ R3,GO

MOV R3,#6

GO: INC 31H

MOV A,31H

CJNE A,#6,$+3

JNB P1.0,$

JC ST2

MOV 31H,#00H

MOV A,31H

ST2: JB P1.1,ST3 ;键盘2判断时用

LCALL DELAY111

JNB P1.1,$

LCALL DELAY111

DJNZ 40H,GO1

MOV 40H,#10

GO1: INC 32H

MOV A,32H

CJNE A,#10,$+3

JNB P1.1,$

JC ST3

MOV 32H,#00H

MOV A,32H



ST3: JB P1.2,ST4 ;键盘3判断时用

LCALL DELAY111

JNB P1.2,$

LCALL DELAY111

DJNZ R2,GO2

MOV R2,#6

GO2: INC 33H

MOV A,33H

CJNE A,#6,$+3

JNB P1.2,$

JC ST4

MOV 33H,#00H

MOV A,33H

ST4: JB P1.3,ST6 ;键盘4判断时用

LCALL DELAY111

JNB P1.3,$

LCALL DELAY111

INC 36H

MOV A,36H

CJNE A,#24,JUMP1

MOV 36H,#00H

JUMP1: MOV A,36H

MOV B,#10

DIV AB

MOV 34H,B

MOV 35H,A

ST6: POP ACC ;键盘中断返回

POP B

SETB EX0

RETI

;##########延时1MS子程序###########

DELAY: MOV R7,#02H

DE1: MOV R6,#0FEH

DE2: DJNZ R6,DE2

DJNZ R7,DE1

RET

;########键盘延时消抖程序#########

DELAY111:MOV 50H,#2 ;键盘消抖程序

DE1111: MOV 51H,#255

DJNZ 51H,$

DJNZ 50H,DE1111

RET





TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H

END


5_149299_96b6fe89297af10.jpg
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-24 12:51 , Processed in 0.062210 second(s), 13 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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