📄 spird.lst
字号:
C51 COMPILER V7.07 SPIRD 03/14/2006 11:16:11 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE SPIRD
OBJECT MODULE PLACED IN SPIRD.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE SPIRD.C BROWSE DEBUG OBJECTEXTEND CODE SRC(.\SPIRD.SRC)
stmt level source
1
2 #include <reg52.h>
3 #include <string.h>
4 #include <stdio.h>
5 #include <absacc.h>
6 #include <intrins.h>
7 #include "FM1702.h"
8
9 sbit RF_NSS = P1^4;
10 sbit RF_MISO = P1^3;
11 sbit RF_MOSI = P1^2;
12 sbit RF_SCK = P1^1;
13
14 sbit RF_RST = P3^5; //由高变低时启动内部复位程序
15
16 sbit CARD_LED = P3^3;
17 sbit SPEAKER = P3^4;
18
19 sbit LCD_CS = P2^4;
20 sbit LCD_RD = P2^5;
21 sbit LCD_WR = P2^6;
22 sbit LCD_DATA = P2^7;
23
24 sfr P4 = 0xD8;
25 sbit key = P4^3;
26
27
28 /****************************************************************/
29 /*名称: SPIRead */
30 /*功能: 该函数根据给定的地址读取FM1702SL的寄存器*/
31 /*输入: 寄存器地址<SpiAddress>, 读出值存放首地址<ReadBuf>*/
32 /*输出: 寄存器值*/
33 /****************************************************************/
34 unsigned char SPIRead(unsigned char SpiAddress)
35 {
36 1 unsigned char data i,k,rdata,temp;
37 1 rdata=0;
38 1 SpiAddress=_crol_(SpiAddress,1);
39 1 SpiAddress=SpiAddress | 0x80;
40 1 RF_SCK=0;
41 1 RF_NSS=0;
42 1
43 1 //Send SpiAddress;
44 1 for (i=0;i<8;i++)
45 1 {
46 2 temp=SpiAddress&0x80;
47 2 if (temp==0x80) RF_MOSI=1;
48 2 else RF_MOSI=0;
49 2 RF_SCK=1;
50 2 SpiAddress=_crol_(SpiAddress,1);
51 2 RF_SCK=0;
52 2 }
53 1 //Send SpiAddress;
54 1 //Receive data
55 1
C51 COMPILER V7.07 SPIRD 03/14/2006 11:16:11 PAGE 2
56 1 for (k=0;k<8;k++)
57 1 {
58 2 RF_SCK=1;
59 2 CY=RF_MISO;
60 2 if (CY) rdata+=1;
61 2 rdata=_crol_(rdata,1);
62 2 RF_SCK=0;
63 2 _nop_();
64 2 }
65 1
66 1
67 1 RF_NSS=1;
68 1 CY=0;
69 1 return(rdata);
70 1 }
71 /****************************************************************/
72 /*名称: SPIWrite */
73 /*功能: 该函数根据给定的地址写入FM1702SL的寄存器*/
74 /*输入: 寄存器地址<SpiAddress>,要写入的字节数<WriteCount> */
75 /*输出: N/A*/
76 /****************************************************************/
77 void SPIWrite(unsigned char idata SpiAddress,unsigned char idata SpiData)
78 {
79 1 unsigned char data i,k,temp;
80 1
81 1 // temp=SpiAddress&0xc0;
82 1 // if (temp!=0)
83 1 // {
84 1 // CY=1;
85 1 // return;
86 1 // }
87 1 SpiAddress=_crol_(SpiAddress,1);
88 1 SpiAddress=SpiAddress &0x7e;
89 1 RF_SCK=0;
90 1 RF_NSS=0;
91 1
92 1 //Send SpiAddress
93 1 for (i=0;i<8;i++)
94 1 {
95 2 temp=SpiAddress&0x80;
96 2 if (temp==0x80) RF_MOSI=1;
97 2 else RF_MOSI=0;
98 2 RF_SCK=1;
99 2 SpiAddress=_crol_(SpiAddress,1);
100 2 RF_SCK=0;
101 2 }
102 1 //Send SpiAddress
103 1 // Send data;
104 1
105 1 for(k=0;k<8;k++)
106 1 {
107 2 temp=SpiData&0x80;
108 2 if (temp==0x80) RF_MOSI=1;
109 2 else RF_MOSI=0;
110 2 RF_SCK=1;
111 2 SpiData=_crol_(SpiData,1);
112 2 RF_SCK=0;
113 2 }
114 1
115 1 //Send data;
116 1 RF_NSS=1;
117 1 CY=0;
C51 COMPILER V7.07 SPIRD 03/14/2006 11:16:11 PAGE 3
118 1 // return;
119 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 178 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -