00-99计数器设计。 利用单片机来制作一个手动计数器,还有仿真图,谢谢

如题所述

第1个回答  2018-11-07

ORG   0000H

JMP   BEGIN

ORG 0030H

TABLE:      ; 共阴极数码管显示代码表

DB    3FH,06H,5BH,4FH,66H ;01234

DB    6DH,7DH,07H,7FH,6fh ;56789

;---------------------------------------

BEGIN:  MOV P0,#0   ;数码管初始化,不显示

MOV P1,#0   ;数码管初始化,不显示

MOV 30H,#0   ;数据初始化为0

LOOP:   

JB P3.2,LOOP1  ;加1键如果未按下转LOOP1

JNB P3.2,$   ;键被按下,等待键抬起

INC 30H   ;数据加1

LCALL DIS   ;显示

SJMP LOOP   ;会循环起点

LOOP1:   

JB P3.6,LOOP   ;清零键如果未按转循环起点

JNB P3.6,$   ;键被按下等待按键抬起

MOV 30H,#0   ;数据清零

LCALL DIS   ;显示

SJMP LOOP   ;会循环起点

DIS:

MOV A,30H   ;数据送A

CJNE A,#100,DIS1

CLR A

MOV 30H,A

DIS1:

MOV B,#10   ;除数送B

DIV AB   ;除法运算

MOV 32H,A   ;十位数送32H

MOV 33H,B   ;个位数送33H

MOV DPTR,#TABLE;段码首地址送数据指针

MOV A,33H   ;个位数送A

MOVC A,@A+DPTR ;查表

MOV P1,A   ;结果送P1

MOV A,32H   ;十位数送A

MOVC A,@A+DPTR ;查表

MOV P0,A   ;结果送P0

RET   ;子程序返回

END     ;程序结束

本回答被网友采纳
相似回答