您当前的位置:首页 > 淘宝特卖

用8051编一密码锁程序!200分~!汇编或C都行~

时间:2024-08-11 14:10:26

我不可能专门帮你去写

只能够给个被人的程序给你参考!!!!

单片机控制的智能密码锁

本密码锁控制器由AT89C2051单片机组成, 工作稳定可靠, 保密性高, 实用性强, 并具有报警控制功能。

一、电路组成和原理图

工作原理图如附图一所示, 该电路由AT89C2051做控制元件, P1口为键盘口, 其中P1.4~P1.7为键盘扫描输出口, P1.0~P1.3为键盘扫描输入口; P3口为信号输出口, 其中P3.0输出开锁控制信号去驱动电磁锁, P3.1输出密码错信号, P3.2输出报警控制信号去驱动报警器。1脚为复位端,4脚、5脚接晶振,各元器件参数如图所示。该电路键盘由16个按键组成,15个“数字”键, 1个“输入”键; 密码由8位数字组成(可由用户对程序稍加修改设置为任意位数的密码),每位数字均可为15个数字中的任意一个数,这样组成的密码不可破译,特别是当别人不知密码位数时更不可破译。

地址:

图一

二、工作原理

通电复位,电路进入就绪状态,等待用户输入密码。当用户输入密码并按下“输入”键后,如输入密码正确则由P3.0输出开锁控制信号且绿灯亮,如输入密码错误则由P3.1输出密码错误指示信号红灯亮,如连续三次输入密码错误则由P3.2输出报警控制信号且黄灯亮,并且必须等待解出报警后方可重新开锁。

三、源程序

ORG 0000H

MOV P3,#0BFH

MOV R4,#00H

BEGIN: MOV R0,#01FH

MOV R3,#00H

KEY : MOV P1,#0FH

MOV A,P1

ANL A,#0FH

CJNE A,#0FH,KEY1

SJMP KEY

KEY1: MOV P3,#0BFH

LCALL DEL12

MOV A,#0EFH

KEY2: MOV R2,A

MOV P1,A

MOV A,P1

ANL A,#0FH

CJNE A,#0FH,KEY3

MOV A,R2

SETB C

RLC A

JC KEY2

SJMP KEY

KEY3: MOV B,#0FBH

KEY4: RRC A

INC B

JC KEY4

MOV A,R2

SWAP A

KEY5: RRC A

INC B

INC B

INC B

INC B

JC KEY5

KEY6: MOV A,P1

ANL A,#0FH

CJNE A,#0FH,KEY6

LCALL DEL12

LCALL OPREAT

LJMP KEY

ORG 0100H

DEL12: MOV R6,#01EH

DEL2: MOV R7,#64H

DEL1: DJNZ R7,DEL1

DJNZ R6,DEL2

RET

ORG 0200H

OPREAT:INC R0

MOV A,B

MOV @R0,A

CJNE A,#0FH,COUNT

CJNE R3,#08H,ERROR

MOV R1,#20H

MOV B,#00H

MOV DPTR,#TAB

LOOP: MOV A,B

MOVC A,@A+DPTR

CLR C

SUBB A,@R1

JNZ ERROR

INC R1

INC B

DJNZ R3,LOOP

OPEN: MOV P3,#0BEH

LJMP $

ERROR: MOV P3,#0BDH

INC R4

CJNE R4,#03H,AGAIN

ALARM: MOV P3,#0B9H

LJMP $

AGAIN: LJMP BEGIN

COUNT: INC R3

RET

TAB:DB 01H,03H,05H,07H,02H,04H,06H,08H

这个复杂了,这种定制的问题的话,建议花钱解决,

在这里混的,

会做得都是上班族,凭兴趣赚分玩儿,不靠它吃饭

不会做的,只会在网上靠一段目录或者根本不全甚至不对的代码过来,骗分

当然,如果你出钱够高,这里也会有人联系你的:)

============================

补充答复:

你给个信箱吧,我发一个给你参考参考,如果满意,就给分,

不满意的话,就当为人民服务了。

这你得花钱去做了,哪有时间整这个啊?

好难啊

信号