📄 ad.lst
字号:
C51 COMPILER V7.10 AD 07/01/2005 09:27:03 PAGE 1
C51 COMPILER V7.10, COMPILATION OF MODULE AD
OBJECT MODULE PLACED IN ad.OBJ
COMPILER INVOKED BY: D:\PROGRAM FILES\KEIL\C51\BIN\C51.EXE ad.C OPTIMIZE(6,SPEED) BROWSE DEBUG OBJECTEXTEND
line level source
1 //**********************************************************************************
2 //本函数模块来自"51单片机世界",作者版主丁丁(聂小猛)。
3 //主页地址http://www.mcu51.com
4 //本程序为本站推出的"MCU51-63K仿真器"及"DX-51多功能试验板"而设计的,详情请到本站查看.
5 //"51单片机世界"版权所有,未经允许,不得抄袭作为商业用途
6 //**********************************************************************************
7 //TLC0832的AD采样函数模块,串行采样,共两个通道.
8 #define uchar unsigned char
9 #define uint unsigned int
10 #define ulong unsigned long
11 #include <reg52.h>
12
13 //**************************
14 //通过TLC0832采样模拟数据
15 //入口:采样通道,共两个:0或者1。
16 //返回:采样值
17 sbit SCS=P1^4;
18 sbit SCLK=P1^7;
19 sbit SDOUT=P1^6;
20 sbit SDIN=P1^5;
21 uchar bdata DATAIN;
22 sbit BITIN=DATAIN^0;
23 uchar get_ad(bit channel)
24 {
25 1 uchar i;
26 1
27 1 SCLK=0;
28 1 SCS=1;//选通允许
29 1 SCS=0;
30 1 SDIN=1; //启动位
31 1 SCLK=1;
32 1 SDIN=1;//SGL
33 1 SCLK=0;
34 1 SCLK=1;
35 1 SDIN=channel;//ODD=1; 选CH1通道,采样光敏电阻。ODD=0; 选CH0通道,采样咪头。
36 1 SCLK=0;
37 1 SCLK=1;
38 1 SCLK=0;
39 1 //MUX seting time
40 1 SCLK=1;
41 1 SCLK=0;
42 1 for(i=0;i<8;i++)
43 1 {
44 2 DATAIN=DATAIN<<1; //移位8次取到采样的值
45 2 BITIN=SDOUT;
46 2 SCLK=1;
47 2 SCLK=0;
48 2 }
49 1 SCS=1;
50 1 return(DATAIN);
51 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 55 ----
C51 COMPILER V7.10 AD 07/01/2005 09:27:03 PAGE 2
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
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 + -