uart_pc.lis

来自「16个单片机c语言实验程序」· LIS 代码 · 共 512 行 · 第 1/2 页

LIS
512
字号
                        .module uart_pc.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\16实验程序\串口通信\与计算机通信\uart_pc.c
 0000                   .dbfile D:\16实验程序\串口通信\与计算机通信\uart0.h
 0000                   .dbfunc e port_init _port_init fV
                        .even
 0000           _port_init::
 0000                   .dbline -1
 0000                   .dbline 4
 0000           ; #define uchar unsigned char
 0000           ; 
 0000           ; void port_init(void)
 0000           ; {
 0000                   .dbline 5
 0000           ;  PORTA = 0x00;
 0000 2224              clr R2
 0002 2BBA              out 0x1b,R2
 0004                   .dbline 6
 0004           ;  DDRA  = 0x00;
 0004 2ABA              out 0x1a,R2
 0006                   .dbline 7
 0006           ;  PORTB = 0x00;
 0006 28BA              out 0x18,R2
 0008                   .dbline 8
 0008           ;  DDRB  = 0x00;
 0008 27BA              out 0x17,R2
 000A                   .dbline 9
 000A           ;  PORTC = 0x00; //m103 output only
 000A 25BA              out 0x15,R2
 000C                   .dbline 10
 000C           ;  DDRC  = 0x00;
 000C 24BA              out 0x14,R2
 000E                   .dbline 11
 000E           ;  PORTD = 0x00;
 000E 22BA              out 0x12,R2
 0010                   .dbline 12
 0010           ;  DDRD  = 0x00;
 0010 21BA              out 0x11,R2
 0012                   .dbline -2
 0012           L1:
 0012                   .dbline 0 ; func end
 0012 0895              ret
 0014                   .dbend
 0014                   .dbfunc e uart0_init _uart0_init fV
                        .even
 0014           _uart0_init::
 0014                   .dbline -1
 0014                   .dbline 19
 0014           ; }
 0014           ; 
 0014           ; //UART0 initialize
 0014           ; // desired baud rate: 9600
 0014           ; // actual: baud rate:9615 (0.2%)
 0014           ; void uart0_init(void)
 0014           ; {
 0014                   .dbline 20
 0014           ;  UCSRB = 0x00; //disable while setting baud rate
 0014 2224              clr R2
 0016 2AB8              out 0xa,R2
 0018                   .dbline 21
 0018           ;  UCSRA = 0x00;
 0018 2BB8              out 0xb,R2
 001A                   .dbline 22
 001A           ;  UCSRC = BIT(URSEL) | 0x06;
 001A 86E8              ldi R24,134
 001C 80BD              out 0x20,R24
 001E                   .dbline 23
 001E           ;  UBRRL = 0x67; //set baud rate lo
 001E 87E6              ldi R24,103
 0020 89B9              out 0x9,R24
 0022                   .dbline 24
 0022           ;  UBRRH = 0x00; //set baud rate hi
 0022 20BC              out 0x20,R2
 0024                   .dbline 25
 0024           ;  UCSRB = 0x18;
 0024 88E1              ldi R24,24
 0026 8AB9              out 0xa,R24
 0028                   .dbline -2
 0028           L2:
 0028                   .dbline 0 ; func end
 0028 0895              ret
 002A                   .dbend
 002A                   .dbfunc e init_devices _init_devices fV
                        .even
 002A           _init_devices::
 002A                   .dbline -1
 002A                   .dbline 30
 002A           ; }
 002A           ; 
 002A           ; //call this routine to initialize all peripherals
 002A           ; void init_devices(void)
 002A           ; {
 002A                   .dbline 32
 002A           ;  //stop errant interrupts until set up
 002A           ;  CLI(); //disable all interrupts
 002A F894              cli
 002C                   .dbline 33
 002C           ;  port_init();
 002C E9DF              xcall _port_init
 002E                   .dbline 34
 002E           ;  uart0_init();
 002E F2DF              xcall _uart0_init
 0030                   .dbline 36
 0030           ; 
 0030           ;  MCUCR = 0x00;
 0030 2224              clr R2
 0032 25BE              out 0x35,R2
 0034                   .dbline 37
 0034           ;  GICR  = 0x00;
 0034 2BBE              out 0x3b,R2
 0036                   .dbline 38
 0036           ;  TIMSK = 0x00; //timer interrupt sources
 0036 29BE              out 0x39,R2
 0038                   .dbline 39
 0038           ;  SEI(); //re-enable interrupts
 0038 7894              sei
 003A                   .dbline -2
 003A           L3:
 003A                   .dbline 0 ; func end
 003A 0895              ret
 003C                   .dbend
 003C                   .dbfunc e uart_tx _uart_tx fV
 003C           ;            txc -> R16
                        .even
 003C           _uart_tx::
 003C                   .dbline -1
 003C                   .dbline 44
 003C           ;  //all peripherals are now initialized
 003C           ; }
 003C           ; 
 003C           ; void uart_tx(uchar txc)      //send a uchar data
 003C           ; {
 003C           L5:
 003C                   .dbline 45
 003C           ; while(!(UCSRA&(1<<UDRE)));   //check send enable
 003C           L6:
 003C                   .dbline 45
 003C 5D9B              sbis 0xb,5
 003E FECF              rjmp L5
 0040           X0:
 0040                   .dbline 46
 0040           ; UDR=txc;              
 0040 0CB9              out 0xc,R16
 0042                   .dbline -2
 0042           L4:
 0042                   .dbline 0 ; func end
 0042 0895              ret
 0044                   .dbsym r txc 16 c
 0044                   .dbend
                        .area data(ram, con, rel)
 0000                   .dbfile D:\16实验程序\串口通信\与计算机通信\uart0.h
 0000           _cn_00::
 0000                   .blkb 17
                        .area idata
 0000 B1B1BEA9B6ABBFD8BFAAB7A2B0E50A0D  .byte 177,177,190,169,182,171,191,216,191,170,183,162,176,229,10,13
 0010 00                .byte 0
                        .area data(ram, con, rel)
 0011                   .dbfile D:\16实验程序\串口通信\与计算机通信\uart0.h
 0011                   .dbfile D:\16实验程序\串口通信\与计算机通信\uart_pc.c
 0011                   .dbsym e cn_00 _cn_00 A[17:17]c
 0011           _cn_01::
 0011                   .blkb 51
                        .area idata
 0011 41546D6567613136D6F7D0BEC6ACA3BA  .byte 'A,'T,'m,'e,'g,'a,49,54,214,247,208,190,198,172,163,186
 0021 31364B20466C61736820314B20535241  .byte 49,54,'K,32,'F,'l,'a,'s,'h,32,49,'K,32,'S,'R,'A
 0031 4D203531324279746520454550524F4D  .byte 'M,32,53,49,50,'B,'y,'t,'e,32,'E,'E,'P,'R,'O,'M
 0041 0A0D00            .byte 10,13,0
                        .area data(ram, con, rel)
 0044                   .dbfile D:\16实验程序\串口通信\与计算机通信\uart_pc.c
 0044                   .dbsym e cn_01 _cn_01 A[51:51]c
 0044           _cn_02::
 0044                   .blkb 51
                        .area idata
 0044 493243D7DCCFDFC6F7BCFE3234433034  .byte 'I,50,'C,215,220,207,223,198,247,188,254,50,52,'C,48,52
 0054 A3AC454550524F4DCAFDBEDDB4E6B4A2  .byte 163,172,'E,'E,'P,'R,'O,'M,202,253,190,221,180,230,180,162
 0064 C6F7A3AC346B42697420454550524F4D  .byte 198,247,163,172,52,'k,'B,'i,'t,32,'E,'E,'P,'R,'O,'M
 0074 0A0D00            .byte 10,13,0
                        .area data(ram, con, rel)
 0077                   .dbfile D:\16实验程序\串口通信\与计算机通信\uart_pc.c
 0077                   .dbsym e cn_02 _cn_02 A[51:51]c
 0077           _cn_03::
 0077                   .blkb 26
                        .area idata
 0077 B5A5D7DCCFDF44533138423230CEC2B6  .byte 181,165,215,220,207,223,'D,'S,49,56,'B,50,48,206,194,182
 0087 C8B4ABB8D0C6F70A0D00      .byte 200,180,171,184,208,198,247,10,13,0
                        .area data(ram, con, rel)
 0091                   .dbfile D:\16实验程序\串口通信\与计算机通信\uart_pc.c
 0091                   .dbsym e cn_03 _cn_03 A[26:26]c
 0091           _cn_04::
 0091                   .blkb 59
                        .area idata
 0091 5253323332BDD3BFDA4D617832333241  .byte 'R,'S,50,51,50,189,211,191,218,'M,'a,'x,50,51,50,'A
 00A1 A3ACD6F7B4D3BDD3BFDAA3A8BFC9D3EB  .byte 163,172,214,247,180,211,189,211,191,218,163,168,191,201,211,235
 00B1 BCC6CBE3BBFABBF2C6E4CBFBBFAAB7A2  .byte 188,198,203,227,187,250,187,242,198,228,203,251,191,170,183,162
 00C1 B0E5CDA8D0C5A3A90A0D00    .byte 176,229,205,168,208,197,163,169,10,13,0
                        .area data(ram, con, rel)
 00CC                   .dbfile D:\16实验程序\串口通信\与计算机通信\uart_pc.c
 00CC                   .dbsym e cn_04 _cn_04 A[59:59]c
 00CC           _cn_05::
 00CC                   .blkb 28
                        .area idata
 00CC 3230B8F6CAE4C8EBB0B4BCFCA1A231B8  .byte 50,48,184,246,202,228,200,235,176,180,188,252,161,162,49,184
 00DC F6B8B4CEBBB0B4BCFC0A0D00  .byte 246,184,180,206,187,176,180,188,252,10,13,0
                        .area data(ram, con, rel)
 00E8                   .dbfile D:\16实验程序\串口通信\与计算机通信\uart_pc.c
 00E8                   .dbsym e cn_05 _cn_05 A[28:28]c
 00E8           _cn_06::
 00E8                   .blkb 41
                        .area idata
 00E8 38CEBBB6AFCCACC9A8C3E84C4544CAFD  .byte 56,206,187,182,175,204,172,201,168,195,232,'L,'E,'D,202,253
 00F8 C2EBB9DCA1A238CEBB4C4544B7A2B9E2  .byte 194,235,185,220,161,162,56,206,187,'L,'E,'D,183,162,185,226
 0108 B6FEBCABB9DC0A0D00        .byte 182,254,188,171,185,220,10,13,0
                        .area data(ram, con, rel)
 0111                   .dbfile D:\16实验程序\串口通信\与计算机通信\uart_pc.c
 0111                   .dbsym e cn_06 _cn_06 A[41:41]c
 0111           _cn_07::
 0111                   .blkb 16
                        .area idata
 0111 31B8F6CEDED4B4B7E4C3F9C6F70A0D00  .byte 49,184,246,206,222,212,180,183,228,195,249,198,247,10,13,0
                        .area data(ram, con, rel)
 0121                   .dbfile D:\16实验程序\串口通信\与计算机通信\uart_pc.c
 0121                   .dbsym e cn_07 _cn_07 A[16:16]c
 0121           _cn_08::
 0121                   .blkb 23
                        .area idata
 0121 31C2B7412F44CAE4C8EBBFC9B5F7B5E7  .byte 49,194,183,'A,47,'D,202,228,200,235,191,201,181,247,181,231
 0131 CEBBC6F70A0D00    .byte 206,187,198,247,10,13,0
                        .area data(ram, con, rel)
 0138                   .dbfile D:\16实验程序\串口通信\与计算机通信\uart_pc.c
 0138                   .dbsym e cn_08 _cn_08 A[23:23]c
 0138           _cn_09::
 0138                   .blkb 28
                        .area idata
 0138 4C434431363032BACD4C434431323836  .byte 'L,'C,'D,49,54,48,50,186,205,'L,'C,'D,49,50,56,54
 0148 34D2BABEA7BDD3BFDA0A0D00  .byte 52,210,186,190,167,189,211,191,218,10,13,0
                        .area data(ram, con, rel)
 0154                   .dbfile D:\16实验程序\串口通信\与计算机通信\uart_pc.c
 0154                   .dbsym e cn_09 _cn_09 A[28:28]c
 0154           _cn_10::
 0154                   .blkb 15
                        .area idata
 0154 4A544147B7C2D5E6BDD3BFDA0A0D00    .byte 'J,'T,'A,'G,183,194,213,230,189,211,191,218,10,13,0
                        .area data(ram, con, rel)
 0163                   .dbfile D:\16实验程序\串口通信\与计算机通信\uart_pc.c
 0163                   .dbsym e cn_10 _cn_10 A[15:15]c
 0163           _cn_11::
 0163                   .blkb 18
                        .area idata
 0163 41565220495350CFC2D4D8BDD3BFDA0A  .byte 'A,'V,'R,32,'I,'S,'P,207,194,212,216,189,211,191,218,10
 0173 0D00              .byte 13,0
                        .area data(ram, con, rel)
 0175                   .dbfile D:\16实验程序\串口通信\与计算机通信\uart_pc.c
 0175                   .dbsym e cn_11 _cn_11 A[18:18]c
 0175           _cn_12::
 0175                   .blkb 17
                        .area idata

⌨️ 快捷键说明

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