📄 tlc2543.lst
字号:
C51 COMPILER V7.06 TLC2543 07/20/2008 03:33:51 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE TLC2543
OBJECT MODULE PLACED IN E:\温度表\TLC2543.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE E:\温度表\TLC2543.C DB SB OE
stmt level source
1 #include <REG52.H>
2 #include <intrins.h>
3 //-------------------------------------------------
4 //函数头的声明
5 //-------------------------------------------------
6 void delay(); //延时函数
7 unsigned int AD_Conver(unsigned char Channel);
8 //AD转换
9 //--------------------------------------------------
10 //定义四线制接口
11 //-------------------------------------------------
12 sbit cs = P1^5; //片选
13 sbit clk = P1^2; //时钟
14 sbit din = P1^3; //数据入口
15 sbit dout = P1^4; //数据出口
16 //---------------------------------------------------
17
18 //--------------------------------------------------
19 // 函数名称: delay
20 // 函数功能: 延时55us
21 // 入口参数: 无
22 // 出口参数: 无
23 //--------------------------------------------------
24 void delay()
25 {
26 1 unsigned int i = 5;
27 1 while(i)i--;
28 1 }
29 //--------------------------------------------------
30 // 函数名称: AD_Conver
31 // 函数功能: AD转换
32 // 入口参数: 地址命令字
33 // 出口参数: AD值
34 //--------------------------------------------------
35 unsigned int AD_Conver(unsigned char channel)
36 {
37 1 unsigned char i;
38 1 long int ad_value = 0;
39 1
40 1
41 1 cs = 1;
42 1 clk = 0;
43 1 delay();
44 1 cs = 0;
45 1
46 1 channel <<=4;
47 1 for (i = 0; i < 12; i++) //注意:在12个时钟周期的下降沿产生了数据输出
48 1 { din = (bit)(channel & 0x80); //哪个通道做转换,在后8个时钟内就一直对此通道
49 2 clk = 1; //进行采样,并保持到第12个时钟周期结束,此后才
50 2 //在前4个时钟周期内,TLC2543已经知道下一次将
51 2 if (dout) ad_value |= 1;
52 2 //开始进行A/D转换,转换时间需要10us.
53 2 delay(); //在第4-8个时钟周期内输入的是命令控制字
54 2 clk = 0; //可根据需要输入
55 2
C51 COMPILER V7.06 TLC2543 07/20/2008 03:33:51 PAGE 2
56 2 channel <<=1;
57 2 ad_value <<=1;
58 2
59 2 }
60 1
61 1 //clk =1;
62 1 ad_value >>=1;
63 1
64 1 return ad_value;
65 1
66 1
67 1 }
68
69 /****************************************************************************************************/
C51 COMPILER V7.06 TLC2543 07/20/2008 03:33:51 PAGE 3
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
IE . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1
delay. . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . * REG * DATA U_INT 0006H 2
IP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
_AD_Conver . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
channel. . . . . . . . . . . . . . . * REG * DATA U_CHAR 0003H 1
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0002H 1
ad_value . . . . . . . . . . . . . . AUTO DATA LONG 0000H 4
clk. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0092H 1
din. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0093H 1
dout . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0094H 1
cs . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0095H 1
T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 124 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 4
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 + -