📄 common.s
字号:
.module common.c
.area text(rom, con, rel)
.dbfile E:\心电监护系统\测试程序\第一阶段\无线测试\发送端\common.c
.dbfunc e Delay650us _Delay650us fV
; i -> R16
; t -> R18
.even
_Delay650us::
.dbline -1
.dbline 22
; /***************************************
; *2008,浙江工业大学信息与控制研究所
; *All rights reserved
; *
; *文件名称:common.c
; *摘 要:公共函数和变量的定义
; *
; *当前版本:1.1
; *作 者:董齐芬
; *完成日期:2008.5.17
; ****************************************/
;
; #include "common.h"
;
; /**************************************************
; 函数功能:延时650us
; 输入参数:无
; 输出参数:无
; 返 回 值:无
; **************************************************/
; void Delay650us(void)
; {
.dbline 24
; unsigned char i,t;
; for (i=0;i<5;i++)
clr R16
xjmp L5
L2:
.dbline 25
; {
.dbline 26
; for (t=0;t<250;t++)
clr R18
xjmp L9
L6:
.dbline 27
.dbline 28
.dbline 29
L7:
.dbline 26
inc R18
L9:
.dbline 26
cpi R18,250
brlo L6
.dbline 30
L3:
.dbline 24
inc R16
L5:
.dbline 24
cpi R16,5
brlo L2
.dbline -2
L1:
.dbline 0 ; func end
ret
.dbsym r i 16 c
.dbsym r t 18 c
.dbend
.dbfunc e Delay300us _Delay300us fV
; i -> R16
; t -> R18
.even
_Delay300us::
.dbline -1
.dbline 41
; {
; ;
; }
; }
; }
;
;
; /**************************************************
; 函数功能:延时300us
; 输入参数:无
; 输出参数:无
; 返 回 值:无
; **************************************************/
; void Delay300us(void)
; {
.dbline 43
; unsigned char i,t;
; for (i=0;i<1;i++)
clr R16
xjmp L14
L11:
.dbline 44
; {
.dbline 45
; for (t=0;t<150;t++)
clr R18
xjmp L18
L15:
.dbline 46
.dbline 47
.dbline 48
L16:
.dbline 45
inc R18
L18:
.dbline 45
cpi R18,150
brlo L15
.dbline 49
L12:
.dbline 43
inc R16
L14:
.dbline 43
cpi R16,1
brlo L11
.dbline -2
L10:
.dbline 0 ; func end
ret
.dbsym r i 16 c
.dbsym r t 18 c
.dbend
.dbfunc e Delay3ms _Delay3ms fV
; t -> R16,R17
.even
_Delay3ms::
.dbline -1
.dbline 59
; {
; ;
; }
; }
; }
;
; /**************************************************
; 函数功能:延时3ms
; 输入参数:无
; 输出参数:无
; 返 回 值: 无
; **************************************************/
; void Delay3ms(void)
; {
.dbline 61
; unsigned int t;
; for (t=0;t<3500;t++)
clr R16
clr R17
xjmp L23
L20:
.dbline 62
.dbline 63
.dbline 64
L21:
.dbline 61
subi R16,255 ; offset = 1
sbci R17,255
L23:
.dbline 61
cpi R16,172
ldi R30,13
cpc R17,R30
brlo L20
.dbline -2
L19:
.dbline 0 ; func end
ret
.dbsym r t 16 i
.dbend
.dbfunc e Delays _Delays fV
; t -> R16,R17
; i -> R18,R19
.even
_Delays::
.dbline -1
.dbline 74
; {
; ;
; }
; }
;
; /**************************************************
; 函数功能:延时一段时间,该延时主要用于测试
; 输入参数:无
; 输出参数:无
; 返 回 值: 无
; **************************************************/
; void Delays(void)
; {
.dbline 76
; unsigned int t,i;
; for (t=0;t<3500;t++)
clr R16
clr R17
xjmp L28
L25:
.dbline 77
; {
.dbline 78
; for (i=0;i<3;i++)
clr R18
clr R19
xjmp L32
L29:
.dbline 79
.dbline 79
.dbline 79
L30:
.dbline 78
subi R18,255 ; offset = 1
sbci R19,255
L32:
.dbline 78
cpi R18,3
ldi R30,0
cpc R19,R30
brlo L29
.dbline 80
L26:
.dbline 76
subi R16,255 ; offset = 1
sbci R17,255
L28:
.dbline 76
cpi R16,172
ldi R30,13
cpc R17,R30
brlo L25
.dbline -2
L24:
.dbline 0 ; func end
ret
.dbsym r t 16 i
.dbsym r i 18 i
.dbend
.dbfunc e Delay100us _Delay100us fV
; t -> R16
.even
_Delay100us::
.dbline -1
.dbline 90
; {;}
; }
; }
;
; /**************************************************
; 函数功能:延时100us
; 输入参数:无
; 输出参数:无
; 返 回 值:无
; **************************************************/
; void Delay100us(void)
; {
.dbline 92
; unsigned char t;
; for (t=0;t<250;t++)
clr R16
xjmp L37
L34:
.dbline 93
.dbline 94
.dbline 95
L35:
.dbline 92
inc R16
L37:
.dbline 92
cpi R16,250
brlo L34
.dbline -2
L33:
.dbline 0 ; func end
ret
.dbsym r t 16 c
.dbend
.dbfunc e Delay40ns _Delay40ns fV
; t -> R16
.even
_Delay40ns::
.dbline -1
.dbline 106
; {
; ;
; }
;
; }
;
; /*
; *函数功能:延时40ns,用于数字电位器的模拟SPI口
; *输入参数:无
; *输出参数:无
; *返 回 值:无
; */
; void Delay40ns(void)
; {
.dbline 109
; unsigned char t;
;
; for (t=0;t<25;t++)
clr R16
xjmp L42
L39:
.dbline 110
.dbline 111
.dbline 112
L40:
.dbline 109
inc R16
L42:
.dbline 109
cpi R16,25
brlo L39
.dbline -2
L38:
.dbline 0 ; func end
ret
.dbsym r t 16 c
.dbend
.dbfunc e initled _initled fV
.even
_initled::
.dbline -1
.dbline 122
; {
; ;
; }
; }
;
; /*
; *函数功能:led端口初始化程序
; *输入参数:无
; *输出参数:无
; *返 回 值:无
; */
; void initled(void)
; {
.dbline 123
; DDRA|=((1<<DDA1)|(1<<DDA0));//设置A口的输出引脚
in R24,0x1a
ori R24,3
out 0x1a,R24
.dbline 124
; LED_OFF;
cbi 0x1b,0
.dbline 124
cbi 0x1b,1
.dbline 124
.dbline -2
L43:
.dbline 0 ; func end
ret
.dbend
.dbfunc e initbuzzer _initbuzzer fV
.even
_initbuzzer::
.dbline -1
.dbline 134
; }
;
; /*
; *函数功能:蜂鸣器初始化程序
; *输入参数:无
; *输出参数:无
; *返 回 值:无
; */
; void initbuzzer(void)
; {
.dbline 136
;
; DDRA|=(1<<DDA6);// 设置A6口为输出口(蜂鸣器的连接口)
sbi 0x1a,6
.dbline 137
; BUZZER_OFF;//关蜂鸣器
cbi 0x1b,6
.dbline 137
.dbline -2
L44:
.dbline 0 ; func end
ret
.dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -