📄 12ad.lst
字号:
C51 COMPILER V6.12 12AD 07/28/2005 17:26:06 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE 12AD
OBJECT MODULE PLACED IN .\12AD.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\12AD.C BROWSE INCDIR(d:\Keil\C51\BIN) DEBUG OBJECTEXTEND CODE LISTINCLUDE
- SYMBOLS PREPRINT
stmt level source
*** WARNING C500 IN LINE 1 OF .\12AD.C: MISSING DEVICE (SECURITY KEY NOT FOUND)
1 #include <reg52.h>
1 =1 /*--------------------------------------------------------------------------
2 =1 REG52.H
3 =1
4 =1 Header file for generic 80C52 and 80C32 microcontroller.
5 =1 Copyright (c) 1988-2001 Keil Elektronik GmbH and Keil Software, Inc.
6 =1 All rights reserved.
7 =1 --------------------------------------------------------------------------*/
8 =1
9 =1 /* BYTE Registers */
10 =1 sfr P0 = 0x80;
11 =1 sfr P1 = 0x90;
12 =1 sfr P2 = 0xA0;
13 =1 sfr P3 = 0xB0;
14 =1 sfr PSW = 0xD0;
15 =1 sfr ACC = 0xE0;
16 =1 sfr B = 0xF0;
17 =1 sfr SP = 0x81;
18 =1 sfr DPL = 0x82;
19 =1 sfr DPH = 0x83;
20 =1 sfr PCON = 0x87;
21 =1 sfr TCON = 0x88;
22 =1 sfr TMOD = 0x89;
23 =1 sfr TL0 = 0x8A;
24 =1 sfr TL1 = 0x8B;
25 =1 sfr TH0 = 0x8C;
26 =1 sfr TH1 = 0x8D;
27 =1 sfr IE = 0xA8;
28 =1 sfr IP = 0xB8;
29 =1 sfr SCON = 0x98;
30 =1 sfr SBUF = 0x99;
31 =1
32 =1 /* 8052 Extensions */
33 =1 sfr T2CON = 0xC8;
34 =1 sfr RCAP2L = 0xCA;
35 =1 sfr RCAP2H = 0xCB;
36 =1 sfr TL2 = 0xCC;
37 =1 sfr TH2 = 0xCD;
38 =1
39 =1
40 =1 /* BIT Registers */
41 =1 /* PSW */
42 =1 sbit CY = PSW^7;
43 =1 sbit AC = PSW^6;
44 =1 sbit F0 = PSW^5;
45 =1 sbit RS1 = PSW^4;
46 =1 sbit RS0 = PSW^3;
47 =1 sbit OV = PSW^2;
48 =1 sbit P = PSW^0; //8052 only
49 =1
50 =1 /* TCON */
51 =1 sbit TF1 = TCON^7;
52 =1 sbit TR1 = TCON^6;
C51 COMPILER V6.12 12AD 07/28/2005 17:26:06 PAGE 2
53 =1 sbit TF0 = TCON^5;
54 =1 sbit TR0 = TCON^4;
55 =1 sbit IE1 = TCON^3;
56 =1 sbit IT1 = TCON^2;
57 =1 sbit IE0 = TCON^1;
58 =1 sbit IT0 = TCON^0;
59 =1
60 =1 /* IE */
61 =1 sbit EA = IE^7;
62 =1 sbit ET2 = IE^5; //8052 only
63 =1 sbit ES = IE^4;
64 =1 sbit ET1 = IE^3;
65 =1 sbit EX1 = IE^2;
66 =1 sbit ET0 = IE^1;
67 =1 sbit EX0 = IE^0;
68 =1
69 =1 /* IP */
70 =1 sbit PT2 = IP^5;
71 =1 sbit PS = IP^4;
72 =1 sbit PT1 = IP^3;
73 =1 sbit PX1 = IP^2;
74 =1 sbit PT0 = IP^1;
75 =1 sbit PX0 = IP^0;
76 =1
77 =1 /* P3 */
78 =1 sbit RD = P3^7;
79 =1 sbit WR = P3^6;
80 =1 sbit T1 = P3^5;
81 =1 sbit T0 = P3^4;
82 =1 sbit INT1 = P3^3;
83 =1 sbit INT0 = P3^2;
84 =1 sbit TXD = P3^1;
85 =1 sbit RXD = P3^0;
86 =1
87 =1 /* SCON */
88 =1 sbit SM0 = SCON^7;
89 =1 sbit SM1 = SCON^6;
90 =1 sbit SM2 = SCON^5;
91 =1 sbit REN = SCON^4;
92 =1 sbit TB8 = SCON^3;
93 =1 sbit RB8 = SCON^2;
94 =1 sbit TI = SCON^1;
95 =1 sbit RI = SCON^0;
96 =1
97 =1 /* P1 */
98 =1 sbit T2EX = P1^1; // 8052 only
99 =1 sbit T2 = P1^0; // 8052 only
100 =1
101 =1 /* T2CON */
102 =1 sbit TF2 = T2CON^7;
103 =1 sbit EXF2 = T2CON^6;
104 =1 sbit RCLK = T2CON^5;
105 =1 sbit TCLK = T2CON^4;
106 =1 sbit EXEN2 = T2CON^3;
107 =1 sbit TR2 = T2CON^2;
108 =1 sbit C_T2 = T2CON^1;
109 =1 sbit CP_RL2 = T2CON^0;
2 #include <stdio.h>
1 =1 /*--------------------------------------------------------------------------
2 =1 STDIO.H
3 =1
4 =1 Prototypes for standard I/O functions.
C51 COMPILER V6.12 12AD 07/28/2005 17:26:06 PAGE 3
5 =1 Copyright (c) 1988-2001 Keil Elektronik GmbH and Keil Software, Inc.
6 =1 All rights reserved.
7 =1 --------------------------------------------------------------------------*/
8 =1
9 =1 #ifndef EOF
10 =1 #define EOF -1
11 =1 #endif
12 =1
13 =1 #ifndef NULL
14 =1 #define NULL ((void *) 0)
15 =1 #endif
16 =1
17 =1 #ifndef _SIZE_T
18 =1 #define _SIZE_T
19 =1 typedef unsigned int size_t;
20 =1 #endif
21 =1
22 =1 #pragma SAVE
23 =1 #pragma REGPARMS
24 =1 extern char _getkey (void);
25 =1 extern char getchar (void);
26 =1 extern char ungetchar (char);
27 =1 extern char putchar (char);
28 =1 extern int printf (const char *, ...);
29 =1 extern int sprintf (char *, const char *, ...);
30 =1 extern int vprintf (const char *, char *);
31 =1 extern int vsprintf (char *, const char *, char *);
32 =1 extern char *gets (char *, int n);
33 =1 extern int scanf (const char *, ...);
34 =1 extern int sscanf (char *, const char *, ...);
35 =1 extern int puts (const char *);
36 =1
37 =1 #pragma RESTORE
3 #include <math.h>
1 =1 /*--------------------------------------------------------------------------
2 =1 MATH.H
3 =1
4 =1 Prototypes for mathematic functions.
5 =1 Copyright (c) 1988-2001 Keil Elektronik GmbH and Keil Software, Inc.
6 =1 All rights reserved.
7 =1 --------------------------------------------------------------------------*/
8 =1
9 =1 #pragma SAVE
10 =1 #pragma REGPARMS
11 =1 extern char cabs (char val);
12 =1 extern int abs (int val);
13 =1 extern long labs (long val);
14 =1 extern float fabs (float val);
15 =1 extern float sqrt (float val);
16 =1 extern float exp (float val);
17 =1 extern float log (float val);
18 =1 extern float log10 (float val);
19 =1 extern float sin (float val);
20 =1 extern float cos (float val);
21 =1 extern float tan (float val);
22 =1 extern float asin (float val);
23 =1 extern float acos (float val);
24 =1 extern float atan (float val);
25 =1 extern float sinh (float val);
26 =1 extern float cosh (float val);
27 =1 extern float tanh (float val);
28 =1 extern float atan2 (float y, float x);
C51 COMPILER V6.12 12AD 07/28/2005 17:26:06 PAGE 4
29 =1
30 =1 extern float ceil (float val);
31 =1 extern float floor (float val);
32 =1 extern float modf (float val, float *n);
33 =1 extern float fmod (float x, float y);
34 =1 extern float pow (float x, float y);
35 =1
36 =1 #pragma RESTORE
4 #include <intrins.h>
1 =1 /*--------------------------------------------------------------------------
2 =1 INTRINS.H
3 =1
4 =1 Intrinsic functions for C51.
5 =1 Copyright (c) 1988-2001 Keil Elektronik GmbH and Keil Software, Inc.
6 =1 All rights reserved.
7 =1 --------------------------------------------------------------------------*/
8 =1
9 =1 extern void _nop_ (void);
10 =1 extern bit _testbit_ (bit);
11 =1 extern unsigned char _cror_ (unsigned char, unsigned char);
12 =1 extern unsigned int _iror_ (unsigned int, unsigned char);
13 =1 extern unsigned long _lror_ (unsigned long, unsigned char);
14 =1 extern unsigned char _crol_ (unsigned char, unsigned char);
15 =1 extern unsigned int _irol_ (unsigned int, unsigned char);
16 =1 extern unsigned long _lrol_ (unsigned long, unsigned char);
17 =1 extern unsigned char _chkfloat_(float);
5
6 sfr AUXR=0x8E;
7
8 sbit CLOCK=P2^7; //1543与MCU接口定义
9 sbit D_IN=P2^6;
10 sbit D_OUT=P2^5;
11 sbit _CS=P2^2;
12
13
14 /*sbit P01=P0^1;
15 sbit P02=P0^2;
16 sbit P03=P0^3;
17 sbit P04=P0^4;
18 sbit P05=P0^5;
19 sbit P06=P0^6;*/
20
21 //sbit P16=P1^6;
22
23 #define uint unsigned int
24 #define uchar unsigned char
25
26 uint xdata adresult[35][10];
27 uint idata Result[35];
28 uchar Times; //每点采用次数
29
30 uchar ch[2];
31 uchar i,j,k,m;
32 uint n;
33
34 sbit X5045_CS=P1^0; //X5045接口定义
35 sbit X5045_SO=P1^1;
36 sbit X5045_SCK=P1^2;
37 sbit X5045_SI=P1^3;
38
39 #define WREN 0X06 //X5045命令
40 #define WRDI 0X04
C51 COMPILER V6.12 12AD 07/28/2005 17:26:06 PAGE 5
41 #define RDSR 0X05
42 #define WRSR 0X01
43 //#define READ
44 //#define WRITE
45
46 extern void Init(void);
47 extern void UART(void);
48
49 uchar bdata data_x5045;
50 sbit x5045_data0=data_x5045^0;
51 sbit x5045_data7=data_x5045^7;
52
53
54 //******************************************//
55 uchar Read8(void) /*read from 5045*/
56 {
57 1 uchar i;
58 1 for(i=0;i<8;i++)
59 1 {
60 2 X5045_SCK=1;
61 2 X5045_SCK=0;
62 2 data_x5045=data_x5045<<1;
63 2 x5045_data0=X5045_SO;
64 2 }
65 1 return(data_x5045);
66 1 }
67
68
69 //*******************************************//
70 void Write8(uchar cData)
71 {
72 1 uchar i;
73 1 data_x5045=cData;
74 1 for(i=0;i<8;i++)
75 1 {
76 2 X5045_SCK=0;
77 2 X5045_SI=x5045_data7;
78 2 X5045_SCK=1;
79 2 data_x5045=data_x5045<<1;
80 2 }
81 1 }
82
83
84 //**********************************************//
85 uchar ReadSR(void)
86 {
87 1 uchar cData;
88 1 X5045_CS=0;
89 1 Write8(RDSR);
90 1 cData=Read8();
91 1 X5045_CS=1;
92 1 return(cData);
93 1 }
94
95
96 //**********************************************//
97 void WriteSR(uchar cData)
98 {
99 1 while((ReadSR()&0x01)==1);
100 1 X5045_CS=0;
101 1 Write8(WREN);
102 1 X5045_CS=1;
C51 COMPILER V6.12 12AD 07/28/2005 17:26:06 PAGE 6
103 1 X5045_CS=0;
104 1 Write8(WRSR);
105 1 Write8(cData);
106 1 X5045_CS=1;
107 1 }
108
109
110
111 /*********读tlc1543子程序****************************/
112 uint Read1543(uchar port) //形参port是采样的通道号
113 {
114 1 uint data ad;uint data i;
115 1 uchar data al=0,ah=0;
116 1
117 1 CLOCK=0;_CS=0;
118 1 port<<=4;
119 1 for (i=0;i<4;i++) //把通道号打入1543
120 1 {
121 2 D_IN=(bit)(port&0x80);CLOCK=1;CLOCK=0;
122 2 port<<=1;
123 2 }
124 1 for (i=0;i<6;i++) //填充6个CLOCK
125 1 {
126 2 CLOCK=1;CLOCK=0;
127 2 }
128 1
129 1 _CS=1;//等待AD转换
130 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -