📄 uart.lis
字号:
.module uart.c
.area text(rom, con, rel)
0000 .dbfile E:\ICCAVR\project\AVRMEG~2\icc\017-BOOT\uart.c
0000 .dbfunc e putChar _putChar fV
0000 ; sentData -> R16
.even
0000 _putChar::
0000 .dbline -1
0000 .dbline 22
0000 ; /****************************************Copyright (c)**************************************************
0000 ; **
0000 ; ** 开 发 部
0000 ; **
0000 ; ** 文 件 名: uart.c
0000 ; ** 最后修改日期: 2005-7-9 20:36
0000 ; ** 描 述: ATmega16L的操作函数
0000 ; ** 版 本: V1.0
0000 ; ** 主 控 芯 片:M16 晶振频率:3.6864MHZ,
0000 ; **********************************************************************************************************/
0000 ; #include <iom16v.h>
0000 ; #include <macros.h>
0000 ; #include "define.h"
0000 ; #include "function.h"
0000 ; #include "extern.h"
0000 ;
0000 ; /**********************************************************************
0000 ; functionName:putChar(uint8 sentData)
0000 ; description:通过串口发送数据sentData
0000 ; **********************************************************************/
0000 ; void putChar(uint08 sentData)
0000 ; {
0000 L2:
0000 .dbline 23
0000 L3:
0000 .dbline 23
0000 ; while(!(UCSRA&(1<<UDRE)));
0000 5D9B sbis 0xb,5
0002 FECF rjmp L2
0004 .dbline 24
0004 ; UDR=sentData;
0004 0CB9 out 0xc,R16
0006 .dbline -2
0006 L1:
0006 .dbline 0 ; func end
0006 0895 ret
0008 .dbsym r sentData 16 c
0008 .dbend
0008 .dbfunc e getChar _getChar fc
.even
0008 _getChar::
0008 .dbline -1
0008 .dbline 32
0008 ; }
0008 ;
0008 ; /**********************************************************************
0008 ; functionName:putChars(uint08 *sentData)
0008 ; description:通过串口接受数据
0008 ; **********************************************************************/
0008 ; uint08 getChar(void)
0008 ; {
0008 0CC0 xjmp L7
000A L6:
000A .dbline 34
000A ; while(!(UCSRA&BIT(RXC)))
000A ; {
000A .dbline 35
000A ; if(!flag)
000A 20900000 lds R2,_flag
000E 2220 tst R2
0010 41F4 brne L9
0012 .dbline 36
0012 ; if(TCNT1 < 20)
0012 8CB5 in R24,0x2c
0014 9DB5 in R25,0x2d
0016 8431 cpi R24,20
0018 E0E0 ldi R30,0
001A 9E07 cpc R25,R30
001C 10F4 brsh L11
001E .dbline 37
001E ; asm("jmp 0x000000\n");
001E 0C940000 jmp 0x000000
0022
0022 L11:
0022 L9:
0022 .dbline 38
0022 L7:
0022 .dbline 33
0022 5F9B sbis 0xb,7
0024 F2CF rjmp L6
0026 .dbline 38
0026 ; };
0026 .dbline 39
0026 ; return(UDR);
0026 0CB1 in R16,0xc
0028 .dbline -2
0028 L5:
0028 .dbline 0 ; func end
0028 0895 ret
002A .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -