📄 temp.lst
字号:
C51 COMPILER V8.08 TEMP 03/18/2009 21:47:28 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE TEMP
OBJECT MODULE PLACED IN temp.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE temp.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #define uchar unsigned char
2 #define uint unsigned int
3 #define ulong unsigned long
4 #include <reg52.h>
5 #include <stdio.h>
6 #include <lcd.h>
7
8 //通过ADC0832采样模拟数据
9 sbit SCS=P3^6;
10 sbit SCLK=P3^5;
11 sbit SDOUT=P3^3;
12 sbit SDIN=P3^4;
13
14 sbit led1 = P1^6;
15 sbit led2 = P1^7;
16
17
18 //sbit EPIN = P1^2; //LCM1602使能信号
19 uchar buf[3];
20 uchar bdata DATAIN;
21 sbit BITIN=DATAIN^0;
22 sbit buzzer=P3^7;
23 uint get_data;
24
25
26 void buzz(uchar b) //蜂鸣器发音
27 {
28 1 uchar i;
29 1 uint j;
30 1 for(j=0;j<b*256;j++)
31 1 {
32 2 for(i=100;i>0;i--);//i的大小决定输出频率
33 2 buzzer=~buzzer;
34 2 }
35 1 }
36
37
38 uchar get_ad(bit channel)
39 {
40 1 uchar i;
41 1
42 1 SCLK=0;
43 1 SCS=1;//选通允许
44 1 SCS=0;
45 1 SDIN=1; //启动位
46 1 SCLK=1;
47 1 SDIN=1;//SGL
48 1 SCLK=0;
49 1 SCLK=1;
50 1 SDIN=channel;//ODD=1; 选CH0。
51 1 SCLK=0;
52 1 SCLK=1;
53 1 SCLK=0;
54 1 SCLK=1;
55 1 SCLK=0;
C51 COMPILER V8.08 TEMP 03/18/2009 21:47:28 PAGE 2
56 1 for(i=0;i<8;i++)
57 1 {
58 2 DATAIN=DATAIN<<1; //移位8次取到采样的值
59 2 BITIN=SDOUT;
60 2 SCLK=1;
61 2 SCLK=0;
62 2 }
63 1 SCS=1;
64 1 return(DATAIN);
65 1 }
66
67 void convert()
68 {
69 1 uint temp=0;
70 1 temp=get_ad(0);
71 1 get_data = (uint)temp*100/255 ;
72 1
73 1 if( get_data < 30)
74 1 {
75 2 led1 = 1;
76 2 led2 = 0;
77 2 buzz(5);
78 2 }
79 1 else if( get_data > 60)
80 1 {
81 2 led1 = 0;
82 2 led2 = 1;
83 2 buzz(20);
84 2 }
85 1 else
86 1 {
87 2 led1 = 0;
88 2 led2 = 0;
89 2 }
90 1
91 1
92 1 }
93
94 void main()
95 {
96 1
97 1
98 1 EPIN=0;
99 1 lcdreset();
100 1 lcdwda(0,0,"THE temprure IS");
101 1 lcdwda(0,1,"measrued: ");
102 1 while(1)
103 1 {
104 2 convert();
105 2
106 2 buf[0]=get_data%1000/100;
107 2 buf[1]=get_data%100/10;
108 2 buf[2]=get_data%10;
109 2
110 2 lcdchar (9,1,buf[0]+0x30);
111 2 lcdchar (10,1,buf[1]+0x30);
112 2 lcdchar (11,1,buf[2]+0x30);
113 2 }
114 1
115 1 }
116
117
C51 COMPILER V8.08 TEMP 03/18/2009 21:47:28 PAGE 3
118
119
120
121
122
123
124
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 288 ----
CONSTANT SIZE = 34 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 ----
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 + -