?? spi.lst
字號:
C51 COMPILER V7.50 SPI 05/31/2008 19:14:42 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE SPI
OBJECT MODULE PLACED IN SPI.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE C_H\SPI.c BROWSE DEBUG OBJECTEXTEND PRINT(.\SPI.lst) OBJECT(SPI.obj)
line level source
1 #include "Includes.h"
2
3 static void Nop(void);
4 /*********************************************************************************************************
5 ** 函數名稱: Dat_Transmit
6 ** 功能描述: 從SPI總線發送數據
7 ** 全局變量: 無
8 ** 調用模塊: 無
9 ********************************************************************************************************/
10 extern void SPI_Transmit(unsigned char dat)
11 {
12 1 unsigned char i,datbuf;
13 1 unsigned char j=50000;
14 1
15 1 EA=0;
16 1 _nop_();
17 1
18 1 Delay_Xms(1);
19 1 datbuf=dat;
20 1 SS=1;
21 1 while(SS&&j>0){j--;}
22 1 j=50000;
23 1 for(i=0;i<8;i++)
24 1 {
25 2 while(SPICLK&&j>0){j--;}
26 2 j=50000;
27 2 if(datbuf&0x80) MISO=1;
28 2 else MISO=0;
29 2 datbuf=(datbuf<<1);
30 2 while((~SPICLK)&&j>0){j--;}
31 2 MOSI=1; }
32 1 EA=1;
33 1 }
34 /*********************************************************************************************************
35 ** 函數名稱: Data_Receive
36 ** 功能描述:SPI總線接收數據
37 ** 全局變量: 無
38 ** 調用模塊: 無
39 ********************************************************************************************************/
40 extern unsigned char SPI_Receive(void)
41 {
42 1 unsigned char i,dat=0,temp;
43 1
44 1 bit bt;
45 1 SPICLK=1;
46 1 SS=0; //選中器件
47 1 SS=0;
48 1 Nop();
49 1 Nop();
50 1 for(i=0;i<8;i++)
51 1 {
52 2 SPICLK=1;
53 2 Nop();
54 2 Nop();
55 2 Nop();
C51 COMPILER V7.50 SPI 05/31/2008 19:14:42 PAGE 2
56 2 SPICLK=0;
57 2 Nop();
58 2 Nop();
59 2 Nop();
60 2 Nop();
61 2 Nop();
62 2 Nop();
63 2 Nop();
64 2 Nop();
65 2 bt=MISO;
66 2 if(bt) temp=0x01;
67 2 else temp=0x00;
68 2 dat=(dat<<1);
69 2 dat=(dat|temp);
70 2 }
71 1 SS=1;
72 1 SPICLK=1;
73 1 return dat;
74 1 }
75 /***************************************************************************************
76 小延時
77 *************************************************************************************/
78 static void Nop(void)
79 {
80 1 ;
81 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 188 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 5
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -