- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
专业:电子信息工程 班级:07级1班 姓名:刘青原 学号:20070710410 指导老师:吴桂清 一、设计内容:数字密码锁 二、设计要求: (一)基本要求 1、利用889C51作为控制器组成一数字型码锁。 2、开锁动作用LED管模拟。 3、开锁代码由小健盘输入,且同时有4位LED显示器上显出来,当你输入的四位数字与原存的密码完全相同时,则将锁打开。 4、密码可由小键盘输入进行改写。 5、修改密码,必须在30秒内完成,否则将发出报警号。 6、锁门与否,可由一开关控制,每次按Enter键时,89C51根据此开关的状态决定锁住或打开。 (二)扩展功能 1、键盘增加退格键、清除键和复位键。 2、三次输入密码不正确,系统将锁定,输入代码将无效。按复位键后,将解除锁定。 三、设计所需硬件及结构图: 硬件:AT69C52,8255A,MAX232,2803,按钮键盘,电容,排阻若干 硬件结构图: 四、程序流程图 五、软件软程序代码 PA EQU 7CFFH;A口地址 PB EQU 7DFFH;B口地址 CTR EQU 7FFFH;控制字地址 YR1 EQU 30H;密码存储单元 YR2 EQU 31H; YR3 EQU 32H YR4 EQU 33H NEW1 EQU 45H;用户输入密码存储单元 NEW2 EQU 46H NEW3 EQU 47H NEW4 EQU 48H LOCK_TIMES EQU 35H ORG 0000H JMP START_00 ORG 0100H; START_00: MOV YR1,#1H;初始密码为1234 MOV YR2,#2H MOV YR3,#3H CLR 02H MOV YR4,#4H;修改 MAIN: MOV IE,#86H;开定时器0和外部中断1的中断 SETB IT1 LCALL KEY JB 02H,START;已经开始计时就不要再开始了 MOV 50H,#08H;若是12mhz来算则R7应为0FFH,R3应为0F4H MOV 51H,#06H MOV TMOD,#01H;定时器定时工作方式1 MOV TH0,#15H MOV TL0,#0AH SETB 02H;开始计时标志置1 SJMP START START: MOV DPTR,#CTR MOV A,#80H MOVX @DPTR,A CLR PSW.1 ;PSW.1是是否进入重设密码功能的标志位,为0则没进入;反之则进入。By default,PSW.1=0 CLR F0 ;F0为重设密码时,输入原始密码正确与否标志:F0=0,wrong;F0=1,correct. Default=0 MOV B,#1H ;最初数码管不显示,B=当前要显示的数码管位数-1 MOV LOCK_TIMES,#0H;错误,移至START_00处 SETB P3.0 ;By default ,LED=off SETB P3.1 MOV NEW1,#00H;清除用户上次输入密码 MOV NEW2,#00H MOV NEW3,#00H MOV NEW4,#00H SCAN:LCALL DISP MOV P1,#0FFH MOV R0,#0F7H MOV R1,#00H ;存储按键号 LP1: MOV A,R0 ;扫描行 MOV P1,A NOP ;延时读取键盘状态 MOV A,P1 MOV R2,A ;存储键盘扫描状态,为判断抖动做准备 SETB C ;为左移作准备 MOV R3,#04H ;判断四列是否扫描结束 LP2:RLC A ;将A左移,检测该列中是否0所在位置 JNC KEY ;找到零,转去进行延时消抖 LP3:INC R1 ;扫描下一列 DJNZ R3,LP2 MOV A,R0 SETB C RRC A MOV R0,A JC L
文档评论(0)