📄 16.lst
字号:
C51 COMPILER V6.20c 16 03/19/2004 10:47:10 PAGE 1
C51 COMPILER V6.20c, COMPILATION OF MODULE 16
OBJECT MODULE PLACED IN 16.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 16.C COMPACT ROM(SMALL) DEBUG OBJECTEXTEND
stmt level source
1
2
3 /*------------------------------------------
4 serial ad & da.c 外电压比较器
5 Copyright 2002 DFJD Software, Inc.
6 --------------------------------------------*/
7
8 #include <reg52.h> /* special function register declarations */
9 /* for the intended 8051 derivative */
10 #include <stdio.h> /* prototype declarations for I/O functions */
11
12 #define uint unsigned int
13 #define uchar unsigned char
14
15 uchar bdata flag;
16 sbit flag_0=flag^0;
17 sbit flag_1=flag^1;
18 sbit flag_2=flag^2;
19 sbit flag_3=flag^3;
20 sbit flag_4=flag^4;
21
22
23 sbit P3_2=P3^2;
24 sbit P3_3=P3^3;
25 sbit P3_4=P3^4;
26 sbit P3_5=P3^5;
27 sbit P3_7=P3^7;
28
29
30 uchar data da; /* 收*/
31 uint data t_buf[4]; /* 发*/
32
33 uchar jj;
34
35 sbit AOUT=P3^6;
36
37 void delay(uint i)
38 {
39 1 uint j;
40 1 for(j=0;j<i;j++);
41 1 }
42
43 serial() interrupt 4 using 1
44 {
45 1 uchar i;
46 1 uchar *pi;
47 1 ES=0;
48 1 RI=0;
49 1 i=SBUF;
50 1 if(i!=0xaa)
51 1 {
52 2 SBUF=0xff;
53 2 while(TI==0);
54 2 TI=0;
55 2 ES=1;
C51 COMPILER V6.20c 16 03/19/2004 10:47:10 PAGE 2
56 2 return;
57 2 }
58 1 SBUF=0xbb;
59 1 while(TI==0);
60 1 TI=0;
61 1 pi=t_buf;
*** WARNING C182 IN LINE 61 OF 16.C: pointer to different objects
62 1 for(jj=0;jj<8;jj++)
63 1 {
64 2 SBUF=*pi;
65 2 while(TI==0);
66 2 TI=0;
67 2 pi++;
68 2 }
69 1 while(RI==0);
70 1 RI=0;
71 1 da=SBUF;
72 1 ES=1;
73 1 }
74
75 uint adcsand (uchar i)
76 {
77 1 uint ii; /* 1000us<->1000mv */
78 1 P1=0xfd; /*步骤1,p1.1=0, Cf放电 */
79 1 TR0=0;
80 1 delay(10); /* dalay20us,Cf彻底放电*/
81 1 TH0=0;
82 1 TL0=0;
83 1 P1=i; /* p1.1=1开始积分*/
84 1 TR0=1; /* 起动T0 */
85 1 while(AOUT==1); /* 检测AOUT 是否跳变,aout=0,(v- > v+)积分时间到
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -