?? init4136.lst
字號:
A51 MACRO ASSEMBLER INIT4136 11/17/2006 09:08:19 PAGE 1
MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN INIT4136.OBJ
ASSEMBLER INVOKED BY: E:\keil\C51\BIN\A51.EXE INIT4136.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;************************************
2 ; 初始化SI416
3 ;************************************
4
5 ?PR?INIT4136?LOWLVL SEGMENT CODE
6 PUBLIC INIT4136
---- 7 RSEG ?PR?INIT4136?LOWLVL
8
0093 9 sbit SENB = P1^3;
0095 10 sbit SDATA = P1^5;
0097 11 sbit SCLK = P1^7;
12
0000 13 INIT4136:
0000 C293 14 CLR SENB ;片選
0002 7403 15 MOV A,#03H ;寄存器0 3C00
0004 120000 F 16 LCALL SI_WRITE1
0007 74C0 17 MOV A,#0C0H ;定義SI4136寄存器的數目
0009 120000 F 18 LCALL SI_WRITE2
000C 7400 19 MOV A,#00H
000E 120000 F 20 LCALL SI_WRITE2
0011 D293 21 SETB SENB
0013 120000 F 22 LCALL SI_DELAY3
23
0016 C293 24 CLR SENB
0018 7400 25 MOV A,#00H ;寄存器1 003A
001A 120000 F 26 LCALL SI_WRITE1
001D 7403 27 MOV A,#03H
001F 120000 F 28 LCALL SI_WRITE2
0022 74A1 29 MOV A,#0A1H
0024 120000 F 30 LCALL SI_WRITE2
0027 D293 31 SETB SENB
0029 120000 F 32 LCALL SI_DELAY3
33
002C C293 34 CLR SENB
002E 7400 35 MOV A,#00H ;寄存器2 0003
0030 120000 F 36 LCALL SI_WRITE1
0033 7400 37 MOV A,#00H
0035 120000 F 38 LCALL SI_WRITE2
0038 7432 39 MOV A,#32H
003A 120000 F 40 LCALL SI_WRITE2
003D D293 41 SETB SENB
003F 120000 F 42 LCALL SI_DELAY3
43
0042 C293 44 CLR SENB
0044 7403 45 MOV A,#03H ;寄存器3 3B1F
0046 120000 F 46 LCALL SI_WRITE1
0049 74B1 47 MOV A,#0B1H
004B 120000 F 48 LCALL SI_WRITE2
004E 74F3 49 MOV A,#0F3H
0050 120000 F 50 LCALL SI_WRITE2
0053 D293 51 SETB SENB
0055 120000 F 52 LCALL SI_DELAY3
53
0058 C293 54 CLR SENB
005A 7401 55 MOV A,#01H ;寄存器4 157C
005C 120000 F 56 LCALL SI_WRITE1
005F 7457 57 MOV A,#57H
0061 120000 F 58 LCALL SI_WRITE2
A51 MACRO ASSEMBLER INIT4136 11/17/2006 09:08:19 PAGE 2
0064 74C4 59 MOV A,#0c4H
0066 120000 F 60 LCALL SI_WRITE2
0069 D293 61 SETB SENB
006B 120000 F 62 LCALL SI_DELAY3
63
006E C293 64 CLR SENB
0070 7402 65 MOV A,#02H ;寄存器5 2BE8
0072 120000 F 66 LCALL SI_WRITE1
0075 74BE 67 MOV A,#0BEH
0077 120000 F 68 LCALL SI_WRITE2
007A 7485 69 MOV A,#85H
007C 120000 F 70 LCALL SI_WRITE2
007F D293 71 SETB SENB
0081 120000 F 72 LCALL SI_DELAY3
73
0084 C293 74 CLR SENB
0086 7400 75 MOV A,#00H ;寄存器6 7D
0088 120000 F 76 LCALL SI_WRITE1
008B 7407 77 MOV A,#07H
78
008D 120000 F 79 LCALL SI_WRITE2
80
0090 74D6 81 MOV A,#0D6H
82
0092 120000 F 83 LCALL SI_WRITE2
0095 D293 84 SETB SENB
0097 120000 F 85 LCALL SI_DELAY3
86
009A C293 87 CLR SENB
009C 7400 88 MOV A,#00H ;寄存器7 32
009E 120000 F 89 LCALL SI_WRITE1
00A1 7403 90 MOV A,#03H
00A3 120000 F 91 LCALL SI_WRITE2
00A6 7427 92 MOV A,#27H
00A8 120000 F 93 LCALL SI_WRITE2
00AB D293 94 SETB SENB
00AD 120000 F 95 LCALL SI_DELAY3
96
00B0 C293 97 CLR SENB
00B2 7400 98 MOV A,#00H ;寄存器8 7D
00B4 120000 F 99 LCALL SI_WRITE1
00B7 7407 100 MOV A,#07H
00B9 120000 F 101 LCALL SI_WRITE2
00BC 74D8 102 MOV A,#0D8H
00BE 120000 F 103 LCALL SI_WRITE2
00C1 D293 104 SETB SENB
00C3 120000 F 105 LCALL SI_DELAY3
106
00C6 D295 107 SETB SDATA
108
00C8 22 109 RET
110 ;*******************************************
111 ;SI_MAIN2:
112 ; CLR SENB ;SENB si4136選通
113 ; LCALL SI_WRITE1
114 ; LCALL SI_WRITE2
115 ; LCALL SI_WRITE2
116 ; SETB SENB ;SENB si4136關閉
117 ; LCALL SI_DELAY3
118 ; DJNZ R2,SI_MAIN2
119 ; ret
120 ;==================================
121 ;子程序入口
122 ;==================================
00C9 123 SI_WRITE1:
124 ; CLR SENB
A51 MACRO ASSEMBLER INIT4136 11/17/2006 09:08:19 PAGE 3
00C9 00 125 NOP
00CA 7B06 126 MOV R3,#6 ;設置循環次數
127 ; MOV A,@R0
00CC 33 128 RLC A
00CD 33 129 RLC A
00CE 130 SI_LOOP1:
00CE 00 131 NOP
00CF 00 132 NOP
00D0 C297 133 CLR SCLK ;SCLK
00D2 00 134 NOP
00D3 00 135 NOP
00D4 33 136 RLC A
00D5 9295 137 MOV SDATA,C ;SDATA
00D7 00 138 NOP
139 ; LCALL dog
00D8 00 140 NOP
00D9 D297 141 SETB SCLK
00DB 00 142 NOP
00DC 00 143 NOP
00DD DBEF 144 DJNZ R3,SI_LOOP1
145 ; INC R0 ;寄存器地址加一
146 ; SETB SENB
00DF 22 147 RET
00E0 148 SI_WRITE2:
149 ; CLR SENB
00E0 00 150 NOP
00E1 7C08 151 MOV R4,#8 ;設置循環次數
152 ; MOV A,@R0
00E3 153 SI_LOOP2:
00E3 00 154 NOP
00E4 00 155 NOP
00E5 C297 156 CLR SCLK
00E7 00 157 NOP
00E8 00 158 NOP
00E9 33 159 RLC A
00EA 9295 160 MOV SDATA,C ;SDATA
00EC 00 161 NOP
162 ; LCALL DOG
00ED 00 163 NOP
00EE D297 164 SETB SCLK ;SCLK
00F0 00 165 NOP
00F1 00 166 NOP
00F2 DCEF 167 DJNZ R4,SI_LOOP2
168 ; INC R0 ;寄存器地址加一
169 ; SETB SENB
170
00F4 22 171 RET
172 ;================================
173 ;延時子程序
00F5 175 SI_DELAY3:
00F5 7E28 176 MOV R6,#40
00F7 177 SI_DELAY4:
00F7 00 178 NOP
179 ; LCALL DOG
00F8 00 180 NOP
00F9 DEFC 181 DJNZ R6,SI_DELAY4
00FB 22 182 RET
183
184 ;dog: cpl p3.5
185 ; ret
186
187
188 end
A51 MACRO ASSEMBLER INIT4136 11/17/2006 09:08:19 PAGE 4
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
?PR?INIT4136?LOWLVL C SEG 00FCH REL=UNIT
INIT4136. . . . . . C ADDR 0000H R SEG=?PR?INIT4136?LOWLVL
P1. . . . . . . . . D ADDR 0090H A
SCLK. . . . . . . . B ADDR 0090H.7 A
SDATA . . . . . . . B ADDR 0090H.5 A
SENB. . . . . . . . B ADDR 0090H.3 A
SI_DELAY3 . . . . . C ADDR 00F5H R SEG=?PR?INIT4136?LOWLVL
SI_DELAY4 . . . . . C ADDR 00F7H R SEG=?PR?INIT4136?LOWLVL
SI_LOOP1. . . . . . C ADDR 00CEH R SEG=?PR?INIT4136?LOWLVL
SI_LOOP2. . . . . . C ADDR 00E3H R SEG=?PR?INIT4136?LOWLVL
SI_WRITE1 . . . . . C ADDR 00C9H R SEG=?PR?INIT4136?LOWLVL
SI_WRITE2 . . . . . C ADDR 00E0H R SEG=?PR?INIT4136?LOWLVL
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -