📄 main.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 + -