📄 tlc549.lst
字号:
C51 COMPILER V7.06 TLC549 11/21/2007 13:18:27 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE TLC549
OBJECT MODULE PLACED IN Tlc549.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Tlc549.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1
2 /********************************************************
3 TLC549
4 作者:张建江
5 编写时间:2007年6月11日
6 最后修改:2006年6月11日
7 代码是否优化:否
8
9 ********************************************************/
10 //功能:串行AD转换器TL549进行一路模拟量的测量
11 //驱动TLC549,TLC549是串行8位ADC
12 //使用的接口 /CS = P1.2, DAT = P1.1, CLK = P1.0
13 #include <REG51.h>
14 #include <intrins.h>
15 #include <absacc.h>
16 #define uchar unsigned char
17
18 //定义TLC549串行总线操作端口
19 sbit CLK=P1^0;
20 sbit DAT=P1^1;
21 sbit CS=P1^2;
22
23 uchar bdata ADCdata;
24 sbit ADbit=ADCdata^0;
25
26
27 /***************************************************
28 **函数名称: TLC549ADC()
29 **函数功能: 读取上一次A/D转换的数据,启动下一次A/D转换
30 ****************************************************/
31 uchar TLC549ADC(void)
32 {
33 1 uchar i;
34 1 CLK=0;
35 1 DAT=1;
36 1 CS=0;
37 1 for(i=0;i<8;i++)
38 1 {
39 2 CLK=1;
40 2 _nop_();
41 2 _nop_();
42 2 ADCdata<<=1;
43 2 ADbit=DAT;
44 2 CLK=0;
45 2 _nop_();
46 2 }
47 1 return (ADCdata);
48 1 }
49 void main()
50 {
51 1 uchar i;
52 1 uchar AD_DATA; //定义A/D转换数据变量
53 1 TLC549ADC(); //启动一次A/D转换
54 1
55 1 for(i=0xff;i>0;i--) //延时
C51 COMPILER V7.06 TLC549 11/21/2007 13:18:27 PAGE 2
56 1 {_nop_();}
57 1
58 1 AD_DATA=TLC549ADC(); //读取当前电压值A/D转换数据
59 1 while(1);
60 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 47 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 1
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 + -