采用STCl2C2052的无电源电子锁系统方案设计

发布者:美丽花朵最新更新时间:2012-11-08 来源: 21ic 关键字:STCl2C2052  无电源电子锁系统  外部中断 手机看文章 扫描二维码
随时随地手机看文章

O 引言
目前,市场上有多种基于IC卡设计的电子锁,广泛应用于宾馆、公寓、仓库、学校等场所。这些场合能够提供很好的直流或交流电源,电子锁的控制部分可以长时间方便地获取稳定的电源。但是,在野外环境中往往不能为控制部分方便地提供电源,需要手持部分为控制部分提供电源,执行开锁和闭锁操作,因此传统由控制部分提供电源的电子锁不能满足野外环境的需要,例如采油井、注水站、电信通讯井等,在这些地方,尤其是偏远的地方,往往对安全性要求较高,提供电源又较为困难。
本文介绍了一种电子锁,电子锁系统分为控制和手持两部分。手持部分的电源采用锂电池,控制部分的工作电源由手持部分提供,数据线和电源线共用一根线,有效解决了上述问题,使用方便。

1 硬件系统设计
电子锁由控制部分和手持部分组成。控制部分由STCl2C2052单片机、信号接收电路、电机驱动电路、保护电路构成,主要完成电子锁钥匙密码的接收、验证、直流电机驱动、电机保护功能;手持部分主要由STCl2C2052单片机、可充电电源电路、信号发送电路、锁开关按键电路构成,主要完成电子锁系统电源的提供,开锁、闭锁信号和钥匙密码信号的发送功能。为了使用方便,控制部分和手持部分的连接采用纽扣式接头,外部为地,内部为电源线,通过单根电源线实现数据传输和控制功能。开锁、闭锁操作的执行由3 V直流变速电机完成,直流变速电机可以降低转速,增大力矩。硬件系统结构示意图如图1所示。


1.1 STCl2C2052单片机
控制部分和手持部分微处理器采用STCl2C2052单片机。STCl2C2052除了具有运算器、控制器、RAM、FLASH、定时器、串行接口等功能部件外,还具有以下特点:SOP-20封装,体积小;3.5~5.5 V宽工作电压,具有ESD保护,高抗静电干扰,抗4 kV快速脉冲干扰;-40~+80℃工作温度范围,低功耗的空闲和掉电工作模式,2 KB芯片内E2PROM,ISP系统在线可编程,硬件看门狗(WDT)等特点,适用于野外环境。
1.2 信号发送电路
手持部分的信号发送电路将开锁、闭锁信号和钥匙密码信号通过电源线发送到控制部分。信号发送电路由三极管Q1、二极管D1、电阻R1和线圈L1构成,如图2所示。当单片机的P3.1输出高电平时,Q1截止,输出低电平时,Q1导通,电源正极通过D1、限流电阻R1和Q1接地。此时,会在电源线上产生一个瞬时的低脉冲,表明有信号发送,低脉冲信号的不同频率代表发送的是“O”,还是“1”。


1.3 信号接收电路
控制部分信号接收电路通过电源线接收开锁、闭锁控制信号和钥匙密码信号。接收电路包括电容C1,三极管Q2和一个反向器。电源通过线圈L2给控制部分提供电源,如图3所示。手持部分通过电源线发送信号,产生瞬时的低电平脉冲,低脉冲信号通过C1加载到Q2的基极,使得Q2处于截止状态。此时,反向器输出低电平信号。无脉冲信号时,Q2处于饱和导通状态。此时,反向器输出高电平信号。根据信号频率可以判断发送来的是“0”,还是“1”。1.4 直流电机倒向驱动电路
系统采用带有变速器的3 V直流电机,通过电机的顺时针、逆时针旋转完成开锁、闭锁操作。倒向驱动电路由三极管Q4,Q6,Q8,Q10,Q5,Q7,Q9,Q11组成,单片机的P1.O,P1.1,P1.2,P1.3分别经反相器后接Q4,Q6,Q8,Q10的基极。电路如图4所示。


