低、制作简单等特点,故选方案二。
2.2.2 防盗功能模块方案实现
方案一:激光检测,激光检测是利用激光的单色性的相干性好和方向性强的特点,可实现高精度的。但激光的传播速度易受到空气的湿度、温度、压强等因素影响,优势不明显,而且成本相对较高,安装相对复杂。
方案二热释电红外传感器,该传感器采用热释电材料极化随温度变化的特性探测红外辐射,能有效的探测辐射信号,但主要工作在室内,易受到温度及阳光的影响。
方案三:反射式红外传感器,红外发射极发射出去的红外线遇到人的时候反射回来,红外线接收管对反射回来信号进行解调,输出比较电平。具有效果好,不易受到温度和室外环境的影响,故采用方案三。
2.3 软件设计方案
硬件各个模块的确定和对应芯片型号的的选择完成之后,系统的主要功能将依赖于软件实现。软件的设计应遵循结构化设计原则,在总体概况设计的基础上进行具体的详细设计,功能分解,模块划分,细化软件层次,优化软件结构,以达到模块功能的独立性,执行的高效性。总之,设计的程序应该达到可读性,可理解性,可维护性,有效性,可修改性。
该系统的软件设计采用了模块化设计的思想即将程序划分为若干个相对独立的功能模块,绘制与之相对应的流程图,并根据流程图编写程序,最终按照软件设计的总体结构框图,将各模块连接成一个完整的主程序。在主程序的设计中要合理地调用各模块程序。模块化设计的优点是:无论是硬件还是软件,每一个模块都相对独立,故能独立地进行设计、研制、调试和修改,从而使复杂的工作得以简化。模块之间的相互独立也有助于研制任务的分解和设计人员之间的分工合作,这样可提高工作效率和研制速度。
常用的编程语言语言有汇编语言和C语言两种。 (1)汇编语言
汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言,作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。高级的汇编器如MASM,
5
汽车防撞防盗报警器的设计
TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。用汇编编程可以更加准确的进行调试,更加贴近自己单片机课程所学知识,但编程复杂度很高,里面涉及到十进制与ASCII码的相互转换,另外还有比较复杂的计算,因此在这不采用。 (2)C语言
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。
C语言一共只有32个关键字,9种控制语句,程序书写形式自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。 C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。
在此选用C语言编程,一是因为学习时间比较长,熟练掌握,二是减少了编程及调试的时间,大大缩短了开发周期,明显增加软件可读性,便于改进和扩充,很大的减少编程复杂度。
2.4 系统原理框图
此系统是以单片机为控制核心,处理各个外部传感器检测得到的电平信号,其中外部信号由两部分得到:防撞检测模块、防盗报警。最后把处理结果传递给各个操作部件动作,使得到相应效果。如图2.1总体设计框图。
6
超声波模块 关电开关 键盘电路 单 片 机 声光报警 显示电路 点火锁定 电路 图2.1 总体设计框图
7
汽车防撞防盗报警器的设计
3 硬件设计
本系统硬件主要有六大模块组成:单片机控制模块、超声波检测模块、报警模块、显示模块、红外传感检测模块和点火锁定与解锁模块
3.1 单片机最小系统的设计
本模块采用51系列单片机作为核心处理器。AT89C52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。其应用范围广,性能良好,可用于解决复杂的控制问题。图3.1单片机管脚图。
图3.1 AT89C52
(1)主要特性: · 与MCS-51 兼容
· 4K字节可编程闪烁存储器
8
· 寿命:1000写/擦循环 · 数据保留时间:10年 · 全静态工作:0Hz-24Hz · 三级程序存储器锁定 · 128×8位内部RAM · 32可编程I/O线 · 两个16位定时器/计数器 · 5个中断源 · 可编程串行通道 · 低功耗的闲置和掉电模 · 片内振荡器和时钟电路 (2)管脚说明 VCC:供电电压。 GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校
9