📄 adc.lst
字号:
C51 COMPILER V6.23a ADC 11/25/2007 20:46:57 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE ADC
OBJECT MODULE PLACED IN Adc.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe Adc.c DB OE
stmt level source
1
2 //*********************************************************
3 // 项 目: 通用控制器-V1.0
4 // 文件名: Timer2.C
5 // 描 述: 定时器2中断服务程序
6 //*********************************************************
7
8 //===============================================
9 #include "main.h" //头文件
10 #include "Timer2.h"
11 #include "MFRC522.h"
12 #include "Adc.h"
13 //===============================================
14 //***********************************************
15 //变量定义
16 //***********************************************
17 UCHAR volatile Temp0,Temp;
18 UCHAR idata TempHead, TempTail;
19 UINT xdata Ttemp[TT_WIDTH];
20 extern UCHAR xdata tx_buf[TX_PLOAD_WIDTH];
21 //***********************************************
22 //函数开始
23 /***************************************
24 AD初始化
25 /***************************************/
26 void Adc0_Init(void)//
27 {
28 1 /* AMX0P = 0x09; //10H温度/09H:P1.0
29 1 AMX0N = 0x11; //单端,负端接地
30 1 ADC0CF = 0xf8; //转换时钟=SYSCLK/32,右对齐
31 1 ADC0CN = 0x80; //使能AD,ADC0BUSY置1启动转换
32 1 //-,-,-,-,REFSL,TEMPE,BIASE,REFBE
33 1 REF0CN = 0x0e; //
34 1 //启动转换获得初始温度值*/
35 1 }
36 /***************************************
37 温度值初始化
38 /***************************************/
39 /*void Temp_Init(void)//
40 {
41 UCHAR i;
42 UINT tt;
43
44 TempHead = 0;
45 TempTail = 0;
46
47 tt =Temp_Conver();
48
49 for(i=0;i<TT_WIDTH;i++)
50
51 Ttemp[i] = tt;
52
53 Temp0 = T_Compute();
54 }*/
55 /**************************************************
C51 COMPILER V6.23a ADC 11/25/2007 20:46:57 PAGE 2
56 功能: 温度转换;
57 描述:温度转换取值存数组(循环);
58 /**************************************************/
59 /*Temp_Conver()
60 {
61 UINT tt;
62
63 AD0BUSY = 1;
64
65 while(AD0INT==0);
66
67 AD0INT = 0;
68 tt = ADC0H*256+ADC0L;
69 Ttemp[TempTail] = tt;
70 TempTail++;
71 if (TempTail>=TT_WIDTH)
72 //包长异常
73 {TempTail=0; } //重新开始
74
75 return (tt);
76
77 }*/
78 /**************************************************
79 功能: 温度值计算;
80 描述:
81 /**************************************************/
82 /*T_Compute()
83
84 {
85 UCHAR i,ta,tb;
86 UINT aa=0;
87 UINT kk=0;
88 ULONG Tempsum=0;
89
90 for (i=0;i<TT_WIDTH;i++)
91
92 Tempsum += Ttemp[i];
93
94 Tempsum = Tempsum/TT_WIDTH;
95
96 aa = (UINT)Tempsum;
97
98 kk = aa*10/32;
99
100 //kk = (aa*32/10-776)*10/29;
101
102 ta = (UCHAR)kk;
103 //
104 tb = ta/10; //
105 ta = ta-tb*10;
106 tb = tb<< 4;
107 tb = tb|ta;
108
109 return(tb);
110 }*/
111 /**************************************************
112 功能: 温度数据包发送转换;
113 描述:
114 /**************************************************/
115 /*Temp_Send()
116
117 {
C51 COMPILER V6.23a ADC 11/25/2007 20:46:57 PAGE 3
118 //Temp = T_Compute();
119
120 if (Temp !=Temp0)
121 {
122 Temp0 = Temp;
123 tx_buf[0] = 0xAA; //包头
124 tx_buf[1] = 0x08; //包长度
125 tx_buf[2] = 0x81; //目标地址
126 tx_buf[3] = 0x92; //源地址
127 tx_buf[4] = 0x03; //'03',前端事件包
128 tx_buf[5] = 0x54; //温度标示
129 tx_buf[6] = Temp0; //温度值(十进制)
130 tx_buf[7] = 0XBB; //包尾
131 //
132 // TX_Mode(); //发送温度包到无线口
133 //tx_to_com(); //发送事件包到本板COM口
134 //SPI_RW_Reg(WRITE_REG+STATUS,SPI_Read(READ_REG+STATUS)); // 清 TX_DS
135 Delay1ms(200);
136
137 }
138
139 } */
140
141 //********************************************************
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 40 ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
IDATA SIZE = 2 ----
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 + -