版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机防盗报警系统的硬件和软件设计案例目录TOC\o"1-3"\h\u28882单片机防盗报警系统的硬件和软件设计案例 18454第一章系统硬件设计 1331.1用户端探测器设计 18551.2LCD显示电路设计 323191.3报警执行电路设计 4140921.4时钟电路设计 4266501.5晶振与复位电路设计 5313741.6电源电路设计 636551.7外扩存储电路设计 732270第二章系统软件设计 8187772.1软件设计分析 813532.2系统软件程序设计 9284052.2.1LCD显示程序设计 9134814.2.2系统初始化程序设计 1025144.2.4查询记录程序设计 12195114.2.5删除记录程序设计 14249224.2.6调整时间程序设计 14264134.2.7定时中断0程序设计 16141884.2.8外部中断0程序设计 16197704.2.9外部中断1的程序设计 18136004.3.07*9矩阵扫描键盘程序设计 18系统硬件设计用户端探测器设计该防盗报警系统把一个热释电红外探测传感器和一个振动位移传感器整合成一个整体对每条线路进行信号检测。运用一个或非门控装置将两个传感器进行连接,当有一个接受到报警信号,另一个也会接收到这样的一个提示。这种操作主要是为了扩大这个系统的安全性,降低了系统漏报现象。图给出主要的输入电路中的信号。4进去或非门。当检测的结果正确,它此时就会显示出高电平,当检测到其中一路或多路信号出现异常情况,电路随即由高电平跳往低电平并且74LS25的或非门也将输出低电平信号。图3-1检测信号电路的设计图3-216路检测信号输入电路的设计LCD显示电路设计根据其形状排列的多样性分为点阵字符型和字段型。液晶目前来说是非常成熟的一项显示技术,使用电压控制它要展示的地方,这样来说如果有电压通过屏幕时,这个显示器就会显示图像。由于该显示器生成成本低和市场认可度高等优点,被大量应用于电脑显示器和中端旗舰手机等各领域。在51单片机中我们采用了最常使用的点阵字符型LCD显示器。如图3-3所示为LCD显示电路图。LCD1602中的R/W能够进行显示模块状态的数据的读写操作。图3-3LCD显示电路图报警执行电路设计为了准确触发异常警告装置,需要用红色发光二极管去显示报警,用压电式蜂鸣器去进行声音报警。报警执行电路如图3-4所示。图3-4报警执行电路图时钟电路设计由于单片机预留的输入输出接口有限,为了留有备用的输入输出接口,需要选择集成度高,接口少的时钟芯片,为此,在众多芯片中我们选择了DS1302,其不仅拥有集成度高的接口,可以减少占用单片机的接口,时钟精度也大致满足设计需求,占用空间小,性价比非常高,仅需用到三个口线:RST,I/O,SCLK。和就是振荡源,外接的晶振。一般指的是复位/片选线,通过把它的输入驱动调节到一个高电平,目的是为了开启所有的传送数据。通过RST我们可以实现很多功能,比如我们可以通过改变控制命令使位移寄存器获得我们运行所需要的目标地址,其次,RST不仅可以进行数据的传输,还允许结束数据的传输(通过高位置0的方式),让其对于进行操作。当它在传出的过程里把置为一个水平比较低的电平,他就可能会停下这次数据传送,此时I/O引脚也会变为一个高阻态。在上电进行的时候,在前面,必须保持在低电平。DS1302存在时钟精度不高,当周围环境发生改变时,比如温度过冷或者过热,就会出现精度下降的问题。因为DS1302可以进行数据的传输,所以可以通过高低位电平进行数据的缓存,当我们碰到一些重要的数据需要记录的时候,就可以通过这个功能去实现。因为DS1302设计的集成度非常高,所以运行时需要消耗的功率很小,特别是当保持基本功能的时候,仅仅需要不到1mw。DS1302的电路图如图3-5所示。为了满足DS1302时钟芯片的功能,需要刷入相应的驱动,该驱动有两个功能,分别是读和写,通过读功能获得当前时间,通过写功能改变当前时间。相应的时间数据信息可通过其携带的内存进行读和写。图3-5时钟电路图晶振与复位电路设计时钟之所以能够精准的记录时间,主要依赖晶振的运行,其可以以稳定的频率进行振荡。我们可以通过控制中断位的电平高低,实现手动中断的目的,这项功能可以应用在:当我们设置某一个计时功能后,需要到达一定时间,该功能才会停止,如果这时我们想要人工停止的话,可以通过中断命令强行介入停止该功能。大家使用在需要的方向放大器来得到片振荡器,石晶和陶瓷被作为主要的震荡方式,这些震荡方式都可以获得很高的精度。如果我们不采用时钟内部再带的振动驱动,则输出接口XTAL2空置,输入接口XTAL1不空置。为保证时钟信号可以通过二分频触发器,时钟信号的高电平和低电平都必须有一定的宽度才会被正确的识别出来。复位就是初始化操作,当我们的程序不能正确运行或者无法正确退出时,需要通过复位进行初始化进行程序的修改。图3-6晶振与复位电路图电源电路设计为保证系统的泛用性,电源结构采用220V交流电,其结构设计如图3-7所示。当系统正常接入电网的220V交流电后,首先用桥路进行整流,确保用电的稳定性,然后通过两个电容将信号中一些特殊的频段多滤掉,其中2200u电容的作用是将不符合需求的低频过滤出去,0.1u电容的作用是将不符合需求的高频过滤出去,如果想将滤波频宽调高的话,可以并相同电容扩大频宽。如果最后被作为输入电流被7805、7809和7812接收然后分别输出5V、9V和12V三种不同的直流电供系统使用。该系统所采用的三段集成稳压器通过配置不同的电源,这样就可以已得到不同大小的电流了,输出电压的稳定性相对较好,可以控制在百分之二。主要采用7800系列的电源。我们大小不同的电流,去给他们适配不同型号的电源,如小于1.5A应用系列。有正电压输出的系列的基本电路有:开启电路、基准电压电路以及取样比较放大电路,另外,还结合了调整电路与保护电路来共同组成。图3-7电源的电路结构外扩存储电路设计AT24C02为了确保传输数据的准确性和稳定性,采用了I2C协议,I2C一共拥有两条总线,总线上的数据严格按照一个起始信号作为开始命令,一个结束信号作为停止命令。如图3-9所示,我们先根据I2C协议,向其发送一个起始信号,起始信号发送完成后,输入相应的芯片地址,当总线接收的起始信号后,会按照收到的芯片地址找到对应的芯片,对应芯片收到后会返回相应的信号作为回应。读写操作的进行都需要检查每一步的信号是否发送或者正确,都无误后可以允许进行相应的读写操作。操作完成后也需要发送一个结束信号去进行停止活动。通过改变三号寄存器的状态位,我们可以实现读写功能,当为R_7DA时,可以读取7Byte,当为W_7DA时,可以写入7Byte。寄存器其他参数的意义为:10H用来记住I2C总线的首地址,11H用来记住微控制单元首地址。其结构如图3-8所示。图3-8AT24C02的电路结构图3-9读/写周期时序图3-10数据有效时序图3-11起始/停止定义图3-12输出应答系统软件设计软件设计分析系统整体功能的实现需要硬件与软件的配合,本章主要介绍软件部分的设计架构。因为AT89C51价格相对低廉,采用它时就需要更好的软件进行配合,简化硬件部分的架构。软件语言选用汇编语言,为了更好的复用代码,将各模块的代码进行封装设计。加入中断机制,可以更好的进行程序的编写运行和防止系统意外事件的发生。通过主控程序进行系统的管理操控。在进行软件设计之前,需要对硬件接线进行检查,查看是否正确,各个按键是否与键位对应,查看显示器的数码管工作健康状态。软件的编写为主分结构,先写出主程序,再根据功能需要添加相应的子程序,在编写过程中需要动态实时编译检查,防止bug产生,最后编写完后进行最终的调试。系统软件程序设计LCD显示程序设计系统主要应用的是字符型液晶显示模块,该液晶侠士模块的使用需要先进性空置初始化。硬件初始化为将各开关进行复位,软件初始化为将液晶显示模块清屏。该字符型液晶显示模块拥有一定的缺点,但因为性价比很高,可以通过人为操作去弥补缺点。该缺点为刷新频率过高会导致显示模糊,因此需要通过设定一个显示刷新标志位,每次要刷新前先访问标志位,标志位允许刷新的话,再继续执行刷新程序更新字符型液晶显示模块。显示器上呈现的内容包含输入、时间、日趋以及提示等功能。同时对应着四个显示模块,为了可以减少空间使用量,一个显示程序往往嵌套功能去实现剩下的显示程序,但是由于调用复杂,需要进一步的调试,去除掉一些不必要的显示,系统的正常功能不受影响。为了避免刷新过快,程序每循环一次就会查询一次显示位的状态位,0则跳过,1则刷新。图4-1为显示流程。刷新之前需要先运行一下clear命令,将屏幕其他显示去除掉。将需要显示的数据先缓存在寄存器上,在进行写命令之前需要先确定该模块第七个状态位是否为0,如果为0,则说明目前显示模块可以接受输入。YEYESNO:0H=1?图4-1显示流程4.2.2系统初始化程序设计为了系统可以按照设计要求进行输入输出,需要进行正确的初始化。初始化的对象主要是寄存器、LCD字符型液晶显示模块。还要对确保AT24C02检查功能的正确实现以及给定合理的时间去进行提示报警。初始化具体过程为:相应的stack指针设为60H,在此时,我们需要把当中的中断允许控制寄存器设为,中断优先级寄存器设为;将字符型液晶显示模块进行初始化,如果初始化过程正确,那么结束后液晶显示模块上会给出相应的提示,根据给出的提示给出正确的报警时长,报警的时间可以从0秒到199秒中选择任意整数位进行设置,当选择最大值199秒后,默认报警一直持续到手动关闭为止。随后查验总线的设置是否正确,如果出现异常情况,会在字符型液晶显示模块上出现警告信息。终端初始化程序是从时钟处获取到相关时间信息,并把定时机制与中断机制打开,完成所有的初始化程序。图4-2初始化流程 4.2.3报警系统程序设计报警系统的主要作用是监督整个系统的运行情况,当发生异常时,报警系统会发出警报告诉系统使用者并对此次出现的异常进行日志记录。报警系统的主要是由两个中断机制组成的,其中外部中断0会对信号进行检测,发现系统异常后告诉外部中断1,由其发出警报,告知系统使用者。这两个中断优先级设置最高的是0,这样做的好处是可以同时发出异常警告和记录异常现象。第三章的硬件电路图中可知,当信号无法使系统正常运行的时候,电平为0,触发中断机制,同时会对该异常进行记录和发出警报告诉系统使用者。与此同时,字符型液晶显示模块上面会告知使用者异常状况和发生异常的时间。当系统使用者提前使用中断键或者报警时间设置在198秒之内,达到报警最大时长,警告会中断并进行复位,字符型液晶显示模块返回主屏页面。4.2.4查询记录程序设计系统的运行和警告的发生都会产生相应的日志,记录着系统的运行情况。为此需要设计一个查询记录的程序去阅读记录,观察系统的运行情况。查询的记录主要分为两个部分:一个是整个系统情况记录的查询;另一个是单通道。前者可以发现出现问题的具体地方或者通道,得知不正常运行的次数。通过对系统整体情况的记录查询,可以获得很多信息。查询的过程为图4-3。首先进行刷新显示,显示成功后会进行上/下一的操作,如果能够正常操作,则报名没有异常问题,否则会进入查询程序,如果能够正确查到所需要的信息,则查询没有问题,否则退出该查询程序。YESYESNONONOYESYESNOYES刷新显示刷新显示?上/下一路?查询?返回?跳到上/下一路图4—3总体查询流程当实现整个系统的查询工作完成后,需要对通道进一步的查询。详细查询发现通道存在异常后,便会对该通道进行查询,可以获得异常发生的时间节点并进行记录。因为容量有限,记录只会保留最早发生的异常和最近发生的异常。详细查询的程序会从系统整体情况查询中获得参数记录的地址和通道号并进行计算显示。
YESYESYESYESYESYESYESYESNONONONONOYESYESYESNONO计算、读取最早记录;显示记录扫描键盘删除记录?返回?删除数据结束扫描键盘删除记录?下一条?上一条?记录数为2?计算、读取第二条记录;显示记录返回?NO图4—4详细查询流程NO4.2.5删除记录程序设计如果异常发生过多,会产生大量的记录文件占用内存,为此需要设计一个删除程序去清楚不必要的记录,保证系统的容量空间。如果要全部去除掉内存中无用的记录,需要重新用写操作将无用记录进行覆盖,但这样频繁操作的话会减少内存的使用时间,为此只需要将记录的首地址抹去,指针丢失,剩下的可以用后面的记录来进行覆盖。图4-5为删除记录流程。NONOYESNOYES调整数据?当前删除号=记录数?图4—5删除记录流程4.2.6调整时间程序设计若是必须要改变当前的时间,需要找到时间信号存储的地方,本系统时间信号存储的位置为:40H-47H。将这一部分的内容进行修改,当这一部分内容被写入到始终里面,就会发生时间的调整。图4-6显示了如何去修改时间,具体流程为:开始时,进行时钟初始化的工作,关闭有关时钟的运行程序,然后进行始终信息的修改,先从最高位修改至最低位,此时修改完成后可以选择保存修改或者放弃修改,如果放弃修改则系统时钟没有变化,如果选择继续修改,内存里面的数据会被加载到时钟里面进行读取,完成对时钟信息的修改。YESYESNO? 图4—6修改时间总流程YESYESYESYESNONONOYESNO跳到日跳到日?跳到年?修改数据?确定/返回?图4—7月修改流程4.2.7定时中断0程序设计除了外部中断机制和手动中断机制,该系统还设置了定时中断机制,其在第四组寄存器的状态位控制,定时中断机制的流程如图4-8所示。具体流程为:当中断机制触发后会开始进行计时,计时主要是依赖R7的机制,R7没增加一位对应一定的时间,当发生二十次加一操作后,时间为1秒,然后把R7清零,进行循环记录时间,直到达到所设定时间。YESYESYESYESYESYESNONONOYESNO;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年教育集成人事外包协议
- 2025年河南省舞钢市高二生物下册期末考试测试卷【有一套】附答案
- 2025年江苏省昆山市高二生物下册期末考试考试卷及参考答案【基础题】
- 2026年山东省寿光市高二生物下册期末考试模拟卷带答案(基础题)
- 2026年四川省崇州市高二生物下册期末考试考试卷含完整答案(网校专用)
- 2026年江苏省高邮市高二生物下册期末考试检测卷及答案【易错题】
- 管线开槽及封堵方案
- 2026年福建省晋江市高二生物下册期末考试试卷【各地真题】附答案
- 2026年河北省新乐市高二生物下册期末考试考试卷附完整答案(全优)
- 2026年四川省邛崃市高二生物下册期末考试模拟卷带答案(新)
- 数据中心DCIM技术系统培训
- DBJ51∕T 219.9-2023 四川省物业服务标准 第9分册:居家养老服务标准
- 高中语文选择性必修下册文言文巩固与拓展小练习
- 食品安全与日常饮食智慧树知到期末考试答案章节答案2024年中国农业大学
- 水利工程工程施工机械台时费定额
- 山西省建设企业《物资管理》考试题库(含答案)
- 辽宁省大连市2023年英语小升初试卷(含答案)
- 【骆驼祥子思想艺术特色中的悲剧色彩(论文)】
- 2022-2023学年广西壮族来宾市兴宾区数学四年级第二学期期末达标检测模拟试题含解析
- GB/T 3098.6-2023紧固件机械性能不锈钢螺栓、螺钉和螺柱
- 航空发动机控制智慧树知到答案章节测试2023年中国民航大学
评论
0/150
提交评论