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

📄 uart.lis

📁 程序下载在M16中后
💻 LIS
字号:
                        .module uart.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\iccv7avr\AVRBOO~1\uart.c
 0000                   .dbfunc e putChar _putChar fV
 0000           ;       sentData -> R16
                        .even
 0000           _putChar::
 0000                   .dbline -1
 0000                   .dbline 19
 0000           ; /****************************************Copyright (c)******************************
 0000           ; 文件名:                       uart.c
 0000           ; 修改日期:             2005-7-9 20:36
 0000           ; 描述:                 ATmega16L的操作函数
 0000           ; 版本:                 V1.0
 0000           ; 主控  芯片:           M16  晶振频率:7.3728MHZ, 
 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 20
 0000           L3:
 0000                   .dbline 20
 0000           ;        while(!(UCSRA&(1<<UDRE)));
 0000 5D9B              sbis 0xb,5
 0002 FECF              rjmp L2
 0004                   .dbline 21
 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 29
 0008           ; }
 0008           ; 
 0008           ; /**********************************************************************
 0008           ; functionName:putChars(uint08 *sentData)
 0008           ; description:通过串口接受数据
 0008           ; **********************************************************************/
 0008           ; uint08 getChar(void)
 0008           ; {
 0008 0CC0              xjmp L7
 000A           L6:
 000A                   .dbline 31
 000A           ;       while(!(UCSRA&BIT(RXC)))
 000A           ;       {
 000A                   .dbline 32
 000A           ;               if(!flag)
 000A 20900000          lds R2,_flag
 000E 2220              tst R2
 0010 41F4              brne L9
 0012                   .dbline 33
 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 34
 001E           ;                       asm("jmp 0x000000\n");
 001E 0C940000          jmp 0x000000
 0022                   
 0022           L11:
 0022           L9:
 0022                   .dbline 35
 0022           L7:
 0022                   .dbline 30
 0022 5F9B              sbis 0xb,7
 0024 F2CF              rjmp L6
 0026                   .dbline 35
 0026           ;       };
 0026                   .dbline 36
 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 + -