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

📄 initialize.lis

📁 与GPS模块连接
💻 LIS
字号:
                        .module initialize.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\RXTest\initialize.c
 0000                   .dbfunc e timer0_init _timer0_init fV
                        .even
 0000           _timer0_init::
 0000                   .dbline -1
 0000                   .dbline 15
 0000           ; #define Initialize_C 
 0000           ; 
 0000           ; #include "allheads.h"
 0000           ; 
 0000           ; /*void timer0_init(void)
 0000           ; { 
 0000           ;  TCCR0A=0x00;
 0000           ; TCCR0B=0x03;
 0000           ; TCNT0=0x83;
 0000           ; OCR0A=0x00;
 0000           ; OCR0B=0x00;
 0000           ; }*/
 0000           ; 
 0000           ; void timer0_init(void) 
 0000           ; {     TCCR0B = 0x00; //stop 
 0000                   .dbline 15
 0000 2224              clr R2
 0002 25BC              out 0x25,R2
 0004                   .dbline 16
 0004           ;          TCNT0  = Txd_Bit_Delay;//0xD0; //set count 
 0004 88E9              ldi R24,152
 0006 86BD              out 0x26,R24
 0008                   .dbline 17
 0008           ;          TCCR0A = 0x00;  
 0008 24BC              out 0x24,R2
 000A                   .dbline -2
 000A           L9:
 000A                   .dbline 0 ; func end
 000A 0895              ret
 000C                   .dbend
 000C                   .dbfunc e timer2_init _timer2_init fV
                        .even
 000C           _timer2_init::
 000C                   .dbline -1
 000C                   .dbline 24
 000C           ; } 
 000C           ; //TIMER2 initialize - prescale:1024
 000C           ; // WGM: Normal
 000C           ; // desired value: 20mSec
 000C           ; // actual value: 19.968mSec (0.2%)
 000C           ; void timer2_init(void)
 000C           ; {
 000C                   .dbline 25
 000C           ;   TCCR2B = 0x00; //stop
 000C 2224              clr R2
 000E 2092B100          sts 177,R2
 0012                   .dbline 26
 0012           ;  ASSR  = 0x00; //set async mode
 0012 2092B600          sts 182,R2
 0016                   .dbline 27
 0016           ;  TCNT2 = 0x83; //setup
 0016 83E8              ldi R24,131
 0018 8093B200          sts 178,R24
 001C                   .dbline 28
 001C           ;  OCR2A = 0x7D;
 001C 8DE7              ldi R24,125
 001E 8093B300          sts 179,R24
 0022                   .dbline 29
 0022           ;  OCR2B = 0x00;
 0022 2092B400          sts 180,R2
 0026                   .dbline 30
 0026           ;  TCCR2A = 0x00; 
 0026 2092B000          sts 176,R2
 002A                   .dbline 31
 002A           ;  TCCR2B = 0x04; //start
 002A 84E0              ldi R24,4
 002C 8093B100          sts 177,R24
 0030                   .dbline -2
 0030           L10:
 0030                   .dbline 0 ; func end
 0030 0895              ret
 0032                   .dbend
 0032                   .dbfunc e initialize _initialize fV
                        .even
 0032           _initialize::
 0032                   .dbline -1
 0032                   .dbline 35
 0032           ; }
 0032           ; 
 0032           ; void initialize(void)
 0032           ; {
 0032                   .dbline 38
 0032           ; // Crystal Oscillator division factor: 1
 0032           ; //#pragma optsize-
 0032           ; asm("cli");//CLI(); 
 0032 F894              cli
 0034                   .dbline 39
 0034           ; CLKPR=0x80;
 0034 80E8              ldi R24,128
 0036 80936100          sts 97,R24
 003A                   .dbline 40
 003A           ; CLKPR=0x00;
 003A 2224              clr R2
 003C 20926100          sts 97,R2
 0040                   .dbline 45
 0040           ; //#ifdef _OPTIMIZE_SIZE_
 0040           ; //#pragma optsize+
 0040           ; //#endif
 0040           ; 
 0040           ; PORTB=0xFF;
 0040 8FEF              ldi R24,255
 0042 85B9              out 0x5,R24
 0044                   .dbline 46
 0044           ; DDRB=0xFF;
 0044 84B9              out 0x4,R24
 0046                   .dbline 48
 0046           ; 
 0046           ; PORTC=0xF7;
 0046 87EF              ldi R24,247
 0048 88B9              out 0x8,R24
 004A                   .dbline 49
 004A           ; DDRC=0xf7;//ef;//0xF7;
 004A 87B9              out 0x7,R24
 004C                   .dbline 51
 004C           ; 
 004C           ; PORTD=0x60;
 004C 80E6              ldi R24,96
 004E 8BB9              out 0xb,R24
 0050                   .dbline 52
 0050           ; DDRD=0x9C;
 0050 8CE9              ldi R24,156
 0052 8AB9              out 0xa,R24
 0054                   .dbline 63
 0054           ;  //TCCR0B = 0x00; //stop
 0054           ;  //TCNT0 = 0x83; //set count
 0054           ;  //TCCR0A = 0x00; 
 0054           ;  //TCCR0B = 0x03; //start time
 0054           ; /*
 0054           ; TCCR0A=0x00;
 0054           ; TCCR0B=0x03;
 0054           ; TCNT0=0x06;
 0054           ; OCR0A=0x00;
 0054           ; OCR0B=0x00;*/
 0054           ; UCSR0B = 0x00; //disable while setting baud rate
 0054 2092C100          sts 193,R2
 0058                   .dbline 64
 0058           ;  UCSR0A = 0x00;
 0058 2092C000          sts 192,R2
 005C                   .dbline 65
 005C           ;  UCSR0C = 0x06;
 005C 86E0              ldi R24,6
 005E 8093C200          sts 194,R24
 0062                   .dbline 66
 0062           ;  UBRR0L = 0x67;//33;//0xCF; //set baud rate lo
 0062 87E6              ldi R24,103
 0064 8093C400          sts 196,R24
 0068                   .dbline 67
 0068           ;  UBRR0H = 0x00; //set baud rate hi
 0068 2092C500          sts 197,R2
 006C                   .dbline 68
 006C           ;  UCSR0B =0x98;// 0x18;//0x90
 006C 88E9              ldi R24,152
 006E 8093C100          sts 193,R24
 0072                   .dbline 70
 0072           ;  
 0072           ; TCCR1A=0x00;
 0072 20928000          sts 128,R2
 0076                   .dbline 71
 0076           ; TCCR1B=0x00;
 0076 20928100          sts 129,R2
 007A                   .dbline 72
 007A           ; TCNT1H=0x00;
 007A 20928500          sts 133,R2
 007E                   .dbline 73
 007E           ; TCNT1L=0x00;
 007E 20928400          sts 132,R2
 0082                   .dbline 74
 0082           ; ICR1H=0x00;
 0082 20928700          sts 135,R2
 0086                   .dbline 75
 0086           ; ICR1L=0x00;
 0086 20928600          sts 134,R2
 008A                   .dbline 76
 008A           ; OCR1AH=0x00;
 008A 20928900          sts 137,R2
 008E                   .dbline 77
 008E           ; OCR1AL=0x00;
 008E 20928800          sts 136,R2
 0092                   .dbline 78
 0092           ; OCR1BH=0x00;
 0092 20928B00          sts 139,R2
 0096                   .dbline 79
 0096           ; OCR1BL=0x00;
 0096 20928A00          sts 138,R2
 009A                   .dbline 81
 009A           ; 
 009A           ;  timer0_init();
 009A B2DF              rcall _timer0_init
 009C                   .dbline 82
 009C           ;  timer2_init();
 009C B7DF              rcall _timer2_init
 009E                   .dbline 83
 009E           ; TCCR2B = 0x00; //stop
 009E 2224              clr R2
 00A0 2092B100          sts 177,R2
 00A4                   .dbline 84
 00A4           ;  ASSR  = 0x00; //set async mode
 00A4 2092B600          sts 182,R2
 00A8                   .dbline 85
 00A8           ;  TCNT2 = 0x83; //setup
 00A8 83E8              ldi R24,131
 00AA 8093B200          sts 178,R24
 00AE                   .dbline 86
 00AE           ;  OCR2A = 0x7D;
 00AE 8DE7              ldi R24,125
 00B0 8093B300          sts 179,R24
 00B4                   .dbline 87
 00B4           ;  OCR2B = 0x00;
 00B4 2092B400          sts 180,R2
 00B8                   .dbline 88
 00B8           ;  TCCR2A = 0x00; 
 00B8 2092B000          sts 176,R2
 00BC                   .dbline 89
 00BC           ;  TCCR2B = 0x04; //start
 00BC 84E0              ldi R24,4
 00BE 8093B100          sts 177,R24
 00C2                   .dbline 91
 00C2           ; 
 00C2           ; EICRA=0x00;
 00C2 20926900          sts 105,R2
 00C6                   .dbline 92
 00C6           ; EIMSK=0x00;
 00C6 2DBA              out 0x1d,R2
 00C8                   .dbline 93
 00C8           ; PCICR=0x00;
 00C8 20926800          sts 104,R2
 00CC                   .dbline 96
 00CC           ; 
 00CC           ; // Timer/Counter 0 Interrupt(s) initialization
 00CC           ; TIMSK0=0x00;
 00CC 20926E00          sts 110,R2
 00D0                   .dbline 98
 00D0           ; // Timer/Counter 1 Interrupt(s) initialization
 00D0           ; TIMSK1=0x00;
 00D0 20926F00          sts 111,R2
 00D4                   .dbline 101
 00D4           ; // Timer/Counter 2 Interrupt(s) initialization
 00D4           ; //TIMSK2=0x00;
 00D4           ; TIMSK2 = 0x01; 
 00D4 81E0              ldi R24,1
 00D6 80937000          sts 112,R24
 00DA                   .dbline 105
 00DA           ; // Analog Comparator initialization
 00DA           ; // Analog Comparator: Off
 00DA           ; // Analog Comparator Input Capture by Timer/Counter 1: Off
 00DA           ; ACSR=0x80;
 00DA 80E8              ldi R24,128
 00DC 80BF              out 0x30,R24
 00DE                   .dbline 106
 00DE           ; ADCSRB=0x00;
 00DE 20927B00          sts 123,R2
 00E2                   .dbline 109
 00E2           ; // Global enable interrupts
 00E2           ; //#asm("sei")
 00E2           ; asm("sei");// SEI(); 
 00E2 7894              sei
 00E4                   .dbline -2
 00E4           L11:
 00E4                   .dbline 0 ; func end
 00E4 0895              ret
 00E6                   .dbend
 00E6                   .dbfunc e delay_ms _delay_ms fV
 00E6           ;              a -> R20
 00E6           ;              b -> R22
 00E6           ;              i -> R16
                        .even
 00E6           _delay_ms::
 00E6 00D0              rcall push_gset2
 00E8                   .dbline -1
 00E8                   .dbline 112
 00E8           ; }
 00E8           ; 
 00E8           ; void delay_ms(uchar i) {
 00E8                   .dbline 114
 00E8 41E0              ldi R20,1
 00EA 06C0              rjmp L16
 00EC           L13:
 00EC                   .dbline 114
 00EC           ;       uchar a, b;
 00EC           ;       for (a = 1; a < i; a++) {
 00EC                   .dbline 115
 00EC 61E0              ldi R22,1
 00EE 01C0              rjmp L20
 00F0           L17:
 00F0                   .dbline 115
 00F0                   .dbline 115
 00F0                   .dbline 115
 00F0           L18:
 00F0                   .dbline 115
 00F0 6395              inc R22
 00F2           L20:
 00F2                   .dbline 115
 00F2 6623              tst R22
 00F4 E9F7              brne L17
 00F6                   .dbline 116
 00F6           L14:
 00F6                   .dbline 114
 00F6 4395              inc R20
 00F8           L16:
 00F8                   .dbline 114
 00F8 4017              cp R20,R16
 00FA C0F3              brlo L13
 00FC                   .dbline -2
 00FC           L12:
 00FC 00D0              rcall pop_gset2
 00FE                   .dbline 0 ; func end
 00FE 0895              ret
 0100                   .dbsym r a 20 c
 0100                   .dbsym r b 22 c
 0100                   .dbsym r i 16 c
 0100                   .dbend
 0100                   .dbfunc e Delay _Delay fV
 0100           ;         _Delay -> R16,R17
                        .even
 0100           _Delay::
 0100                   .dbline -1
 0100                   .dbline 119
 0100           ;               for (b = 1; b; b++) {;}
 0100           ;               }
 0100           ; }
 0100           ; 
 0100           ; void Delay(uint _Delay){
 0100           L22:
 0100                   .dbline 120
 0100                   .dbline 120
 0100                   .dbline 120
 0100           L23:
 0100                   .dbline 120
 0100           ;       while(--_Delay){;}
 0100 C801              movw R24,R16
 0102 0197              sbiw R24,1
 0104 8C01              movw R16,R24
 0106 0030              cpi R16,0
 0108 0107              cpc R16,R17
 010A D1F7              brne L22
 010C           X0:
 010C                   .dbline -2
 010C           L21:
 010C                   .dbline 0 ; func end
 010C 0895              ret
 010E                   .dbsym r _Delay 16 i
 010E                   .dbend
 010E                   .dbfunc e DelayLong _DelayLong fV
 010E           ;              i -> R20,R21
 010E           ;              j -> R22,R23
 010E           ;          value -> R16,R17
                        .even
 010E           _DelayLong::
 010E 00D0              rcall push_gset2
 0110                   .dbline -1
 0110                   .dbline 123
 0110           ; }
 0110           ; 
 0110           ; void DelayLong(uint value){
 0110                   .dbline 125
 0110 4427              clr R20
 0112 5527              clr R21
 0114 0BC0              rjmp L29
 0116           L26:
 0116                   .dbline 125
 0116           ; uint i,j;
 0116           ; for(i=0;i<value;i++){
 0116                   .dbline 126
 0116 6627              clr R22
 0118 7727              clr R23
 011A 02C0              rjmp L33
 011C           L30:
 011C                   .dbline 126
 011C                   .dbline 126
 011C                   .dbline 126
 011C           L31:
 011C                   .dbline 126
 011C 6F5F              subi R22,255  ; offset = 1
 011E 7F4F              sbci R23,255
 0120           L33:
 0120                   .dbline 126
 0120 6F3F              cpi R22,255
 0122 E0E0              ldi R30,0
 0124 7E07              cpc R23,R30
 0126 D0F3              brlo L30
 0128                   .dbline 127
 0128           L27:
 0128                   .dbline 125
 0128 4F5F              subi R20,255  ; offset = 1
 012A 5F4F              sbci R21,255
 012C           L29:
 012C                   .dbline 125
 012C 4017              cp R20,R16
 012E 5107              cpc R21,R17
 0130 90F3              brlo L26
 0132                   .dbline -2
 0132           L25:
 0132 00D0              rcall pop_gset2
 0134                   .dbline 0 ; func end
 0134 0895              ret
 0136                   .dbsym r i 20 i
 0136                   .dbsym r j 22 i
 0136                   .dbsym r value 16 i
 0136                   .dbend

⌨️ 快捷键说明

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