我是靠谱客的博主 积极皮带,这篇文章主要介绍51 单片机汇编语言:8位加减计数器,现在分享给大家,希望可以做个参考。

51 单片机汇编语言:8位加减计数器


用51 单片机汇编语言编程,实现8位加减计数器,按下面的按钮选择加计数或者减计数
使用仿真工具:Proteus 8.6
在这里插入图片描述
通过 构建子程序完成功能,所需子程序有:
数码管显示子程序、延迟子程序、计数子程序
程序如下:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
ORG 0000H JMP Start ORG 0100H Start: cDisplayBuffer EQU 30H cDisplayBit EQU 38H MOV cDisplayBuffer,#9 MOV cDisplayBuffer+1,#9 MOV cDisplayBuffer+2,#9 MOV cDisplayBuffer+3,#9 MOV cDisplayBuffer+4,#9 MOV cDisplayBuffer+5,#9 MOV cDisplayBuffer+6,#8 MOV cDisplayBuffer+7,#0 ; (37H)=0 MOV cDisplayBit,#0 Main: MOV R6,#4 ;计数周期为1s L1: MOV R5,#0 L2: MOV R4,#0 LCALL Display LCALL Delay DJNZ R4,$ DJNZ R5,L2 DJNZ R6,L1 LCALL COUNT ;计数 SJMP Main ;--------------------------------------------- DispTable: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH Display: ;通用显示子程序 MOV A,cDisplayBit MOV P2,A MOV DPTR,#DispTable MOV A,#cDisplayBuffer ADD A,cDisplayBit MOV R0,A MOV A,@R0 MOVC A,@A+DPTR MOV P1,A INC cDisplayBit ANL cDisplayBit,#7 RET ;--------------------------------------------- Delay: ;延迟子程序 MOV R2,#100 DJNZ R2,$ RET ;--------------------------------------------- COUNT: ;计数子程序 MOV R1, #cDisplayBuffer+7 JNB P3.7,DeCount InCount: ;P3.7=1时加法计数器 INC @R1 CJNE @R1,#10,RET1 MOV @R1,#0 ;自增到10时清零 DEC R1 CJNE R1, #cDisplayBuffer-1,InCount ;cDisplayBuffer-1相当于2FH RET DeCount: ;P3.7=0时减法计数器 DEC @R1 CJNE @R1,#255,RET1 MOV @R1,#9 DEC R1 CJNE R1, #cDisplayBuffer-1, DeCount RET1: RET END

最后

以上就是积极皮带最近收集整理的关于51 单片机汇编语言:8位加减计数器的全部内容,更多相关51内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部