📄 595_4bit_数据.lst
字号:
A51 MACRO ASSEMBLER 595_4BIT_数据 10/18/2008 15:47:44 PAGE 1
MACRO ASSEMBLER A51 V1.11
OBJECT MODULE PLACED IN 595_4BIT_数据.OBJ
ASSEMBLER INVOKED BY: C:\MANLEY\PMEDWIN\A51.EXE 595_4BIT_数据.ASM DB
LOC OBJ LINE SOURCE
1 ;******************************************************************
2 ;模块名: C52开发板 硬件型号: STC89C52
3 ;创建人: 张轩伟 日期: 2008_10_15
4 ;修改人: 张轩伟 日期: 2008_10_16
5 ;功能描述: 595串行驱动4位八段数码管,闪烁及右推显示GOOD
6 ;其他说明: 采用查询表格方式,LIGHT为闪烁,RIGHT为右推
7 ;版本: 1.0
8 ;******************************************************************
00A4 9 CLK BIT P2.4
00A3 10 STB BIT P2.3
00A2 11 SDATA BIT P2.2
0060 12 BUFF EQU 60H
0080 13 SUFF EQU 80H
0000 14 ORG 0000H
0000 0130 15 AJMP MAIN
0030 16 ORG 0030H
0030 75A000 17 MAIN: MOV P2,#00H
0033 756012 18 MOV 60H,#12H
0036 756134 19 MOV 61H,#34H ;60H存放12H,61单元存放34H
0039 900060 20 MOV DPTR,#TABLE
003C E560 21 XUNZHI: MOV A,BUFF
003E C0E0 22 PUSH ACC
0040 540F 23 ANL A,#0FH
0042 93 24 MOVC A,@A+DPTR
0043 F580 25 MOV 80H,A
0045 0580 26 INC SUFF
0047 D0E0 27 POP ACC
0049 54F0 28 ANL A,#0F0H
004B C4 29 SWAP A
004C 93 30 MOVC A,@A+DPTR
004D F580 31 MOV SUFF,A
004F 0580 32 INC SUFF
0051 1560 33 DEC BUFF
0053 E560 34 MOV A,BUFF
0055 C0E0 35 PUSH ACC
0057 540F 36 ANL A,#0FH
0059 93 37 MOVC A,@A+DPTR
005A F580 38 MOV SUFF,A
005C 0580 39 INC SUFF
005E D0E0 40 POP ACC
0060 54F0 41 ANL A,#0F0H
0062 C4 42 SWAP A
0063 93 43 MOVC A,@A+DPTR
0064 F580 44 MOV SUFF,A
0066 0580 45 INC SUFF
46 ;==================================================================
47 ;传送1位数据
48 ;==================================================================
0068 33 49 S_BIT: RLC A ;带进位右移A中数据,
0069 92A2 50 MOV SDATA,C ;由SDATA串行发送数据
006B C2A4 51 CLR CLK ;CLK低
006D D2A4 52 SETB CLK ;CLK高
006F C2A4 53 CLR CLK ;CLK低,,,完成上升沿过程,将数据打入移位寄存器
54
55 ;CLR STB ;STB低
56 ;SETB STB ;STB高
57 ;CLR STB ;STB低,,,完成上升沿过程,将数据打入存储寄存器
0071 22 58 RET
A51 MACRO ASSEMBLER 595_4BIT_数据 10/18/2008 15:47:44 PAGE 2
59 ;==================================================================
60 ;传送8位数据
61 ;==================================================================
0072 7908 62 S_8BIT: MOV R1,#08H ;传送8位数据
0074 C2A3 63 CLR STB ;清STB
0076 C2A4 64 CLR CLK ;清CLK
0078 120068 65 S_82: LCALL S_BIT
007B D9FB 66 DJNZ R1,S_82 ;8位数据依次打入,循环8次
67 ;CLR STB ;STB低
68 ;SETB STB ;STB高
69 ;CLR STB ;STB低,,,完成上升沿过程,将数据打入存储寄存器
007D 22 70 RET
71 ;==================================================================
72 ;传送32位数据
73 ;==================================================================
007E 7B04 74 S_FBIT: MOV R3,#04H ;决定传送的位数,04表示32位
75
0080 E4 76 S_F2: CLR A
0081 E580 77 MOV A,SUFF
0083 1580 78 DEC SUFF
0085 120072 79 LCALL S_8BIT
0088 DBF6 80 DJNZ R3,S_F2
008A C2A3 81 CLR STB
008C D2A3 82 SETB STB
008E C2A3 83 CLR STB ;32位数据全部打出
0090 22 84 RET
85
0060 86 ORG 0060H
0060 C0 87 TABLE: DB 0C0H
0061 F9 88 DB 0F9H
0062 A4 89 DB 0A4H
0063 B0 90 DB 0B0H
0064 99 91 DB 099H
0065 92 92 DB 092H
0066 82 93 DB 082H
0067 F8 94 DB 0F8H
0068 80 95 DB 080H
0069 90 96 DB 090H
006A 88 97 DB 088H
006B 83 98 DB 083H
006C C6 99 DB 0C6H
006D A1 100 DB 0A1H
006E 86 101 DB 086H
006F 81 102 DB 081H
103 END
A51 MACRO ASSEMBLER 595_4BIT_数据 10/18/2008 15:47:44 PAGE 3
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ACC. . . . . . . . D ADDR 00E0H A
BUFF . . . . . . . N NUMB 0060H A
CLK. . . . . . . . B ADDR 00A0H.4 A
MAIN . . . . . . . C ADDR 0030H A
P2 . . . . . . . . D ADDR 00A0H A
SDATA. . . . . . . B ADDR 00A0H.2 A
STB. . . . . . . . B ADDR 00A0H.3 A
SUFF . . . . . . . N NUMB 0080H A
S_82 . . . . . . . C ADDR 0078H A
S_8BIT . . . . . . C ADDR 0072H A
S_BIT. . . . . . . C ADDR 0068H A
S_F2 . . . . . . . C ADDR 0080H A
S_FBIT . . . . . . C ADDR 007EH A
TABLE. . . . . . . C ADDR 0060H A
XUNZHI . . . . . . C ADDR 003CH A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -