📄 can总线程序(汇编) sja1000--nnyt的笔记.mht
字号:
SETB F0=20
<BR> =20
JNB =20
ACC.2, BCAN_DW_QUIT=20
;=CB=F8=B6=A8=D4=F2=CC=F8=B3=F6 =
&=
nbsp;=20
<BR> =20
CLR =20
F0 =20
<BR> =20
<BR> =20
INC =20
R0  =
; =20
;<BR> =20
MOV =20
A, =20
@R0 =
;ID=BA=C5=B5=C4=B5=CD3=CE=BB \RTR=CE=BB=20
\=CA=FD=BE=DD=B3=A4=B6=C8DLC<BR> =20
DEC =20
R0  =
; =20
;=BB=D6=B8=B4=D6=B8=D5=EB=D6=B8=CF=F2=B7=A2=CB=CD=CA=FD=BE=DD=B5=C4=CA=D7=
=B5=D8=D6=B7<BR> =20
MOV =20
DPTR, =
#REG_TxBuffer1;=B7=A2=CB=CD=BB=BA=B3=E5=C7=F8=CA=D7=B5=D8=D6=B7</P>
<P> =20
JB  =
;=20
ACC.4, BCAN_WYB =20
;=D4=B6=B3=CC=D6=A1<BR> =
;=CA=FD=BE=DD=D6=A1<BR> =20
ANL =20
A, =20
#0FH =20
;=BC=C6=CB=E3=B7=A2=CB=CD=CA=FD=BE=DD=B5=C4=B3=A4=B6=C8<BR> &n=
bsp; =20
ADD =20
A, #02H<BR> =20
MOV =20
R7, A<BR> =20
AJMP =20
BCAN_WRTXBUF ;</P>
<P>BCAN_WYB:<BR> =20
MOV =20
R7, =20
#02 =
;=D0=B4=C8=EB=B7=A2=CB=CD=BB=BA=B3=E5=C7=F8=CA=FD=BE=DD=B3=A4=B6=C8=CE=AA=
2</P>
<P>BCAN_WRTXBUF: =20
<BR> =20
MOV =20
A, =20
@R0 =20
;=BF=AA=CA=BC=D0=B4=C8=EB<BR> =20
MOVX =
@DPTR, =20
A<BR> =20
XRL =20
A, @R0<BR> =20
JNZ =20
BCAN_DW_QUIT =20
;=D0=B4=C8=EB=B4=ED=CE=F3=CD=CB=B3=F6<BR> =20
CLR =20
F0  =
; =20
;=D5=FD=C8=B7=D0=B4=C8=EB=BC=CC=D0=F8<BR> =20
INC =20
R0<BR> =20
INC =20
DPTR<BR> =20
DJNZ =20
R7, BCAN_WRTXBUF=20
;=C3=BB=D3=D0=D0=B4=CD=EA=BC=CC=D0=F8<BR> &n=
bsp; =20
<BR>BCAN_DW_QUIT: =20
<BR> RET </P>
<P> </P>
<P>BCAN_DATA_RECEIVE:<BR> =20
MOV =20
DPTR, #REG_STATUS<BR> =20
MOVX =20
A, @DPTR<BR> =20
SETB =20
F0<BR> =20
JNB =
ACC.0, =20
BCAN_DR_QUIT =
;=C5=D0=B6=CF=B1=A8=CE=C4=CA=C7=B7=F1=D3=D0=D0=A7<BR> &n=
bsp;=20
CLR F0 =
</P>
<P> =20
MOV =20
DPTR, #REG_RxBuffer2 =
;=BD=D3=CA=D5=B1=A8=CE=C4=B5=C4ID=BA=C5=B5=C4=B5=CD3=CE=BB \RTR=CE=BB=20
\=CA=FD=BE=DD=B3=A4=B6=C8DLC<BR> =20
MOVX =20
A, @DPTR<BR> =20
MOV =20
DPTR, #REG_RxBuffer1 =
;=BD=D3=CA=D5=BB=BA=B3=E5=C7=F8=B5=C4=CA=D7=B5=D8=D6=B7<BR> &n=
bsp; =20
JB =20
ACC.4, BCAN_RCVYB =20
;=BD=D3=CA=D5=B5=BD=B5=C4=CA=C7=D4=B6=B3=CC=D6=A1<BR> &n=
bsp; ;=CA=FD=BE=DD=D6=A1<BR> =20
ANL =20
A, =20
#0FH =20
;=BC=C6=CB=E3=BD=D3=CA=D5=B5=BD=B5=C4=CA=FD=BE=DD=B3=A4=B6=C8<BR> &n=
bsp; =20
ADD =20
A, =20
#02H =20
;=BC=C6=CB=E3=B1=A8=CE=C4=B5=C4=B3=A4=B6=C8<BR> =20
MOV =20
R6, A<BR> =20
AJMP =
BCAN_RCVDATA</P>
<P>BCAN_RCVYB:<BR> =20
MOV =20
R6, =20
#02 =
;=D4=B6=B3=CC=D6=A1</P>
<P>BCAN_RCVDATA: &nb=
sp; &nbs=
p; =20
;=BF=AA=CA=BC=B6=C1=C8=A1=CA=FD=BE=DD<BR> =20
MOVX =20
A, @DPTR<BR> =20
MOV =20
@R0, A<BR> =20
INC =20
DPTR<BR> =20
INC =20
R0<BR> =20
DJNZ =20
R6, BCAN_RCVDATA</P>
<P>BCAN_DR_QUIT:<BR> =20
<BR> RET</P>
<P>BCAN_SET_BANDRATE:<BR> =
MOV =20
A,  =
;=20
R7 =20
;=C5=D0=B6=CF=B2=A8=CC=D8=C2=CA=B5=C4=D6=B5=CA=C7=B7=F1=B4=E6=D4=DA<BR>&n=
bsp; CLR =20
CY<BR> SUBB =20
A,  =
;=20
#13 ;<BR> =20
SETB F0<BR> =20
JNC =20
BCAN_SETBR_QUIT &nbs=
p; =20
;=CA=E4=C8=EB=B5=C4=D6=B5=B4=F3=D3=DA12=D4=F2=B2=BB=D5=FD=C8=B7 =
<BR> CLR =20
F0<BR> MOV =20
A,  =
; R7=20
<BR> RL =20
A<BR> MOV =20
DPTR, #BCAN_SETBR=20
;=B2=E9=B1=ED=D5=D2=B3=F6=CF=E0=D3=A6=B5=C4=D4=A4=C9=E8=B5=DA=D2=BB=B8=F6=
=D6=B5<BR> MOVC =20
A,  =
;=20
@A+DPTR<BR> MOV =20
R5, =20
A =20
;=BD=AB=CA=FD=BE=DD=B1=A3=B4=E6<BR> =
MOV =20
A,  =
;=20
R7 =
;=D5=D2=B3=F6=B5=DA=B6=FE=B8=F6=D6=B5=20
<BR> RL =20
A<BR> INC =20
A<BR> MOVC =20
A,  =
;=20
@A+DPTR<BR> MOV =20
R6, =20
A =
;=B1=A3=B4=E6=D6=B5</P>
<P> MOV =20
DPTR, =20
#REG_BTR0 =20
;=D7=B0=C8=EB=B2=A8=CC=D8=C2=CA=D4=A4=C9=E8=D6=B5=A3=AC=CD=AC=B2=BD=CC=F8=
=D7=AA=BF=ED=B6=C8<BR> &nb=
sp; &nbs=
p;  =
; =20
;=CE=BB=BF=ED=B6=C8<BR> =
MOV =20
A,  =
;=20
R5 =20
<BR> MOVX =20
@DPTR, =
A<BR> =20
SETB F0<BR> =20
MOVX =20
A,  =
;=20
@DPTR <BR> =20
XRL =20
A,  =
;=20
R5 =20
;=C5=D0=B6=CF=D0=B4=C8=EB=CA=C7=B7=F1=D5=FD=C8=B7<BR> =
JNZ =20
BCAN_SETBR_QUIT &nbs=
p; =20
;=B2=BB=D5=FD=C8=B7 <BR> =
CLR =20
F0<BR> INC =20
DPTR<BR> MOV =20
A,  =
;=20
R6<BR> MOVX =20
@DPTR, =
A<BR> =20
SETB F0<BR> =20
MOVX =20
A,  =
;=20
@DPTR<BR> XRL =20
A,  =
;=20
R6 =20
;=C5=D0=B6=CF=D0=B4=C8=EB=CA=C7=B7=F1=D5=FD=C8=B7<BR> =
JNZ =20
BCAN_SETBR_QUIT<BR> CLR =
F0=20
<BR>BCAN_SETBR_QUIT:<BR> RET </P>
<P><BR>BCAN_SETBR:<BR> DB =
053H, =20
02FH &nb=
sp; =20
;20KBPS=B5=C4=D4=A4=C9=E8=D6=B5<BR> DB =
087H, =20
0FFH &nb=
sp; =20
;40KBPS=B5=C4=D4=A4=C9=E8=D6=B5<BR> DB =
047H, =20
02FH &nb=
sp; =20
;50KBPS=B5=C4=D4=A4=C9=E8=D6=B5<BR> DB =
083H, =20
0FFH &nb=
sp; =20
;80KBPS=B5=C4=D4=A4=C9=E8=D6=B5<BR> DB =
043H, =20
02fH &nb=
sp; =20
;100KBPS=B5=C4=D4=A4=C9=E8=D6=B5<BR> DB =
03H, =20
01cH &nb=
sp; =20
;125KBPS=B5=C4=D4=A4=C9=E8=D6=B5<BR> DB =
081H, =20
0faH &nb=
sp; =20
;200KBPS=B5=C4=D4=A4=C9=E8=D6=B5<BR> DB =
01H, =20
01cH &nb=
sp; =20
;250KBPS=B5=C4=D4=A4=C9=E8=D6=B5<BR> DB =
080H, =20
0faH &nb=
sp; =20
;400KBPS=B5=C4=D4=A4=C9=E8=D6=B5<BR> DB =
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -