?? 595_4bit_查表.lst
字號:
A51 MACRO ASSEMBLER 595_4BIT_查表 10/20/2008 16:21:39 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開發(fā)板 硬件型號: STC89C52
3 ;創(chuàng)建人: 張軒偉 日期: 2008_10_15
4 ;修改人: 張軒偉 日期: 2008_10_18
5 ;功能描述: 595串行驅(qū)動4位八段數(shù)碼管,閃爍及右推顯示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
0000 13 ORG 0000H
0000 0130 14 AJMP MAIN
0030 15 ORG 0030H
0030 758160 16 MAIN: MOV SP,#60H
17 ;LCALL DELAY
0033 12003B 18 LCALL INIAL
0036 120096 19 DIS: LCALL RIGHT
0039 80FB 20 JMP DIS
21 ;==================================================================
22 ;初始化程序
23 ;==================================================================
003B 75A000 24 INIAL: MOV P2,#00H ;初始化P2.0口
003E 7820 25 MOV R0,#20H ;初始化傳送位數(shù)。32位,四片595串聯(lián)
0040 7908 26 MOV R1,#08H ;初始化傳送位數(shù)。8 位,一片595數(shù)據(jù)
0042 7A04 27 MOV R2,#04H
0044 22 28 RET
29 ;==================================================================
30 ;按鍵程序
31 ;==================================================================
32 ;KEY: MOV P1,#0FFH
33 ; MOV A,P1
34 ; ANL A,#0FH
35 ; CJNE A,#0FH,KEY2
36 ; JMP KEY
37 ;KEY2: MOV A,P1
38 ; ANL A,#0FH
39 ; CJNE A,#0FH,KEY
40 ; JMP KEY3
41 ;KEY3: MOV A,P1
42 ; ANL A,#0FH
43 ; CJNE A,#0EH,KEY4
44 ; LCALL LIGHT
45 ; JMP KEY
46 ;KEY4: MOV A,P1
47 ; ANL A,#0FH
48 ; CJNE A,#0DH,KEY5
49 ; LCALL RIGHT
50 ; JMP KEY
51 ;KEY5: RET
52 ;==================================================================
53 ;傳送1位數(shù)據(jù)
54 ;==================================================================
0045 33 55 S_BIT: RLC A ;帶進位右移A中數(shù)據(jù),
0046 92A2 56 MOV SDATA,C ;由SDATA串行發(fā)送數(shù)據(jù)
0048 C2A4 57 CLR CLK ;CLK低
004A D2A4 58 SETB CLK ;CLK高
A51 MACRO ASSEMBLER 595_4BIT_查表 10/20/2008 16:21:39 PAGE 2
004C C2A4 59 CLR CLK ;CLK低,,,完成上升沿過程,將數(shù)據(jù)打入移位寄存器
60
61 ;CLR STB ;STB低
62 ;SETB STB ;STB高
63 ;CLR STB ;STB低,,,完成上升沿過程,將數(shù)據(jù)打入存儲寄存器
004E 22 64 RET
65 ;==================================================================
66 ;傳送8位數(shù)據(jù)
67 ;==================================================================
004F 7908 68 S_8BIT: MOV R1,#08H ;傳送8位數(shù)據(jù)
0051 C2A3 69 CLR STB ;清STB
0053 C2A4 70 CLR CLK ;清CLK
0055 120045 71 S_82: LCALL S_BIT
0058 D9FB 72 DJNZ R1,S_82 ;8位數(shù)據(jù)依次打入,循環(huán)8次
73 ;CLR STB ;STB低
74 ;SETB STB ;STB高
75 ;CLR STB ;STB低,,,完成上升沿過程,將數(shù)據(jù)打入存儲寄存器
005A 22 76 RET
77 ;==================================================================
78 ;傳送32位數(shù)據(jù)
79 ;==================================================================
005B 7B04 80 S_FBIT: MOV R3,#04H ;決定傳送的位數(shù),04表示32位
81
005D E4 82 S_F2: CLR A
005E 93 83 MOVC A,@A+DPTR
005F A3 84 INC DPTR
0060 12004F 85 LCALL S_8BIT
0063 DBF8 86 DJNZ R3,S_F2
0065 C2A3 87 CLR STB
0067 D2A3 88 SETB STB
0069 C2A3 89 CLR STB ;32位數(shù)據(jù)全部打出
006B 22 90 RET
91 ;==================================================================
92 ;GOOD
93 ;==================================================================
006C 9000F8 94 GOOD: MOV DPTR,#G_TAB
006F 12005B 95 LCALL S_FBIT
0072 22 96 RET
97 ;==================================================================
98 ;OOOO
99 ;==================================================================
0073 9000FC 100 ZERO: MOV DPTR,#Z_TAB
0076 12005B 101 LCALL S_FBIT
0079 22 102 RET
103 ;==================================================================
104 ;測試
105 ;==================================================================
007A 9000F8 106 CS: MOV DPTR,#G_TAB
007D 12005B 107 LCALL S_FBIT
0080 22 108 RET
109 ;==================================================================
110 ;閃爍子程序
111 ;==================================================================
0081 E4 112 LIGHT: CLR A
0082 9000F8 113 MOV DPTR,#G_TAB
0085 12005B 114 LCALL S_FBIT
0088 1200E7 115 LCALL DE_10
008B E4 116 CLR A
008C 9000FC 117 MOV DPTR,#Z_TAB
008F 12005B 118 LCALL S_FBIT
0092 1200E7 119 LCALL DE_10
120
0095 22 121 RET
122 ;==================================================================
123 ;右推子程序
124 ;==================================================================
A51 MACRO ASSEMBLER 595_4BIT_查表 10/20/2008 16:21:39 PAGE 3
0096 E4 125 RIGHT: CLR A
0097 900100 126 MOV DPTR,#G1
009A 12005B 127 LCALL S_FBIT
009D 1200E7 128 LCALL DE_10
00A0 E4 129 CLR A
00A1 900104 130 MOV DPTR,#G2
00A4 12005B 131 LCALL S_FBIT
00A7 1200E7 132 LCALL DE_10
00AA E4 133 CLR A
00AB 900108 134 MOV DPTR,#G3
00AE 12005B 135 LCALL S_FBIT
00B1 1200E7 136 LCALL DE_10
00B4 E4 137 CLR A
00B5 9000F8 138 MOV DPTR,#G_TAB
00B8 12005B 139 LCALL S_FBIT
00BB 1200E7 140 LCALL DE_10
00BE E4 141 CLR A
00BF 90010C 142 MOV DPTR,#G4
00C2 12005B 143 LCALL S_FBIT
00C5 1200E7 144 LCALL DE_10
00C8 E4 145 CLR A
00C9 900110 146 MOV DPTR,#G5
00CC 12005B 147 LCALL S_FBIT
00CF 1200E7 148 LCALL DE_10
00D2 E4 149 CLR A
00D3 900114 150 MOV DPTR,#G6
00D6 12005B 151 LCALL S_FBIT
00D9 1200E7 152 LCALL DE_10
00DC E4 153 CLR A
00DD 9000FC 154 MOV DPTR,#Z_TAB
00E0 12005B 155 LCALL S_FBIT
00E3 1200E7 156 LCALL DE_10
00E6 22 157 RET
158 ;==================================================================
159 ;延時程序
160 ;==================================================================
00E7 7BA4 161 DE_10: MOV R3,#0A4H
00E9 7CFF 162 DELY: MOV R4,#0FFH
00EB DCFE 163 DJNZ R4,$
00ED DBFA 164 DJNZ R3,DELY
00EF 22 165 RET
00F0 7D08 166 DELAY: MOV R5,#08H
00F2 1200F0 167 DE_1: LCALL DELAY
00F5 DDFB 168 DJNZ R5,DE_1
00F7 22 169 RET
170 ;==================================================================
171 ;1、2、3、4
172 ;==================================================================
00F8 A1 173 G_TAB: DB 0a1H
00F9 A3 174 DB 0a3H
00FA A3 175 DB 0a3H
00FB 90 176 DB 090H
00FC FF 177 Z_TAB: DB 0FFH
00FD FF 178 DB 0FFH
00FE FF 179 DB 0FFH
00FF FF 180 DB 0FFH
0100 FF 181 G1: DB 0FFH
0101 FF 182 DB 0FFH
0102 FF 183 DB 0FFH
0103 A1 184 DB 0A1H
0104 FF 185 G2: DB 0FFH
0105 FF 186 DB 0FFH
0106 A1 187 DB 0A1H
0107 A3 188 DB 0A3H
0108 FF 189 G3: DB 0FFH
0109 A1 190 DB 0A1H
A51 MACRO ASSEMBLER 595_4BIT_查表 10/20/2008 16:21:39 PAGE 4
010A A3 191 DB 0A3H
010B A3 192 DB 0A3H
010C A3 193 G4: DB 0A3H
010D A3 194 DB 0A3H
010E 90 195 DB 090H
010F FF 196 DB 0FFH
0110 A3 197 G5: DB 0A3H
0111 90 198 DB 090H
0112 FF 199 DB 0FFH
0113 FF 200 DB 0FFH
0114 90 201 G6: DB 090H
0115 FF 202 DB 0FFH
0116 FF 203 DB 0FFH
0117 FF 204 DB 0FFH
205 END
A51 MACRO ASSEMBLER 595_4BIT_查表 10/20/2008 16:21:39 PAGE 5
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
BUFF . . . . . . . N NUMB 0060H A
CLK. . . . . . . . B ADDR 00A0H.4 A
CS . . . . . . . . C ADDR 007AH A
DELAY. . . . . . . C ADDR 00F0H A
DELY . . . . . . . C ADDR 00E9H A
DE_1 . . . . . . . C ADDR 00F2H A
DE_10. . . . . . . C ADDR 00E7H A
DIS. . . . . . . . C ADDR 0036H A
G1 . . . . . . . . C ADDR 0100H A
G2 . . . . . . . . C ADDR 0104H A
G3 . . . . . . . . C ADDR 0108H A
G4 . . . . . . . . C ADDR 010CH A
G5 . . . . . . . . C ADDR 0110H A
G6 . . . . . . . . C ADDR 0114H A
GOOD . . . . . . . C ADDR 006CH A
G_TAB. . . . . . . C ADDR 00F8H A
INIAL. . . . . . . C ADDR 003BH A
LIGHT. . . . . . . C ADDR 0081H A
MAIN . . . . . . . C ADDR 0030H A
P2 . . . . . . . . D ADDR 00A0H A
RIGHT. . . . . . . C ADDR 0096H A
SDATA. . . . . . . B ADDR 00A0H.2 A
SP . . . . . . . . D ADDR 0081H A
STB. . . . . . . . B ADDR 00A0H.3 A
S_82 . . . . . . . C ADDR 0055H A
S_8BIT . . . . . . C ADDR 004FH A
S_BIT. . . . . . . C ADDR 0045H A
S_F2 . . . . . . . C ADDR 005DH A
S_FBIT . . . . . . C ADDR 005BH A
ZERO . . . . . . . C ADDR 0073H A
Z_TAB. . . . . . . C ADDR 00FCH A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -