📄 body_test.lst
字号:
C51 COMPILER V8.02 BODY_TEST 09/13/2007 16:35:01 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE BODY_TEST
OBJECT MODULE PLACED IN Body_Test.OBJ
COMPILER INVOKED BY: d:\Keil3\C51\BIN\C51.EXE Body_Test.c BROWSE DEBUG OBJECTEXTEND
line level source
1 // Includes
2 //-----------------------------------------------------------------------------
3 #include <c8051f020.h>
4 #define uchar unsigned char
5 #define uint unsigned int
6
7 #include <Lcd1602.h>
8 #include <Key.h>
9 #include <DS18B20_Driver.h>
10
11 //uchar Times;
12
13 // Function Library
14 //-----------------------------------------------------------------------------
15 void SYSTEM_Init (void);
16 void PORT_Init (void);
17 void Temperature_Display(uint Temp);
18 //-----------------------------------------------------------------------------
19 extern void Timer1_Init(void);
20 extern void Timer3_Init (int counts);
21 extern uchar Puls_Counter(void);
22 extern void Display_Pusle(uchar times);
23
24
25 //-----------------------------------------------------------------------------
26 // MAIN Routine
27 //-----------------------------------------------------------------------------
28 void main (void)
29 {
30 1
31 1
32 1 SYSTEM_Init ();
33 1 PORT_Init ();
34 1 Lcd1602_Ini();
35 1 Timer1_Init();
36 1 Timer3_Init (36864);// counts = 36864 T = 0.02s
37 1
38 1 DS18B20_Init();
39 1 EA = 1;
40 1
41 1
42 1 while(1)
43 1 {
44 2 Lcd1602_Clear_Line(1);
45 2 Lcd1602_Write_String(1,1," Press any key!");
46 2 while(Key_Word()==0xff);
47 2 Display_Pusle(Puls_Counter());
48 2 }
49 1
50 1
51 1
52 1
53 1 }
54
55
C51 COMPILER V8.02 BODY_TEST 09/13/2007 16:35:01 PAGE 2
56
57 void Temperature_Display(uint Temp)
58 {
59 1 uint t,i; uint a[5];
60 1 t = Temp*6.25;
61 1
62 1
63 1 a[0] = t/1000;
64 1 a[1] = (t-a[0]*1000)/100;
65 1 a[2] = '.'-'0';
66 1 a[3] = (t-a[0]*1000-a[1]*100)/10;
67 1 a[4] = (t-a[0]*1000-a[1]*100-a[3]*10);
68 1
69 1 //Lcd1602_Clear_Line(2);
70 1 Lcd1602_Write_String(2,9,"T:");
71 1 for(i=0;i<5;i++){ Lcd1602_Write_char(a[i]+'0'); }
72 1 Lcd1602_Write_char('C');
73 1 }
74
75
76
77 // SYSTEM_Init
78 void SYSTEM_Init (void)
79 {
80 1 int i;
81 1 WDTCN = 0xde; // disable watchdog timer
82 1 WDTCN = 0xad;
83 1
84 1 //OSCICN = 0x17; // 选用内部振荡器 16MHZ
85 1
86 1 // delay counter
87 1 OSCXCN = 0x67; // start external oscillator with
88 1 // 22.1184MHz crystal
89 1 for (i=0; i < 256; i++) ; // wait for XTLVLD to stabilize
90 1 while (!(OSCXCN & 0x80)) ; // Wait for crystal osc. to settle
91 1 OSCICN = 0x88; // select external oscillator as SYSCLK
92 1 // source and enable missing clock
93 1 // detector
94 1 }
95
96 //-----------------------------------------------------------------------------
97 // PORT_Init
98 void PORT_Init (void)
99 {
100 1 XBR0 |= 0x00;
101 1 XBR1 |= 0x08; // Enable Counter1
102 1 XBR2 |= 0x40; // Enable crossbar and weak pull-ups
103 1
104 1 P0MDOUT |= 0x00; // 键盘P1口配置位漏极方式
105 1 P74OUT |= 0xff; // 显示P4控制口,P5数据口,均配置为推挽方式
106 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 325 ----
CONSTANT SIZE = 19 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 12
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILER V8.02 BODY_TEST 09/13/2007 16:35:01 PAGE 3
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -