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 + -
显示快捷键?