密码锁PLC控制

密码锁PLC控制,第1张

根据你的要求,我选用了西门子LOGO PLC,并根据要求设计了过程。(你并没有要求PLC的品牌和型号,我就选用了一个我手边有的东西,如果用其他高级点的PLC,比如西门子S200,S300,OPTO22,还可以直接用脚本编程,那样更简单了。呵呵。)

如图,输入分别为I1~I8,输出为Q1和Q2。

输入部分每个点都为常开按钮。

用了5个计数器,2个保持。2个标记

根据要求,按动SB7后才可以开始输密码,然后分别按顺序按动SB1三次,SB2两次,SB54次,自动开锁。

期间无论按错次数、按错按钮,都会开始报警,报警需要按动复位键才可以停止报警,并重新开始解码程序。

按动SB8,所有程序停止,所有计数器复位,要重新开始,必须按SB7才可以开始。

因为比较匆忙,画得不是很美观,怕你看不明白,我连线全部用的显示连线而没有用跳接。

程序我下载到PLC上在线调试过了,没有问题,开锁、报警功能齐全,如果你手边有这个机器,(只要是西门子的LOGO,哪个型号都可以),我可以给你源程序,你直接下载下去就可以用了。

如果你用的不是这个PLC,希望我的设计可以给你点启发,如果有什么不明白的,可以联系我,我给你解答。我邮箱fan00zhang@163com  fan00zhang@yahoocomcn

还是原来学汇编的时候的程序了

今天整理看到了

送给有用的人

code_seg segment code

data_seg segment data

stack_seg segment idata

spk bit p13

rseg data_seg

frq:ds 1

tmp:ds 1

rseg stack_seg

stack:ds 20

cseg at 00000h

ljmp main

cseg at 0003h

ljmp zd

rseg code_seg

jmp main

PORTA EQU 8FFFH ;8255A口地址

PORTB EQU 9FFFH ;8255B口地址

PORTC EQU 0AFFFH ;8255C口地址

CADDR EQU 0BFFFH ;8255控制字地址

main: MOV A,#88H ;方式0

MOV DPTR,#CADDR

MOVX @DPTR,A

CLR P12

mov r0,#50h ;初始密码首地址

mov r1,#08h

szmm: mov @r0,#00h ;设置密码

inc r0

djnz r1,szmm

mov r2,#03h ;设置输入密码的次数

K:mov ie,#81h ;中断方式设置

mov tcon,#01h

k1:mov a,p1

clr p12 ;判断开关位置

mov r1,a

anl a,#03h

jz dmm

dec a

jz xianshi

dec a

jz xianshi

dec a

jz dmm

dmm: mov r3,#08h ;读密码 八位

mov r6,#80h ;闪动位控制

mov r0,#60h ;读入值的首地址

ll:acall display

acall KSI

jz ll

ACALL DISPLAY

acall KEYI

mov @r0,30h

inc r0

mov a,r6

rr a

mov r6,a

djnz r3,ll

pdmm:mov r1,#50h ;判断密码

mov r0,#60h

mov r3,#08h

cxpd:mov a,@r0

mov r4,a

mov a,@r1

subb a,r4

jnz baojin

inc r0

inc r1

djnz r3,cxpd

mov r0,#0ffh

god: mov r1,#0fh ;密码正确显示good

good: acall display1

djnz r1,good

djnz r0,god

mov a,p1

clr p12 ;判断是否改密码

anl a,#03h

jz gmm

dec a

jz xianshi

dec a

jz xianshi

dec a

jz dmm

jmp k1

baojin: mov ie,#00h ;报警

djnz r2,k3

mov r7,#0ffh

acall sg

jmp k

k3:mov r7,#0fh

acall sg

mov r5,#03h

jmp k

xianshi:mov r0,#0fh ;待机显示

as: mov r6,#00h

acall display

djnz r0, as

jmp k1

gmm:mov r3,#08h ;改密码

mov r6,#80h

mov r0,#50h

lty: acall display

acall KSI

jz lty

acall KEYI

MOV @R0,30H

inc r0

mov a,r6

rr a

mov r6,a

djnz r3,lty

jmp k1

sg:nop ;bao警子程序

ls:mov r6,#0ffh

lm: mov r5,#0ffh

djnz r5,$

cpl p13

djnz r6,lm

djnz r7,ls

mov p1,#0ffh

ret

zd: mov 30h,a ;复位程序

mov a,r6

rl a

mov r6,a

mov a,30h

inc r3

acall d1ms

acall d1ms

acall d1ms

acall d1ms

acall d1ms

acall d1ms

mov tcon,#01h

reti

KEYI: MOV 30h,#00H

MOV R4,#00H

ACALL DISPLAY

ACALL KSI

JNZ LK2

AJMP KEYI

LK2: MOV R1,#04H

MOV R2,#0FEH

MOV R4,#00H

LK4:MOV DPTR,#PORTC

MOV A,R2

MOVX @DPTR,A

NOP

NOP

MOVX A,@DPTR

JB ACC4,LONE

MOV A,#00H

AJMP LKP

LONE:JB ACC5,LTWO

MOV A,#04H

AJMP LKP

LTWO:JB ACC6,LTHR

MOV A,#08H

AJMP LKP

LTHR:JB ACC7,NEXT

MOV A,#0CH

LKP:

ADD A,R4

PUSH ACC

LK3:ACALL DISPLAY

ACALL KSI

JNZ LK3

POP ACC

MOV 30H,A

ret

NEXT:INC R4

MOV A,R2

JNB ACC3,KND

RL A

MOV R2,A

DJNZ R1,LK4

KND:ret

KSI:MOV DPTR,#PORTC

MOV A,#00H

MOVX @DPTR,A

NOP

NOP

MOVX A,@DPTR

CPL A

ANL A,#0F0H

RET

display:mov r5,#02h ;显示

lool:mov r4,#0FFh

dplop: mov a,#0ffh ;取个位数

MOV A,#7fh;查个位数的7段代

MOV DPTR,#PORTA

MOVX @DPTR,A ;送出个位的7段代码

MOV DPTR,#PORTB

MOV A,r6

MOVX @DPTR ,A;开个位显示

acall d1ms ;显示162微秒

djnz r4,dplop ;循环执行250次

djnz r5,lool

mov r5,#02h

poop:mov r4,#0FFh

ppdd: mov a,#07fh ;取个位数

;查个位数的7段代

MOV DPTR,#PORTA

MOVX @DPTR,A ;送出个位的7段代码

MOV DPTR,#PORTB

MOV A,#00h

MOVX @DPTR ,A;开个位显示

acall d1ms ;显示162微秒

MOV DPTR,#PORTB

MOV A,#0FFH

MOVX @DPTR ,A;关闭个位显示,防止鬼影

djnz r4,ppdd ;循环执行250次

djnz r5,poop

ret

display1: mov r5,#08h

mov r4,#7fh

ww:mov a,r5

dec a

mov dptr,#sttab

MOVC A,@A+DPTR ;查个位数的7段代

MOV DPTR,#PORTA

MOVX @DPTR,A ;取个位数

;查个位数的7段代

MOV DPTR,#PORTB

MOV A,r4

MOVX @DPTR ,A;开个位显示

acall d1ms ;显示162微秒

MOV DPTR,#PORTB

MOV A,#0ffH

MOVX @DPTR ,A;关闭个位显示,防止鬼影

mov a,r4

rr a

mov r4,a

djnz r5,ww

ret

;2+2X80=162微秒,延时按12MHZ计算

D1MS: MOV R7,#150

DJNZ R7,$

ret

sttab: db 3dh,5ch,5ch,3fh,40h,40h,40h,40h

end

以上就是关于密码锁PLC控制全部的内容,包括:密码锁PLC控制、求用51单片机控制的简单密码锁原理、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10047234.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存