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

📄 ccs_16f873a_adc_rs232.lst

📁 CCS PIC16F877 UART 很好用的CCS编译器
💻 LST
字号:
CCS PCM C Compiler, Version 4.023, 25097               16-九月-08 14:19

               Filename: CCS_16f873a_ADC_RS232.lst

               ROM used: 285 words (7%)
                         Largest free fragment is 2048
               RAM used: 11 (6%) at main() level
                         13 (7%) worst case
               Stack:    1 locations

*
0000:  MOVLW  00
0001:  MOVWF  0A
0002:  GOTO   080
0003:  NOP
.................... #include "C:\CCS_16f873a_ADC_RS232\CCS_16f873a_ADC_RS232.h" 
.................... #include <16F873A.h> 
.................... //////// Standard Header file for the PIC16F873A device //////////////// 
.................... #device PIC16F873A 
.................... #list 
....................  
.................... #device adc=10 
....................  
.................... #FUSES NOWDT                 	//No Watch Dog Timer 
.................... #FUSES HS                    	//High speed Osc (> 4mhz) 
.................... #FUSES NOPUT                 	//No Power Up Timer 
.................... #FUSES NOPROTECT             	//Code not protected from reading 
.................... #FUSES NODEBUG               	//No Debug mode for ICD 
.................... #FUSES NOBROWNOUT              	//Reset when brownout detected 
.................... #FUSES NOLVP                   	//Low Voltage Programming on B3(PIC16) or B5(PIC18) 
.................... #FUSES NOCPD                 	//No EE protection 
.................... #FUSES NOWRT                 	//Program memory not write protected 
....................  
.................... #use delay(clock=4000000) 
006A:  MOVLW  29
006B:  MOVWF  04
006C:  BCF    03.7
006D:  MOVF   00,W
006E:  BTFSC  03.2
006F:  GOTO   07E
0070:  MOVLW  01
0071:  MOVWF  21
0072:  CLRF   20
0073:  DECFSZ 20,F
0074:  GOTO   073
0075:  DECFSZ 21,F
0076:  GOTO   072
0077:  MOVLW  4A
0078:  MOVWF  20
0079:  DECFSZ 20,F
007A:  GOTO   079
007B:  GOTO   07C
007C:  DECFSZ 00,F
007D:  GOTO   070
007E:  BCF    0A.3
007F:  GOTO   118 (RETURN)
.................... #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8) 
....................  
....................  
....................  
....................  
.................... void main() 
.................... { 
0080:  CLRF   04
0081:  BCF    03.7
0082:  MOVLW  1F
0083:  ANDWF  03,F
0084:  MOVLW  19
0085:  BSF    03.5
0086:  MOVWF  19
0087:  MOVLW  A6
0088:  MOVWF  18
0089:  MOVLW  90
008A:  BCF    03.5
008B:  MOVWF  18
008C:  BSF    03.5
008D:  BSF    1F.0
008E:  BSF    1F.1
008F:  BSF    1F.2
0090:  BCF    1F.3
0091:  MOVLW  07
0092:  MOVWF  1C
....................    long value; 
....................  
....................    setup_adc_ports(AN0); 
0093:  BCF    1F.0
0094:  BSF    1F.1
0095:  BSF    1F.2
0096:  BSF    1F.3
....................    setup_adc(ADC_CLOCK_DIV_32); 
0097:  BCF    1F.6
0098:  BCF    03.5
0099:  BCF    1F.6
009A:  BSF    1F.7
009B:  BSF    03.5
009C:  BSF    1F.7
009D:  BCF    03.5
009E:  BSF    1F.0
....................    setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); 
009F:  BSF    03.5
00A0:  MOVF   01,W
00A1:  ANDLW  C7
00A2:  IORLW  08
00A3:  MOVWF  01
....................    setup_comparator(NC_NC_NC_NC); 
00A4:  MOVLW  07
00A5:  MOVWF  1C
00A6:  MOVF   05,W
00A7:  MOVLW  03
00A8:  BCF    03.5
00A9:  MOVWF  20
00AA:  DECFSZ 20,F
00AB:  GOTO   0AA
00AC:  BSF    03.5
00AD:  MOVF   1C,W
00AE:  BCF    03.5
00AF:  BCF    0D.6
....................    setup_vref(FALSE); 
00B0:  BSF    03.5
00B1:  CLRF   1D
....................  
....................    // TODO: USER CODE!! 
....................    while(1) 
....................    { 
....................       set_adc_channel(0); 
00B2:  MOVLW  00
00B3:  BCF    03.5
00B4:  MOVWF  21
00B5:  MOVF   1F,W
00B6:  ANDLW  C7
00B7:  IORWF  21,W
00B8:  MOVWF  1F
....................       delay_us(50); 
00B9:  MOVLW  10
00BA:  MOVWF  20
00BB:  DECFSZ 20,F
00BC:  GOTO   0BB
00BD:  NOP
....................       value=read_adc(); 
00BE:  BSF    1F.2
00BF:  BTFSC  1F.2
00C0:  GOTO   0BF
00C1:  BSF    03.5
00C2:  MOVF   1E,W
00C3:  BCF    03.5
00C4:  MOVWF  26
00C5:  MOVF   1E,W
00C6:  MOVWF  27
....................       printf("ADH= %2x\n\r",value%100); 
00C7:  MOVF   27,W
00C8:  MOVWF  29
00C9:  MOVF   26,W
00CA:  MOVWF  28
00CB:  CLRF   2B
00CC:  MOVLW  64
00CD:  MOVWF  2A
00CE:  CALL   022
00CF:  MOVF   20,W
00D0:  MOVWF  28
00D1:  MOVF   23,W
00D2:  MOVWF  29
00D3:  CLRF   2A
00D4:  MOVF   2A,W
00D5:  CALL   004
00D6:  INCF   2A,F
00D7:  MOVWF  20
00D8:  MOVF   20,W
00D9:  BTFSS  0C.4
00DA:  GOTO   0D9
00DB:  MOVWF  19
00DC:  MOVLW  05
00DD:  SUBWF  2A,W
00DE:  BTFSS  03.2
00DF:  GOTO   0D4
00E0:  MOVF   28,W
00E1:  MOVWF  2B
00E2:  MOVLW  57
00E3:  MOVWF  2C
00E4:  CALL   047
00E5:  MOVLW  0A
00E6:  BTFSS  0C.4
00E7:  GOTO   0E6
00E8:  MOVWF  19
00E9:  MOVLW  0D
00EA:  BTFSS  0C.4
00EB:  GOTO   0EA
00EC:  MOVWF  19
....................       printf("ADL= %2x\n\r",value%10); 
00ED:  MOVF   27,W
00EE:  MOVWF  29
00EF:  MOVF   26,W
00F0:  MOVWF  28
00F1:  CLRF   2B
00F2:  MOVLW  0A
00F3:  MOVWF  2A
00F4:  CALL   022
00F5:  MOVF   20,W
00F6:  MOVWF  28
00F7:  MOVF   23,W
00F8:  MOVWF  29
00F9:  CLRF   2A
00FA:  MOVF   2A,W
00FB:  CALL   013
00FC:  INCF   2A,F
00FD:  MOVWF  20
00FE:  MOVF   20,W
00FF:  BTFSS  0C.4
0100:  GOTO   0FF
0101:  MOVWF  19
0102:  MOVLW  05
0103:  SUBWF  2A,W
0104:  BTFSS  03.2
0105:  GOTO   0FA
0106:  MOVF   28,W
0107:  MOVWF  2B
0108:  MOVLW  57
0109:  MOVWF  2C
010A:  CALL   047
010B:  MOVLW  0A
010C:  BTFSS  0C.4
010D:  GOTO   10C
010E:  MOVWF  19
010F:  MOVLW  0D
0110:  BTFSS  0C.4
0111:  GOTO   110
0112:  MOVWF  19
....................       delay_ms(1000); 
0113:  MOVLW  04
0114:  MOVWF  28
0115:  MOVLW  FA
0116:  MOVWF  29
0117:  GOTO   06A
0118:  DECFSZ 28,F
0119:  GOTO   115
....................     
....................    } 
011A:  BSF    03.5
011B:  GOTO   0B2
....................  
.................... } 
011C:  SLEEP

Configuration Fuses:
   Word  1: 3F3A   HS NOWDT NOPUT NODEBUG NOPROTECT NOBROWNOUT NOLVP NOCPD NOWRT

⌨️ 快捷键说明

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