微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于AT89C51的密码电源开关设计

基于AT89C51的密码电源开关设计

时间:05-13 来源:电子工程世界 点击:

在主程序中,反复查询与按键相连的端口,一但发现有按键按下,迅速判断出来是哪个按键按下,然后调用相应的子程序,并执行功能,待执行完后,又返回主程序等待。

输入数字子程序


输入数字键可以实现两个功能,一个是单纯的输入数字,从0 到9 循环,每修改一次,数字都要保存到显示缓冲区中,以便打开电源,关闭电源,修改密码时使用。输入数字键一般是和确认键配合使用的,因为在这个系统中采用的是串行显示,所以每次只能显示一位,共有四位数字,从低位到高位显示的时候,当每一位上的数字选好后,都要确认一下,才能移到下一位显示。如图7 所示在每一次输入完数字以后,都要查询一下是否有修改延时的要求,如果有,那么就要执行修改延时的功能,在本系统中,最大延时取了5 分钟,这个值到实际中是可以修该的。修改后的延时值存在一个特定的存储区中,以备触发定时器时使用。本系统中采用延时的功能主要是为了保护用电器,例如冰箱之类的大功率用电器,它要求在每次关电和开电之间应该有一定的延时,以保护用电器,延长寿命。而这个设计就恰恰满足了这种要求,它可以在你关闭电源时自动启动定时器延时,如果定时时间未结束,即使密码输入正确,也无法开机。

选路子程序

选路子程序比较简单,通过反复循环来实现路数的选择,选好的路数存到特定的存储单元中,作为判断条件供其他程序使用。

确认子程序

确认程序主要实现对输入数字的确认及判断系统是否有延时要求。

修改延时/ 修改密码子程序


程序主要作用就是实现修改密码和修改延时,可以通过外部按键来切换,在外部各有一个指示灯,来显示现在处于什么状态。修改延时时只要修改延时灯点亮,就可以通过输入数字键来修改延时。当修改密码指示灯亮时,就可以修改密码。修改好的密码通过特定的端口送到外部存储器AT24C02 保存起来。

比较子程序


比较子程序主要实现对输入的密码和原始密码进行比较的作用,可以实现对继电器的开与关的控制及控制延时的打开的控制。延时的关闭是在定时器里完成的,在这里就不再过多的阐述了。
部分程序如下:
MAIN :
MOV SP , # 60H
MOV TMOD , # 01H ;设置定时器T0
MOV TH0 , # 3CH
MOV TL0 , # 0B0H ;100 毫秒初值
SETB EA
MOV DINGSHI_CZ , # 01H ;存计数次数
MOV XGMM_PASS , # 00H ;修改密码允许标志清0
MOV 0CH , # 0C8H ;循环200 次
MOV 0DH , # 0C8H ;循环200 次
MOV 0EH , # 0C8H ;循环200 次
; ....................
MOV 4AH , # 00H
MOV 4BH , # 00H
MOV 4CH , # 00H
MOV 4DH , # 00H ;清显示屏的代码
LCALL CL EAR ;清显示器
MOV A , # 00H
MOV P0 ,A
MOV R4 , # 08H ;控制路数的次数
MOV R3 , # 00H ;控制路数,默认第1 路
MOV R0 , # 30H ;密码缓存首地址
MOV R5 , # 00H
MOV R7 , # 05H ;控制定时次数,最大5 分钟
MOV A , # 01H
MOV 38H ,A
MOV OPEN_SHU T1 , # 00H ;控制各路的开与关
MOV OPEN_SHU T2 , # 00H
MOV OPEN_SHU T3 , # 00H
MOV OPEN_SHU T4 , # 00H
MOV OPEN_SHU T5 , # 00H
MOV OPEN_SHU T6 , # 00H
MOV OPEN_SHU T7 , # 00H
MOV OPEN_SHU T8 , # 00H
MOV YANSHI , # 00H ;关延时标志位
; ........查询是否有键按下........
START :
SETB P3. 2
SETB P3. 3
SETB P3. 4
SETB P3. 5
LCALL DL10_MS
MOV A ,P3
JNB ACC. 2 ,FUN0
JNB ACC. 3 ,FUN1
JNB ACC. 4 ,FUN2
JNB ACC. 5 ,FUN3
LCALL DL10_MS
LJMP START         ;查询是否有键按下
FUN0 : LJMP XUANLU ;调用选路子程序
FUN1 : LJMP INPU T_SZ ;调用输入数字子程序
FUN2 : LJMP YES_MOVE ;调用确认子程序
FUN3 : LJMP GNQH ;调用功能切换子程序

结束语

本文较为详细地介绍了以单片机为核心的密码电源开关的设计,使51 系列单片机充分应用在了控制系统中。该系统实现简单,结构灵活(按键部分也可以采用中断的连接方法) ,开发经济,具有一定的市场前景。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top