📄 common.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 + -