[page]

当单片机的P1.O,P1.1,P1.2,P1.3为低电平时,Q4,Q6,Q8,Q10截止,V1和V2处于浮空状态,电机静止;当开锁时,单片机的P1.0,P1.3为高电平,P1.1,P1.2为低电平,Q4,Q5,Q10,Q11导通,Q6,Q7,Q8,Q9截止,V1为正,V2为负,电机正转开锁;当闭锁时,单片机的P1.0,P1.3为低电平,P1.1,P1.2为高电平,Q4,Q5,Q10,Q11截止,Q6,Q7,Q8,Q9导通,V1为负,V2为正,电机反转闭锁。
在程序实现时,必须注意严禁P1.0,P1.1,P1.2,P1.3同时为高电平,即Q4,Q6,Q8,Q10同时处于导通状态。
1.5 电机保护电路
直流变速电机执行开锁、闭锁操作一定时间后,外部机械装置会迫使电机停止转动,如果不采取措施,会产生较大电流,损坏直流电机,所以保护电路是必不可少的。


保护电路由TLV2252运算放大器、电阻R4,R5,R6组成,电路如图5所示。TLV2252的1IN+(引脚3)接R5,R6构成分压电路;11N-(引脚2)接电阻R4,电阻R4串联到电机倒向驱动电路的公共输出端。当电机正常工作时,通过R4的电流较小,TLV2252的输出(引脚1)经两个反向驱动后送给单片机的P3.3,此时为“1”,进行正常的开关操作。当外部机械装置迫使电机停止转动时,由于直流电机负载过大,通过R4的电流较大,这时放大器TLV2522输出经两个反向驱动后送给单片机的P3.3,此时为“O”,利用此信号产生中断信号,停止开锁、闭锁操作,以此起到对电机的保护作用。

2 软件系统设计
系统软件由控制部分主程序、数据接收程序、电机驱动程序、手持部分主程序、数据发送程序组成。控制部分与手持部分传送开门、关门信号和钥匙密码信号,其中钥匙密码信号用1l位二进制数,具有较好的安全性。
2.1 数据“0”,“1”传送方法
采用异步FSK通讯方式,使用信号的不同频率来区分“0”和“1”,如图6所示。


当信号频率为20 kHz时,代表传输为“O”;当信号频率为10 kHz时,代表传输为“1”。当晶振为12 MHz时,机器周期大约为1μs。在接收部分,定时器/计数器1用来记录机器周期的个数。当记录的机器周期个数在30~70之间时,可以确定接收到的是“O”(O的标准个数为50个);当记录的机器周期个数在80~120之间时,确定接收到的是“1”(1的标准个数为100个),其他情况按错误处理。
2.2 通信协议设计
在传送的信息中,一部分是开锁、闭锁控制命令信号,另一部分是钥匙密码信息。控制部分接收到钥匙密码信息,经验证与本机的密码一致后可以执行开锁、闭锁操作。采用异步通信方式,定义协议格式为起始位、钥匙密码信息位、开/关位、校验位。其中,起始位为1位;钥匙密码信息为11位;开/关位为1位;校验位为4位。当起始位为“0"时,表示一帧数据的开始,加上此后连续的16位为一帧数据。钥匙信息共有2048种组合,开/关位为“1”,代表开锁操作;开/关位为“0”,代表闭锁操作;校验位由11钥匙信息位和1为开/关位共12位(由高到低4位为1组)经2次异或操作得到。[page]

2.3 程序设计
手持部分主程序完成系统初始化、读取按键,形成数帧,启动发送等任务。使用定时中断T1,完成数据的发送过程。当为数据“0”时,定时器初值为65 535-50=65 485=FFCO(H);当为数据“1”时,定时器初值为65535-100=FF9B(H),逐次发送各位,直到将一帧数据发送结束。手持部分主程序和T1中断程序流程如图7和图8所示。

 


