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

📄 uart.lis

📁 spi的i/o茉莉程序
💻 LIS
字号:
                        .module uart.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\新建文件夹\uart.c
 0000                   .dbfunc e Uart_init _Uart_init fV
                        .even
 0000           _Uart_init::
 0000                   .dbline -1
 0000                   .dbline 5
 0000           ; #include <iom8v.h>
 0000           ; #include "uart.h"
 0000           ; 
 0000           ; void Uart_init(void)
 0000           ; {
 0000                   .dbline 6
 0000           ; UCSRB=((1<<RXEN)|(1<<TXEN));//
 0000 88E1              ldi R24,24
 0002 8AB9              out 0xa,R24
 0004                   .dbline 7
 0004           ; UBRRL=25;
 0004 89E1              ldi R24,25
 0006 89B9              out 0x9,R24
 0008                   .dbline 8
 0008           ; UBRRH=0;//
 0008 2224              clr R2
 000A 20BC              out 0x20,R2
 000C                   .dbline 9
 000C           ; UCSRC=(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
 000C 86E8              ldi R24,134
 000E 80BD              out 0x20,R24
 0010                   .dbline -2
 0010           L1:
 0010                   .dbline 0 ; func end
 0010 0895              ret
 0012                   .dbend
 0012                   .dbfunc e Send_abyte _Send_abyte fV
 0012           ;          abyte -> R16
                        .even
 0012           _Send_abyte::
 0012                   .dbline -1
 0012                   .dbline 13
 0012           ; }
 0012           ; 
 0012           ; void Send_abyte(unsigned char abyte)
 0012           ; {
 0012           L3:
 0012                   .dbline 14
 0012           L4:
 0012                   .dbline 14
 0012           ; while(!(UCSRA&(1<<UDRE)));
 0012 5D9B              sbis 0xb,5
 0014 FECF              rjmp L3
 0016                   .dbline 15
 0016           ; UDR=abyte;
 0016 0CB9              out 0xc,R16
 0018                   .dbline -2
 0018           L2:
 0018                   .dbline 0 ; func end
 0018 0895              ret
 001A                   .dbsym r abyte 16 c
 001A                   .dbend
 001A                   .dbfunc e Receive_abyte _Receive_abyte fc
                        .even
 001A           _Receive_abyte::
 001A                   .dbline -1
 001A                   .dbline 19
 001A           ; }
 001A           ; 
 001A           ; unsigned char Receive_abyte(void)
 001A           ; {
 001A           L7:
 001A                   .dbline 20
 001A           L8:
 001A                   .dbline 20
 001A           ; while(!(UCSRA&(1<<RXC)));
 001A 5F9B              sbis 0xb,7
 001C FECF              rjmp L7
 001E                   .dbline 21
 001E           ; return UDR;
 001E 0CB1              in R16,0xc
 0020                   .dbline -2
 0020           L6:
 0020                   .dbline 0 ; func end
 0020 0895              ret
 0022                   .dbend
 0022                   .dbfunc e Prints _Prints fV
 0022           ;              i -> R20
 0022           ;          enter -> R22
 0022           ;         string -> R10,R11
                        .even
 0022           _Prints::
 0022 00D0              rcall push_gset3
 0024 622F              mov R22,R18
 0026 5801              movw R10,R16
 0028                   .dbline -1
 0028                   .dbline 26
 0028           ; }
 0028           ; 
 0028           ; 
 0028           ; void Prints(unsigned char *string,unsigned char enter)
 0028           ; {
 0028                   .dbline 28
 0028           ;  unsigned char i;
 0028           ;  i=0;
 0028 4427              clr R20
 002A 09C0              rjmp L12
 002C           X0:
 002C                   .dbline 30
 002C           ;  while(string[i]!=0)    //判断字符串是否结束
 002C           ;   {
 002C           L14:
 002C                   .dbline 31
 002C           L15:
 002C                   .dbline 31
 002C 5D9B              sbis 0xb,5
 002E FECF              rjmp L14
 0030                   .dbline 32
 0030 E42F              mov R30,R20
 0032 FF27              clr R31
 0034 EA0D              add R30,R10
 0036 FB1D              adc R31,R11
 0038 2080              ldd R2,z+0
 003A 2CB8              out 0xc,R2
 003C                   .dbline 33
 003C 4395              inc R20
 003E                   .dbline 34
 003E           L12:
 003E                   .dbline 29
 003E E42F              mov R30,R20
 0040 FF27              clr R31
 0042 EA0D              add R30,R10
 0044 FB1D              adc R31,R11
 0046 2080              ldd R2,z+0
 0048 2220              tst R2
 004A 81F7              brne L15
 004C                   .dbline 35
 004C 6623              tst R22
 004E 21F0              breq L17
 0050                   .dbline 36
 0050                   .dbline 37
 0050 0AE0              ldi R16,10
 0052 DFDF              rcall _Send_abyte
 0054                   .dbline 38
 0054 0DE0              ldi R16,13
 0056 DDDF              rcall _Send_abyte
 0058                   .dbline 39
 0058           L17:
 0058                   .dbline -2
 0058           L10:
 0058 00D0              rcall pop_gset3
 005A                   .dbline 0 ; func end
 005A 0895              ret
 005C                   .dbsym r i 20 c
 005C                   .dbsym r enter 22 c
 005C                   .dbsym r string 10 pc
 005C                   .dbend

⌨️ 快捷键说明

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