📄 5615.lst
字号:
C51 COMPILER V6.02 5615 09/10/2005 17:11:41 PAGE 1
C51 COMPILER V6.02, COMPILATION OF MODULE 5615
OBJECT MODULE PLACED IN D:\2005_09\5615.OBJ
COMPILER INVOKED BY: D:\C51\BIN\C51.EXE D:\2005_09\5615.c SMALL DB OE CO OT(SIZE)
stmt level source
1
2 /************************************************************************/
3 /************************************************************************/
4 /* */
5 /* tlc 5615 d/a */
6 /* */
7 /* Author: zhiqiang huo */
8 /* */
9 /* */
10 /************************************************************************/
11 //***********************************************************************/
12
13
14
15
16 #include "math.h"
17 #include "reg52.h"
18 #include "typedef.h"
19 #include "function.h"
20 #include "define.h"
21 #include "varible.h"
22
23
24
25 #define DA_K (1023.0/32767.0)
26 //#define DA_K (1024.0/32767.0)
27 /**************function declare***************/
28 void Da_init(void);
29 void Da_convert(unsigned int da_data);
30 void Da_data_chang(void);
31 void Da_prc(void);
32 sbit DA_CS = P2^0 ;
33 sbit DA_CLK = P2^1 ;
34 sbit DA_DATA = P2^2 ;
35 /********************************************/
36
37 void Da_init(void)
38 {
39 1 DA_CLK = 0 ;
40 1 DA_CS = 1 ;
41 1 da_send_F = 0;
42 1 send_bit_count = 0 ;
43 1 da_offset = (Read1B(0x35,0)+Read1B(0x36,0)*10+Read1B(0x37,0)*100) ;
44 1 }
45
46 /********************************************/
47
48 void Da_convert(unsigned int da_data)
49 {
50 1 unsigned char i;
51 1 DA_CLK = 0 ;
52 1 DA_CS = 0 ;
53 1 Delay_1us();
54 1
55 1
C51 COMPILER V6.02 5615 09/10/2005 17:11:41 PAGE 2
56 1
57 1 for (i=0;i<16;i++)
58 1 {
59 2 DA_DATA = (bit)(da_data&0x8000) ;
60 2 da_data <<= 1 ;
61 2 DA_CLK = 0;
62 2 Delay_1us();
63 2 DA_CLK = 1 ;
64 2 Delay_1us();
65 2 }
66 1 DA_CLK = 0;
67 1 DA_CS = 1;
68 1
69 1 return;
70 1
71 1
72 1 }
73
74 /*******************************************/
75 /*******************************************/
76 void Da_data_chang(void)
77 {
78 1 unsigned int ad_consult ;
79 1
80 1 + ad_consult = da_data*DA_K; // 16bit ad_data is changed to 10 bit da_data
81 1 if(ad_consult >1023)
82 1 {
83 2 //ad_consult=1023;
84 2 da_send_data = 1023; //out 4-20mA data convert
85 2 }
86 1 else
87 1 {
88 2 // da_send_data = (unsigned int)(4.0*ad_consult/5.0) + (unsigned int)203; // 205 ; //out 4-20mA data
- convert
89 2 da_send_data = (unsigned int)((1.0-da_offset/1023.0)*ad_consult) + da_offset; // 205 ; //out 4-
-20mA data convert
90 2
91 2 if(da_send_data > 1023)
92 2 da_send_data = 1023 ;
93 2 }
94 1
95 1 // da_send_data= 0x3ff;
96 1 da_send_data <<= 2; //get 5615 data
97 1 return;
98 1 }
99 extern bit next_F;
100 /**************************************/
101 /**************************************/
102
103 void Da_prc(void)
104 {
105 1 ET1 = 0 ;
106 1 TF1 = 0 ;
107 1 DA_CS = 0 ;
108 1 DA_CLK = 0 ;
109 1 da_send_F = 1 ;
110 1 next_F = 0 ;
111 1 Da_data_chang();
112 1 TR1 = 1 ;
113 1 // Da_convert(da_send_data);
114 1 ET1 = 1 ;
115 1 return;
C51 COMPILER V6.02 5615 09/10/2005 17:11:41 PAGE 3
116 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 317 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 5
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 + -