近年来随着计算机科学技术的飞速发展,代表这场高技术新成果的智能大厦在各地相继建起。智能大厦是在现代建筑物内集4C于一身,建立一个由计算机系统管理的一体化集成系统,这种智能大厦内部设施具备5A功能。智能密码锁监控系统正是为应用于其中的安全监控自动化(Safety Automation,SA)而研制的,智能密码锁采用单片机技术,相比传统机械锁,他具有不可复制性,有着更高的安全性和方便性。该系统是集信号检测、传输、处理与控制、管理为一体的控制系统;是应用先进计算机技术与现代微电子技术开发组成的分布式网络型监控系统;能够有效地提高安全性能和管理效率。 本文以AT89C2051单片机为核心设计此系统及其密码锁的各部分功能电路,能够正常地实现所要求的功能,抗干扰性能好、安全性强。
1 芯片ATMEL AT89C2051的介绍
AT89C2051单片机是美国ATMEL公司的,如图l所示,他与Intel公司MCS-51系列单片机兼容,采用CMOS工艺制造,节电性能好。AT89C2051提供了以下的标准功能:片内含2kB字节的可重编程闪速存储器E2PROM和128B的内部RAM、15根I/O引线、2个16b定时器/计数器、1个五向量两级中断结构、1个全双工串行口、1个精密模拟比较器以及片内振荡器和时钟电路。另外还具有低功耗空载的特点和掉电保存方式供选用。20脚双列直插封装也能达到体积的要求,是对嵌入式控制应用提供的一个高度灵活和成本低的解决方案。控制系统的设计充分利用了AT89C2051的上述优点和功能,加以必要的辅助硬件电路。
P1口是一个8 b双向I/O口。当P1口引脚写入“1”时,可用作输入端;P1口输出缓冲区可吸收20mA电流并能直接驱动LED显示。在智能密码锁控制器中,P1口P1.0~P1.6用来作为键盘输入接口接收键盘输入数据,P1.7用来输出单片机正常工作状态;当智能密码锁控制器需要闪速编程和程序校验的时候,P1口将用来接收代码数据。P3口除P3.6用于固定片内比较器的输出信号并作为一个通用I/O引脚不可访问外,其余7位都是带有内部上拉电阻的双向I/O引脚。P3口还用来实现AT89C2051的各项功能,如表1所示。
智能密码锁控制器中,P3口除用来实现表1所示的功能外,还要输出声/光告警控制信号;输出智能密码锁开锁控制信号;在智能密码锁控制器需要闪速存储器编程和程序校验的时候,P3口将用来接收相应的控制信号。
RST复位输入,电路图上也作RES。RST一旦变成高电平,所有的I/O引脚就复位到“1”。当振荡器(时钟)正在运行时,持续给出RST引脚2个机器周期的高电平便可完成复位。每个机器周期需12个振荡器或时钟周期。XTALl作为振荡器反相放大器的输入和内部时钟发生器的输人;XTAL2作为振荡器反相放大器的输出。
RAM在AT89C2051内部由工作寄存器、位寻址和数据缓冲区组成。AT89C2051Flash单片机的一个特点就是将程序存储器和数据存储器分为不同的存储空间,这一特性使得可以用8b地址来访问数据存储器,这样可提高8bCPU的存储和处理速度。
程序存储器只可读不可写,用于存放编好的程序和表格常数。AT89C2051没有采用程序存储器分区的方法,可寻址的内部和外部程序存储器的地址空间是统一的。本系统硬件应用电路中只用到了AT89C2051片内的2kB的E2PROM作为程序存储器。
数据存储器在物理和逻辑上都分为2个地址空间,一个为内部数据存储器空间,一个为外部数据存储器空间。本系统硬件应用电路中只用到了AT89C2051片内的128B的RAM作为内部数据存储器,采用直接寻址方式或间接寻址方式对此低128B的RAM进行访问。在低128B的RAM中的最低32个单元(00H一1FH)是4个通用工作寄存器组。
(1)功能寄存器 AT89C2051片内的I/O锁存器、定时器、串行口通信缓冲器以及各种控制寄存器和状态寄存器都以特殊功能寄存器的形式出现,他们离散的分布于80H-FFH的地址空间范围内,属于内部数据存储器,只能采用直接寻址方式进行访问。 (2)串行接口 引脚与P3.0(RXD串行接收)、P3.1(TXD串行发送)I/O端口引脚复用,数据缓冲区采用双缓冲结构;可以工作于同步方式或异步通信方式,在工作于异步通信方式时,具有全双工的操作功能,即可以同时进行数据的发送和接收。AT89C2051的串行口有4种不同的工作方式,由串行口控制寄存器SCON中的方式选择位定义;另外串口发送及接收的状态控制位也由SCON的对应控制位进行选择。
(3)中断结构 AT89C2051可以提供5个中断源:2个外部中断,由INT0,INTl(P3.2,P3.3)输入,2个定时器溢出中断(由片内的2个16位定时器/计数器在溢出时触发)和1个串行口中断。AT89C2051中的中断分为2个优先级,在专用寄存器(SFR)区中有一个中断优先级寄存器(IP),IP的每一位对应于一个中断源,可决定中断源的优先级;AT89C2051中的IE(中断允许寄存器)管理每个中断源的中断和禁止。处理中断的结构是低优先级中断能够被高优先级中断所中断,但不能被另一个低优先级中断所中断;高优先级中断不能被任何其他中断源所中断。当同时收到2个不同优先级的中断请求时,高优先级中断请求先得到服务。如果同时收到几个同一优先级的中断请求,则由内部的查询顺序来决定哪一个请求得到服务,相当于在每个优先级内还同时存在另一个辅助优先结构。
(4)定时器/计数器 AT89C2051内含2个16 b的定时器/计数器T0和T1,可以分别作定时器或计数器使用。当使用于定时器方式时,定时器的输入来自内部时钟发生电路,每过一个机器周期,定时器加1,而一个机器周期包含有12个振荡周期,即定时器的频率为晶振频率的1/12,若采用11.059 2MHz的晶振,定时器的频率即为0.921 6MHz。
若在计数器工作方式,计数器对外部事件计数,计数脉冲来自外部输入引脚,当外部输入引脚发生“1”和“o”的负跳变时,计数器加1。由于对外部事件的检测需要2个机器周期(24个振荡周期),所以计数频率最高为晶振频率的1/24。
2 硬件设计
采用AT89C2051单片机的智能监控系统电路结构框图如图2所示。
下面逐一介绍电子门锁控制器的部分单元电路。
2.1 键盘接口
智能密码锁控制器共12个按键,包括0~9共10个数字键、1个“#”清零键以及1“*”确认键。采用3×4行列式键盘形式,由I/O口线组成行、列结构,按键设置在行列的交点上,以节省I/O口线。智能密码锁控制器工作时,并不经常需要键输入,因此,为了进一步提高CPU效率,采用中断扫描工作方式。即只有在键盘有键按下时,才执行键盘扫描,执行该键功能程序。中断扫描工作方式的键盘接口如图3所示。
该键盘直接由AT89C2051的P1口的高、低字节构成3X4行列式键盘。键盘的列线与r工口的1氏4位相接,键盘的行线通过二极管接到P1口的高3位。因此,P1.4~P1.6作键输入线,P1.0~P1.3作扫描输出线。初始化时,使P1.0~P1.3置零。当有键按下时,INTO端为低电平有效,向CPU发出中断申请,CPU响应中断请求,进入键盘中断服务程序。在键盘中断服务程序中除完成键识别、键功能处理外,还要进行消除键抖动影响、多次重复执行键功能操作等措施。
按键中断服务程序流程图如图4所示。
2.2 其他辅助电路
其他辅助电路包括稳压电源电路、微处理器监控电路、时钟电路等。
(1)稳压电源电路
采用三端稳压集成电路块CW7805给密码锁控制器电路供电。CW78M05三端正稳压器具有内部过流、热过载和输出晶体管安全区保护功能,电路使用安全可靠,供电输出电压+5V,最大输出电流0.5A,电路图如图5所示。
(2)微处理器监控复位电路
单片机应用系统工作时,会经常要求进入复位工作状态,所以系统的复位电路必须保证能正确、可靠地工作。单片机的复位是靠外部电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24个时钟振荡脉冲(2个机器周期)以上的高电平,单片机便可实现初始化状态复位。为了保证密码锁控制器电路可靠地复位,通常使RST引脚保持18ms以上的高电平。采用专用的微处理器监控集成电路芯片Maxim708可以方便地得到梢窃电源电压监控功能、200 ms的复位脉冲宽度和人工复位输入功能,大大提高了复位电路的抗干扰性和工作可靠性,电路图如图6所示。
(3)时钟电路
AT89C2051单片机有一个片内的振荡器电路,由一个单级反相器组成,可用来作为CPU的时钟源。如果采用内部的振荡电路,则要在单片机的引脚XTAL1和XTAL2之间连一个石英晶体谐振器,并接2个电容到地,即可组成完整的并联谐振电路输出时钟信号。
当采用外部振荡器时,XTALl端直接与外部振荡器的信号相连,XTAL2端悬空不用,电路图如图7所示。
3 编程时所要注意的问题
系统要求的各项功能要由软件编程来实现。实际的智能密码锁监控系统含有较多单个的密码锁,因此,系统的软件设计功能较多而复杂,而且层次比较多。因此在设计上首先采用了计算机多任务处理的先进技术,前台完成命令响应、各模块调用以及实时密码锁状态的动态图形化显示等,后台负责实时监视门锁控制器发送的密码锁状态变化事件、定时巡检现场的密码锁控制器、报警处理等;在编程技术上采用先进的VCL组件开发技术,应用多线程技术进行多任务处理;其次,采用模块化程序设计,把一个大的程序划分为若干个小的功能模块,每个模块之间既相互独立又相互联系,这样可以提高软件的可维护性、可读性、可靠性和高效性。
4 结 语
本文简单地对密码锁监控系统的系统总体结构和硬件电路进行了描述,并以AT89C2051单片机为核心,完成主要的硬件电路设计。同时,就实现电路功能的软件编程要注意的问题做了说明。
责任编辑:gt
全部0条评论
快来发表一下你的评论吧 !