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

📄 main.lst

📁 PIC C18 读写TLC5628数字电位器程序
💻 LST
字号:
CCS PCH C Compiler, Version 4.020, 25097               20-七月-07 10:56

               Filename: D:\devdoc\proj\max539\TLC5628\main.lst

               ROM used: 432 bytes (1%)
                         Largest free fragment is 32336
               RAM used: 7 (0%) at main() level
                         25 (2%) worst case
               Stack:    1 locations

*
0000:  GOTO   0112
.................... #include "D:\devdoc\proj\max539\TLC5628\main.h" 
.................... #include <18F452.h> 
.................... //////// Standard Header file for the PIC18F452 device //////////////// 
.................... #device PIC18F452 
.................... #list 
....................  
.................... #device adc=8 
....................  
.................... #FUSES NOWDT                 	//No Watch Dog Timer 
.................... #FUSES WDT128                	//Watch Dog Timer uses 1:128 Postscale 
.................... #FUSES HS                    	//High speed Osc (> 4mhz) 
.................... #FUSES NOPROTECT             	//Code not protected from reading 
.................... #FUSES NOOSCSEN              	//Oscillator switching is disabled, main oscillator is source 
.................... #FUSES BROWNOUT              	//Reset when brownout detected 
.................... #FUSES BORV42                	//Brownout reset at 4.2V 
.................... #FUSES NOPUT                 	//No Power Up Timer 
.................... #FUSES STVREN                	//Stack full/underflow will cause reset 
.................... #FUSES NODEBUG               	//No Debug mode for ICD 
.................... #FUSES LVP                   	//Low Voltage Programming on B3(PIC16) or B5(PIC18) 
.................... #FUSES NOWRT                 	//Program memory not write protected 
.................... #FUSES NOWRTD                	//Data EEPROM not write protected 
.................... #FUSES NOWRTB                	//Boot block not write protected 
.................... #FUSES NOWRTC                	//configuration not registers write protected 
.................... #FUSES NOCPD                 	//No EE protection 
.................... #FUSES NOCPB                 	//No Boot Block code protection 
.................... #FUSES NOEBTR                	//Memory not protected from table reads 
.................... #FUSES NOEBTRB               	//Boot block not protected from table reads 
....................  
.................... #use delay(clock=20000000) 
*
0084:  CLRF   FEA
0086:  MOVLW  08
0088:  MOVWF  FE9
008A:  MOVF   FEF,W
008C:  BZ    00A8
008E:  MOVLW  06
0090:  MOVWF  01
0092:  CLRF   00
0094:  DECFSZ 00,F
0096:  BRA    0094
0098:  DECFSZ 01,F
009A:  BRA    0092
009C:  MOVLW  7B
009E:  MOVWF  00
00A0:  DECFSZ 00,F
00A2:  BRA    00A0
00A4:  DECFSZ FEF,F
00A6:  BRA    008E
00A8:  GOTO   0192 (RETURN)
.................... #define DADATA   PIN_D0 
.................... #define DALOAD   PIN_D1 
.................... #define LDAC   PIN_D2 
.................... #define DACLK   PIN_D6 
.................... #define LEDCLK   PIN_D7 
.................... #define DSA   PIN_E0 
.................... #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8) 
....................  
....................  
....................  
.................... void sendda0(unsigned char); 
.................... void display(unsigned char); 
....................  
.................... void main() 
.................... {  unsigned char i; 
*
0112:  CLRF   FF8
0114:  BCF    FD0.7
0116:  CLRF   FEA
0118:  CLRF   FE9
011A:  MOVLW  81
011C:  MOVWF  FAF
011E:  MOVLW  A6
0120:  MOVWF  FAC
0122:  MOVLW  90
0124:  MOVWF  FAB
0126:  BSF    FC1.0
0128:  BSF    FC1.1
012A:  BSF    FC1.2
012C:  BCF    FC1.3
....................  
....................    setup_adc_ports(NO_ANALOGS); 
012E:  BSF    FC1.0
0130:  BSF    FC1.1
0132:  BSF    FC1.2
0134:  BCF    FC1.3
....................    setup_adc(ADC_OFF); 
0136:  BCF    FC2.0
....................    setup_psp(PSP_DISABLED); 
0138:  BCF    F96.4
....................    setup_spi(FALSE); 
013A:  BCF    FC6.5
013C:  BCF    F94.5
013E:  BSF    F94.4
0140:  BCF    F94.3
0142:  MOVLW  00
0144:  MOVWF  FC6
0146:  MOVWF  FC7
....................    setup_wdt(WDT_OFF); 
0148:  BCF    FD1.0
....................    setup_timer_0(RTCC_INTERNAL); 
014A:  MOVLW  80
014C:  MOVWF  FD5
....................    setup_timer_1(T1_DISABLED); 
014E:  CLRF   FCD
....................    setup_timer_2(T2_DISABLED,0,1); 
0150:  MOVLW  00
0152:  MOVWF  FCA
0154:  MOVLW  00
0156:  MOVWF  FCB
....................    setup_timer_3(T3_DISABLED|T3_DIV_BY_1); 
0158:  MOVF   FB1,W
015A:  ANDLW  48
015C:  MOVWF  FB1
....................    setup_oscillator(False); 
015E:  CLRF   FD3
....................    set_tris_d(0x00); 
0160:  MOVLW  00
0162:  MOVWF  F95
....................    set_tris_e(0x00); 
0164:  BCF    F96.0
0166:  BCF    F96.1
0168:  BCF    F96.2
....................    output_low(DACLK); 
016A:  BCF    F95.6
016C:  BCF    F8C.6
....................    output_low(LDAC); 
016E:  BCF    F95.2
0170:  BCF    F8C.2
....................    output_low(DALOAD); 
0172:  BCF    F95.1
0174:  BCF    F8C.1
....................    output_low(LEDCLK); 
0176:  BCF    F95.7
0178:  BCF    F8C.7
....................    // TODO: USER CODE!! 
....................    
....................    for(i=0;i<16;i++) 
017A:  CLRF   06
017C:  MOVF   06,W
017E:  SUBLW  0F
0180:  BNC   019A
....................       {display(i); 
0182:  MOVFF  06,07
0186:  BRA    0004
....................        delay_ms(2000); 
0188:  MOVLW  08
018A:  MOVWF  07
018C:  MOVLW  FA
018E:  MOVWF  08
0190:  BRA    0084
0192:  DECFSZ 07,F
0194:  BRA    018C
....................       } 
0196:  INCF   06,F
0198:  BRA    017C
....................    while(1) 
....................      {for(i=0;i<255;i++) 
019A:  CLRF   06
019C:  INCFSZ 06,W
019E:  BRA    01A2
01A0:  BRA    01AC
....................         sendda0(i); 
01A2:  MOVFF  06,07
01A6:  BRA    00AC
01A8:  INCF   06,F
01AA:  BRA    019C
....................          
....................  
....................           
....................      } 
01AC:  BRA    019A
....................  
.................... } 
....................  
.................... void sendda0(unsigned char spidata) 
.................... {unsigned char i; 
01AE:  SLEEP 
....................  output_high(DALOAD); 
*
00AC:  BCF    F95.1
00AE:  BSF    F8C.1
....................  output_high(DACLK); 
00B0:  BCF    F95.6
00B2:  BSF    F8C.6
....................  output_low(DADATA); 
00B4:  BCF    F95.0
00B6:  BCF    F8C.0
....................  output_low(DACLK); 
00B8:  BCF    F95.6
00BA:  BCF    F8C.6
....................  output_high(DACLK); 
00BC:  BCF    F95.6
00BE:  BSF    F8C.6
....................  output_low(DADATA); 
00C0:  BCF    F95.0
00C2:  BCF    F8C.0
....................  output_low(DACLK); 
00C4:  BCF    F95.6
00C6:  BCF    F8C.6
....................  output_high(DACLK); 
00C8:  BCF    F95.6
00CA:  BSF    F8C.6
....................  output_low(DADATA); 
00CC:  BCF    F95.0
00CE:  BCF    F8C.0
....................  output_low(DACLK); 
00D0:  BCF    F95.6
00D2:  BCF    F8C.6
....................  output_high(DACLK); 
00D4:  BCF    F95.6
00D6:  BSF    F8C.6
....................  output_low(DADATA); 
00D8:  BCF    F95.0
00DA:  BCF    F8C.0
....................  output_low(DACLK); 
00DC:  BCF    F95.6
00DE:  BCF    F8C.6
....................  for(i=0;i<8;i++) 
00E0:  CLRF   08
00E2:  MOVF   08,W
00E4:  SUBLW  07
00E6:  BNC   0106
....................    {output_high(DACLK); 
00E8:  BCF    F95.6
00EA:  BSF    F8C.6
....................     if(spidata&0x80) 
00EC:  BTFSS  07.7
00EE:  BRA    00F6
....................        {output_high(DADATA); 
00F0:  BCF    F95.0
00F2:  BSF    F8C.0
....................        } 
....................     else 
00F4:  BRA    00FA
....................        output_low(DADATA); 
00F6:  BCF    F95.0
00F8:  BCF    F8C.0
....................     spidata<<=1; 
00FA:  BCF    FD8.0
00FC:  RLCF   07,F
....................     output_low(DACLK); 
00FE:  BCF    F95.6
0100:  BCF    F8C.6
....................    } 
0102:  INCF   08,F
0104:  BRA    00E2
....................  output_low(DALOAD); 
0106:  BCF    F95.1
0108:  BCF    F8C.1
....................  output_high(DALOAD); 
010A:  BCF    F95.1
010C:  BSF    F8C.1
.................... } 
010E:  GOTO   01A8 (RETURN)
....................  
.................... void display(unsigned char disdata) 
.................... {unsigned char i,temp; 
....................  unsigned char disfont[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x67,0x77,0x7C,0x39,0x5E,0x79,0x71}; 
*
0004:  MOVLW  3F
0006:  MOVWF  0A
0008:  MOVLW  06
000A:  MOVWF  0B
000C:  MOVLW  5B
000E:  MOVWF  0C
0010:  MOVLW  4F
0012:  MOVWF  0D
0014:  MOVLW  66
0016:  MOVWF  0E
0018:  MOVLW  6D
001A:  MOVWF  0F
001C:  MOVLW  7D
001E:  MOVWF  10
0020:  MOVLW  07
0022:  MOVWF  11
0024:  MOVLW  7F
0026:  MOVWF  12
0028:  MOVLW  67
002A:  MOVWF  13
002C:  MOVLW  77
002E:  MOVWF  14
0030:  MOVLW  7C
0032:  MOVWF  15
0034:  MOVLW  39
0036:  MOVWF  16
0038:  MOVLW  5E
003A:  MOVWF  17
003C:  MOVLW  79
003E:  MOVWF  18
0040:  MOVLW  71
0042:  MOVWF  19
....................  temp=disfont[disdata]; 
0044:  CLRF   03
0046:  MOVF   07,W
0048:  ADDLW  0A
004A:  MOVWF  FE9
004C:  MOVLW  00
004E:  ADDWFC 03,W
0050:  MOVWF  FEA
0052:  MOVFF  FEF,09
....................  for(i=0;i<8;i++) 
0056:  CLRF   08
0058:  MOVF   08,W
005A:  SUBLW  07
005C:  BNC   007C
....................    {output_low(LEDCLK); 
005E:  BCF    F95.7
0060:  BCF    F8C.7
....................     if(temp&0x80) 
0062:  BTFSS  09.7
0064:  BRA    006C
....................       output_high(DSA); 
0066:  BCF    F96.0
0068:  BSF    F8D.0
....................     else 
006A:  BRA    0070
....................       output_low(DSA); 
006C:  BCF    F96.0
006E:  BCF    F8D.0
....................     temp<<=1; 
0070:  BCF    FD8.0
0072:  RLCF   09,F
....................     output_high(LEDCLK); 
0074:  BCF    F95.7
0076:  BSF    F8C.7
....................    } 
0078:  INCF   08,F
007A:  BRA    0058
....................  output_low(LEDCLK); 
007C:  BCF    F95.7
007E:  BCF    F8C.7
....................  
.................... } 
0080:  GOTO   0188 (RETURN)

Configuration Fuses:
   Word  1: 2200   HS NOOSCSEN
   Word  2: 0E07   BROWNOUT WDT128 NOWDT BORV42 NOPUT
   Word  3: 0100   CCP2C1
   Word  4: 0085   STVREN NODEBUG LVP
   Word  5: C00F   NOPROTECT NOCPD NOCPB
   Word  6: E00F   NOWRT NOWRTD NOWRTB NOWRTC
   Word  7: 400F   NOEBTR NOEBTRB

⌨️ 快捷键说明

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