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

📄 common.lis

📁 atmega128单片机上实现的nrf905无线收发程序
💻 LIS
字号:
                        .module common.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\心电监护系统\测试程序\第一阶段\无线测试\接收端\common.c
 0000                   .dbfunc e Delay650us _Delay650us fV
 0000           ;              i -> R16
 0000           ;              t -> R18
                        .even
 0000           _Delay650us::
 0000                   .dbline -1
 0000                   .dbline 22
 0000           ; /***************************************
 0000           ; *2008,浙江工业大学信息与控制研究所
 0000           ; *All rights reserved
 0000           ; *
 0000           ; *文件名称:common.c
 0000           ; *摘    要:公共函数和变量的定义 
 0000           ; *
 0000           ; *当前版本:1.1
 0000           ; *作    者:董齐芬
 0000           ; *完成日期:2008.5.17
 0000           ; ****************************************/
 0000           ; 
 0000           ; #include "common.h"
 0000           ; 
 0000           ; /**************************************************
 0000           ; 函数功能:延时650us
 0000           ; 输入参数:无
 0000           ; 输出参数:无
 0000           ; 返 回 值:无
 0000           ; **************************************************/
 0000           ; void Delay650us(void)
 0000           ; {
 0000                   .dbline 24
 0000           ;   unsigned char i,t;
 0000           ;   for (i=0;i<5;i++)
 0000 0027              clr R16
 0002 06C0              xjmp L5
 0004           L2:
 0004                   .dbline 25
 0004           ;   {
 0004                   .dbline 26
 0004           ;     for (t=0;t<250;t++)
 0004 2227              clr R18
 0006 01C0              xjmp L9
 0008           L6:
 0008                   .dbline 27
 0008                   .dbline 28
 0008                   .dbline 29
 0008           L7:
 0008                   .dbline 26
 0008 2395              inc R18
 000A           L9:
 000A                   .dbline 26
 000A 2A3F              cpi R18,250
 000C E8F3              brlo L6
 000E                   .dbline 30
 000E           L3:
 000E                   .dbline 24
 000E 0395              inc R16
 0010           L5:
 0010                   .dbline 24
 0010 0530              cpi R16,5
 0012 C0F3              brlo L2
 0014                   .dbline -2
 0014           L1:
 0014                   .dbline 0 ; func end
 0014 0895              ret
 0016                   .dbsym r i 16 c
 0016                   .dbsym r t 18 c
 0016                   .dbend
 0016                   .dbfunc e Delay300us _Delay300us fV
 0016           ;              i -> R16
 0016           ;              t -> R18
                        .even
 0016           _Delay300us::
 0016                   .dbline -1
 0016                   .dbline 41
 0016           ;     {
 0016           ;       ;
 0016           ;     }
 0016           ;   }
 0016           ; }
 0016           ; 
 0016           ; 
 0016           ; /**************************************************
 0016           ; 函数功能:延时300us
 0016           ; 输入参数:无
 0016           ; 输出参数:无
 0016           ; 返 回 值:无
 0016           ; **************************************************/
 0016           ; void Delay300us(void)
 0016           ; {
 0016                   .dbline 43
 0016           ;   unsigned char i,t;
 0016           ;   for (i=0;i<1;i++)
 0016 0027              clr R16
 0018 06C0              xjmp L14
 001A           L11:
 001A                   .dbline 44
 001A           ;   {
 001A                   .dbline 45
 001A           ;     for (t=0;t<150;t++)
 001A 2227              clr R18
 001C 01C0              xjmp L18
 001E           L15:
 001E                   .dbline 46
 001E                   .dbline 47
 001E                   .dbline 48
 001E           L16:
 001E                   .dbline 45
 001E 2395              inc R18
 0020           L18:
 0020                   .dbline 45
 0020 2639              cpi R18,150
 0022 E8F3              brlo L15
 0024                   .dbline 49
 0024           L12:
 0024                   .dbline 43
 0024 0395              inc R16
 0026           L14:
 0026                   .dbline 43
 0026 0130              cpi R16,1
 0028 C0F3              brlo L11
 002A                   .dbline -2
 002A           L10:
 002A                   .dbline 0 ; func end
 002A 0895              ret
 002C                   .dbsym r i 16 c
 002C                   .dbsym r t 18 c
 002C                   .dbend
 002C                   .dbfunc e Delay3ms _Delay3ms fV
 002C           ;              t -> R16,R17
                        .even
 002C           _Delay3ms::
 002C                   .dbline -1
 002C                   .dbline 59
 002C           ;     {
 002C           ;       ;
 002C           ;     }
 002C           ;   }
 002C           ; }
 002C           ; 
 002C           ; /**************************************************
 002C           ; 函数功能:延时3ms
 002C           ; 输入参数:无
 002C           ; 输出参数:无
 002C           ; 返 回 值: 无
 002C           ; **************************************************/
 002C           ; void Delay3ms(void)
 002C           ; {
 002C                   .dbline 61
 002C           ;   unsigned int t;
 002C           ;   for (t=0;t<3500;t++)
 002C 0027              clr R16
 002E 1127              clr R17
 0030 02C0              xjmp L23
 0032           L20:
 0032                   .dbline 62
 0032                   .dbline 63
 0032                   .dbline 64
 0032           L21:
 0032                   .dbline 61
 0032 0F5F              subi R16,255  ; offset = 1
 0034 1F4F              sbci R17,255
 0036           L23:
 0036                   .dbline 61
 0036 0C3A              cpi R16,172
 0038 EDE0              ldi R30,13
 003A 1E07              cpc R17,R30
 003C D0F3              brlo L20
 003E                   .dbline -2
 003E           L19:
 003E                   .dbline 0 ; func end
 003E 0895              ret
 0040                   .dbsym r t 16 i
 0040                   .dbend
 0040                   .dbfunc e Delays _Delays fV
 0040           ;              t -> R16,R17
 0040           ;              i -> R18,R19
                        .even
 0040           _Delays::
 0040                   .dbline -1
 0040                   .dbline 74
 0040           ;   {
 0040           ;     ;
 0040           ;   }
 0040           ; }
 0040           ; 
 0040           ; /**************************************************
 0040           ; 函数功能:延时一段时间,该延时主要用于测试
 0040           ; 输入参数:无
 0040           ; 输出参数:无
 0040           ; 返 回 值: 无
 0040           ; **************************************************/
 0040           ; void Delays(void)
 0040           ; {
 0040                   .dbline 76
 0040           ;   unsigned int t,i;
 0040           ;   for (t=0;t<3500;t++)
 0040 0027              clr R16
 0042 1127              clr R17
 0044 0BC0              xjmp L28
 0046           L25:
 0046                   .dbline 77
 0046           ;   {
 0046                   .dbline 78
 0046           ;     for (i=0;i<3;i++)
 0046 2227              clr R18
 0048 3327              clr R19
 004A 02C0              xjmp L32
 004C           L29:
 004C                   .dbline 79
 004C                   .dbline 79
 004C                   .dbline 79
 004C           L30:
 004C                   .dbline 78
 004C 2F5F              subi R18,255  ; offset = 1
 004E 3F4F              sbci R19,255
 0050           L32:
 0050                   .dbline 78
 0050 2330              cpi R18,3
 0052 E0E0              ldi R30,0
 0054 3E07              cpc R19,R30
 0056 D0F3              brlo L29
 0058                   .dbline 80
 0058           L26:
 0058                   .dbline 76
 0058 0F5F              subi R16,255  ; offset = 1
 005A 1F4F              sbci R17,255
 005C           L28:
 005C                   .dbline 76
 005C 0C3A              cpi R16,172
 005E EDE0              ldi R30,13
 0060 1E07              cpc R17,R30
 0062 88F3              brlo L25
 0064                   .dbline -2
 0064           L24:
 0064                   .dbline 0 ; func end
 0064 0895              ret
 0066                   .dbsym r t 16 i
 0066                   .dbsym r i 18 i
 0066                   .dbend
 0066                   .dbfunc e Delay100us _Delay100us fV
 0066           ;              t -> R16
                        .even
 0066           _Delay100us::
 0066                   .dbline -1
 0066                   .dbline 90
 0066           ;       {;}
 0066           ;   }
 0066           ; }
 0066           ; 
 0066           ; /**************************************************
 0066           ; 函数功能:延时100us
 0066           ; 输入参数:无
 0066           ; 输出参数:无
 0066           ; 返 回 值:无
 0066           ; **************************************************/
 0066           ; void Delay100us(void)
 0066           ; {
 0066                   .dbline 92
 0066           ;   unsigned char t;
 0066           ;   for (t=0;t<250;t++)
 0066 0027              clr R16
 0068 01C0              xjmp L37
 006A           L34:
 006A                   .dbline 93
 006A                   .dbline 94
 006A                   .dbline 95
 006A           L35:
 006A                   .dbline 92
 006A 0395              inc R16
 006C           L37:
 006C                   .dbline 92
 006C 0A3F              cpi R16,250
 006E E8F3              brlo L34
 0070                   .dbline -2
 0070           L33:
 0070                   .dbline 0 ; func end
 0070 0895              ret
 0072                   .dbsym r t 16 c
 0072                   .dbend
 0072                   .dbfunc e Delay40ns _Delay40ns fV
 0072           ;              t -> R16
                        .even
 0072           _Delay40ns::
 0072                   .dbline -1
 0072                   .dbline 106
 0072           ;   {
 0072           ;       ;
 0072           ;   }
 0072           ;   
 0072           ; }
 0072           ; 
 0072           ; /*
 0072           ; *函数功能:延时40ns,用于数字电位器的模拟SPI口
 0072           ; *输入参数:无
 0072           ; *输出参数:无
 0072           ; *返 回 值:无
 0072           ; */
 0072           ; void Delay40ns(void)
 0072           ; {
 0072                   .dbline 109
 0072           ;   unsigned char t;
 0072           ;   
 0072           ;   for (t=0;t<25;t++)
 0072 0027              clr R16
 0074 01C0              xjmp L42
 0076           L39:
 0076                   .dbline 110
 0076                   .dbline 111
 0076                   .dbline 112
 0076           L40:
 0076                   .dbline 109
 0076 0395              inc R16
 0078           L42:
 0078                   .dbline 109
 0078 0931              cpi R16,25
 007A E8F3              brlo L39
 007C                   .dbline -2
 007C           L38:
 007C                   .dbline 0 ; func end
 007C 0895              ret
 007E                   .dbsym r t 16 c
 007E                   .dbend
 007E                   .dbfunc e initled _initled fV
                        .even
 007E           _initled::
 007E                   .dbline -1
 007E                   .dbline 122
 007E           ;   {
 007E           ;     ;
 007E           ;   }
 007E           ; }
 007E           ; 
 007E           ; /*
 007E           ; *函数功能:led端口初始化程序
 007E           ; *输入参数:无
 007E           ; *输出参数:无
 007E           ; *返 回 值:无
 007E           ; */
 007E           ; void initled(void)
 007E           ; {
 007E                   .dbline 123
 007E           ;   DDRA|=((1<<DDA1)|(1<<DDA0));//设置A口的输出引脚
 007E 8AB3              in R24,0x1a
 0080 8360              ori R24,3
 0082 8ABB              out 0x1a,R24
 0084                   .dbline 124
 0084           ;   LED_OFF;
 0084 D898              cbi 0x1b,0
 0086                   .dbline 124
 0086 D998              cbi 0x1b,1
 0088                   .dbline 124
 0088                   .dbline -2
 0088           L43:
 0088                   .dbline 0 ; func end
 0088 0895              ret
 008A                   .dbend
 008A                   .dbfunc e initbuzzer _initbuzzer fV
                        .even
 008A           _initbuzzer::
 008A                   .dbline -1
 008A                   .dbline 134
 008A           ; }
 008A           ; 
 008A           ; /*
 008A           ; *函数功能:蜂鸣器初始化程序
 008A           ; *输入参数:无
 008A           ; *输出参数:无
 008A           ; *返 回 值:无
 008A           ; */
 008A           ; void initbuzzer(void)
 008A           ; {
 008A                   .dbline 136
 008A           ; 
 008A           ;  DDRA|=(1<<DDA6);// 设置A6口为输出口(蜂鸣器的连接口)
 008A D69A              sbi 0x1a,6
 008C                   .dbline 137
 008C           ;  BUZZER_OFF;//关蜂鸣器
 008C DE98              cbi 0x1b,6
 008E                   .dbline 137
 008E                   .dbline -2
 008E           L44:
 008E                   .dbline 0 ; func end
 008E 0895              ret
 0090                   .dbend

⌨️ 快捷键说明

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