控制部分采用定时器T0和外部中断O实现,初始化设置定时器为内部计数方式,计数初值为0。当手持部分信号到达控制部分时,单片机的外部中断O产生中断,在中断程序中读取计数器的计数值t。当30≤t≤70时,接收到的位为“0”;当80≤t≤120时,接收到的位为“1”。将接收的各位组合起来恢复发送的一帧数据,经检验处理正确无误后进行开锁或闭锁操作。

3 结语
电子锁系统的数据线和电源线采用一线制连接,使用方便;钥匙密码以加密的方式写入存储器中,具有很高的安全性;不需要现场提供电源,解决了传统电子锁需要现场提供电源的问题。电子锁系统已在胜利油田孤岛采油厂、东辛采油厂注水井的安全保护和东营移动通信公司通信线路地井的防盗装置上得到了应用,具有较好的实用推广价值。

关键字:STCl2C2052  无电源电子锁系统  外部中断 引用地址:采用STCl2C2052的无电源电子锁系统方案设计

上一篇:编写STC单片机的ISP协议的方法介绍
下一篇:基于STC89C52/MAX1771的LED调光系统电路分析

推荐阅读最新更新时间:2024-03-16 13:12

51单片机基础(1) -外部中断
中断的基本概念 中断 CPU与外设并行工作,当外设数据准备好或者有某种突发事件发生时,向CPU提出请求,CPU暂停正在进行的工作,转而为该外设服务(或者是处理紧急事件),处理完毕后再回到原断点继续执行原程序。这个过程称为中断。中断实例图示: 中断可以分为 外部中断 定时器中断 串口中断 中断系统 CPU处理某件事的时候外界发生了紧急事件,要求CPU暂停转而去处理紧急事件,处理完之后回到被中断的地方,继续原来的工作,这个工作过程叫中断,实现这个功能的部件称为中断系统。请示CPU中断的请求源称为中断源。当几个中断源同时申请CPU中断的时候,CPU会根据中断优先级来确定响应哪一个中断,CPU总是根据优先级的高低来解决中断请求。
[单片机]
51单片机基础(1) -<font color='red'>外部中断</font>
stm32中断服务函数c语言,STM32 外部中断详解
本文介绍了STM32基于标准外设库的外部中断配置,以及基于参考手册如何更加寄存器配置外部中断 1 前言 打算写一下中断,又忍不住想说一下中断的概念,去书上翻一翻,或者自己在搜索引擎上搜一下,都可以找到一大堆,包括本文写的这个外部中断也不例外。如果要写光是中断就可以单独写一篇了,所以本文直入主题,对于STM32的外部中断进行详细的剖析。 2 STM32的外部中断 下图来自《STM32参考手册》,从整个架构图可以知道,外部中断的功能可以配置六个寄存器; 中断屏蔽寄存器(EXTI_IMR) 事件屏蔽寄存器(EXTI_EMR) 上升沿触发选择寄存器(EXTI_RTSR) 下降沿触发选择寄存器(EXTI_FTSR) 软件中断事件寄存
[单片机]
stm32中断服务函数c语言,STM32 <font color='red'>外部中断</font>详解
STM8S外部中断注意
因为没有中断的清除标志位,这一点与其它单片机是不同的。 EXTI_CR1 触发边沿的设置 要在总中断没开时才能写入! PD7 是 不可屏蔽的最高优先级的硬件中断 (TLI) 设置顺序:最好先关中断 设置边沿 开启引脚 最后开总中断 DisableAllIntp(); EXTI_CR1 = ****(PD口双沿中断); Init_Exti_PD_Intp(); EnableAllIntp(); 另外定时器读取与51有异,顺序要先读TIM1- CNTRH 再读TIM1- CNTRL 要是反过来读 就会得不到正确的值 写CNTR寄存器时,要先关闭(disable)定时器,否则有可能无法正常写入的值
[单片机]
Wince外部中断控制LED详解动态申请
本实例是基于S3C2440,WINCE5.0 1.中断分两大类:内部中断和外部中断。 外部中断:由外部设备所引发的中断,这些外部中断都是通过GPIO中的中断引脚产生的。S3C2440有24个外部中断,相关的寄存器如下: EXTINT0-EXTINT2:三个寄存器设定EINT0-EINT23的触发方式。 EINTFLT0-EINTFLT3:控制滤波时钟和滤波宽度。 EINTPEND:中断挂起寄存器 EINTMASK:中断屏蔽寄存器 内部中断:内部中断是有CPU内部器件产生的中断,如定时器中断,USB中断,UART中断等。相关的寄存器如下:
[单片机]
89C51中断系统介绍(外部中断
0、89C51中断系统分类: 分为三种: 1)、外部中断 2)、定时器中断 3)、串口中断 1、中断的概念 中断触发后,CPU会从主函数调到中断函数中。 外部中断1: 低电平触发:P3.2 是0 下降沿触发:p3.2电平:1变为0则触发。 外部中断2同1。 2、中断允许控制 EA是总开关;EX0、ET0、EX1、ET1、ES为分开关。 3、中断请求标志 4、中断优先级 2个优先级,故可实现2级嵌套。 INT0和INT1两个外部中断,T0、T1两个定时器中断,RX和TX为一个串口中断。 硬件中断优先级最高,串口优先级最低。 5、中断响应条件 6、中断
[单片机]
89C51中断<font color='red'>系统</font>介绍(<font color='red'>外部中断</font>)
STM32 外部(IO)中断EXTI的应用
a) 目的:跟串口输入类似,不使用中断进行的IO输入效率也很低,而且可以通过EXTI插入按钮事件,本节联系EXTI中断。 b) 初始化函数定义: void EXTI_Configuration(void); //定义IO中断初始化函数 c) 初始化函数调用: EXTI_Configuration();//IO中断初始化函数调用简单应用: d) 初始化函数: void EXTI_Configuration(void) { EXTI_InitTypeDef EXTI_InitStructure; //EXTI初始化结构定义 EXTI_Cle
[单片机]
AT89C51单片机外部中断
C51单片机外部中断调用P3_2 ,P3_3口。 中断方式有两种,分别为电平方式和脉冲方式。 中断请求有0和1。中断总允许为EA=1, IE0:外部中断请求0标志位; IT0:外部中断0触发方式设置位,IT0=1下降沿触发,IT0=0低电平触发; IE1:外部中断请求1标志位; IT1:外部中断1触发方式设置位,IT1=1下降沿触发,IT1=0低电平触发; 外部中断0中断服务程序的编写: void 函数名()interrupt 0 { } 外部中断1中断服务程序的编写: void 函数名()interrupt 2 { } 参考实验程序(主程序为P1口输出跑马灯程序),编写中断子程序使得发生外部中断0,且
[单片机]
AT89C51单片机<font color='red'>外部中断</font>
STM8外部中断不响应
在编写STML152K4的一个简单的按键输入中断时被迷惑了半天,做一个总结帮助后人填坑。 BUG坑现象 void key_init(void) { GPIO_Init(POWER_KEY, GPIO_Mode_In_FL_IT); EXTI_DeInit(); EXTI_SetPinSensitivity(EXTI_Pin_4, EXTI_Trigger_Falling);//下降沿触发 } 上面是一个按键外部中断初始化的代码,看似没什么问题。但是调试时候问题出现了,稍微碰一下按键中断在中断函数里不断进行触发,即使请了外部中断标志位 还是不停触发。通过调试发现需要在按键初始化前先关闭总中断 然后在开
[单片机]
STM8<font color='red'>外部中断</font>不响应
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved