📄 ad7791.lst
字号:
C51 COMPILER V7.50 AD7791 08/11/2006 13:17:52 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE AD7791
OBJECT MODULE PLACED IN AD7791.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE AD7791.C BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <at89x52.h>
2 #include <stdio.h>
3
4 /***********************************AD7791*************************************************/
5 sbit DIN = P0^0;
6 sbit DOUT_RDY = P0^1;
7 sbit SCLK = P0^2;
8 sbit CS = P0^3;
9 /*******************************************************************************************/
10 //function Inituart();
11 /*******************************************************************************************/
12 void delay ( unsigned int i )
13 {
14 1 while ( --i ) ;
15 1 }
16 void Inituart(void)
17 {
18 1 SCON = 0x50 ;
19 1 TMOD = 0x20 ;
20 1 TCON = 0x40 ;
21 1 TH1 = 0xFD ;
22 1 TL1 = 0xFD ; //11.0592MHz :9600
23 1 TI = 1;
24 1 TR1 = 1;
25 1 }
26 /*******************************************************************************************/
27 //function spi_write();
28 //communications register
29 //0x4c , continuous read 24bit data
30 /*******************************************************************************************/
31 spi_write( unsigned char sw )
32 {
33 1 unsigned char i;
34 1 CS=0;
35 1 SCLK=1;
36 1
37 1 for (i=0;i<8;i++)
38 1 {
39 2 SCLK = 0 ;
40 2 DIN = (bit)(sw&0x80);
41 2 sw<<=1;
42 2 SCLK = 1 ;
43 2
44 2 }
45 1 CS=1;
46 1 SCLK=0;
47 1 }
48 /*******************************************************************************************/
49 //function ad7791();
50 /*******************************************************************************************/
51 unsigned long spi_read ( void )
52 {
53 1 unsigned long addata = 0 ;
54 1 unsigned char i ;
55 1 CS=0;
C51 COMPILER V7.50 AD7791 08/11/2006 13:17:52 PAGE 2
56 1 SCLK=1;
57 1 for (i=0;i<24;i++)
58 1 {
59 2 SCLK=0;
60 2 addata*=2;
61 2 if(DOUT_RDY) addata++;
62 2 SCLK=1;
63 2 }
64 1 CS=1;
65 1 return(addata);
66 1 /*******************************************************************************************/
67 1 }
68 void main(void)
69 {
70 1 unsigned long ad;
71 1 Inituart(); // initialize 232 uart
72 1
73 1
74 1 spi_write( 0x20 ) ;
75 1 delay(100);
76 1 spi_write( 0x37 ) ;
77 1 delay(100);
78 1 spi_write( 0x3c ) ;
79 1
80 1 while(1)
81 1 {
82 2
83 2 //CS = 0 ;
84 2
85 2 //spi_write( 0x82 ) ;
86 2
87 2 delay ( 50000 ) ;
88 2
89 2 if(DOUT_RDY)
90 2 ad = spi_read();
91 2 //CS = 1 ;
92 2 //P2_5 = ~P2_5 ;
93 2 printf ( "%ld\n\r" , ad ) ;
94 2
95 2
96 2
97 2 }
98 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 208 ----
CONSTANT SIZE = 6 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 9
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 + -