Delay.s43
上传用户:xhjmsc
上传日期:2019-09-13
资源大小:389k
文件大小:6k
- NAME Delay
- RTMODEL "__double_size", "32"
- RTMODEL "__pic", "no"
- RTMODEL "__reg_r4", "free"
- RTMODEL "__reg_r5", "free"
- RTMODEL "__rt_version", "1"
- RSEG CSTACK:DATA:SORT:NOROOT(1)
- EXTERN ?longjmp_r4
- EXTERN ?longjmp_r5
- EXTERN ?setjmp_r4
- EXTERN ?setjmp_r5
- PUBWEAK ?setjmp_save_r4
- PUBWEAK ?setjmp_save_r5
- PUBLIC ATcmdDelay
- FUNCTION ATcmdDelay,0203H
- LOCFRAME CSTACK, 2, STACK
- PUBLIC Delay1500ms
- FUNCTION Delay1500ms,021203H
- LOCFRAME CSTACK, 4, STACK
- PUBLIC Delay2000ms
- FUNCTION Delay2000ms,021203H
- LOCFRAME CSTACK, 4, STACK
- PUBLIC delay1us
- FUNCTION delay1us,0203H
- LOCFRAME CSTACK, 2, STACK
- PUBLIC delay800ms
- FUNCTION delay800ms,0203H
- LOCFRAME CSTACK, 2, STACK
-
- CFI Names cfiNames0
- CFI StackFrame CFA SP DATA
- CFI Resource PC:16, SP:16, SR:16, R4:16, R5:16, R6:16, R7:16, R8:16
- CFI Resource R9:16, R10:16, R11:16, R12:16, R13:16, R14:16, R15:16
- CFI EndNames cfiNames0
-
- CFI Common cfiCommon0 Using cfiNames0
- CFI CodeAlign 2
- CFI DataAlign 2
- CFI ReturnAddress PC CODE
- CFI CFA SP+2
- CFI PC Frame(CFA, -2)
- CFI SR Undefined
- CFI R4 SameValue
- CFI R5 SameValue
- CFI R6 SameValue
- CFI R7 SameValue
- CFI R8 SameValue
- CFI R9 SameValue
- CFI R10 SameValue
- CFI R11 SameValue
- CFI R12 Undefined
- CFI R13 Undefined
- CFI R14 Undefined
- CFI R15 Undefined
- CFI EndCommon cfiCommon0
-
- // E:projectFaxProgramVson_Bryan_Fax_Conexant_070423filesDelay.c
- // 1 /************************************************
- // 2 Delay subroutine
- // 3 Copyright 2006 by Vson. All rights reserved.
- // 4 Author: Bryan Cai
- // 5 Date: 2006.12.21
- // 6 Description: soft delay
- // 7 Note:
- // 8 Identifier abbreviation:
- // 9 c-const
- // 10 a-array
- // 11 p-pointer
- // 12 g-global
- // 13 uc-unsigned char
- // 14 w-unsigned int
- // 15 cnt-count
- // 16 pnt-point
- // 17 Update:
- // 18 2006.12.21 Bryan program header
- // 19 ************************************************/
- // 20
- // 21 #include "includeH.h"
- // 22
- RSEG CODE:CODE:NOROOT(1)
- // 23 void Delay1500ms(void)
- Delay1500ms:
- CFI Block cfiBlock0 Using cfiCommon0
- CFI Function Delay1500ms
- // 24 {
- FUNCALL Delay1500ms, ATcmdDelay
- LOCFRAME CSTACK, 4, STACK
- PUSH.W R10
- CFI R10 Frame(CFA, -4)
- CFI CFA SP+4
- // 25 unsigned char ucGeneralCount;
- // 26 for (ucGeneralCount=0; ucGeneralCount<30; ucGeneralCount++)// delay 1.5S minimun 1 second
- MOV.B #0x0, R10
- ??Delay1500ms_0:
- CMP.B #0x1e, R10
- JC ??Delay1500ms_1
- // 27 {
- // 28 ATcmdDelay(); //50ms
- CALL #ATcmdDelay
- // 29 }
- ADD.B #0x1, R10
- JMP ??Delay1500ms_0
- // 30 }
- ??Delay1500ms_1:
- POP.W R10
- CFI R10 SameValue
- CFI CFA SP+2
- RET
- CFI EndBlock cfiBlock0
- // 31
- RSEG CODE:CODE:NOROOT(1)
- // 32 void Delay2000ms(void)
- Delay2000ms:
- CFI Block cfiBlock1 Using cfiCommon0
- CFI Function Delay2000ms
- // 33 {
- FUNCALL Delay2000ms, ATcmdDelay
- LOCFRAME CSTACK, 4, STACK
- PUSH.W R10
- CFI R10 Frame(CFA, -4)
- CFI CFA SP+4
- // 34 unsigned char ucGeneralCount;
- // 35 for (ucGeneralCount=0; ucGeneralCount<40; ucGeneralCount++)// delay 1.5S minimun 1 second
- MOV.B #0x0, R10
- ??Delay2000ms_0:
- CMP.B #0x28, R10
- JC ??Delay2000ms_1
- // 36 {
- // 37 ATcmdDelay(); //50ms
- CALL #ATcmdDelay
- // 38 }
- ADD.B #0x1, R10
- JMP ??Delay2000ms_0
- // 39 }
- ??Delay2000ms_1:
- POP.W R10
- CFI R10 SameValue
- CFI CFA SP+2
- RET
- CFI EndBlock cfiBlock1
- // 40
- RSEG CODE:CODE:NOROOT(1)
- // 41 void ATcmdDelay(void)//delay 50ms
- ATcmdDelay:
- CFI Block cfiBlock2 Using cfiCommon0
- CFI Function ATcmdDelay
- // 42 {
- // 43 unsigned int DelayCnt=0;
- MOV.W #0x0, R14
- // 44 for(DelayCnt = 0;DelayCnt < 0xbfff;DelayCnt++)//0xbfff
- MOV.W #0x0, R14
- ??ATcmdDelay_0:
- CMP.W #0xbfff, R14
- JC ??ATcmdDelay_1
- // 45 _NOP();
- NOP
- ADD.W #0x1, R14
- JMP ??ATcmdDelay_0
- // 46 }
- ??ATcmdDelay_1:
- RET
- CFI EndBlock cfiBlock2
- RSEG CODE:CODE:NOROOT(1)
- // 47 void delay800ms(void)//delay 8000ms
- delay800ms:
- CFI Block cfiBlock3 Using cfiCommon0
- CFI Function delay800ms
- // 48 {
- // 49 unsigned int DelayCnt=0;
- MOV.W #0x0, R14
- // 50 for(DelayCnt=0;DelayCnt<0xffff;DelayCnt++)
- MOV.W #0x0, R14
- ??delay800ms_0:
- CMP.W #0xffff, R14
- JEQ ??delay800ms_1
- // 51 _NOP();
- NOP
- ADD.W #0x1, R14
- JMP ??delay800ms_0
- // 52 }
- ??delay800ms_1:
- RET
- CFI EndBlock cfiBlock3
- // 53
- RSEG CODE:CODE:NOROOT(1)
- // 54 void delay1us(unsigned int wDelayNum)//delay 1us
- delay1us:
- CFI Block cfiBlock4 Using cfiCommon0
- CFI Function delay1us
- // 55 {
- // 56 unsigned int wGeneralCount=0;
- MOV.W #0x0, R14
- // 57 wDelayNum=wDelayNum-1;
- ADD.W #0xffff, R12
- // 58 for (wGeneralCount=0;wGeneralCount<wDelayNum;wGeneralCount++)
- MOV.W #0x0, R14
- ??delay1us_0:
- CMP.W R12, R14
- JC ??delay1us_1
- // 59 {
- // 60 __no_operation();
- NOP
- // 61 }
- ADD.W #0x1, R14
- JMP ??delay1us_0
- // 62 }
- ??delay1us_1:
- RET
- CFI EndBlock cfiBlock4
- RSEG CODE:CODE:NOROOT(1)
- ?setjmp_save_r4:
- REQUIRE ?setjmp_r4
- REQUIRE ?longjmp_r4
- RSEG CODE:CODE:NOROOT(1)
- ?setjmp_save_r5:
- REQUIRE ?setjmp_r5
- REQUIRE ?longjmp_r5
- END
- //
- // 96 bytes in segment CODE
- //
- // 96 bytes of CODE memory
- //
- //Errors: none
- //Warnings: none