防盗门报警器-毕业设计.doc_第1页
防盗门报警器-毕业设计.doc_第2页
防盗门报警器-毕业设计.doc_第3页
防盗门报警器-毕业设计.doc_第4页
防盗门报警器-毕业设计.doc_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南昌航空大学学士学位论文目 录1 绪论11.1选题的依据及意义11.2研究概况及发展趋势12系统组成及工作原理32.1 系统设计要求32.2 系统的组成框图33 硬件设计53.1 最小系统板设计53.2 按键及显示电路73.3 指示灯电路73.4 AT24C02存储模块73.5 声光报警电路83.6 电机驱动模块83.7 门磁传感器检测模块93.8 无线电发射接收模块104 系统软件设计124.1 软件设计分析124.2 软件程序设计要求124.3主程序模块164.4中断服务程序设计164.5子程序模块195 系统调试285.1 硬件电路调试285.2 系统调试296 心得体会306.1心得体会30参考文献31致谢32附 录33附录A 电路原理图33附录B PCB图35附录C 实物图37附录D 程序代码381 绪论1.1选题的依据及意义小区管理最为重要的内容之一是确保住宅、住户安全。现代居住的格局,邻里之间的来往越来越少,家庭生活隐密性、封闭性越来越强。所以说,小区的安防系统和智能管理系统是现代化小区管理不可缺少的有机组成部分。考虑设备成本与集中管理的需要,可将周界报警探测系统、住宅联网报警系统加以集成和综合,构成综合防范体系。由此,居民住宅应当设置安全防范报警系统,对盗窃、入室抢劫等做到早发现、早报警,通过社会力量和科技手段来提高家庭抵御各种意外情况的能力。传统的防盗门窗越来越不能满足人们日常防范的要求,因此人们迫切需要一种智能型的家庭安全防范报警系统。对市场上出现的各种报警装置进行了研究之后,发现利用单片机实现报警具有体积小、价格低、集成度高等突出优点,利用单片机来开发防盗系统能使系统易于操作,且花费较小,因而具有广泛的应用性。1.2研究概况及发展趋势随着社会的发展,人们的活动、居住区域越来越大,安全问题越显重要。简洁、经济型报警器成为家庭所需。我国家用安防系统相对国外来讲,是有较大差距的。现在一般居民住宅的主要防盗措施仅限于防盗窗、防盗门,虽有一定的防盗作用,在灾害发生的情况下,使逃生更加困难。另外,小区安全措施不足;居民安全意识有待增强;安全防范系统也急需普及。家用防盗系统近几年来在全球以及在中国的快速发展是信息技术发展寻找更广阔的市场结合点的必然结果,是IT 产业向传统住宅产业以及人们生活渗透的必然结果。家用防盗系统建设目标是向人们提供“方便快捷的信息通信、安全舒适的住宅环境、高效便利的物业管理”。发展家用防盗系统是住宅产业现代化的必然选择。家用防盗系统按智能技术开发的功能和作用的不同,小区中报警系统应用一般体现在探测智能、监控智能和抗干扰智能三个主要方面。目前欧美已有一些国家正在大力研究无线防盗探测报警系统,随着时间的推移,这种产品在我国也会发展成为主流。如今,人民生活已从温饱型向小康转变,大件耐用消费品己经进入寻常百姓家,因此人们会有更强的安全意识,逐渐接受在住宅内装设质优价廉、功能完善的安全防范系统。同时人类已经进入二十一世纪,智能住宅己开始引起人们的关注。作为住宅的一个组成部分,安全防范系统也必将向多功能、全方位、综合性、智能化方向发展。2系统组成及工作原理本系统功能由硬件和软件两大部份协调完成,硬件部分主要完成信号的采集、转换及各种信息的显示等;软件主要完成功能计算和控制功能等。2.1 系统设计要求本次毕业设计所研制系统的设计要求和技术指标:1:设计一个单片机系统,备有键盘,显示,存储器,电机驱动,无线遥控等接口电路。2:可任意设置10位以内的开门密码,备用密码各一个,且掉电后数据不丢失。3:可用常用密码和备用密码开门,执行机构为一电机带动门栓进与退。4:当出现错码开锁或撬开门时,电脑程控密码锁立即声光报警。2.2 系统的组成框图本次家用防盗报警系统是一种新型的电子安全报警系统,该系统的设计以AT89C51为核心,将传感器检测技术、智能控制和无线电技术相结合,从而形成一个防盗报警系统。系统总体构成主要包括防盗检测、断电保护及报警电路设计、密码控制电路(键盘输入及显示)、无线电控制四个模块。1.具体原理框图如图2.2AT89C51单片机的控制E2PROM存储电路门磁传感器探测门磁传感器探测无线电控制Pt2272解码芯片(键盘输入及显示)(键盘输入及显示)现场报警电路电机驱动LED指示灯信号接收示信号发射Pt2262编码芯片遥控器图2.2 硬件原理框图2.系统硬件模块设计: 1)最小系统 最小系统是以STC89C51单片机为核心,晶振的频率为12MHz,复位电路为系统复位。2)密码输入电路(7279键盘输入及显示)模块 该部分负责系统与外界的联系,用来输入、设置和显示密码及时钟显示,采用7279键盘及显示电路。3)门磁传感器探测模块 该部分用门磁传感器检测门的开关状态,将检测的信息送入单片机进行处理。 4)无线电控制模块 使用手持的微型无线电遥控器,可以使报警装置进入布防状态或撤防状态。同时驱动电机开锁及上锁。 5)电机驱动模块该部分用来驱动电机的正反转,来控制门的上锁和解锁。 6)声光报警模块 该模块采用555芯片构成多谐振荡器来驱动声光报警。3 硬件设计3.1 最小系统板设计根据本次毕业设计的技术要求和总体设计方案,设计中用了最小系统板和7279按键显示电路。最小系统板的主要芯片为STC89C52,是主要程序控制芯片,HD7279A是具有串行接口的智能显示驱动芯片。STC89C52单片机是Flash型单片机,以单片机为核心,配以一定的外围电路和软件,实现某些功能,就组成了单片机应用系统。STC89C5单片机是一个低功耗、高性能、带FLASH存储器的8位微处理器。由于STC89C52带有FLASH闪烁存储器,可以进行多次的程序写入和修改,方便、实用。本系统用一片STC89C52单片机代替了8031单片机和2764程序存储器两块芯片,达到了简化电路的效果。 图 3.1单片机最小系统3.1.1 复位电路图 3.1.1复位电路图3.1.2 时钟振荡电路时钟电路是为系统产生所需要的时钟信号,是计算机的心脏,控制着计算机的工作节奏。其电路图如下图3.1.2所示,片内电路与片外器件构成一个时钟发生电路,CPU 的所有操作均在时钟脉冲同步下进行,片内振荡器的振荡频率 f 0 非常接近晶振频率,一般多在0MHz24MHz 之间选取,这次毕设用的时钟频率是12MHz 。STC89C52 内部都有一个反相放大器,XTAL1 、XTAL2 分别是反相放大器输入和输出端,外接定时反馈元件就组成震荡器产生时钟送至单片机内部的各个部件。图3.1.2中C1、C2 是反馈电容,其值在5pF30pF 之间选择,典型值是30Pf 。作用有两个:其一是使振荡器起振,其二是对振荡器的频率f 起微调(C1、C2 大,f 变小)。图3.1.2 时钟振荡电路3.2 按键及显示电路按键显示电路采用7279模块,电路图见附录1,主要功能是输入密码,修改密码及显示字符。3.3 指示灯电路图3.3 时钟电路该部分电路:绿灯用来指示锁的上锁及开锁状态;红灯用来指示改密。 绿灯亮表示开锁,绿灯灭表示已经上锁 红灯亮表示要改密码,红灯灭表示不需改密码。设计原理:以一个led灯加上一个限流电阻来驱动亮灭。3.4 AT24C02存储模块本次设计采用AT24C02来实现对设置信息的存储及断电保护功能。AT24C02是一个2K位串行CMOS E2PROM,内部含有256个8位字节,该器件通过I2C总线接口进行操作,时钟线SCL与单片机的P1.4连接,数据线SDA与单片机的P1.5口连接,断电后AT24C02可以很好地保存设置的密码。图3.4 存储电路3.5 声光报警电路本次驱动声光报警的电路是采用555定时器设计,构成一个多谐振荡器,由555和外接元件R1、R2、C构成多谐振荡器,脚2与脚6直接相连。电路没有稳态,仅存在两个暂稳态,电路亦不需要外接触发信号,利用电源通过R1、R2向C充电,以及C通过R2向放电端放电,使电路产生振荡。电容C在和之间充电和放电,从而在输出端得到一系列的矩形波。555芯片的清零端接单片机的P1.7,用来控制声光报警。当P1.7为高时,555多谐振荡器产生一定宽度的脉冲用来驱动发光二级管的间歇式亮灭。当P1.7为0时,555芯片异步清零,555不工作,不产生声光报警。电路右端的蜂鸣器是通过三极管的开关作用控制的。555产生的脉冲控制蜂鸣器间歇式报警。通过555芯片设计声光报警电路可以简化单片机编程,单片机只需通过对一个I/O口的编程即可完成声光报警器的控制,同时也增强了电路的稳定性。图3.5 声光报警原理图3.6 电机驱动模块本次电机是用来驱动门栓的进退来控制开锁和上锁,电机主要有永磁直流电机、伺服电机及步进电机三种,本次设计所使用的电机为直流电机。直流电机的控制很简单,性能出众,直流电源也容易实现。这种直流电机的驱动及控制需要电机驱动芯片进行驱动。常用的电机驱动芯片有L297/298,MC33886,ML4428等。本次设计选用LM298N。L298N是SGS公司的产品,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。电路原理图如下:图3.6 电机驱动原理图电机在从运行状态突然转换到停止状态时会形成很大的反向电流,在电路中加入二极管的作用就是在产生反向电流的时候进行泄流,保护芯片的安全。注意:LM298中4管脚和9管脚最好不要接同一电源。表3-1 LM298逻辑功能表:IN1 IN2ENA电机状态-0停止101顺时针011逆时针000停止110停止IN1和IN2接单片机的I/O口,通过对I/O的编程可以控制电机的正转和反转。3.7 门磁传感器检测模块本次设计是通过门磁传感器检测非法开门时,检测器会检测到非法入室信号,进而送入单片机进行处理。图3.7 门磁传感器模块3.8 无线电发射接收模块本次设计采用PT2262编码芯片和PT2272解码芯片用来发射接收数据。PT2262原理图:该模块PT2262的1-8管脚是用来编码的,本次设计采用都悬空的方式进行编码。与之相对应的PT2272的对应管脚也应悬空,用来完成地址的配对。15、16管脚为振荡电阻,PT2272必须与之配对才能顺利的接收信号。右端的F05V为无线发射信号模块。两个按键分别用来开锁和上锁。14管脚是编码启动端,用于多数据的编码发射,低电平有效;PT2272原理图:该PT2272模块的17管脚为解码有效确认 输出端(常低)解码有效变成高电平(瞬态),经过反相器的反向作用后再送入单片机的外部中断,当解码有效时,相应的14、15管脚的电平信号与编码器相同,此时14与15管脚的信号连接到单片机的I/O口,通过单片机的控制,即可完成对电机的控制而达到开锁和解锁的目的。4 系统软件设计4.1 软件设计分析软件是系统的指挥中心,由它来配合控制完成各种预定功能。为了充分发挥STC89C52优越的性能价格比,在设计上尽量做到硬件“软化”,进一步体现软件编程的灵活性,使系统硬件设计得到简化。系统软件采用MCS-51单片机汇编语言编写,采用了模块化结构设计。为增强系统的实时性,对那些偶然事件采用中断方式处理,主程序主要用于系统的控制和管理。软件设计时,首先是做好准备工作,即读出每个按键的键值,并检查数码管是否可以正确显示所有数字。电路设计时是按模块设计的,软件设计也一样,采用中断子程序方式,首先编写大概的主程序,然后理出所需设计的子程序并逐个分析和设计子程序,编写出子程序后应给予编译检查错误,若有错误再更正直到通过编译即没有语法错误,等每个子程序编写完以后,再修改主程序完成整体的程序编写,最后在将程序进行调试。4.2 软件程序设计要求软件程序包括主程序、三个中断服务程序和若干子程序。其中三个中断子程序分别是门磁检测的报警,无线发射接收和实时时钟。设置主程序循环执行键扫描来判断所执行的操作。重点是熟悉7279和AT24C02芯片的编程操作。编程前需详细阅读这两块芯片的内容,包括芯片的管脚、用途、指令码、读写数据的时序图、基本的编程操作等。AT24C02是二进制的串行EEPROM,使用I2C接口总线技术;HD7279是一片具有串行接口的可同时驱动8位共阴式数码管(或64只独立led的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片即可完成_led显示键盘接口的全部功能。4.2.1 I2C串行接口总线技术I2C(Inter-Integrated-Circuit)是Philips公司推出的串行总线技术,它是在器件之间实现同步串行数据传输的技术,是一种采用两线制(数据线和时钟线)通信的标准总线。I2C总线主要有以下几个特征:1) 数据传输只需两根通信线,即数据线SDA和时钟线SCL。2) 总线模式包括主发送模式、主接收模式、从发送模式、从接收模式。3) 每一个连接到I2C总线的器件都必须有唯一的器件地址,通过这个地址,主器件可以对从器件寻址。4) 具有冲突检测和仲裁机制,以保证数据传输的可靠性和完整性。5) 传输速度高,标准模式下数据传输率可达100kb/s,快速模式下可达400kb/s,高速模式下可达3.4Mb/s。6) 由于总线接口引脚内部采用漏极开路工艺,所以总线上要接上拉电阻。连接到总线上器件数量受到总线最大电容负载400pF的限制I2C总线的时序一次完整的I2C总线时序过程由起始信号,地址信号,应答信号,字节数据信号和停止信号等几部分组成。1)起始和停止信号。在一次通信的过程中,应该有一个起始信号和停止信号。在I2C总线协议中,起始信号(START)和停止信号(STOP)都是又主器件产生的。起始信号表明一次I2C总线传输的开始,停止信号表明I2C通信的结束。当SCL线为高电平时,SDA线由高电平的到低电平的负跳变定义为起始信号,而SDA由低电平到高电平的正跳变被定义为停止信号。2)器件地址。I2C总线上每一个器件都有唯一的地址,每次发送器发送起始信号后,必须接着发出1个字节的地址信息,以选取连接在总线上的某个器件。从器件地址占用1个字节,其地址占用用D7D1共7位,D0位是数据传送方向(又称读/写选择位)。当D0=1时,表示主器件向从器件读数据,D0=0表示主器件向从器件写数据。以主控器向被控器发送一个字节的数据(写操作R/W=0)为例。整个过程由主控器发送起始信号S开始,紧跟着发送一个字节的命令字(7位地址和一个方向位R/W=0),得到被控器的应答信号(ACK=0)后就开始按位发送一个字节的数据。得到应答后发送P信号,一个字节的数据传送完毕,其数据传送的时序图如图4.5.8所示。在数据传送中数据高位(D7)在先, SDA线上的数据在时钟脉冲SCL为低电平时允许变化,在数据稳定后时钟脉冲为高电平期间传送数据有效。I2C总线的信号时序图如下:图4.2.1 主控器发送一个字节的时序主控器接收数据(R/W=1) 的时序类似于发送,主要区别有两点:主机接收到数据后要向被控器发送应答信号(ACK=0);当主机接收完最后一个数据时向被控器返回一个“非应答信号/ACK=1”以通知被控器结束发送操作,最后主控器发送一位停止信号P并释放总线。4.2.2 HD7279串行接口HD7279采用串行方式与微处理器通信,串行数据从DATA引脚送入芯片,并由CLK端同步。当片选信号变为低电平后,DATA引脚上的数据在CLK的上升沿被写入HD7279的缓冲寄存器中。HD7279的指令结构有三种类型:1、不带数据的纯指令,指令的宽度为8个bit,即微处理器需发送8个CLK脉冲。2、带有数据的指令,指令宽度为16bit,即微处理器需发送16个CLK指令。3、读取键盘指令,宽度为16bit,前8个位微处理器发送到HD7279的指令,后8个bit为HD7279返回的键盘代码。执行此指令时,HD7279的DATA端在第九个CLK脉冲的上升沿变为输出状态,并与第十六个脉冲的下降沿恢复为输入状态,等待接受下一个指令。串行接口的时序如下图:1)纯指令2)带数据指令3)读键盘指令4.3主程序模块主程序主要完成初始化、显示处理、送7279显示、键盘扫描以及键处理等功能,其中初始化又涉及内存单元,显缓区,堆栈,定时器赋初值,密码初始化及各寄存器的初始化,流程图如图4.3所示:开始初始化按键扫描键处理显示处理、显示有键按下否?切换键,切换标志取反输入键处理密码确认键处理数键键处理校时键处理校时确认键处理YN位及内存单元赋初值或清0、设置栈底(SP)、开中断、设置中断工作模式、密码初始化、显示初始化(显示HELLO)等图4.3 主程序流程图4.4中断服务程序设计在单片机测控系统中,外部设备何时向单片机发出请求,CPU预先是不知道的,若果采用查询方式必将大大降低CPU的工作效率。为了解决快速的CPU和慢速的外设间的矛盾,发展了中断的概念。良好的中断系统能提高计算机实时处理的能力,实现CPU与外设分时操作和自动处理故障。本次设计中门磁何时检测到信号及无线遥控何时发出信号,都是CPU预先不知道的,因此宜都采用外部中断。当两个以上中断开启时,就涉及到中断优先级的问题。51芯片中中断的优先级从先到后排列依次为外部中断0、定时器T0中断、外部中断1、定时器T1中断、串行口中断。此次设计的系统中门磁检测的优先级最高,采用外部中断0处理;无线发射采用外部中断1;另外为了能实时显示时钟,采用单片机内部的定时器中断,该定时器中断可以记录报警的时间,本次采用定时器T0中断。4.4.1 门磁检测外部中断服务程序设计 门磁传感器检测的是开关量,相比其他的检测模拟量的传感器而言,用法较简单,软件编程上等同于一只按键开关。另单片机的外部中端口的编程有两种触发方式,电平触发方式和边沿触发方式,根据门磁检测的实际效果而言,应选择边沿触发方式。理由很简单,一旦门被撬开,就启动声光报警。不管之后门是否关上或以多快的速度关上,而只有边沿触发方式达到这样的效果,触发条件是从高电平跳变为低电平。为了尽量减少硬件的开销,电路设计应使当门关上时,输出的量为高电平,当门开时(这里的门被打开是门的边沿与门框超过一定距离时,这个距离视门磁传感器的指标而定)为低电平。入口:0003H保护现场(A、B、DPH、DPL、PSW等)选另一工作寄存区启动声光报警器显示初始化延时5min停止声光报警器恢复现场中断返回图4.4.1 门磁检测中断流程图解除报警标志07H=1?YN启动报警器后,考虑到邻里情况,不宜让报警器一直报警,这就得让报警器报警一段时间后关闭报警器。这个时间设定要适度,本次设计的采用的值是5min。4.4.2 无线接收外部中断服务程序设计此次设计的无线收发模块采用PT2264/PT2272编解码芯片设计,根据PT2272解码芯片的17管脚解码有效端的性质可知:输出端(常低)解码有效变成高电平(瞬态),由于响应过程是个瞬态过程,所以中断的触发方式应采用边沿触发方式,单片机外部中断的边沿触发条件是由高向低电平的跳变,而PT2272解码有效变成高电平,因而需通过接反相器连接到单片机,才能触发外部中断。入口:0013H保护现场(A、B、DPH、DPL、PSW等)选另一工作寄存区恢复现场中断返回接收信号为开锁否?接收信号为上锁否?锁状态关否?NYYN调用开锁子程序,置锁状态标志1,开锁状态指示灯锁状态开否?调用上锁子程序,清锁状态标志0,关锁状态指示灯YYNN图4.4.2 无线接收中断流程图4.4.3 实时时钟定时器中断服务程序设计该部分用来实时时钟显示,当有发生报警时,时钟停止,用来观测报警的时间。入口:000BH保护现场(A、B、DPH、DPL、PSW等)选另一工作寄存区重新设置定时器初值中断次数计数,(建立时间标志)(控制显示更新等)时钟计时恢复现场中断返回图4.4.3实时时钟中断流程图4.5子程序模块子程序是指能完成某一确定的任务并能被其他程序反复调用的程序段。有时把调用子程序的程序称为主调程序,被调用的子程序称为被调程序。采用子程序结构可使程序简化,便于调试,并可实现程序模块化。但子程序在结构上应具有通用性和独立性。4.5.1数字键处理子程序设计在数字键处理子程序中,首先是判断此时的界面是实时时钟界面还是密码锁功能界面,若是实时时钟界面,则是校时,若是密码锁功能界面,则是输入密码或是修改密码。当是输入密码准备开锁时,则需要校验密码,将数字存放至密码暂存区。当是修改密码时,则将输入的新密码存放到原始密码区。流程图如图4.5.1所示:输入18位密码,保存密码及密码位数输入18位密码并保存,保存密码位数返回YNYN数字键处理子程序密码功能界面否?输入密码否?修改密码否?YN输入时间处理图4.5.1 数字键处理子程序流程图4.5.2 密码确认键处理子程序设计确认键处理子程序的功能是:判断前面按下的数字键是输入密码还是修改密码,若是输入密码则调用密码比较子程序,比较完毕再进入相应的处理程序;若是修改密码则将密码从暂存区送至原始密码存储区。流程图如图4.5.2所示:调用密码比较子程序,清输入标志清输入标志(01H)调用修改密码子程序返回YNYN确认键处理子程序密码功能界面否?输入密码否?修改密码否?YN清改密标志,关改密指示灯图4.5.2 确认键处理子程序流程图4.5.3 密码输入键处理子程序设计密码输入键处理子程序的功能是:在待机状态下可以触发密码输入界面,在密码锁打开的情况下,按输入键相当于上锁。流程图如图4.5.3所示:置输入标志位(01H=1)返回YNYN输入键处理子程序密码功能界面否?改密标志(03H=1)?锁状态关否?YN显示-、显缓指针,密码暂存区指针复位,输入密码位数单元清(51H)0调用上锁子程序、锁状态标志清0、关锁状态指示灯、显缓区复位图4.5.3 输入键处理子程序流程图4.5.4 密码比较子程序设计密码比较子程序的功能是将输入值与密码值相比较,当输入密码与原始密码一致时绿亮灯,并将锁打开。当三次输入的密码错误时产生声光报警,其中一个重要环节是密码位数的比较,当每按下1-9数字时,计数器51H加一, 51H单元内容存放输入位数,首先将其与原密码位数(即50H单元内容存放的原始密码位数)比较,如果不相同则密码错误,若位数一致再逐位比较数值是否相同。流程图如图4.5.4所示:密码比较子程序入口原始密码指针R0、输入密码指针R1、比较次数R6初始化调用开锁,点亮锁状态指示灯,置锁状态标志位02H,显示开锁返回错误次数53H加1,声光报警,显示出错,延时1分钟后使系统复位、YYYNNNNY比较位数+1输入位数51H=密码位数?50H?输入值R1=密码R0?R6-1=0?Y错误次数大于3否?输入密码位数(51H)清0密码复位,显示初始化图4.5.4 密码比较子程序流程图4.5.5 修改密码子程序设计首先是判断子程序中设置的标志位03H,标志位为1才可修改密码。因为当密码输入正确时,标志位03H置1,否则置0,这样就保证了密码是在输入正确密码后才能被修改。密码修改完成后,按下确认键,改密标志位清零,同时将改的密码和密码位数存入AT24C02中,以便掉电或是断电后,能从EEPROM中读取修改的密码。流程图如图4.5.5所示:改密程序入口输入18位新密码并保存密码N输入密码位数送R7、指针初始化新密码R1覆盖原始密码R0修改指针+1返回NNYYY锁是否开?修改改密?循环次数R7-1=0?新密码R1覆盖原始密码R0,新密码位数51H覆盖原密码位数52H向AT24C02中将新密码及新密码位数写入图4.5.5 改密处理子程序流程图4.5.6 键盘扫描子程序设计键盘处理主要是不断的扫描7279模块中的键盘,若有键按下时,则根据得到的键值查表求出其键号,将键号存放于寄存器ACC中供主程序处理。流程图如图4.5.6所示:键盘处理入口置7279的CS有效,并延时50us发送读键指令码15H到7279,并延时12us接收键值存于A中,CS信号置1置键标志00H由键值表查键号清键标志00H返回A为FFH否?YN图4.5.6 按键扫描处理子程序流程图4.5.7 显示处理子程序设计显示处理子程序主要完成:查表得到所要显示的字符的字形码,然后将字形码送到7279显示模块显示出来。7279采用串行接口,每发送一位都要延时,且要对其初始化后才可能正确地显示。流程图如图4.5.7所示:显示程序入口显缓指针R0、显示码R1、循环次数R6初始化置CS为低电平,并延时50us发显示码到7279,并延时25usR0单元内容查表,将得到的字形码发送至7279延时8us,去除片选信号,修改R0和R1返回R6-1=0?YN图4.5.7 显示处理子程序流程图4.5.8 通用的I2C通讯子程序存储模块主要完成对数据的存入与读出的功能,并要有断电保护作用,首先是将数据(本次设计是将初始密码)写入AT24C02。需注意的利用I2C总线进行数据传送时,传送的字节数是没限制的,但是每个字节必须保证是8位的长度,并且首先发送数据的高位,每传送一个字节数据后都必须跟一位应答脉冲,即接收器发回的应答信号。然后,由发送器继续发送数据字节或发送停止信号后结束数据的传送。如果接收器不能接受下一个字节,可以把SCL拉成低电平,迫使发送器处于等待状态。当从机准备好接收下一个字节时再释放SCL线,使数据传输继续进行。24WC02 EEPROM每次连续写入数据不能超过8个字节,当超过8个字节时应当分为及次完成。读写N字节的流程图如图4.5.8所示:读N个数据返回发送开始信号发送写命令字R/W=0 发送内部单元地址重发送开始信号发送应答信号发送停止信号发送非应答信号发送读命令字R/W=1读取数据修改数据指针R0发送完?Acck=0??Ack=0?Ack=0?写N个数据发送开始信号发送写命令字Ack=0?Ack=0?Ack=0?发送内部单元地址发送数据修改数据块指针发送完?发送停止信号返回NNNNNNNNYYYYYYYY图4.5.8 读写N字节子程序流程图5 系统调试调试过程是整个设计最重要的也是最难的过程,同时又是最长知识的过程。几乎不会有系统设计出来就完美的情况,问题都要通过调试才能发现。调试过程需要丰富的知识以及很强的推理能力,当然也是最锻炼人的时刻。调试分为硬件电路调试和系统调试。硬件电路调试的主要任务是检查硬件电路是否有问题,也就是检查硬件电路是否能工作;系统调试的主要任务是在这种硬件条件下是否可以完成设计的要求。5.1 硬件电路调试在制作好PCB之后,紧接着就是插上元件调试硬件系统。为了减少硬件调试的难度,在系统的硬件调试中采用分块调试方法,这样可以减少问题的积累,更加容易发现问题、解决问题。本次设计遇到的硬件部分问题有以下几点:1)LM298驱动电机电路中,芯片电源与动力电源要分别接5V电压,以减少系统的干扰。在电机这个单独模块中,对其单独编程,发现当芯片电源与动力电源接同一5V电压时,这个分离的模块能较好的工作。但将将其接入整个电路中,发现系统的工作不稳定,有时能正常正反转,但也有时在控制正反转时,会直接导致系统的复位。之后将电源分别接出时,系统的稳定性有了很大的改善。分析:由于我们使用的电机是线圈式的,在从运行状态突然转换到停止状态和从顺时针状态突然转换到逆时针状态时会形成很大的反向电流,在电路中加入二极管的作用就是在产生反向电流的时候进行泄流,保护芯片的安全。但两个电源接一起的话,会对芯片的电源有很大的干扰,因此,两个电源最好分开。2)无线发射接收模块中PT2262和PT2272除地址编码必须完全一致外,振荡电阻还必须匹配,一般要求译码器振荡频率要高于编码器振荡频率的2.58倍,否则接收距离会变近甚至无法接收。5.2 系统调试系统调试就是软件与硬件联合调试,将程序烧写入控制芯片STC89C52,先调试每个模块的功能,确定每个模块都正常工作后再整机调试。具体所需到的问题如下:1)在无线电控制模块中,按开锁上锁键后电机不转动,用万用表测PT2272对应接收数据管脚的电压,电压接近5V,接收数据正常,后尝试在接收数据管脚和单片机之间加一个反相器,改变软件的编程,发现控制正常。分析:虽然PT2272对应接收数据管脚的电压接近5V,接收数据正常,但这个电压不能被单片机的IO口识别为高电平,可能电压不够,因此加一个反向驱动器后,单片机能正常识别。注意:这里PT2272有多种型号PT2272 解码芯片有不同的后缀,表示不同的功能,有 L4/M4/L6/M6 之分,其中 L 表示锁存输出,数据 只要成功接收就能一直保持对应的电平状态,直到下次遥控数据发生变化时改变。M 表示非锁存输出,数据脚输出的电平是瞬时的而且和发射端是否发射相对应,可以用于类似点动的控制。后缀的 6 和 4 表示有 几路并行的控制通道,当采用 4 路并行数据时(PT2272-M4),对应的地址编码应该是 8 位,如果采用 6 路 的并行数据时(PT2272-M6),对应的地址编码应该是 6 位。,只有根据所选的型号编程,才能达到预期的效果。2)AT24C02中当存入多字节数据时,一次最多只能连续存入8字节数据,当超过8个字节时,会覆盖前面的数据,因此存入10位密码数据需连续存入两次,否则将达不到预期的效果。6 心得体会6.1心得体会通过近几个月的努力, 基本完成预期目的,但是还是存在着一些不足的地方。如无线发射接收的距离过短,密码锁中的改密没有核对功能,系统的稳定性还有待改善等。同时也学到了很多东西,归纳为以下几点:1.在进行硬件设计前要进行全面研究分析,要与软件的实现相结合,这样才能设计出稳定而有效的硬件电路。2.本次毕业设计从原理图设计到实践的过程是从理论知识到工程实践的过程,在这个过程中巩固了基础知识,并培养创新意识,并发现个人和集体配合在设计中起着非常重要的作用。3.设计中涉及到二极管、三极管、蜂鸣器、直流电机工作电压与工作状态等低频电路课程,也涉及到非门、555定时器等数字电路的课程。 4.对电路板的制作的步骤及详细制作过程有所了解,同时也更加熟悉protel99绘图软件的使用。包括原理图的绘制、pcb板的制作等。5.加强了uv3等单片机开发工具及STC-ISP等烧入工具的使用,最重要的是自己的编程能力有了很大的提高,为今后走上就业岗位垫下了良好的基础。参考文献1. 张先庭. 单片机原理、接口与C51应用程序设计. 北京:国防工业出版社,20112. 杨磊. 电子信息类专业毕业设计指导与实例M. 北京:中国水利水电出版社,20113. 刘宁. 创意电子设计与制作M. 北京:北京航空航天大学出版社,20104. 张迎新单片微型计算机原理、应用及接口技术M.北京:国防工业出版社, 20045. 王宏利.单片机在日常生活中的应用J.现代电子技术. 2003,13(6):30-316. 周月霞,孙传友. DS18B20 硬件连接及软件编程J. 传感器世界,2001,12(5) :12-147. 雷思孝. 单片系统设计和工程应用M. 西安:西安电子科技大学出版社,20058. 王福瑞. 单片微机测控系统设计大全M. 北京:北京航空航天大学出版社,20029. 余永全单片机与家用电器智能化技术M北京:电子工业出版社,199510. 阎石等.数字电子技术基础M.北京:高等教育出版社,2005.1211. 华成英,童诗白等.模拟电子技术基础M.北京:高等教育出版社,2006.112. Sutherland P EHarmonic measurements in industrial power systemJIEEE Trans IA,on IA,1995,31(1):175-183 13. TEXAS INSTRUMENTS.TMS320F2812 Digital Signal Processor Data Manual.Literature number:SPRS174J,2003.12 14. A.P.Goutzoulis and D.R.Pape.Design and Fabrication of Acousto-optic devices,Marcel Dekker.New York,199415. Katz P. Digital Control Using Microcomputer. New York Hall Internatianal Inc,198116. 沈红卫. 基于单片机的智能系统设计和实现M. 北京:电子工业出版社,2005致谢在此要感谢我的指导老师王忠老师对我悉心的指导,任何的问题都是让我们先自行考虑,鼓励我们自己查找资料,锻炼了我们独立思考的能力和收集信息能力。同时也鼓励我们大胆的提出自己的见解,对我们的见解给予指导,当有问题的时候又很耐心的指导我们。同时也感谢毕设期间负责检查进度的老师,他们对我们的设计提出改进意见,扩展了我们的思维,感谢老师们给我们提供的这次毕设机会。同时感谢学校和信息工程学院给予我们的这次锻炼机会,帮助我们树立了独立完成一个设计的信心,给予了我们在进入工作岗位之前的一个锻炼。我还要感谢我们电子系的其他老师。感谢他们为我们提供了毕设的场地和必要的元器件和设备,给了我们大学毕业之前的一次锻炼的机会。在此我还要感谢在设计中帮助过我的同学。在此对他给予的帮助表示衷心的感谢!附 录附录A 电路原理图附录B PCB图附录C 实物图附录D 程序代码;*系统资源分配*;01H 密码输入标志位;02H 锁状态标志位;03H 密码修改标志位;04H 时钟校时标志位;05H 页面切换标志;06H 时钟半秒标志位/22H 显示指针/23H 密码暂存指针/28H 时钟显缓指针/30H37H 原始密码储存区/38H3FH 密码暂存区/40H47H 7279数码显缓区/50H 原始密码位数储存单元/51H 输入密码位数储存单元/52H 错误密码位数储存单元/60H 时钟中小时的存放单元/61H时钟中分的存放单元/62H时钟中秒的存放单元/68H7FH 堆栈区;*AT24C02定义*SDA BIT P1.5 ;at24c02串行数据口SCL BIT P1.4 ;at24c02时钟WSLA EQU 0A0H ;at24c02写指令RSLA EQU 0A1H ;at24c02读指令 ;*7279定义*/CS BIT P1.0/CLK BIT P1.1/DAT BIT P1.2/KEY BIT P1.3;*主程序* ORG 0000H LJMP MAIN ORG 0003H LJMP INT_T0 ORG 0013H LJMP INT_T1 ORG 000BH LJMP INT_T3 ORG 0030H MAIN:CLR P2.5 ;接报警电路 SETB P2.2 ;无线接收数据端 SETB P2.3 ;无线接收数据端 MOV 53H,#00H ;密码错误次数初始化 CLR 01H ;输入标志 CLR 02H ;锁的状态,闭合还是打开 CLR 03H ;改密标志 SETB P2.6 ;开锁指示灯指示灯 SETB P2.0 ;电机驱动端 SETB P2.1 ;电机驱动端 SETB P2.7 ;改密指示灯 MOV SP,#67H ;堆栈初始化 MOV IE,#87H ;开EX0,EX1,TR0中断 MOV TMOD,#01H ;设置定时器0工作模式1 MOV TL0,#0B0H ;定时器0赋初值50ms MOV TH0,#3CH SETB IT0 ;外部中断0设置边沿触发方式 SETB IT1 ;外部中断1设置边沿触发方式 SETB TR0 ;启动定时 LCALL INITH ;7279显示初始化 MOV R7,#45H ;循环次数 MOV R0,#20H ;建立指针M_0: CLR A ;目标单元清零 MOV R0,A INC R0 ;修改指针 DJNZ R7,M_0 MOV 60H,#12H ;时钟小时赋12小时 LCALL MMINTI ;密码初始化 LCALL DIS_INITI ;显示初始化,显示HELLODD: JNB 05H,DD_2 ;界面

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论