?? 060_單片機與pc機通信.lis
字號:
.module _060_單片機與PC機通信.c
.area text(rom, con, rel)
0000 .dbfile D:\BKF\N_HDJ\單片機學習開發(fā)系統(tǒng)板資料\SP0602_AVR-II\SP0602AVR-II開發(fā)板\C源程序\060_單片機與PC機通信\060_單片機與PC機通信.c
0000 .dbfunc e port_init _port_init fV
.even
0000 _port_init::
0000 .dbline -1
0000 .dbline 9
0000 ; //ICC-AVR application builder : 2006-3-9 12:06:43
0000 ; // Target : M8515
0000 ; // Crystal: 4.0000Mhz
0000 ;
0000 ; #include <iom8515v.h>
0000 ; #include <macros.h>
0000 ;
0000 ; void port_init(void)
0000 ; {
0000 .dbline 10
0000 ; PORTA = 0x01;
0000 81E0 ldi R24,1
0002 8BBB out 0x1b,R24
0004 .dbline 11
0004 ; DDRA = 0x01;
0004 8ABB out 0x1a,R24
0006 .dbline 12
0006 ; PORTB = 0x00;
0006 2224 clr R2
0008 28BA out 0x18,R2
000A .dbline 13
000A ; DDRB = 0x00;
000A 27BA out 0x17,R2
000C .dbline 14
000C ; PORTC = 0x00;
000C 25BA out 0x15,R2
000E .dbline 15
000E ; DDRC = 0x00;
000E 24BA out 0x14,R2
0010 .dbline 16
0010 ; PORTD = 0x00;
0010 22BA out 0x12,R2
0012 .dbline 17
0012 ; DDRD = 0x00;
0012 21BA out 0x11,R2
0014 .dbline 18
0014 ; PORTE = 0x00;
0014 27B8 out 0x7,R2
0016 .dbline 19
0016 ; DDRE = 0x00;
0016 26B8 out 0x6,R2
0018 .dbline -2
0018 L1:
0018 .dbline 0 ; func end
0018 0895 ret
001A .dbend
001A .dbfunc e uart0_init _uart0_init fV
.even
001A _uart0_init::
001A .dbline -1
001A .dbline 23
001A ; }
001A ;
001A ; void uart0_init(void)
001A ; {
001A .dbline 24
001A ; UCSRB = 0x00;
001A 2224 clr R2
001C 2AB8 out 0xa,R2
001E .dbline 25
001E ; UCSRA = 0x00;
001E 2BB8 out 0xb,R2
0020 .dbline 26
0020 ; UCSRC = BIT(URSEL) | 0x06;
0020 86E8 ldi R24,134
0022 80BD out 0x20,R24
0024 .dbline 27
0024 ; UBRRL = 0x19;
0024 89E1 ldi R24,25
0026 89B9 out 0x9,R24
0028 .dbline 28
0028 ; UBRRH = 0x00;
0028 20BC out 0x20,R2
002A .dbline 29
002A ; UCSRB = 0xD8;
002A 88ED ldi R24,216
002C 8AB9 out 0xa,R24
002E .dbline -2
002E L2:
002E .dbline 0 ; func end
002E 0895 ret
0030 .dbend
.area vector(rom, abs)
.org 18
0012 18C0 rjmp _uart0_rx_isr
.area text(rom, con, rel)
0030 .dbfile D:\BKF\N_HDJ\單片機學習開發(fā)系統(tǒng)板資料\SP0602_AVR-II\SP0602AVR-II開發(fā)板\C源程序\060_單片機與PC機通信\060_單片機與PC機通信.c
0030 .dbfunc e uart0_rx_isr _uart0_rx_isr fV
0030 ; Temp -> R16
.even
0030 _uart0_rx_isr::
0030 0A93 st -y,R16
0032 0FB7 in R16,0x3f
0034 0A93 st -y,R16
0036 .dbline -1
0036 .dbline 34
0036 ; }
0036 ;
0036 ; #pragma interrupt_handler uart0_rx_isr:10
0036 ; void uart0_rx_isr(void)
0036 ; {
0036 .dbline 37
0036 ; unsigned char Temp;
0036 ;
0036 ; Temp=UDR;
0036 0CB1 in R16,0xc
0038 .dbline 38
0038 ; if(Temp=='A')
0038 0134 cpi R16,65
003A 29F4 brne L4
003C .dbline 39
003C ; {
003C .dbline 40
003C ; if((PINA & 0x01)==0)
003C C899 sbic 0x19,0
003E 02C0 rjmp L6
0040 .dbline 41
0040 ; {
0040 .dbline 42
0040 ; PORTA|=BIT(PORTA0);
0040 D89A sbi 0x1b,0
0042 .dbline 43
0042 ; }
0042 01C0 rjmp L7
0044 L6:
0044 .dbline 45
0044 ; else
0044 ; {
0044 .dbline 46
0044 ; PORTA&=~BIT(PORTA0);
0044 D898 cbi 0x1b,0
0046 .dbline 47
0046 ; }
0046 L7:
0046 .dbline 48
0046 L4:
0046 .dbline -2
0046 L3:
0046 0991 ld R16,y+
0048 0FBF out 0x3f,R16
004A 0991 ld R16,y+
004C .dbline 0 ; func end
004C 1895 reti
004E .dbsym r Temp 16 c
004E .dbend
.area vector(rom, abs)
.org 22
0016 27C0 rjmp _uart0_tx_isr
.area text(rom, con, rel)
004E .dbfile D:\BKF\N_HDJ\單片機學習開發(fā)系統(tǒng)板資料\SP0602_AVR-II\SP0602AVR-II開發(fā)板\C源程序\060_單片機與PC機通信\060_單片機與PC機通信.c
004E .dbfunc e uart0_tx_isr _uart0_tx_isr fV
.even
004E _uart0_tx_isr::
004E .dbline -1
004E .dbline 53
004E ; }
004E ; }
004E ;
004E ; #pragma interrupt_handler uart0_tx_isr:12
004E ; void uart0_tx_isr(void)
004E ; {
004E .dbline -2
004E L8:
004E .dbline 0 ; func end
004E 1895 reti
0050 .dbend
0050 .dbfunc e init_devices _init_devices fV
.even
0050 _init_devices::
0050 .dbline -1
0050 .dbline 60
0050 ; //character has been transmitted
0050 ; }
0050 ;
0050 ;
0050 ;
0050 ; void init_devices(void)
0050 ; {
0050 .dbline 61
0050 ; CLI();
0050 F894 cli
0052 .dbline 62
0052 ; port_init();
0052 D6DF rcall _port_init
0054 .dbline 63
0054 ; uart0_init();
0054 E2DF rcall _uart0_init
0056 .dbline 65
0056 ;
0056 ; MCUCR = 0x00;
0056 2224 clr R2
0058 25BE out 0x35,R2
005A .dbline 66
005A ; EMCUCR = 0x00;
005A 26BE out 0x36,R2
005C .dbline 67
005C ; GICR = 0x00;
005C 2BBE out 0x3b,R2
005E .dbline 68
005E ; TIMSK = 0x00;
005E 29BE out 0x39,R2
0060 .dbline 69
0060 ; SEI();
0060 7894 sei
0062 .dbline -2
0062 L9:
0062 .dbline 0 ; func end
0062 0895 ret
0064 .dbend
0064 .dbfunc e main _main fV
.even
0064 _main::
0064 .dbline -1
0064 .dbline 77
0064 ; }
0064 ;
0064 ;
0064 ;
0064 ;
0064 ;
0064 ; void main(void)
0064 ; {
0064 .dbline 78
0064 ; init_devices();
0064 F5DF rcall _init_devices
0066 L11:
0066 .dbline 81
0066 .dbline 82
0066 .dbline 83
0066 L12:
0066 .dbline 80
0066 FFCF rjmp L11
0068 X0:
0068 .dbline -2
0068 L10:
0068 .dbline 0 ; func end
0068 0895 ret
006A .dbend
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -