📄 电子密码锁源程序(asm).htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0062)http://www.etcnol.com/bbs/TopicOther.asp?t=5&BoardID=16&id=207 -->
<HTML><HEAD><TITLE>经典51单片机讨论-[转帖]电子密码锁源程序(ASM)(2)[ET电子技术在线论坛]</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2800.1106" name=GENERATOR>
<META content=ET,etcnol,电子,cpld,dsp,sopc,单片机,mcu,fpga,可编程,isp, name=keywords><!--以先进的电子技术推动中国科技的发展-->
<META content=TRUE name=MSSmartTagsPreventParsing>
<META http-equiv=MSThemeCompatible content=Yes><LINK href="favicon.ico"
rel="SHORTCUT ICON"><LINK href="电子密码锁源程序(ASM).files/aspsky_1.css" type=text/css
rel=stylesheet><LINK title=经典51单片机讨论-最新20篇论坛主题
href="rssfeed.asp?boardid=16&rssid=4" type=application/rss+xml
rel=alternate>
<SCRIPT language=javaScript src="电子密码锁源程序(ASM).files/Main.js"
type=text/javascript></SCRIPT>
</HEAD>
<BODY onload="if(window.name!=''){document.body.style.width='98%';}">
<DIV class=menuskin id=popmenu onmouseover=clearhidemenu() style="Z-INDEX: 100"
onmouseout=dynamichide(event)></DIV><!--printpage.asp##帖子可打印页面-->
<TABLE style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" width="98%"
align=center border=0>
<TBODY>
<TR>
<TD vAlign=center
align=top><B>以文本方式查看主题</B><BR><BR>- <B>ET电子技术在线论坛</B> (http://www.etcnol.com/bbs/index.asp)<BR>-- <B>经典51单片机讨论</B> (http://www.etcnol.com/bbs/list.asp?boardid=16)<BR>---- <B>[转帖]电子密码锁源程序(ASM)(2)</B> (http://www.etcnol.com/bbs/dispbbs.asp?boardid=16&id=207)<BR>
<HR>
</TD></TR><!--printpage.asp##{$bbslist}循环部分-->
<TR>
<TD vAlign=center
align=top>-- 作者:starli<BR>-- 发布时间:2006-6-21
21:24:05<BR><BR>-- [转帖]电子密码锁源程序(ASM)(2)<BR>
<P align=center></P>
<P> ;***************************<BR> ;***** 显示子程序 ********<BR> ;***************************<BR> ;功能:分五屏幕显示数据,分别是XSA,XSB,XSC,XSD,XSE.代表六种状态。<BR> ;锁定状态显示。<BR>
XSA:PUSH ACC<BR>
PUSH PSW<BR>
MOV A, TIMERS1<BR>
MOV DPTR,
#TAB<BR> MOVC
A, @A+DPTR<BR>
MOV SBUF,
A ;送已经输入密码的次数<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#0FEH
;送短线<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#0FEH ;送短线<BR>
JNB TI, $<BR>
CLR TI
;送F<BR>
MOV SBUF,
#78H<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#78H<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#11H<BR>
JNB TI, $<BR>
CLR TI<BR>
POP PSW<BR>
POP ACC<BR>
RET<BR>
;成功开锁状态显示<BR> XSB:PUSH
ACC<BR> PUSH
PSW<BR>
MOV A, TIMERS1<BR>
MOV DPTR,
#TAB<BR> MOVC
A, @A+DPTR<BR>
MOV SBUF, A<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#0FEH<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#0FEH<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#10H<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#10H<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#10H<BR>
JNB TI, $<BR>
CLR TI<BR>
POP PSW<BR>
POP ACC<BR>
RET<BR>
;密码输入及修改状态<BR> XSC:PUSH
ACC<BR> PUSH
PSW<BR> LCALL
KILLXS<BR> SETB
RS1
;切换到第三组寄存器。防止操作数读取错误。<BR>
MOV R6, TIMERS<BR>
MOV A,
R6<BR> SUBB A,
#01H<BR>
JNC SC0<BR>
JZ SC1<BR> SC0:MOV SBUF,
#0FEH<BR>
JNB TI, $<BR>
CLR TI<BR>
SC1:MOV A,
R6<BR> SUBB A,
#02H<BR>
JNC SC11<BR>
JNZ SC2<BR> SC11:MOV SBUF,#0FEH<BR>
JNB TI, $<BR>
CLR TI<BR>
SC2:MOV A,
R6<BR> SUBB A,
#03H<BR>
JNC SC22<BR>
JNZ SC3<BR> SC22:MOV SBUF,
#0FEH<BR>
JNB TI, $<BR>
CLR TI<BR>
SC3:MOV A,
R6<BR> SUBB A,
#04H<BR>
JNC SC33<BR>
JNZ SC4<BR> SC33:MOV SBUF,
#0FEH<BR>
JNB TI, $<BR>
CLR TI<BR>
SC4:MOV A,
R6<BR> SUBB A,
#05H<BR>
JNC SC44<BR>
JNZ SC5<BR> SC44:MOV SBUF,
#0FEH<BR>
JNB TI, $<BR>
CLR TI<BR>
SC5:MOV A,
R6<BR> SUBB A,
#06H<BR>
JNC SC55<BR>
JNZ SC6<BR> SC55:MOV SBUF,
#0FEH<BR>
JNB TI, $<BR>
CLR TI<BR>
SC6:MOV A,
R6<BR> SUBB A,
#07H<BR>
JNC SC66<BR>
JNZ EXIT_C<BR> SC66:MOV SBUF,
#0FEH<BR>
JNB TI, $<BR>
CLR TI<BR>
NOP<BR>
NOP<BR> EXIT_C:NOP<BR>
CLR RS1<BR>
POP PSW<BR>
POP ACC<BR>
NOP<BR> RET</P>
<P>
;密码输入错误的提示<BR> XSD:PUSH
ACC<BR> PUSH
PSW<BR>
MOV SBUF,
#98H<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#79H<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#11H<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#79H<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#79H<BR>
JNB TI, $<BR>
CLR TI<BR>
MOV SBUF,
#38H<BR>
JNB TI, $<BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -