📄 spird.ls1
字号:
A51 MACRO ASSEMBLER SPIRD 03/14/2006 11:16:11 PAGE 1
MACRO ASSEMBLER A51 V7.08a
OBJECT MODULE PLACED IN SPIRD.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE SPIRD.src PR(.\SPIRD.ls1) EP DEBUG
LOC OBJ LINE SOURCE
1 ; .\SPIRD.SRC generated from: SPIRD.C
2 ; COMPILER INVOKED BY:
3 ; C:\Keil\C51\BIN\C51.EXE SPIRD.C BROWSE DEBUG OBJECTEXTEND CODE SRC(.\SPIRD.SRC)
4
5 $nomod51
6
7 NAME SPIRD
8
0080 9 P0 DATA 080H
0090 10 P1 DATA 090H
00A0 11 P2 DATA 0A0H
00B0 12 P3 DATA 0B0H
00D8 13 P4 DATA 0D8H
00B4 14 T0 BIT 0B0H.4
00D6 15 AC BIT 0D0H.6
00B5 16 T1 BIT 0B0H.5
0090 17 T2 BIT 090H.0
00AF 18 EA BIT 0A8H.7
00B4 19 SPEAKER BIT 0B0H.4
00A8 20 IE DATA 0A8H
00CE 21 EXF2 BIT 0C8H.6
00B7 22 RD BIT 0B0H.7
00AC 23 ES BIT 0A8H.4
00B8 24 IP DATA 0B8H
0098 25 RI BIT 098H.0
00B2 26 INT0 BIT 0B0H.2
00D7 27 CY BIT 0D0H.7
0099 28 TI BIT 098H.1
00B3 29 INT1 BIT 0B0H.3
00CB 30 RCAP2H DATA 0CBH
00BC 31 PS BIT 0B8H.4
0081 32 SP DATA 081H
0091 33 T2EX BIT 090H.1
00D2 34 OV BIT 0D0H.2
00CA 35 RCAP2L DATA 0CAH
00C9 36 C_T2 BIT 0C8H.1
00B6 37 WR BIT 0B0H.6
00CD 38 RCLK BIT 0C8H.5
00CC 39 TCLK BIT 0C8H.4
0099 40 SBUF DATA 099H
0087 41 PCON DATA 087H
0092 42 RF_MOSI BIT 090H.2
0093 43 RF_MISO BIT 090H.3
0098 44 SCON DATA 098H
0089 45 TMOD DATA 089H
0088 46 TCON DATA 088H
0089 47 IE0 BIT 088H.1
008B 48 IE1 BIT 088H.3
00F0 49 B DATA 0F0H
00C8 50 CP_RL2 BIT 0C8H.0
00E0 51 ACC DATA 0E0H
00A9 52 ET0 BIT 0A8H.1
00DB 53 key BIT 0D8H.3
00A5 54 LCD_RD BIT 0A0H.5
00A4 55 LCD_CS BIT 0A0H.4
00AB 56 ET1 BIT 0A8H.3
008D 57 TF0 BIT 088H.5
00AD 58 ET2 BIT 0A8H.5
A51 MACRO ASSEMBLER SPIRD 03/14/2006 11:16:11 PAGE 2
008F 59 TF1 BIT 088H.7
00CF 60 TF2 BIT 0C8H.7
009A 61 RB8 BIT 098H.2
008C 62 TH0 DATA 08CH
00A8 63 EX0 BIT 0A8H.0
0088 64 IT0 BIT 088H.0
008D 65 TH1 DATA 08DH
009B 66 TB8 BIT 098H.3
00AA 67 EX1 BIT 0A8H.2
008A 68 IT1 BIT 088H.2
00CD 69 TH2 DATA 0CDH
00A7 70 LCD_DATA BIT 0A0H.7
00D0 71 P BIT 0D0H.0
009F 72 SM0 BIT 098H.7
008A 73 TL0 DATA 08AH
00B3 74 CARD_LED BIT 0B0H.3
009E 75 SM1 BIT 098H.6
008B 76 TL1 DATA 08BH
009D 77 SM2 BIT 098H.5
00CC 78 TL2 DATA 0CCH
00B9 79 PT0 BIT 0B8H.1
00BB 80 PT1 BIT 0B8H.3
00D3 81 RS0 BIT 0D0H.3
00BD 82 PT2 BIT 0B8H.5
008C 83 TR0 BIT 088H.4
00D4 84 RS1 BIT 0D0H.4
008E 85 TR1 BIT 088H.6
00CA 86 TR2 BIT 0C8H.2
00B8 87 PX0 BIT 0B8H.0
00BA 88 PX1 BIT 0B8H.2
0091 89 RF_SCK BIT 090H.1
0083 90 DPH DATA 083H
00A6 91 LCD_WR BIT 0A0H.6
0082 92 DPL DATA 082H
00CB 93 EXEN2 BIT 0C8H.3
009C 94 REN BIT 098H.4
00C8 95 T2CON DATA 0C8H
0094 96 RF_NSS BIT 090H.4
00B0 97 RXD BIT 0B0H.0
00B1 98 TXD BIT 0B0H.1
00B5 99 RF_RST BIT 0B0H.5
00D5 100 F0 BIT 0D0H.5
00D0 101 PSW DATA 0D0H
102 ?PR?_SPIRead?SPIRD SEGMENT CODE
103 ?PR?_SPIWrite?SPIRD SEGMENT CODE
104 PUBLIC _SPIWrite
105 PUBLIC _SPIRead
106 ;
107 ; #include <reg52.h>
108 ; #include <string.h>
109 ; #include <stdio.h>
110 ; #include <absacc.h>
111 ; #include <intrins.h>
112 ; #include "FM1702.h"
113 ;
114 ; sbit RF_NSS = P1^4;
115 ; sbit RF_MISO = P1^3;
116 ; sbit RF_MOSI = P1^2;
117 ; sbit RF_SCK = P1^1;
118 ;
119 ; sbit RF_RST = P3^5; //由高变低时启动内部复位程序
120 ;
121 ; sbit CARD_LED = P3^3;
122 ; sbit SPEAKER = P3^4;
123 ;
124 ; sbit LCD_CS = P2^4;
A51 MACRO ASSEMBLER SPIRD 03/14/2006 11:16:11 PAGE 3
125 ; sbit LCD_RD = P2^5;
126 ; sbit LCD_WR = P2^6;
127 ; sbit LCD_DATA = P2^7;
128 ;
129 ; sfr P4 = 0xD8;
130 ; sbit key = P4^3;
131 ;
132 ;
133 ; /****************************************************************/
134 ; /*名称: SPIRead */
135 ; /*功能: 该函数根据给定的地址读取FM1702SL的寄存器*/
136 ; /*输入: 寄存器地址<SpiAddress>, 读出值存放首地址<ReadBuf>*/
137 ; /*输出: 寄存器值*/
138 ; /****************************************************************/
139 ; unsigned char SPIRead(unsigned char SpiAddress)
140
---- 141 RSEG ?PR?_SPIRead?SPIRD
0000 142 _SPIRead:
143 USING 0
144 ; SOURCE LINE # 34
145 ;---- Variable 'SpiAddress?040' assigned to Register 'R7' ----
146 ; {
147 ; SOURCE LINE # 35
148 ; unsigned char data i,k,rdata,temp;
149 ; rdata=0;
150 ; SOURCE LINE # 37
151 ;---- Variable 'rdata?043' assigned to Register 'R6' ----
0000 E4 152 CLR A
0001 FE 153 MOV R6,A
154 ; SpiAddress=_crol_(SpiAddress,1);
155 ; SOURCE LINE # 38
0002 7801 156 MOV R0,#01H
0004 EF 157 MOV A,R7
0005 08 158 INC R0
0006 8001 159 SJMP ?C0023
0008 160 ?C0022:
0008 23 161 RL A
0009 162 ?C0023:
0009 D8FD 163 DJNZ R0,?C0022
000B FF 164 MOV R7,A
165 ; SpiAddress=SpiAddress | 0x80;
166 ; SOURCE LINE # 39
000C 430780 167 ORL AR7,#080H
168 ; RF_SCK=0;
169 ; SOURCE LINE # 40
000F C291 170 CLR RF_SCK
171 ; RF_NSS=0;
172 ; SOURCE LINE # 41
0011 C294 173 CLR RF_NSS
174 ;
175 ; //Send SpiAddress;
176 ; for (i=0;i<8;i++)
177 ; SOURCE LINE # 44
178 ;---- Variable 'i?041' assigned to Register 'R5' ----
0013 E4 179 CLR A
0014 FD 180 MOV R5,A
0015 181 ?C0001:
182 ; {
183 ; SOURCE LINE # 45
184 ; temp=SpiAddress&0x80;
185 ; SOURCE LINE # 46
0015 EF 186 MOV A,R7
0016 5480 187 ANL A,#080H
0018 FC 188 MOV R4,A
189 ;---- Variable 'temp?044' assigned to Register 'R4' ----
190 ; if (temp==0x80) RF_MOSI=1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -