線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:859
推到 Plurk!
推到 Facebook!

請教如何寫8051RX部份 (ASM)

尚未結案
天下少子
一般會員


發表:1
回覆:0
積分:0
註冊:2012-02-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2012-02-04 16:06:09 IP:219.77.xxx.xxx 訂閱
請教各位師兄.我如何基於以下的IR TX 寫我RX的部份??
因為這是我老師寫給我.要我寫相應的RX出來.但是小弟本身對ASM的基礎不多.
IRPIN BIT P1.7
KEY0 BIT P1.6
KEY1 BIT P1.5
KEY2 BIT P1.4
BITCNT EQU R6
IRCOUNT EQU R7
ORG 0000H
AJMP START
ORG 0030H
START: MOV SP,#04FH
LOOP: MOV A,#000H
JB KEY0,MAIN001
MOV A,#00FH
MAIN001:JB KEY1,MAIN002
MOV A,#01EH
MAIN002:JB KEY2,MAIN003
MOV A,#02DH
MAIN003:
CJNE A,#000H,MAINOUTIR
JMP LOOP
MAINOUTIR:
LCALL IROUTBYTE
LCALL DELAY
JMP LOOP
;----- DATA FOR IR AT ACC ------
IROUTBYTE:
MOV BITCNT,#8
IROUTBYTEA:
RLC A
JC IROUTBYTE1
LCALL IROUT0
JMP IROUTBYTEB
IROUTBYTE1:
LCALL IROUT1
IROUTBYTEB:
DJNZ BITCNT,IROUTBYTEA
LCALL IROUT0
RET
IROUT1: MOV IRCOUNT,#20
LCALL CLOCK38K
MOV IRCOUNT,#50
LCALL BLANK38K
RET
IROUT0: MOV IRCOUNT,#20
LCALL CLOCK38K
MOV IRCOUNT,#20
LCALL BLANK38K
RET
CLOCK38K:
CPL IRPIN
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DJNZ IRCOUNT,CLOCK38K
RET
BLANK38K:
SETB IRPIN
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DJNZ IRCOUNT,BLANK38K
RET
DELAY: MOV R6,#200
DELAY1:
MOV R7,#250
DJNZ R7,$
DJNZ R6,DELAY1
RET
END
系統時間:2017-12-12 8:28:27
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!