📄 temperture.lst
字号:
C51 COMPILER V8.01 TEMPERTURE 09/14/2008 01:37:58 PAGE 1
C51 COMPILER V8.01, COMPILATION OF MODULE TEMPERTURE
OBJECT MODULE PLACED IN temperture.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE temperture.c LARGE BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<c8051f000.h>
2 #define SYSCLK 16000000
3 #define SAMPLERATE 50000
4 sfr16 ADC0=0xBE;
5 sfr16 TMR3RL=0x92;
6 sfr16 TMR3=0x94;
7 sbit P00=P0^0;
8 long result;
9 long temprature;
10 int temp_int;
11 int temp_frac;
12 void SYSCLK_Init(void);
13 void ADC_Init();
14 void PORT_Init();
15 void Timer3_Init(unsigned int counts);
16 void DAC_Init();
17 //void UART_Init();
18 void main(void)
19 {
20 1 WDTCN=0xde;
21 1 WDTCN=0xad;
22 1 SYSCLK_Init();
23 1 PORT_Init();
24 1 Timer3_Init(50000);
25 1 // UART_Init();
26 1 ADC_Init();
27 1 ADCEN=1; //ADC转换允许
28 1 DAC_Init();
29 1 EA=1; //开总中断
30 1 while(1)
31 1 {
32 2 EA=0; //关总中断
33 2 temprature=result;
34 2 EA=1;
35 2 DAC0L=temprature|0x00FF;
36 2 DAC0H=(temprature|0xFF00)>>8;
37 2 //计算温度(1%100温度)
38 2 temprature-=41758;
39 2 temprature=(temprature*100)/154;
40 2 temp_int=temprature/100;
41 2 temp_frac=temprature-temp_int*100;
42 2 }
43 1
44 1 }
45 void SYSCLK_Init()
46 {
47 1 OSCICN=OSCICN|0x03; //启用内部晶振16MHZ
48 1 }
49 void PORT_Init()
50 {
51 1 XBR1=0x00;
52 1 XBR2=0x40;
53 1 PRT0CF=0xFF; //PO推挽输出
54 1 }
55 void ADC_Init()
C51 COMPILER V8.01 TEMPERTURE 09/14/2008 01:37:58 PAGE 2
56 {
57 1 ADC0CN=0x05; //ADC0禁止定时器3触发左对齐
58 1 REF0CN=0x07; //允许温度传感器工作
59 1 AMX0SL|=0x0f; //选择温度传感器作为AD输入
60 1 ADC0CF=0x81; //分频系数(为16〕与增益(为2)设置
61 1 EIE2|=0x02; //允许ADC中断
62 1 }
63 void DAC_Init()
64 {
65 1 DAC0CN=0x84; //DAC允许,左对齐方式
66 1 }
67 void Timer3_Init(unsigned int counts)
68 {
69 1 TMR3CN=0x02; //停止定时器3,清除TF3,系统时钟为时基
70 1 TMR3RL=~counts+1; //赋初值
71 1 TMR3=TMR3RL;
72 1 EIE2&=!0x01; //开T3中断
73 1 TMR3CN|=0x04; //启动T3
74 1 }
75 void ADC0_ISR(void) interrupt 15
76 {
77 1 ADCINT=0; //清转换结束标志
78 1 result=ADC0;
79 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 343 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 12 ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -