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

📄 rc5.lst

📁 Library for the 8051 microcontroller. such as math routine, hexBCD, LCD, Keyboard, I2C, Remote, Ke
💻 LST
字号:

ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 1





       MCS-51 Family Macro Assembler   A S E M - 5 1   V 1.3
       =====================================================



	Source File:	E:\MiCrOConTroller\Coba_M-IDE\REMOTE-RC5\RC5.asm
	Object File:	E:\MiCrOConTroller\Coba_M-IDE\REMOTE-RC5\RC5.hex
	List File:	E:\MiCrOConTroller\Coba_M-IDE\REMOTE-RC5\RC5.lst



 Line  I  Addr  Code            Source

    1:				 ;-----------------------------------------------------------------------------------
    2:				 ;*                    Phillips RC5 Decoding
    3:				 ;*
    4:				 ;*         Author:  Ajay Bhargav
    5:				 ;*         Email:   contact@rickeyworld.info
    6:				 ;*         Website:	www.8051projects.net
    7:				 ;*
    8:				 ;*         Description: This software is for Phillips RC-5 remote
    9:				 ;*                decoding. Pin used for reception is P3.3 while
   10:				 ;*                you can use any pin as per your requiremnet.
   11:				 ;*                This program is written for 8051 MCU running
   12:				 ;*                at 11.0592MHz.
   13:				 ;*
   14:				 ;*         Usage: After the decoding the Address is stored in the
   15:				 ;*                ADDR variable and command is stored in the CMD.
   16:				 ;*                The flip bit is also stored to check whether the
   17:				 ;*                button is pressed once or not.
   18:				 ;*
   19:				 ;*         Addon: Small sample program to control 8 switches with
   20:				 ;*                TV remote. 1 for Swith 1, 2 for switch 2,...
   21:				 ;*                and power button to swith off all switches at once
   22:				 ;*
   23:				 ;*                  Having a Doubts? Please post at
   24:				 ;*                  www.8051projects.net/forum.html
   25:				 ;*
   26:				 ;-----------------------------------------------------------------------------------
   27:
   28:		R	 R7	VAR1	equ r7                  ;Temporary Variable
   29:		N      0010	TEMP	equ 10H		        ;Temp variable
   30:		N      0011	COUNT	equ 11H		        ;Count
   31:		N      0012	ADDR	equ 12H		        ;Device address
   32:		N      0013	CMD	equ 13H 		;Command
   33:		N	 00	FLIP	bit 00H		        ;Flip bit
   34:		N	 01	TOG	bit 01H 	        ;Temp bit for flip
   35:		B      00B3	IR	equ P3.3	        ;IR Receiver connected to this pin
   36:		B      0090	SW1	equ P1.0	        ;Switch 1 connected here
   37:		B      0091	SW2	equ P1.1	        ;Switch 2 connected here
   38:		B      0092	SW3	equ P1.2	        ;Switch 3 connected here
   39:		B      0093	SW4	equ P1.3	        ;Switch 4 connected here
   40:		B      0094	SW5	equ P1.4	        ;Switch 5 connected here
   41:		B      0095	SW6	equ P1.5	        ;Switch 6 connected here
   42:		B      0096	SW7	equ P1.6	        ;Switch 7 connected here
   43:		B      0097	SW8	equ P1.7	        ;Switch 8 connected here

ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 2



 Line  I  Addr  Code            Source

   44:		D      0090	SWport	equ P1		        ;Port at which switches are connected
   45:
   46:		N      0000		org 00H			;Start of prog
   47:	  0000	75 90 00		mov SWport,#00H ;switch all relays off!
   48:	  0003	75 81 50		mov sp,#50H		;Stack pointer initialization
   49:	  0006	C2 01			clr TOG			;Clear temp bit
   50:
   51:	  0008			main:
   52:	  0008	20 B3 FD		jb IR,$			;Wait for first bit
   53:	  000B	7F FF			mov VAR1,#255           ;3.024mS delay
   54:	  000D	DF FE			djnz VAR1,$
   55:	  000F	7F FF			mov VAR1,#255
   56:	  0011	DF FE			djnz VAR1,$
   57:	  0013	7F FF			mov VAR1,#255
   58:	  0015	DF FE			djnz VAR1,$
   59:	  0017	7F FF			mov VAR1,#255
   60:	  0019	DF FE			djnz VAR1,$
   61:	  001B	7F FF			mov VAR1,#255
   62:	  001D	DF FE			djnz VAR1,$
   63:	  001F	7F 64			mov VAR1,#100
   64:	  0021	DF FE			djnz VAR1,$
   65:	  0023	A2 B3			mov c,IR		;Read Flip bit
   66:	  0025	92 00			mov FLIP,c
   67:	  0027	E4			clr A
   68:	  0028	75 11 05		mov COUNT,#5	        ;Count for address
   69:	  002B			fadd:
   70:	  002B	7F FF			mov VAR1,#255	        ;1.728mS delay for each bit
   71:	  002D	DF FE			djnz VAR1,$
   72:	  002F	7F FF			mov VAR1,#255
   73:	  0031	DF FE			djnz VAR1,$
   74:	  0033	7F FF			mov VAR1,#255
   75:	  0035	DF FE			djnz VAR1,$
   76:	  0037	7F 04			mov VAR1,#4
   77:	  0039	DF FE			djnz VAR1,$
   78:	  003B	A2 B3			mov c,IR
   79:	  003D	33			rlc a
   80:	  003E	D5 11 EA		djnz COUNT,fadd
   81:	  0041	F5 12			mov ADDR,A		;Save the address
   82:	  0043	E4			clr a
   83:	  0044	75 11 06		mov COUNT,#6	        ;Count for Command
   84:	  0047			fcmd:
   85:	  0047	7F FF			mov VAR1,#255	        ;1.728mS Delay for each bit
   86:	  0049	DF FE			djnz VAR1,$
   87:	  004B	7F FF			mov VAR1,#255
   88:	  004D	DF FE			djnz VAR1,$
   89:	  004F	7F FF			mov VAR1,#255
   90:	  0051	DF FE			djnz VAR1,$
   91:	  0053	7F 04			mov VAR1,#4
   92:	  0055	DF FE			djnz VAR1,$
   93:	  0057	A2 B3			mov c,IR
   94:	  0059	33			rlc a
   95:	  005A	D5 11 EA		djnz COUNT,fcmd
   96:	  005D	85 13 10		mov TEMP,CMD        	;Save the old command
   97:	  0060	F5 13			mov CMD,a		;Save the new command
   98:	  0062	E5 12			mov a,ADDR		;Cheack for valid address
   99:	  0064	B4 00 05		cjne a,#00,nvalid

ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 3



 Line  I  Addr  Code            Source

  100:	  0067	E5 10			mov a,TEMP
  101:	  0069	B5 13 03		cjne a,CMD,valid	;Check for valid command
  102:	  006C			nvalid:
  103:	  006C	02 00 08		ljmp main
  104:	  006F			valid:				;Key press check
  105:	  006F	E4			clr a
  106:	  0070	A2 00			mov c,FLIP
  107:	  0072	33			rlc a
  108:	  0073	F5 10			mov TEMP,a
  109:	  0075	E4			clr a
  110:	  0076	A2 01			mov c,TOG
  111:	  0078	33			rlc a
  112:	  0079	B5 10 02		cjne a,TEMP,valid1
  113:	  007C	80 EE			sjmp nvalid
  114:	  007E			valid1:
  115:	  007E	A2 00			mov c,FLIP
  116:	  0080	92 01			mov TOG,c
  117:	  0082	E5 13			mov a,CMD
  118:	  0084	C3			clr c
  119:	  0085	B4 01 0D		cjne a,#1,skip1		;Check for SW1
  120:	  0088	20 90 05		jb SW1,isset1
  121:	  008B	D2 90			setb SW1
  122:	  008D	02 00 08		ljmp main
  123:	  0090			isset1:
  124:	  0090	C2 90			clr SW1
  125:	  0092	02 00 08		ljmp main
  126:	  0095			skip1:
  127:	  0095	B4 02 0D		cjne a,#2,skip2		;Check for SW2
  128:	  0098	20 91 05		jb SW2,isset2
  129:	  009B	D2 91			setb SW2
  130:	  009D	02 00 08		ljmp main
  131:	  00A0			isset2:
  132:	  00A0	C2 91			clr SW2
  133:	  00A2	02 00 08		ljmp main
  134:	  00A5			skip2:
  135:	  00A5	B4 03 0D		cjne a,#3,skip3		;Check for SW3
  136:	  00A8	20 92 05		jb SW3,isset3
  137:	  00AB	D2 92			setb SW3
  138:	  00AD	02 00 08		ljmp main
  139:	  00B0			isset3:
  140:	  00B0	C2 92			clr SW3
  141:	  00B2	02 00 08		ljmp main
  142:	  00B5			skip3:
  143:	  00B5	B4 04 0D		cjne a,#4,skip4		;Check for SW4
  144:	  00B8	20 93 05		jb SW4,isset4
  145:	  00BB	D2 93			setb SW4
  146:	  00BD	02 00 08		ljmp main
  147:	  00C0			isset4:
  148:	  00C0	C2 93			clr SW4
  149:	  00C2	02 00 08		ljmp main
  150:	  00C5			skip4:
  151:	  00C5	B4 05 0D		cjne a,#5,skip5		;Check for SW5
  152:	  00C8	20 94 05		jb SW5,isset5
  153:	  00CB	D2 94			setb SW5
  154:	  00CD	02 00 08		ljmp main
  155:	  00D0			isset5:

ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 4



 Line  I  Addr  Code            Source

  156:	  00D0	C2 94			clr SW5
  157:	  00D2	02 00 08		ljmp main
  158:	  00D5			skip5:
  159:	  00D5	B4 06 0D		cjne a,#6,skip6		;Check for SW6
  160:	  00D8	20 95 05		jb SW6,isset6
  161:	  00DB	D2 95			setb SW6
  162:	  00DD	02 00 08		ljmp main
  163:	  00E0			isset6:
  164:	  00E0	C2 95			clr SW6
  165:	  00E2	02 00 08		ljmp main
  166:	  00E5			skip6:
  167:	  00E5	B4 07 0D		cjne a,#7,skip7		;Check for SW7
  168:	  00E8	20 96 05		jb SW7,isset7
  169:	  00EB	D2 96			setb SW7
  170:	  00ED	02 00 08		ljmp main
  171:	  00F0			isset7:
  172:	  00F0	C2 96			clr SW7
  173:	  00F2	02 00 08		ljmp main
  174:	  00F5			skip7:
  175:	  00F5	B4 08 0D		cjne a,#8,skip8		;Check for SW8
  176:	  00F8	20 97 05		jb SW8,isset8
  177:	  00FB	D2 97			setb SW8
  178:	  00FD	02 00 08		ljmp main
  179:	  0100			isset8:
  180:	  0100	C2 97			clr SW8
  181:	  0102	02 00 08		ljmp main
  182:	  0105			skip8:
  183:	  0105	B4 0C 06		cjne a,#0CH,exit	;Check for all switches
  184:	  0108	75 90 00		mov SWport,#00H
  185:	  010B	02 00 08		ljmp main
  186:	  010E			exit:
  187:	  010E	02 00 08		ljmp main
  188:
  189:					END			;End of program





                     register banks used:  ---

                     no errors




ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 5





	       L I S T   O F   S Y M B O L S
	       =============================


SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
??ASEM_51			  NUMBER    8051
??VERSION			  NUMBER    0130
AC				  BIT	      D6
ACC				  DATA	      E0
ADDR				  NUMBER    0012	  31
B				  DATA	      F0
CMD				  NUMBER    0013	  32
COUNT				  NUMBER    0011	  30
CY				  BIT	      D7
DPH				  DATA	      83
DPL				  DATA	      82
EA				  BIT	      AF
ES				  BIT	      AC
ET0				  BIT	      A9
ET1				  BIT	      AB
EX0				  BIT	      A8
EX1				  BIT	      AA
EXIT				  CODE	    010E	 186
EXTI0				  CODE	    0003
EXTI1				  CODE	    0013
F0				  BIT	      D5
FADD				  CODE	    002B	  69
FCMD				  CODE	    0047	  84
FLIP				  BIT	      00	  33
IE				  DATA	      A8
IE0				  BIT	      89
IE1				  BIT	      8B
INT0				  BIT	      B2
INT1				  BIT	      B3
IP				  DATA	      B8
IR				  NUMBER    00B3	  35
ISSET1				  CODE	    0090	 123
ISSET2				  CODE	    00A0	 131
ISSET3				  CODE	    00B0	 139
ISSET4				  CODE	    00C0	 147
ISSET5				  CODE	    00D0	 155
ISSET6				  CODE	    00E0	 163
ISSET7				  CODE	    00F0	 171
ISSET8				  CODE	    0100	 179
IT0				  BIT	      88
IT1				  BIT	      8A
MAIN				  CODE	    0008	  51
NVALID				  CODE	    006C	 102
OV				  BIT	      D2
P				  BIT	      D0
P0				  DATA	      80
P1				  DATA	      90
P2				  DATA	      A0
P3				  DATA	      B0
PCON				  DATA	      87

ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 6



SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
PS				  BIT	      BC
PSW				  DATA	      D0
PT0				  BIT	      B9
PT1				  BIT	      BB
PX0				  BIT	      B8
PX1				  BIT	      BA
RB8				  BIT	      9A
RD				  BIT	      B7
REN				  BIT	      9C
RESET				  CODE	    0000
RI				  BIT	      98
RS0				  BIT	      D3
RS1				  BIT	      D4
RXD				  BIT	      B0
SBUF				  DATA	      99
SCON				  DATA	      98
SINT				  CODE	    0023
SKIP1				  CODE	    0095	 126
SKIP2				  CODE	    00A5	 134
SKIP3				  CODE	    00B5	 142
SKIP4				  CODE	    00C5	 150
SKIP5				  CODE	    00D5	 158
SKIP6				  CODE	    00E5	 166
SKIP7				  CODE	    00F5	 174
SKIP8				  CODE	    0105	 182
SM0				  BIT	      9F
SM1				  BIT	      9E
SM2				  BIT	      9D
SP				  DATA	      81
SW1				  NUMBER    0090	  36
SW2				  NUMBER    0091	  37
SW3				  NUMBER    0092	  38
SW4				  NUMBER    0093	  39
SW5				  NUMBER    0094	  40
SW6				  NUMBER    0095	  41
SW7				  NUMBER    0096	  42
SW8				  NUMBER    0097	  43
SWPORT				  NUMBER    0090	  44
T0				  BIT	      B4
T1				  BIT	      B5
TB8				  BIT	      9B
TCON				  DATA	      88
TEMP				  NUMBER    0010	  29
TF0				  BIT	      8D
TF1				  BIT	      8F
TH0				  DATA	      8C
TH1				  DATA	      8D
TI				  BIT	      99
TIMER0				  CODE	    000B
TIMER1				  CODE	    001B
TL0				  DATA	      8A
TL1				  DATA	      8B
TMOD				  DATA	      89
TOG				  BIT	      01	  34
TR0				  BIT	      8C
TR1				  BIT	      8E

ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 7



SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
TXD				  BIT	      B1
VALID				  CODE	    006F	 104
VALID1				  CODE	    007E	 114
VAR1				  REGISTER    R7	  28
WR				  BIT	      B6

⌨️ 快捷键说明

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