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

📄 delay subroutine.src

📁 本程序实现通过BDM方式访问MOTOROLA 9S12单片机EEPROM
💻 SRC
📖 第 1 页 / 共 2 页
字号:
; .\delay subroutine.SRC generated from: ..\..\..\c\05\05b16\delay subroutine.c
; COMPILER INVOKED BY:
;        C:\Keil\C51\BIN\C51.EXE ..\..\..\c\05\05b16\delay subroutine.c BROWSE DEBUG OBJECTEXTEND PRINT(.\delay subroutine.lst) SRC(.\delay subroutine.SRC)

$NOMOD51

NAME	DELAY_SUBROUTINE

P0	DATA	080H
P1	DATA	090H
P2	DATA	0A0H
XICON	DATA	0C0H
P3	DATA	0B0H
T0	BIT	0B0H.4
AC	BIT	0D0H.6
P4	DATA	0A5H
T1	BIT	0B0H.5
T2	BIT	090H.0
EA	BIT	0A8H.7
IE	DATA	0A8H
EXF2	BIT	0C8H.6
RD	BIT	0B0H.7
ES	BIT	0A8H.4
IP	DATA	0B8H
RI	BIT	098H.0
INT0	BIT	0B0H.2
CY	BIT	0D0H.7
TI	BIT	098H.1
INT1	BIT	0B0H.3
RCAP2H	DATA	0CBH
PS	BIT	0B8H.4
SP	DATA	081H
T2EX	BIT	090H.1
OV	BIT	0D0H.2
RCAP2L	DATA	0CAH
C_T2	BIT	0C8H.1
WR	BIT	0B0H.6
RCLK	BIT	0C8H.5
TCLK	BIT	0C8H.4
SBUF	DATA	099H
PCON	DATA	087H
SCON	DATA	098H
TMOD	DATA	089H
TCON	DATA	088H
IE0	BIT	088H.1
IE1	BIT	088H.3
IE2	BIT	0C0H.1
IE3	BIT	0C0H.5
AUXR	DATA	08EH
B	DATA	0F0H
CP_RL2	BIT	0C8H.0
ACC	DATA	0E0H
ET0	BIT	0A8H.1
ET1	BIT	0A8H.3
TF0	BIT	088H.5
ET2	BIT	0A8H.5
TF1	BIT	088H.7
TF2	BIT	0C8H.7
RB8	BIT	098H.2
TH0	DATA	08CH
EX0	BIT	0A8H.0
IT0	BIT	088H.0
TH1	DATA	08DH
TB8	BIT	098H.3
EX1	BIT	0A8H.2
IT1	BIT	088H.2
TH2	DATA	0CDH
IT2	BIT	0C0H.0
EX2	BIT	0C0H.2
P	BIT	0D0H.0
IT3	BIT	0C0H.4
EX3	BIT	0C0H.6
SM0	BIT	098H.7
TL0	DATA	08AH
SM1	BIT	098H.6
TL1	DATA	08BH
SM2	BIT	098H.5
TL2	DATA	0CCH
PT0	BIT	0B8H.1
PT1	BIT	0B8H.3
RS0	BIT	0D0H.3
PT2	BIT	0B8H.5
TR0	BIT	088H.4
RS1	BIT	0D0H.4
TR1	BIT	088H.6
TR2	BIT	0C8H.2
PX0	BIT	0B8H.0
PX1	BIT	0B8H.2
PX2	BIT	0C0H.3
PX3	BIT	0C0H.7
DPH	DATA	083H
qRXD	BIT	090H.2
DPL	DATA	082H
qTXD	BIT	090H.3
EXEN2	BIT	0C8H.3
REN	BIT	098H.4
T2CON	DATA	0C8H
RXD	BIT	0B0H.0
TXD	BIT	0B0H.1
F0	BIT	0D0H.5
PSW	DATA	0D0H
?PR?delay1us?DELAY_SUBROUTINE            SEGMENT CODE 
?PR?delay17us?DELAY_SUBROUTINE           SEGMENT CODE 
?PR?delay10us?DELAY_SUBROUTINE           SEGMENT CODE 
?PR?delay52us?DELAY_SUBROUTINE           SEGMENT CODE 
?PR?delay104us?DELAY_SUBROUTINE          SEGMENT CODE 
?PR?delay10ms?DELAY_SUBROUTINE           SEGMENT CODE 
?PR?delay4ms?DELAY_SUBROUTINE            SEGMENT CODE 
?PR?delay1ms?DELAY_SUBROUTINE            SEGMENT CODE 
?PR?delay40ms?DELAY_SUBROUTINE           SEGMENT CODE 
?PR?delay200ms?DELAY_SUBROUTINE          SEGMENT CODE 
?PR?delay100ms?DELAY_SUBROUTINE          SEGMENT CODE 
?PR?input?DELAY_SUBROUTINE               SEGMENT CODE 
?PR?_output?DELAY_SUBROUTINE             SEGMENT CODE 
	PUBLIC	_output
	PUBLIC	input
	PUBLIC	delay100ms
	PUBLIC	delay200ms
	PUBLIC	delay40ms
	PUBLIC	delay1ms
	PUBLIC	delay4ms
	PUBLIC	delay10ms
	PUBLIC	delay104us
	PUBLIC	delay52us
	PUBLIC	delay10us
	PUBLIC	delay17us
	PUBLIC	delay1us
; /****************************************Copyright (c)**************************************************
; **                                    大连双马电子有限公司
; **                                       研   发   部
; **                                         研发一部 
; **
; **                                 http://www.smelecom.com/
; **
; ** 文   件   名: Delay subroutine
; ** 编 写  日 期: 2006年3月24日
; ** 描        述: This programme is used for read and write the Motorola 32series MCU
; ** 版	     本: the first one 
; ** 编	     者: 宋晓伟
; ***********************************************************************************************************/
; 
; 
; 
; #include  <reg54.h>
; //#include  <absacc.h>
; //#include <intrins.h>
; 
; #define uchar unsigned char
; #define uint unsigned int
; sbit  qTXD=P1^3;
; sbit  qRXD=P1^2;
; //sbit  qTXD=P1^6;
; //sbit flag=PSW^5;
; 
; /*********************************************************
; * 函数原型: void delay1us(void);
; * 功    能: 1us的基本延迟。
; *********************************************************/
; void delay1us(void) {

	RSEG  ?PR?delay1us?DELAY_SUBROUTINE
delay1us:
			; SOURCE LINE # 32
;   #pragma asm
;     nop
	  nop
;     nop
	  nop
;   #pragma endasm
; }
			; SOURCE LINE # 37
	RET  	
; END OF delay1us

;  
; 
; /*******************************************************
; *函数原型:void delay17us(void);
; *功    能:17us的延迟,给模拟串口提供。
; *******************************************************/
; void delay17us(void) {

	RSEG  ?PR?delay17us?DELAY_SUBROUTINE
delay17us:
	USING	0
			; SOURCE LINE # 44
;   int  n;
;  #pragma asm
;    nop
	  nop
;    nop
	  nop
;    nop
	  nop
;    nop
	  nop
;    nop
	  nop
;    nop
	  nop
;    nop
	  nop
;    nop
	  nop
;    nop
	  nop
;    nop
	  nop
;    nop
	  nop
;    nop
	  nop
;    nop
	  nop
;    nop
	  nop
;    nop
	  nop
;    nop
	  nop
;  #pragma endasm
;   for(n=0;n<=5;n++) {
			; SOURCE LINE # 64
;---- Variable 'n?140' assigned to Register 'R6/R7' ----
	CLR  	A
	MOV  	R7,A
	MOV  	R6,A
?C0002:
;     delay1us();
			; SOURCE LINE # 65
	LCALL	delay1us
;     }
			; SOURCE LINE # 66
	INC  	R7
	CJNE 	R7,#00H,?C0057
	INC  	R6
?C0057:
	MOV  	A,R7
	XRL  	A,#06H
	ORL  	A,R6
	JNZ  	?C0002
; }
			; SOURCE LINE # 67
?C0005:
	RET  	
; END OF delay17us

; 
; 
; /*********************************************************
; *函数原型:void delay10us(void);
; *功    能:10us延迟。
; **********************************************************/ 
; void delay10us(void) {

	RSEG  ?PR?delay10us?DELAY_SUBROUTINE
delay10us:
	USING	0
			; SOURCE LINE # 74
;   int  n;
;   for (n=0;n<=3;n++) {
			; SOURCE LINE # 76
;---- Variable 'n?241' assigned to Register 'R6/R7' ----
	CLR  	A
	MOV  	R7,A
	MOV  	R6,A
?C0006:
;     delay1us();
			; SOURCE LINE # 77
	LCALL	delay1us
;      }
			; SOURCE LINE # 78
	INC  	R7
	CJNE 	R7,#00H,?C0058
	INC  	R6
?C0058:
	MOV  	A,R7
	XRL  	A,#04H
	ORL  	A,R6
	JNZ  	?C0006
; }
			; SOURCE LINE # 79
?C0009:
	RET  	
; END OF delay10us

; /*
; void delay133us(void) {
;   int  n;
;   for (n=0;n<=62;n++) {
;     delay1us();
;      }
; }
; 
; 
; 
; /*********************************************************
; *函数原型:void delay104us(void);
; *功    能:10us延迟。
; **********************************************************/ 
; void delay52us(void) {

	RSEG  ?PR?delay52us?DELAY_SUBROUTINE
delay52us:
	USING	0
			; SOURCE LINE # 94
;   int  n;
;   for (n=0;n<=24;n++) {
			; SOURCE LINE # 96
;---- Variable 'n?342' assigned to Register 'R6/R7' ----
	CLR  	A
	MOV  	R7,A
	MOV  	R6,A
?C0010:
;     delay1us();
			; SOURCE LINE # 97
	LCALL	delay1us
;      }
			; SOURCE LINE # 98
	INC  	R7
	CJNE 	R7,#00H,?C0059
	INC  	R6
?C0059:
	MOV  	A,R7
	XRL  	A,#019H
	ORL  	A,R6
	JNZ  	?C0010
; }
			; SOURCE LINE # 99
?C0013:
	RET  	
; END OF delay52us

; 
; void delay104us(void) {

	RSEG  ?PR?delay104us?DELAY_SUBROUTINE
delay104us:
	USING	0
			; SOURCE LINE # 101
;   int  n;
;   for (n=0;n<=49;n++) {
			; SOURCE LINE # 103
;---- Variable 'n?443' assigned to Register 'R6/R7' ----
	CLR  	A
	MOV  	R7,A
	MOV  	R6,A
?C0014:
;     delay1us();
			; SOURCE LINE # 104
	LCALL	delay1us
;      }
			; SOURCE LINE # 105
	INC  	R7
	CJNE 	R7,#00H,?C0060
	INC  	R6
?C0060:
	MOV  	A,R7
	XRL  	A,#032H
	ORL  	A,R6
	JNZ  	?C0014
; }
			; SOURCE LINE # 106
?C0017:
	RET  	
; END OF delay104us

; 
; /*********************************************************
; *函数原型:void delay35us(void);
; *功    能:35us延迟。
; **********************************************************
;  
; void delay80us(void) {
;   int  n;
;   for (n=0;n<=39;n++) {
;     delay1us();
;      }
; }
;  /*void delay7us(void) {
;   int  n;
;   for (n=0;n<=2;n++) {
;     delay1us();
;      }
; }
;  
; 
;  void delay3us(void) {
;   int  n;
;   for (n=0;n<=0;n++) {
;     delay1us();
;      }
; }*/
; /*********************************************************
; *函数原型:void delay10ms(void);
; *功    能:10ms延迟。
; **********************************************************/ 
;  
; void delay10ms(void) {

	RSEG  ?PR?delay10ms?DELAY_SUBROUTINE
delay10ms:
	USING	0
			; SOURCE LINE # 138
;   int  v;
;   for (v=0;v<700;v++)
			; SOURCE LINE # 140
;---- Variable 'v?544' assigned to Register 'R4/R5' ----
	CLR  	A
	MOV  	R5,A
	MOV  	R4,A
?C0018:
;      {
			; SOURCE LINE # 141
;       delay17us();
			; SOURCE LINE # 142
	LCALL	delay17us
;       }
			; SOURCE LINE # 143
	INC  	R5
	CJNE 	R5,#00H,?C0061
	INC  	R4
?C0061:
	CJNE 	R4,#02H,?C0018
	CJNE 	R5,#0BCH,?C0018
; }
			; SOURCE LINE # 144
?C0021:
	RET  	
; END OF delay10ms

;  
; void delay4ms(void) {

	RSEG  ?PR?delay4ms?DELAY_SUBROUTINE
delay4ms:

⌨️ 快捷键说明

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