📄 main.lis
字号:
00B0 ; x -> R16
.even
00B0 _Usart_tarnsmit0::
00B0 .dbline -1
00B0 .dbline 25
00B0 ; }
00B0 ; void Usart_tarnsmit0(Byte x)
00B0 ; {
00B0 L32:
00B0 .dbline 27
00B0 ; //等待数据寄存器空
00B0 ; while(!(UCSR0A&BIT(UDRE0)));//UDRE0为发送缓冲区空标志位
00B0 L33:
00B0 .dbline 27
00B0 5D9B sbis 0xb,5
00B2 FECF rjmp L32
00B4 X6:
00B4 .dbline 29
00B4 ; //为1表示为空
00B4 ; UDR0=x;
00B4 0CB9 out 0xc,R16
00B6 .dbline -2
00B6 L31:
00B6 .dbline 0 ; func end
00B6 0895 ret
00B8 .dbsym r x 16 c
00B8 .dbend
00B8 .dbfunc e Uart1_Init _Uart1_Init fV
.even
00B8 _Uart1_Init::
00B8 .dbline -1
00B8 .dbline 39
00B8 ; }
00B8 ;
00B8 ;
00B8 ; //UART1 initialize
00B8 ; // desired baud rate:9600
00B8 ; // actual baud rate:9615 (0.2%)
00B8 ; // char size: 5 bits
00B8 ; // parity: Disabled
00B8 ; void Uart1_Init(void)
00B8 ; {
00B8 .dbline 40
00B8 ; UCSR1B = 0x00; //disable while setting baud rate
00B8 2224 clr R2
00BA 20929A00 sts 154,R2
00BE .dbline 41
00BE ; UCSR1A = 0x00;
00BE 20929B00 sts 155,R2
00C2 .dbline 42
00C2 ; UCSR1C = 0x06;
00C2 86E0 ldi R24,6
00C4 80939D00 sts 157,R24
00C8 .dbline 43
00C8 ; UBRR1L = 0x33; //set baud rate lo baud rate = 9600 0.2%
00C8 83E3 ldi R24,51
00CA 80939900 sts 153,R24
00CE .dbline 44
00CE ; UBRR1H = 0x00; //set baud rate hi
00CE 20929800 sts 152,R2
00D2 .dbline 46
00D2 ; //UCSR1B = 0x98;
00D2 ; UCSR1B |= BIT(TXEN1) | BIT(RXEN1) | BIT(RXCIE1);
00D2 80919A00 lds R24,154
00D6 8869 ori R24,152
00D8 80939A00 sts 154,R24
00DC .dbline -2
00DC L35:
00DC .dbline 0 ; func end
00DC 0895 ret
00DE .dbend
00DE .dbfunc e Usart_tarnsmit1 _Usart_tarnsmit1 fV
00DE ; x -> R16
.even
00DE _Usart_tarnsmit1::
00DE .dbline -1
00DE .dbline 49
00DE ; }
00DE ; void Usart_tarnsmit1(Byte x)
00DE ; {
00DE L37:
00DE .dbline 51
00DE ; //等待数据寄存器空
00DE ; while(!(UCSR1A&BIT(UDRE1)));//UDRE0为发送缓冲区空标志位
00DE L38:
00DE .dbline 51
00DE 20909B00 lds R2,155
00E2 25FE sbrs R2,5
00E4 FCCF rjmp L37
00E6 X7:
00E6 .dbline 53
00E6 ; //为1表示为空
00E6 ; UDR1=x;
00E6 00939C00 sts 156,R16
00EA .dbline -2
00EA L36:
00EA .dbline 0 ; func end
00EA 0895 ret
00EC .dbsym r x 16 c
00EC .dbend
00EC .dbfile D:\SOURCE~1\手持gps测量仪\initrialm128.h
00EC .dbfunc e Init_Devices _Init_Devices fV
.even
00EC _Init_Devices::
00EC .dbline -1
00EC .dbline 21
00EC ; //ICC-AVR application builder : 2007-6-27 10:26:06
00EC ; // Target : M8
00EC ; // Crystal: 8.0000Mhz
00EC ;
00EC ; /**************初始化m8函数***************/
00EC ; #ifndef Initrial_M128_H
00EC ; #define Initrial_M128_H
00EC ;
00EC ; void Init_Devices(void);
00EC ; void Port_Init(void);
00EC ; void Init_Devices(void);
00EC ; void Timer0_Init(void);
00EC ;
00EC ; void Timer0_Init(void);
00EC ;
00EC ; //void Timer1_Init(void);
00EC ; //void Timer1_Ovf_Isr(void);
00EC ;
00EC ; //call this routine to initialize all peripherals
00EC ; void Init_Devices(void)
00EC ; {
00EC .dbline 23
00EC ; //stop errant interrupts until set up
00EC ; CLI(); //disable all interrupts
00EC F894 cli
00EE .dbline 24
00EE ; Port_Init();
00EE 02D0 xcall _Port_Init
00F0 .dbline 28
00F0 ; //Timer0_Init();
00F0 ; //Uart0_Init();
00F0 ; //Uart1_Init();
00F0 ; SEI(); //re-enable interrupts
00F0 7894 sei
00F2 .dbline -2
00F2 L40:
00F2 .dbline 0 ; func end
00F2 0895 ret
00F4 .dbend
00F4 .dbfunc e Port_Init _Port_Init fV
.even
00F4 _Port_Init::
00F4 .dbline -1
00F4 .dbline 33
00F4 ; //all peripherals are now initialized
00F4 ; }
00F4 ;
00F4 ; void Port_Init(void)
00F4 ; {
00F4 .dbline 34
00F4 ; PORTA = 0xff;
00F4 8FEF ldi R24,255
00F6 8BBB out 0x1b,R24
00F8 .dbline 35
00F8 ; DDRA = 0xff;
00F8 8ABB out 0x1a,R24
00FA .dbline 36
00FA ; PORTB = 0xff;
00FA 88BB out 0x18,R24
00FC .dbline 37
00FC ; DDRB = 0xff;
00FC 87BB out 0x17,R24
00FE .dbline 38
00FE ; PORTC = 0xff; //m103 output only
00FE 85BB out 0x15,R24
0100 .dbline 39
0100 ; DDRC = 0xff;
0100 84BB out 0x14,R24
0102 .dbline 40
0102 ; PORTD = 0xff;
0102 82BB out 0x12,R24
0104 .dbline 41
0104 ; DDRD = 0xff;
0104 81BB out 0x11,R24
0106 .dbline 42
0106 ; PORTE = 0xff;
0106 83B9 out 0x3,R24
0108 .dbline 43
0108 ; DDRE = 0xff;
0108 82B9 out 0x2,R24
010A .dbline 44
010A ; PORTF = 0xff;
010A 80936200 sts 98,R24
010E .dbline 45
010E ; DDRF = 0xff;
010E 80936100 sts 97,R24
0112 .dbline 46
0112 ; PORTG = 0xff;
0112 80936500 sts 101,R24
0116 .dbline 47
0116 ; DDRG = 0xff;
0116 80936400 sts 100,R24
011A .dbline -2
011A L41:
011A .dbline 0 ; func end
011A 0895 ret
011C .dbend
011C .dbfunc e Timer0_Init _Timer0_Init fV
.even
011C _Timer0_Init::
011C .dbline -1
011C .dbline 57
011C ;
011C ; //BEEP_PORT &=~ BIT(BEEP);
011C ; }
011C ;
011C ; //TIMER0 initialize - prescale:1024
011C ; // WGM: Normal
011C ; // desired value: 10mSec
011C ; // actual value: 9.984mSec (0.2%)
011C ; void Timer0_Init(void)
011C ; {
011C .dbline 58
011C ; TCCR0 = 0x00; //stop
011C 2224 clr R2
011E 23BE out 0x33,R2
0120 .dbline 59
0120 ; ASSR = 0x00; //set async mode
0120 20BE out 0x30,R2
0122 .dbline 60
0122 ; TCNT0 = 0xB2; //set count
0122 82EB ldi R24,178
0124 82BF out 0x32,R24
0126 .dbline 61
0126 ; OCR0 = 0x4E;
0126 8EE4 ldi R24,78
0128 81BF out 0x31,R24
012A .dbline 62
012A ; TCCR0 = 0x07; //start timer prescale:1024
012A 87E0 ldi R24,7
012C 83BF out 0x33,R24
012E .dbline 63
012E ; TIMSK |= BIT(TOIE0); //timer0 interrupt sources
012E 87B7 in R24,0x37
0130 8160 ori R24,1
0132 87BF out 0x37,R24
0134 .dbline -2
0134 L42:
0134 .dbline 0 ; func end
0134 0895 ret
0136 .dbend
.area lit(rom, con, rel)
0000 _asciidot8x16::
0000 0000 .byte 0,0
0002 0000 .byte 0,0
0004 0000 .byte 0,0
0006 0000 .byte 0,0
0008 0000 .byte 0,0
000A 0000 .byte 0,0
000C 0000 .byte 0,0
000E 0000 .byte 0,0
0010 0000 .byte 0,0
0012 38FC .byte 56,252
0014 FC38 .byte 252,56
0016 0000 .byte 0,0
0018 0000 .byte 0,0
001A 000D .byte 0,13
001C 0D00 .byte 13,0
001E 0000 .byte 0,0
0020 000E .byte 0,14
0022 1E00 .byte 30,0
0024 001E .byte 0,30
0026 0E00 .byte 14,0
0028 0000 .byte 0,0
002A 0000 .byte 0,0
002C 0000 .byte 0,0
002E 0000 .byte 0,0
0030 20F8 .byte 32,248
0032 F820 .byte 248,32
0034 F8F8 .byte 248,248
0036 2000 .byte 32,0
0038 020F .byte 2,15
003A 0F02 .byte 15,2
003C 0F0F .byte 15,15
003E 0200 .byte 2,0
0040 387C .byte 56,124
0042 4447 .byte 'D,'G
0044 47CC .byte 'G,204
0046 9800 .byte 152,0
0048 0306 .byte 3,6
004A 041C .byte 4,28
004C 1C07 .byte 28,7
004E 0300 .byte 3,0
0050 3030 .byte 48,48
0052 0080 .byte 0,128
0054 C060 .byte 192,96
0056 3000 .byte 48,0
0058 0C06 .byte 12,6
005A 0301 .byte 3,1
005C 000C .byte 0,12
005E 0C00 .byte 12,0
0060 80D8 .byte 128,216
0062 7CE4 .byte 124,228
0064 BCD8 .byte 188,216
0066 4000 .byte 64,0
0068 070F .byte 7,15
006A 0808 .byte 8,8
006C 070F .byte 7,15
006E 0800 .byte 8,0
0070 0010 .byte 0,16
0072 1E0E .byte 30,14
0074 0000 .byte 0,0
0076 0000 .byte 0,0
0078 0000 .byte 0,0
007A 0000 .byte 0,0
007C 0000 .byte 0,0
007E 0000 .byte 0,0
0080 0000 .byte 0,0
0082 F0F8 .byte 240,248
0084 0C04 .byte 12,4
0086 0000 .byte 0,0
0088 0000 .byte 0,0
008A 0307 .byte 3,7
008C 0C08 .byte 12,8
008E 0000 .byte 0,0
0090 0000 .byte 0,0
0092 040C .byte 4,12
0094 F8F0 .byte 248,240
0096 0000 .byte 0,0
0098 0000 .byte 0,0
009A 080C .byte 8,12
009C 0703 .byte 7,3
009E 0000 .byte 0,0
00A0 80A0 .byte 128,160
00A2 E0C0 .byte 224,192
00A4 C0E0 .byte 192,224
00A6 A080 .byte 160,128
00A8 0002 .byte 0,2
00AA 0301 .byte 3,1
00AC 0103 .byte 1,3
00AE 0200 .byte 2,0
00B0 0080 .byte 0,128
00B2 80E0 .byte 128,224
00B4 E080 .byte 224,128
00B6 8000 .byte 128,0
00B8 0000 .byte 0,0
00BA 0003 .byte 0,3
00BC 0300 .byte 3,0
00BE 0000 .byte 0,0
00C0 0000 .byte 0,0
00C2 0000 .byte 0,0
00C4 0000 .byte 0,0
00C6 0000 .byte 0,0
00C8 0000 .byte 0,0
00CA 101E .byte 16,30
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -