您的位置 首页 新品

用单片机计数脉冲的个数-数码管显现汇编程序

位数码管用2个573接到p0口,位选p2段选P0口:点这里采用定时器来记录脉冲并用数码管输出以下是源代码:;********用数码管来计数脉冲

位数码管用2个573接到p0口,位选p2 段选P0口:点这里 选用守时器来记载脉冲 并用数码管输出

以下是源代码:

;******** 用数码管来计数脉冲的个数 **********************************
ORG 0000H
JMP MAIN
ORG 000BH
JMP TT0
ORG 001BH
JMP TT1
MOV 23H,#00H
MOV 22H,#00H
MOV 21H,#00H
MOV 24H,#10
CALL IIP
CALL IIP
CALL IIP
MOV SP,70H
;=====主程序区====================================
MAIN: MOV TMOD,#01100010B
MOV TH1,#255
MOV TL1,#255
MOV IE,#10001010B
MOV TH0,#00H
MOV TL0,#00H
SETB TR0
SETB TR1

JMP $
;======分化计数程序===================================

TT1:CALL IIP
INC 20H
MOV A,20H
MOV B,#100
DIV AB
MOV 21H,A
MOV A,B
MOV B,#10
DIV AB
MOV 22H,A
MOV 23H,B

RETI
;======数码管显现程序区====================================
IIP: MOV A,23H
CALL TABLE
MOV P0,A
SETB P2.0
NOP
NOP
NOP
NOP
CLR P2.0
MOV P0,#10111111b
SETB P2.1
NOP
NOP
NOP
CLR P2.1
CALL T10MS
;==================================================
MOV A,22H
CALL TABLE
MOV P0,A
SETB P2.0
NOP
NOP
NOP
NOP
CLR P2.0
MOV P0,#11011111B
SETB P2.1
NOP
NOP
NOP
CLR P2.1
CALL T10MS
;===================================================
MOV A,21H
CALL T10MS
CALL TABLE
MOV P0,A
SETB P2.0
NOP
NOP
NOP
NOP
CLR P2.0
MOV P0,#11101111B
SETB P2.1
NOP
NOP
NOP
CLR P2.1
CALL T10MS
RET
;=====守时0程序区======================================
TT0: DJNZ 24H,LOOP_9
CPL P1.0
CPL P1.1
CPL P1.2
CPL P1.3
CPL P1.4
CPL P1.5
CPL P1.6
CPL P1.7
LOOP_9:RETI
;=======延时子程序区====================================
T10MS: MOV 25H,#10
LOOP_3: MOV 26H,#40
LOOP_2: MOV 27H,#10
LOOP_1: NOP
DJNZ 27H,LOOP_1
DJNZ 26H,LOOP_2
DJNZ 25H,LOOP_3
RET
;=======调用码表程序区====================================
TABLE:INC A
MOVC A,@A+PC
RET
DB 3FH,06H,05BH,04FH,066H,06DH,07DH,07H,07FH,06FH,

;======================================================
END

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/254035.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部