📄 spi.lst
字号:
C51 COMPILER V8.00 SPI 04/09/2009 08:55:38 PAGE 1
C51 COMPILER V8.00, COMPILATION OF MODULE SPI
OBJECT MODULE PLACED IN spi.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE spi.c LARGE BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "spi.h"
2 #include <Atmel/at89c5131.h>
3
4
5
6 unsigned char serial_data;
7 bit transmit_completed = 0;
8 bit overrun = 0;
9 bit fault_tasking = 0;
10 char SpiErrorCode = 0;
11 /**
12 * FUNCTION_PURPOSE: This file set up spi in master mode with
13 * Fclk Periph/128 as baud rate and without slave select pin
14 * FUNCTION_INPUTS: P1.5(MISO) serial input
15 * FUNCTION_OUTPUTS: P1.7(MOSI) serial output
16 * P1.1
17 */
18 //----------------------------------------------------------------------------
19 void InitSpi()
20 {
21 1 //CS_SPI = 1;
22 1 EA = 0;
23 1 SPCON |= 0x10; /* Master mode */
24 1 SPCON |= 0x80; /* Fclk Periph/128 */
25 1 SPCON |= 0x20; /* P1.1 is available as standard I/O pin */
26 1 SPCON |= 0x08; /* CPOL=0; transmit mode example */
27 1 SPCON |= 0x04; /* CPHA=0; transmit mode example */
28 1 IEN1 |= 0x04; /* enable spi interrupt */
29 1 SPCON |= 0x40; /* run spi */
30 1 EA = 1; /* enable interrupts */
31 1 }
32
33
34 //----------------------------------------------------------------------------
35 void it_SPI(void) interrupt 9 /* interrupt address is 0x004B */
36 {
37 1 switch(SPSTA) /* read and clear spi status register */
38 1 {
39 2 case 0x80:
40 2 serial_data = SPDAT; /* read receive data */
41 2 SpiErrorCode = 0;
42 2 transmit_completed = 1;/* set software flag */
43 2 break;
44 2
45 2 case 0x10:
46 2 /* put here for mode fault tasking */
47 2 SpiErrorCode = SPI_ERROR_MODF;
48 2 transmit_completed = 1;
49 2 break;
50 2
51 2 case 0x40:
52 2 /* put here for overrun tasking */
53 2 SpiErrorCode = SPI_ERROR_OVERRUN;
54 2 transmit_completed = 1;
55 2 break;
C51 COMPILER V8.00 SPI 04/09/2009 08:55:38 PAGE 2
56 2 }
57 1 }
58 //----------------------------------------------------------------------------
59
60 /*******************************************************
61 * 玎镨覃忄弪 徉轵 潆
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -