⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 temperature.lst

📁 TI 集成高性能24位A/D转换器的8052 核心单片机MSC1210 内置温度传感器测量代码。
💻 LST
📖 第 1 页 / 共 2 页
字号:
RC51 COMPILER V03.03.26,  TEMPERATURE             08/05/02  11:27:47  PAGE  1

QCW(0x00002F32)

WIN32 RC51 COMPILER V03.03.26, COMPILATION OF MODULE TEMPERATURE
OBJECT MODULE PLACED IN d:\data\msc1210\msc1210 daq evm\ride\temperature\tempera
            -ture.obj
COMPILER INVOKED BY: RC51.EXE D:\DATA\MSC1210\MSC1210 DAQ EVM\RIDE\TEMPERATURE\T
            -EMPERATURE.C OBJECT(D:\DATA\MSC1210\MSC1210 DAQ EVM\RIDE\TEMPERATUR
            -E\TEMPERATURE.OBJ) PIN(D:\RIDE\INC) NOAM PR(D:\DATA\MSC1210\MSC1210
            - DAQ EVM\RIDE\TEMPERATURE\TEMPERATURE.LST) CD SB OE(1) SM MODAMD(DP
            -2) FP(NOFLOAT) PW(80) NOIS UNSIGNEDCHAR ET(CHAR) 

stmt level    source
   1          // Texas Instruments
   2          // Name:	temperature.c
   3          // Revision: 	1.0
   4          // Description: MSC1210 DAQ-EVM temperature measurement with the o
            -n-chip temperature sensor 
   5          #include <REG1210.H>
   6          #include <stdio.h>
   7          #include <stdlib.h>
   8          #include <math.h>
   9          extern signed long bipolar(void);
  10          extern void put_string(char code *string);
  11          data char ROM_temp0 _at_ 0x000a;  // For put_string function
  12          data char ROM_temp1 _at_ 0x000b;
  13          extern void putspace4(void);
  14          extern void tx_byte(char);
  15          // recursive digit display routine
  16          void prt_digit(unsigned long int i, signed char d) reentrant
  17          {	unsigned long int j; char c;
  18   1      	j=i/10; c=i-j*10; d--;
  19   1      	if (j!=0 || !(d &0x80)) prt_digit(j,d);
  20   1      	if (d==0) tx_byte('.');
  21   1      	tx_byte(c+48);
  22   1      }
  23          // Display long integer number with sign and decimal
  24          void print(signed long int i, unsigned char d) 
  25          {
  26   1      	if (i<0) { tx_byte('-'); i*=-1;}
  27   1      	prt_digit(i,d); putspace4();		
  28   1      }
  29          void main(void)
  30          {
  31   1      	signed long int data adres, ienob, iu;
  32   1         float x,u,sd ; unsigned char j; int i;

WARNING C215 IN LINE 32 OF temperature.c : 'float' found with NOFLOAT option, I
            -EEE std assumed
  33   1         T2CON  = 0x34;   // T2 as baudrate generator 
  34   1         RCAP2  = 65535;  // 57600 Baud @ 1.8432MHz
  35   1         SCON   = 0x52;   // Async mode 1, 8-bit UART, enable rcvr, TI=1
            -, RI=0
  36   1      	put_string("\x1b[1;33;46m\x1b[2J\x1b[12CTemperature Sensor\n");
  37   1      	PDCON &= 0x0f7;			//turn on adc
  38   1      	ACLK = 1;					// ACLK = 1.8432MHz/(1+1)= 0.9216MHz
  39   1      	DECIMATION = 0x7ff;	
  40   1      	ODAC=0;
  41   1      	ADCON0 = 0x20;			   // Vref on 1.25V, Buff off, BOD off, PGA 1
  42   1      	ADMUX=0xff;
  43   1      	ADCON1 = 0x01;				// bipolar, auto, self calibration, offset, gai
            -n
  44   1      	for (j=0;j<5;j++)adres=bipolar(); // discard initial 5 conversion
            -s
  45   1      	while(1){
  46   2      		adres=0;
  47   2      		for (j=0;j<10;j++)adres+=bipolar(); // discard initial 5 convers
            -ions
  48   2      		print((((1.25/8388608)*(float)adres-1150e-3)/3750e-6 + 25)*100,2
            -);	
  49   2      		put_string("degC\n");
  50   2      	}
  51   1      }

WARNING C092 IN LINE 31 OF temperature.c : 'ienob' is declared but not used

WARNING C092 IN LINE 31 OF temperature.c : 'iu' is declared but not used

WARNING C092 IN LINE 32 OF temperature.c : 'x' is declared but not used

WARNING C092 IN LINE 32 OF temperature.c : 'u' is declared but not used

WARNING C092 IN LINE 32 OF temperature.c : 'sd' is declared but not used

WARNING C092 IN LINE 32 OF temperature.c : 'i' is declared but not used
  52          
RC51 COMPILER V03.03.26,  TEMPERATURE             08/05/02  11:27:47  PAGE  2

ASSEMBLY LISTING OF GENERATED OBJECT CODE

            ; FUNCTION ?prt_digit (BEGIN)
              ; Register-parameter i (R4_R7) is stacked
                                           ; SOURCE LINE # 16 
0000 7405           MOV    A,#005H
0002 2581           ADD    A,SP
0004 F581           MOV    SP,A
0006 120000  R      LCALL  MV4_RG2SK?C
                                           ; SOURCE LINE # 18 
0009 74FD           MOV    A,#0FDH
000B 2581           ADD    A,SP
000D F9             MOV    R1,A
000E E7             MOV    A,@R1                 	; @ i 
000F C0E0           PUSH   ACC
0011 09             INC    R1
0012 E7             MOV    A,@R1                 	; @ i 
0013 C0E0           PUSH   ACC
0015 09             INC    R1
0016 E7             MOV    A,@R1                 	; @ i 
0017 C0E0           PUSH   ACC
0019 09             INC    R1
001A E7             MOV    A,@R1                 	; @ i 
001B C0E0           PUSH   ACC
001D E4             CLR    A
001E FE             MOV    R6,A
001F FC             MOV    R4,A
0020 FD             MOV    R5,A
0021 7F0A           MOV    R7,#00AH
0023 120000  R      LCALL  ?C_ULDIV_SP
0026 74FB           MOV    A,#0FBH
0028 2581           ADD    A,SP
002A F8             MOV    R0,A
002B 18             DEC    R0
002C 18             DEC    R0
002D 18             DEC    R0
002E 120000  R      LCALL  MV4_RG2I0?C
0031 A981           MOV    R1,SP
0033 74FB           MOV    A,#0FBH
0035 2581           ADD    A,SP
0037 F8             MOV    R0,A
0038 E6             MOV    A,@R0                 	; @ j 
0039 75F00A         MOV    B,#00AH
003C A4             MUL    AB
003D FA             MOV    R2,A
003E E7             MOV    A,@R1                 	; @ i 
003F C3             CLR    C
0040 9A             SUBB   A,R2
0041 FA             MOV    R2,A
0042 74FC           MOV    A,#0FCH
0044 2581           ADD    A,SP
0046 F9             MOV    R1,A
0047 A702           MOV    @R1,AR2               	; @ c 
0049 74F5           MOV    A,#0F5H
004B 2581           ADD    A,SP
004D F9             MOV    R1,A
004E 17             DEC    @R1                   	; @ d 
                                           ; SOURCE LINE # 19 
004F 74F8           MOV    A,#0F8H
0051 2581           ADD    A,SP
0053 F9             MOV    R1,A
0054 E7             MOV    A,@R1                 	; @ j 
0055 09             INC    R1
0056 47             ORL    A,@R1                 	; @ j 
0057 09             INC    R1
0058 47             ORL    A,@R1                 	; @ j 
0059 09             INC    R1
005A 47             ORL    A,@R1                 	; @ j 
005B 700C           JNZ    ?LAB2
005D 74F5           MOV    A,#0F5H
005F 2581           ADD    A,SP
0061 F9             MOV    R1,A
0062 E7             MOV    A,@R1                 	; @ d 
0063 FB             MOV    R3,A
0064 33             RLC    A
0065 EB             MOV    A,R3
0066 20E715         JB     ACC.7,?NXT2
0069         ?LAB2:
0069 74F5           MOV    A,#0F5H
006B 2581           ADD    A,SP
006D F9             MOV    R1,A
006E E7             MOV    A,@R1                 	; @ d 
006F C0E0           PUSH   ACC
0071 74F7           MOV    A,#0F7H
0073 2581           ADD    A,SP
0075 F9             MOV    R1,A
0076 120000  R      LCALL  MV4_I12RG?C
0079 120000  R      LCALL  ?prt_digit
007C 1581           DEC    SP
007E         ?NXT2:
                                           ; SOURCE LINE # 20 
007E 74F5           MOV    A,#0F5H
0080 2581           ADD    A,SP
0082 F9             MOV    R1,A
0083 E7             MOV    A,@R1                 	; @ d 
0084 7005           JNZ    ?NXT3
0086 7F2E           MOV    R7,#02EH
0088 120000  R      LCALL  _tx_byte
008B         ?NXT3:
                                           ; SOURCE LINE # 21 
008B 74FC           MOV    A,#0FCH
008D 2581           ADD    A,SP
008F F9             MOV    R1,A
0090 E7             MOV    A,@R1                 	; @ c 
0091 2430           ADD    A,#030H
0093 FF             MOV    R7,A
0094 120000  R      LCALL  _tx_byte
0097 74F7           MOV    A,#0F7H
0099 2581           ADD    A,SP
009B F581           MOV    SP,A
009D 22             RET    

            ; FUNCTION ?prt_digit (END)

            ; FUNCTION _print (BEGIN)
                                           ; SOURCE LINE # 24 
0000 8C00    R      MOV    i,R4
0002 8D00    R      MOV    i+01H,R5
0004 8E00    R      MOV    i+02H,R6
0006 8F00    R      MOV    i+03H,R7
                                           ; SOURCE LINE # 26 
0008 C000    R      PUSH   i
000A C000    R      PUSH   i+01H
000C C000    R      PUSH   i+02H
000E C000    R      PUSH   i+03H
0010 E4             CLR    A

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -