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

📄 hello.src

📁 定时器设置
💻 SRC
字号:
; .\HELLO.SRC generated from: HELLO.C
; COMPILER INVOKED BY:
;        C:\Keil\C51\BIN\C51.EXE HELLO.C BROWSE DEBUG OBJECTEXTEND SRC(.\HELLO.SRC)

$NOMOD51

NAME	HELLO

P0	DATA	080H
P1	DATA	090H
P2	DATA	0A0H
P3	DATA	0B0H
T0	BIT	0B0H.4
AC	BIT	0D0H.6
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
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
P	BIT	0D0H.0
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
LED	BIT	090H.0
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
DPH	DATA	083H
DPL	DATA	082H
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
K1	BIT	0B0H.4
K2	BIT	0B0H.5
?PR?_delay?HELLO     SEGMENT CODE 
?DT?_delay?HELLO     SEGMENT DATA OVERLAYABLE 
?PR?main?HELLO       SEGMENT CODE 
?DT?main?HELLO       SEGMENT DATA OVERLAYABLE 
?CO?HELLO            SEGMENT CODE 
	EXTRN	CODE (_printf)
	EXTRN	DATA (?_printf?BYTE)
	EXTRN	CODE (?C_STARTUP)
	PUBLIC	main
	PUBLIC	_delay

	RSEG  ?DT?main?HELLO
?main?BYTE:
          i?141:   DS   2
	ORG  2
        xdp?142:   DS   2

	RSEG  ?DT?_delay?HELLO
?_delay?BYTE:
          i?040:   DS   2

	RSEG  ?CO?HELLO
?SC_0:
	DB  'K' ,'2' ,'=' ,'=' ,'0' ,000H

?SC_6:
	DB  't' ,'e' ,'s' ,'t' ,' ' ,'m' ,'e' ,'m' ,'o' ,'r' 
	DB  'y' ,' ' ,'e' ,'r' ,'r' ,'o' ,'r' ,'!' ,000H

?SC_25:
	DB  'i' ,'=' ,'%' ,'u' ,' ' ,'x' ,'d' ,'p' ,'=' ,'%' 
	DB  'p' ,00AH,000H

?SC_38:
	DB  't' ,'e' ,'s' ,'t' ,' ' ,'m' ,'e' ,'m' ,'o' ,'r' 
	DB  'y' ,' ' ,'f' ,'i' ,'n' ,'i' ,'s' ,'h' ,'!' ,00AH
	DB  000H

?SC_59:
	DB  't' ,'e' ,'s' ,'t' ,' ' ,'m' ,'e' ,'m' ,'o' ,'r' 
	DB  'y' ,' ' ,'o' ,'k' ,'!' ,00AH,000H

; /*------------------------------------------------------------------------------
; HELLO.C
; 
; Copyright 1995-2005 Keil Software, Inc.
; ------------------------------------------------------------------------------*/
; 
; #include <REG52.H>                /* special function register declarations   */
; /* for the intended 8051 derivative         */
; 
; #include <stdio.h>                /* prototype declarations for I/O functions */
; #include <stdlib.h>                      /* standard library .h-file          */
; #include <ctype.h>                       /* character functions               */
; 
; 
; #ifdef MONITOR51                         /* Debugging with Monitor-51 needs   */
; char code reserve [3] _at_ 0x23;         /* space for serial interrupt if     */
; #endif                                   /* Stop Exection with Serial Intr.   */
; 
; 
; 
; //定义按健
; sbit K1 = P3^4;
; sbit K2 = P3^5;
; 
; sbit LED = P1^0;
; 
; 
; 
; 
; 
; //延时
; void delay(unsigned int i)

	RSEG  ?PR?_delay?HELLO
_delay:
			; SOURCE LINE # 32
	MOV  	i?040,R6
	MOV  	i?040+01H,R7
; {	 
			; SOURCE LINE # 33
; 
; 
; }
			; SOURCE LINE # 36
	RET  	
; END OF _delay

; 
; // //串口中断
; //void comisp(void) interrupt 4
; //{
; //
; //if(RI)		 //处理接收中断
; //	{
; //		RI=0;
; //	}
; //if(TI)		//处理发送中断
; //	{
; //	 	TI=0;
; //	}
; //
; //}
; 
; 
; /*------------------------------------------------
; The main C function.  Program execution starts
; here after stack initialization.
; ------------------------------------------------*/
; void main (void) {

	RSEG  ?PR?main?HELLO
main:
	USING	0
			; SOURCE LINE # 58
; 
; 	unsigned int i;  
; 	unsigned char xdata *xdp;
; 
; 
; #ifndef MONITOR51
; 	SCON  = 0x50;		        /* SCON: mode 1, 8-bit UART, enable rcvr  101 0000    */
			; SOURCE LINE # 65
	MOV  	SCON,#050H
; 	RCAP2H = 0xFF;
			; SOURCE LINE # 66
	MOV  	RCAP2H,#0FFH
; 	TH2   = 0xff;                
			; SOURCE LINE # 67
	MOV  	TH2,#0FFH
; 	RCAP2L =0xBF;
			; SOURCE LINE # 68
	MOV  	RCAP2L,#0BFH
; 	TL2  =  0xFB;
			; SOURCE LINE # 69
	MOV  	TL2,#0FBH
; 	T2CON = 0x34;			    //0011 0100
			; SOURCE LINE # 70
	MOV  	T2CON,#034H
; 	//TR1   = 1;                  /* TR1:  timer 1 run                          */
; 	TI    = 1;                  /* TI:   set TI to send first char of UART    */
			; SOURCE LINE # 72
	SETB 	TI
; 	ES  =0;
			; SOURCE LINE # 73
	CLR  	ES
; 	EA =1;
			; SOURCE LINE # 74
	SETB 	EA
; #endif
; 
; 
; 	/*------------------------------------------------
; 	Note that an embedded program never exits (because
; 	there is no operating system to return to).  It
; 	must loop and execute forever.
; 	------------------------------------------------*/
; 
; 	//设置
; 	K1=1;
			; SOURCE LINE # 85
	SETB 	K1
; 	K2=1;
			; SOURCE LINE # 86
	SETB 	K2
; 	LED =1;
			; SOURCE LINE # 87
	SETB 	LED
?C0002:
; 
; 
; 
; 	while(1)
			; SOURCE LINE # 91
; 	{
			; SOURCE LINE # 92
; 
; 	//K2按下测试内存
; 	if(K2==0)
			; SOURCE LINE # 95
	JNB  	K2,$ + 6H
	LJMP 	?C0004
; 	{
			; SOURCE LINE # 96
; 		LED =0;
			; SOURCE LINE # 97
	CLR  	LED
; 		printf("K2==0");
			; SOURCE LINE # 98
	MOV  	R3,#0FFH
	MOV  	R2,#HIGH (?SC_0)
	MOV  	R1,#LOW (?SC_0)
	LCALL	_printf
; 
; 		xdp =0x0;
			; SOURCE LINE # 100
	CLR  	A
	MOV  	xdp?142,A
	MOV  	xdp?142+01H,A
; 
; 		for(i=0;i<0x8000;i++)	   //测试内存32K
			; SOURCE LINE # 102
	MOV  	i?141,A
	MOV  	i?141+01H,A
?C0005:
; 		{
			; SOURCE LINE # 103
; 			*xdp=(i%256);			//只斌0-256的值
			; SOURCE LINE # 104
	MOV  	DPL,xdp?142+01H
	MOV  	DPH,xdp?142
	MOV  	A,i?141+01H
	MOVX 	@DPTR,A
; 			xdp++;
			; SOURCE LINE # 105
	INC  	xdp?142+01H
	MOV  	A,xdp?142+01H
	JNZ  	?C0013
	INC  	xdp?142
?C0013:
; 			//printf("%u\n",i);
; 		}
			; SOURCE LINE # 107
	INC  	i?141+01H
	MOV  	A,i?141+01H
	JNZ  	?C0014
	INC  	i?141
?C0014:
	CJNE 	A,#00H,?C0005
	MOV  	A,i?141
	CJNE 	A,#080H,?C0005
?C0006:
; 
; 		xdp =0x0;
			; SOURCE LINE # 109
	CLR  	A
	MOV  	xdp?142,A
	MOV  	xdp?142+01H,A
; 
; 		for(i=0;i<0x8005;i++)	   //测试内存
			; SOURCE LINE # 111
	MOV  	i?141,A
	MOV  	i?141+01H,A
?C0008:
; 		{
			; SOURCE LINE # 112
; 			if(*xdp!=(i%256)) 
			; SOURCE LINE # 113
	MOV  	DPL,xdp?142+01H
	MOV  	DPH,xdp?142
	MOVX 	A,@DPTR
	XRL  	A,i?141+01H
	JNZ  	?C0016
	CLR  	A
?C0016:
	JZ   	?C0011
; 			{
			; SOURCE LINE # 114
; 				LED=0;
			; SOURCE LINE # 115
	CLR  	LED
; 				printf("test memory error!");
			; SOURCE LINE # 116
	MOV  	R3,#0FFH
	MOV  	R2,#HIGH (?SC_6)
	MOV  	R1,#LOW (?SC_6)
	LCALL	_printf
; 				printf("i=%u xdp=%p\n",i,xdp);
			; SOURCE LINE # 117
	MOV  	?_printf?BYTE+03H,i?141
	MOV  	?_printf?BYTE+04H,i?141+01H
	MOV  	?_printf?BYTE+05H,#01H
	MOV  	?_printf?BYTE+06H,xdp?142
	MOV  	?_printf?BYTE+07H,xdp?142+01H
	MOV  	R3,#0FFH
	MOV  	R2,#HIGH (?SC_25)
	MOV  	R1,#LOW (?SC_25)
	LCALL	_printf
; 			}
			; SOURCE LINE # 118
?C0011:
; 			xdp++;
			; SOURCE LINE # 119
	INC  	xdp?142+01H
	MOV  	A,xdp?142+01H
	JNZ  	?C0017
	INC  	xdp?142
?C0017:
; 		} 	
			; SOURCE LINE # 120
	INC  	i?141+01H
	MOV  	A,i?141+01H
	JNZ  	?C0018
	INC  	i?141
?C0018:
	CLR  	C
	SUBB 	A,#05H
	MOV  	A,i?141
	SUBB 	A,#080H
	JC   	?C0008
?C0009:
; 	
; 
; 		printf("test memory finish!\n");
			; SOURCE LINE # 123
	MOV  	R3,#0FFH
	MOV  	R2,#HIGH (?SC_38)
	MOV  	R1,#LOW (?SC_38)
	LCALL	_printf
; 
; 		printf("test memory ok!\n");
			; SOURCE LINE # 125
	MOV  	R3,#0FFH
	MOV  	R2,#HIGH (?SC_59)
	MOV  	R1,#LOW (?SC_59)
	LCALL	_printf
; 		LED=1;
			; SOURCE LINE # 126
	SETB 	LED
; 									
; 	}
			; SOURCE LINE # 128
?C0004:
; 		xdp=0x8000;
			; SOURCE LINE # 129
	MOV  	xdp?142,#080H
	MOV  	xdp?142+01H,#00H
; 
; 		*xdp=0xff;
			; SOURCE LINE # 131
	MOV  	DPL,xdp?142+01H
	MOV  	DPH,xdp?142
	MOV  	A,#0FFH
	MOVX 	@DPTR,A
; 
; 	}
			; SOURCE LINE # 133
	LJMP 	?C0002
; END OF main

	END

⌨️ 快捷键说明

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