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

📄 yk2.asm

📁 AT89C2051制作红外线多路遥控器
💻 ASM
字号:
x0	equ #30
x1	equ #60
x2	equ #90
x3 	equ #120
x4	equ #150
x5 	equ #180
x6	equ #210
x7	equ #240
fz	equ #10
sw 	bit p3.2
bz	bit 00h
        ORG	0000H
        aJMP	START
     	ORG	0013H   ;int1入口
	aJMP 	int1
        ORG	001bH  	;定时器T1入口
        aJMP	intt1
        org 0030h
int1:	clr ex1
        MOV TH1,#3ch   	;定时时间约为100ms
        MOV TL1,#0b0h
        setb tr1        ;启动T1计时
        setb et1        ;允许T1中断
	mov th0,#0
	mov tl0,#0
	setb tr0
	reti
intt1:	clr tr0
	mov a,tl0
	mov b,x0
	acall jspd
	jb bz,d01
	cpl p1.0
	jb sw d01
	mov a,p1
	orl a,#0feH
	mov p1,a
	ajmp d09
d01:	mov b,x1
	acall jspd
	jb bz,d02
	cpl p1.1
	jb sw d02
	mov a,p1
	orl a,#0fdH
	mov p1,a
	ajmp d09
d02:	mov b,x2
	acall jspd
	jb bz,d03
	cpl p1.2
	jb sw d03
	mov a,p1
	orl a,#0fbH
	mov p1,a
	ajmp d09
d03:	mov b,x3
	acall jspd
	jb bz,d04
	cpl p1.3
	jb sw d04
	mov a,p1
	orl a,#07H
	mov p1,a
	ajmp d09
d04:	mov b,x4
	acall jspd
	jb bz,d05
	cpl p1.4
	jb sw d05
	mov a,p1
	orl a,#0efH
	mov p1,a
	ajmp d09
d05:	mov b,x5
	acall jspd
	jb bz,d06
	cpl p1.5
	jb sw d06
	mov a,p1
	orl a,#0dfH
	mov p1,a
	ajmp d09
d06:	mov b,x6
	acall jspd
	jb bz,d07
	cpl p1.6
	jb sw d07
	mov a,p1
	orl a,#0bfH
	mov p1,a
	ajmp d09
d07:	mov b,x7
	acall jspd
	jb bz,d09
	cpl p1.7
	jb sw d09
	mov a,p1
	orl a,#7fH
	mov p1,a
d09:	setb ex1
	reti
jspd:	push acc
	clr bz
	cjne a,b,jspd1
	ajmp jspd5
jspd1:	jc jspd2
	subb a,r2
	ajmp jspd3
jspd2:	mov r1,b
	mov b,a
	mov a,r1
	clr c
	subb a,b
jspd3:	cjne a,fz,jspd4
	ajmp jspd5
jspd4:	jc jspd5
	setb bz
	pop acc
	ret
jspd5:	clr bz
	pop acc
	ret
start: 	MOV P1,#0FFH
	mov p3,#0ffh
	clr it1		;int1中断为电平触发	
	SETB EX1	;允许int1中断 
        MOV TMOD,#15H   ;设置T0为计数方式、T1为计时方式1
	setb ea         ;开所有中断
xh:	nop
	ajmp xh
	end

⌨️ 快捷键说明

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