📄 spi_main.lst
字号:
C51 COMPILER V8.08 SPI_MAIN 06/02/2007 10:16:47 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE SPI_MAIN
OBJECT MODULE PLACED IN SPI_Main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE SPI_Main.c BROWSE DEBUG OBJECTEXTEND
line level source
1
2 #define uchar unsigned char
3 #define uint unsigned int
4 #define ulong unsigned long
5 //---------------------------
6 #include <REG52.H>
7 #include<STDIO.H>
8
9 //---------------------------
10 sbit SPICLK = P1^0;
11 sbit MOSI = P1^1;
12 sbit MISO = P1^2;
13 sbit SS = P1^3;
14 //---------------------------
15 void Nop(void)
16 {
17 1 ;
18 1 }
19 void Delay(uchar t)
20 {
21 1 while(t--){;}
22 1 }
23
24 uchar Data_Receive(void)
25 {
26 1 uchar i,dat=0,temp;
27 1 bit bt;
28 1 SPICLK=1;
29 1 MISO=1;
30 1 SS=0; //选中器件
31 1 Nop();
32 1 Nop();
33 1 for(i=0;i<8;i++)
34 1 {
35 2 SPICLK=1;
36 2 Nop();
37 2 Nop();
38 2 Nop();
39 2 SPICLK=0;
40 2 Nop();
41 2 Nop();
42 2 bt=MISO;
43 2 if(bt)
44 2 temp=0x01;
45 2 else temp=0x00;
46 2 dat=(dat<<1);
47 2 dat=(dat|temp);
48 2 }
49 1 SS=1;
50 1 SPICLK=1;
51 1 return dat;
52 1 }
53 void main(void)
54 {
55 1 uchar exdat;
C51 COMPILER V8.08 SPI_MAIN 06/02/2007 10:16:47 PAGE 2
56 1 uchar i=0;
57 1 uchar code table[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
58 1 0x7F,0x6F};
59 1 P2=0;
60 1 while(1)
61 1 {
62 2 exdat=Data_Receive();
63 2 P0=table[exdat];
64 2 for(i=0;i<200;i++)
65 2 Delay(200);
66 2
67 2 }
68 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 97 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -