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

📄 daqevm.lst

📁 msc1201 编程2
💻 LST
📖 第 1 页 / 共 2 页
字号:
RC51 COMPILER V03.03.26,  DAQEVM                  08/05/02  09:12:54  PAGE  1

QCW(0x00002F32)

WIN32 RC51 COMPILER V03.03.26, COMPILATION OF MODULE DAQEVM    
OBJECT MODULE PLACED IN d:\data\msc1210\msc1210 daq evm\ride\daqevm\daqevm.obj
COMPILER INVOKED BY: RC51.EXE D:\DATA\MSC1210\MSC1210 DAQ EVM\RIDE\DAQEVM\DAQEVM
            -.C OBJECT(D:\DATA\MSC1210\MSC1210 DAQ EVM\RIDE\DAQEVM\DAQEVM.OBJ) P
            -IN(D:\RIDE\INC) NOAM PR(D:\DATA\MSC1210\MSC1210 DAQ EVM\RIDE\DAQEVM
            -\DAQEVM.LST) CD SB OE(1) SM MODAMD(DP2) FP(NOFLOAT) PW(80) NOIS UNS
            -IGNEDCHAR ET(CHAR) 

stmt level    source
   1          // Texas Instruments
   2          // Name:	DaqEvm.c
   3          // Revision: 	1.0
   4          // Description: MSC1210 DAQEMV Demo
   5          #include "reg1210.h"	
   6          #include <stdio.h>
   7          extern char March_C_Plus_Sysram(void);
   8          extern void ROM_Checksum(void);
   9          extern void autobaud(void);
  10          extern void tx_hex(char);
  11          extern void tx_byte(char);
  12          extern char rx_byte_echo(void);
  13          extern char rx_hex_echo(void);
  14          extern void putcr(void);
  15          extern signed long summer(void);
  16          extern signed long bipolar(void);
  17          sbit TP1 = P1^2; 
  18          sbit TP2 = P1^3; 
  19          sbit TP3 = P1^4; 
  20          sbit TP4 = P1^5; 
  21          sbit TP5 = P1^6; 
  22          sbit TP6 = P1^7; 	
  23          
  24          void portio(void)
  25          {
  26   1      	while(RI==0){
  27   2      		printf("\x1b[5;1HTP123456:%c%c%c%c%c%c",
  28   2      		(char)TP1|0x30,(char)TP2|0x30,(char)TP3|0x30,
  29   2      		(char)TP4|0x30,(char)TP5|0x30,(char)TP6|0x30);
  30   2      		P1= (P1 | 0x04)+8;
  31   2      	}
  32   1      }
  33          void greeting(void)
  34          {
  35   1         T2CON  = 0x34;   // T2 as baudrate generator 
  36   1         RCAP2  = 65535;  // 57600 Baud @ 1.8432MHz
  37   1         SCON   = 0x52;   // Async mode 1, 8-bit UART, enable rcvr, TI=1
            -, RI=0
  38   1      	printf("\x1b[1;34;46m\x1b[2J\x1b[12CMSC1210 DAQ-EVM\nSelect Funct
            -ion:");
  39   1      }
  40          void acquire(void)
  41          {  // Measure Ainx to AinCom voltage
  42   1      	signed long int data adres;
  43   1      	char j, ain;
  44   1      	DECIMATION = 144;		// Data Rate = ACLK/64/144 = 100.00Hz
  45   1      	ADCON0 = 0x30;			// Vref on 2.5V, Buff on, BOD off, PGA 1
  46   1      	printf("\x1b[8;1HAin0\tAin1\tAin2\tAin3\tAin4\tAin5\tAin6\tAin7\n
            -");
  47   1      	while(RI==0){
  48   2      		printf("\x1b[9;1H");
  49   2      		for (ain=8;ain<0x88;ain+=0x10) {
  50   3      			ADMUX=ain;
  51   3      			ADCON1 = 0x01;			// bipolar, auto, self calibration, offset, ga
            -in
  52   3      			for (j=0;j<5;j++)adres=bipolar(); // discard initial 5 conversi
            -ons
  53   3      			adres=bipolar(); 
  54   3      			printf("       \x1b[7D%ld\t",adres); 
  55   3      		}
  56   2      	}
  57   1      	RI=0;
  58   1      }
  59          void MinMax(char key)
  60          {  // Measure Ain0 to Ain0 voltage
  61   1      	signed long int data adres, min, max, n=0;
  62   1      	char j, ain, start=0;
  63   1      	DECIMATION = 1440;		// Data Rate = ACLK/64/1440 = 10.00Hz
  64   1      	ADCON0 = 0x30;			   // Vref on 2.5V, Buff on, BOD off, PGA 1
  65   1      	if (key=='5') ADMUX=0;
  66   1      	if (key=='6') ADMUX=1;
  67   1      	ADCON1 = 0x01;	// bipolar, auto, self calibration, offset, gain
  68   1      	for (j=0;j<5;j++)adres=bipolar(); // discard initial 5 conversion
            -s
  69   1      	printf("\x1b[11;1HMin\tNew\tMax\tP-P\tN");
  70   1      	while(RI==0){
  71   2      		SSCON = 0;		// Clear Summation Registers
  72   2      		SSCON = 0xE4;	// acc shift enable, accum 32x, right shift = div 
            -32
  73   2      		adres = summer();
  74   2      		if (start==0){	start=1;	min=adres; max=adres; }
  75   2      		else {
  76   3      			if (adres>max) max=adres;
  77   3      			if (adres<min) min=adres;
  78   3      		}
  79   2      		printf("\x1b[12;1H\x1b[K");
  80   2      		printf("%ld\t%ld\t%ld\t%ld\t%ld",min,adres,max,max-min,++n); 
  81   2      	}
  82   1      	RI=0;
  83   1      }

WARNING C092 IN LINE 62 OF daqevm.c : 'ain' is declared but not used
  84          void main(void)
  85          {	char key;
  86   1      	greeting();
  87   1      	PDCON &= 0x0f7;		//turn on adc
  88   1      	ACLK = 1;				// ACLK = 1.8432MHz/(1+1)= 0.9216MHz
  89   1      	while(1) {
  90   2      		// prompt i/p
  91   2      		printf("\x1b[37m\x1b[3;1H1)Port I/O 2)ROM CheckSum 3)XData 4)ADC
            - 5)MinMax0-0 6)MinMax0-1: \x1b[1D"); 
  92   2      		key=rx_byte_echo();
  93   2      		if (key=='1') portio();
  94   2      		if (key=='2') { printf("\x1b[6;1HROM CheckSum:      \x1b[4D"); R
            -OM_Checksum();}
  95   2      		if (key=='3') { 
  96   3      			printf("\x1b[7;1HXdata Test:      \x1b[4D"); 
  97   3      			if (March_C_Plus_Sysram()) printf("Pass");
  98   3      			else printf("Fail");
  99   3      		}
 100   2      		if (key=='4') acquire();
 101   2      		if (key=='5') MinMax(key);
 102   2      		if (key=='6') MinMax(key);
 103   2      	}
 104   1      }
 105          
RC51 COMPILER V03.03.26,  DAQEVM                  08/05/02  09:12:54  PAGE  2

ASSEMBLY LISTING OF GENERATED OBJECT CODE

            ; FUNCTION portio (BEGIN)
0000         ?WHILE1:
                                           ; SOURCE LINE # 26 
0000 20985C         JB     RI,?NXT1
                                           ; SOURCE LINE # 29 
0003 A297           MOV    C,TP6
0005 E4             CLR    A
0006 33             RLC    A
0007 4430           ORL    A,#030H
0009 FD             MOV    R5,A
000A E4             CLR    A
000B C0E0           PUSH   ACC
000D C005           PUSH   AR5
000F A296           MOV    C,TP5
0011 33             RLC    A
0012 4430           ORL    A,#030H
0014 FB             MOV    R3,A
0015 E4             CLR    A
0016 C0E0           PUSH   ACC
0018 C003           PUSH   AR3
001A A295           MOV    C,TP4
001C 33             RLC    A
001D 4430           ORL    A,#030H
001F FB             MOV    R3,A
0020 E4             CLR    A
0021 C0E0           PUSH   ACC
0023 C003           PUSH   AR3
0025 A294           MOV    C,TP3
0027 33             RLC    A
0028 4430           ORL    A,#030H
002A FB             MOV    R3,A
002B E4             CLR    A
002C C0E0           PUSH   ACC
002E C003           PUSH   AR3
0030 A293           MOV    C,TP2
0032 33             RLC    A
0033 4430           ORL    A,#030H
0035 FB             MOV    R3,A
0036 E4             CLR    A
0037 C0E0           PUSH   ACC
0039 C003           PUSH   AR3
003B A292           MOV    C,TP1
003D 33             RLC    A
003E 4430           ORL    A,#030H
0040 FB             MOV    R3,A
0041 E4             CLR    A
0042 C0E0           PUSH   ACC
0044 C003           PUSH   AR3
0046 7B05           MOV    R3,#005H
0048 7A00    R      MOV    R2,#HIGH(?STR?DAQEVM?BASE)
004A 7900    R      MOV    R1,#LOW(?STR?DAQEVM?BASE)
004C 120000  R      LCALL  ?printf
004F 74F4           MOV    A,#0F4H
0051 2581           ADD    A,SP
0053 F581           MOV    SP,A
                                           ; SOURCE LINE # 30 
0055 E590           MOV    A,P1
0057 4404           ORL    A,#004H
0059 2408           ADD    A,#008H
005B F590           MOV    P1,A
005D 80A1           SJMP   ?WHILE1
005F         ?NXT1:
005F 22             RET    

            ; FUNCTION portio (END)

            ; FUNCTION greeting (BEGIN)
                                           ; SOURCE LINE # 35 
0000 75C834         MOV    T2CON,#034H
                                           ; SOURCE LINE # 36 
0003 74FF           MOV    A,#0FFH
0005 F5CB           MOV    RCAP2+01H,A
0007 F5CA           MOV    RCAP2,A
                                           ; SOURCE LINE # 37 
0009 759852         MOV    SCON,#052H
                                           ; SOURCE LINE # 38 
000C 7B05           MOV    R3,#005H
000E 7A00    R      MOV    R2,#HIGH(?STR?DAQEVM?BASE + 01CH)
0010 7900    R      MOV    R1,#LOW(?STR?DAQEVM?BASE + 01CH)
0012 120000  R      LCALL  ?printf
0015 22             RET    

            ; FUNCTION greeting (END)

            ; FUNCTION acquire (BEGIN)
                                           ; SOURCE LINE # 44 
0000 E4             CLR    A
0001 F5DF           MOV    DECIMATION+01H,A
0003 75DE90         MOV    DECIMATION,#090H
                                           ; SOURCE LINE # 45 
0006 75DC30         MOV    ADCON0,#030H
                                           ; SOURCE LINE # 46 
0009 7B05           MOV    R3,#005H
000B 7A00    R      MOV    R2,#HIGH(?STR?DAQEVM?BASE + 050H)
000D 7900    R      MOV    R1,#LOW(?STR?DAQEVM?BASE + 050H)
000F 120000  R      LCALL  ?printf
0012         ?WHILE3:
                                           ; SOURCE LINE # 47 
0012 209858         JB     RI,?NXT7
                                           ; SOURCE LINE # 48 
0015 7B05           MOV    R3,#005H
0017 7A00    R      MOV    R2,#HIGH(?STR?DAQEVM?BASE + 07FH)
0019 7900    R      MOV    R1,#LOW(?STR?DAQEVM?BASE + 07FH)
001B 120000  R      LCALL  ?printf
                                           ; SOURCE LINE # 49 
001E 750008  R      MOV    ain,#008H
0021         ?FOR2:
0021 E500    R      MOV    A,ain
0023 B48800         CJNE   A,#088H,?LAB9
0026         ?LAB9:
0026 50EA           JNC    ?WHILE3
                                           ; SOURCE LINE # 50 
0028 8500D7  R      MOV    ADMUX,ain
                                           ; SOURCE LINE # 51 
002B 75DD01         MOV    ADCON1,#001H
                                           ; SOURCE LINE # 52 
002E 750000  R      MOV    j,#000H
0031         ?FOR3:
0031 120000  R      LCALL  bipolar
0034 8C00    R      MOV    adres,R4
0036 8D00    R      MOV    adres+01H,R5
0038 8E00    R      MOV    adres+02H,R6
003A 8F00    R      MOV    adres+03H,R7
003C 0500    R      INC    j
003E E500    R      MOV    A,j
0040 B405EE         CJNE   A,#005H,?FOR3
                                           ; SOURCE LINE # 53 
0043 120000  R      LCALL  bipolar
0046 8C00    R      MOV    adres,R4
0048 8D00    R      MOV    adres+01H,R5
004A 8E00    R      MOV    adres+02H,R6
004C 8F00    R      MOV    adres+03H,R7
                                           ; SOURCE LINE # 54 
004E C000    R      PUSH   adres
0050 C000    R      PUSH   adres+01H
0052 C000    R      PUSH   adres+02H
0054 C000    R      PUSH   adres+03H
0056 7B05           MOV    R3,#005H
0058 7A00    R      MOV    R2,#HIGH(?STR?DAQEVM?BASE + 086H)
005A 7900    R      MOV    R1,#LOW(?STR?DAQEVM?BASE + 086H)
005C 120000  R      LCALL  ?printf
005F 74FC           MOV    A,#0FCH
0061 2581           ADD    A,SP
0063 F581           MOV    SP,A
                                           ; SOURCE LINE # 49 
0065 E500    R      MOV    A,ain
0067 2410           ADD    A,#010H
0069 F500    R      MOV    ain,A
006B 80B4           SJMP   ?FOR2
006D         ?NXT7:
                                           ; SOURCE LINE # 57 
006D C298           CLR    RI

⌨️ 快捷键说明

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