热释电人体感应红外报警器设计制作——毕业设计(编辑修改稿)内容摘要:

提高输出高电平的值。 时钟电路好比单片机的心脏,它控制着单片机的工作节奏。 时钟电路就是振荡电路,是向单片机提供一个正弦波信号作为基准,决定单片机的执行速度。 XTAL1 和 XTAL2 分别为反向放大器的输入和输出 , 该反向放大器可以配置为片内振荡器。 如采用外部时钟源驱动器件, XTAL2 应不接。 因为一个机器周期含有 6 个状态周期,而每个状态周期为 2 个振荡周期,所以一个机器周期共有 12 个振荡周期,如果外接石英晶体振荡器的振荡频率为 12MHZ,一个振荡周期为 1/12us。 按键控制电路 本电路的设计就是为了控制电路中布防和紧急状态下不同的工作形式,当按下布防按键后, 30 秒后进入监控状态,当有人靠近时,热释红外感应到信号,传回给单片机,单片机马上进行报警。 当遇到特殊紧急情况时,可按下紧急报警键,蜂鸣器进行报警。 如图 38 所示。 S2 S3GNDS4P10P11P12 图 38 按键部分 12 指示灯和报警电路 在单片机的 I/O 里会输出高低电平 ,在 P P21 和 P22 分别接上 LED 指示灯而 P23 接上蜂鸣器而蜂鸣器外接个 8550 的三极管起到开关作用,当三极管达到饱和状态下就驱动了蜂鸣器工作了。 B1蜂鸣器Q18550VCCGND+R32KP23 图 39 指示灯和报警电路 软件的程序实现 报警判断程序 来的脉冲信号后,表示有人闯入监控区,从而经过单片机内部程序处理后,驱 13 动声光报警电路开始报警,持续报警 ,然后程序开始循环工作 , /******************红外报警处理 **********************/ void hongwai_dis() { if(flag_alarm == 1) //报警 { red = ~red。 //红灯报警 beep = ~beep。 //蜂鸣器报警 } if(flag_bufang_en == 1) //准备开始布防 { green = ~green。 //绿灯闪 } if(flag_bufang == 1) //确认布防 { green = 0。 //如果延时布防成功 绿灯长亮 if(hw == 1) //红外有输出 { flag_alarm = 1。 } } } 程序 编写与 调试 Keil 编译器软件简介 Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C语言软件开发系统,与汇编相比, C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。 用过汇编语言后再使用 C 来开发, 体会更加深刻。 Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows 界面。 另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到 Keil C51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。 在开发大型软件时更能体现高级语言的优势。 下面详细介绍 Keil C51 开发系统各部分功能和使用。 14 图 15 C51 工具包整体结构图 Keil C51 单片机软件开发系统的整体结构 C51 工具包的整体结构,如图 所示,其中 uVision 与 Ishell 分别是 C51 for Windows 和 for DOS 的集成开发环境 (IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。 开发人员可用 IDE 本身或其它编辑器编辑 C 或汇编源文件。 然后分别由 C51 及 A51 编译器编译生成目标文件 (.OBJ)。 目标文件可由 LIB51 创建生成库文件,也可以与库文件一起经 L51 连接定位生成绝对目标文件 (.ABS)。 ABS 文件由 OH51 转换成标准的 Hex 文件,以供调试器 dScope51 或 tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如 EPROM 中。 使用 Keil 软件建立一个工程 Keil 是目前进行 51 单片机开发最常用的编译软件。 关于 Keil 的使用,有很多的资料介绍,这里只介绍其整个编译过程,在最短时间内开始使用 Easy 51DP2 开发板。 对于 Keil 更详细的介绍,可以参考一些专门书籍资料。 在 Keil 里,每一个完整的程序,都是以一个工程的形式建立的。 一个工程里可以有一个或多个 *.c 文件和 *.h 文件,但只可以有一个 main()函数。 一般的做法是将包含 main()函数的 C文件加入到工程中,其他文件以 include 头文件的 形式加到这个 C 文件里。 这样,在编译的时候,其他的文件会被自动的导入到工程里来。 打开 Keil 软件后,出现(图 16)所示界面。 当然,如果 Keil 在上次关闭时有打开的工程,再一次打开时它会自动加载上一次的工程文件。 15 图 16 Keil 软件主界面 首先点击 ProjectNew Project„( ProjectOpen Project„为打开一个已经存在的工程),如图 17 所示。 图 17 Keil 软件打开新工程界面 点开后,在出现的对话框中选择工程存在路径,单击“保存”后,出现(如图18 所示)界面。 在此界面上选择电路板上所用的单片机型号: Atmel STC89C52(或者是AT89S52,视开发板上具体型号而定),单击“确定”。 16 图 18 选择电路板上所用的单片机型号 设置完成后,软件会提示“是否将 8051 上电初始化程序添加入工程。 ”如图 19所示,这个一般选择“否”。 (关于 的相关内容可查阅相应资料) 图 19 是否将 8051 上电初始化程序添加入工程 这样,就建立了一个空的 51 工程。 接下来的事,就是在这个工程里面加入自己的程序代码。 点击 ,或者 FileNew,便建立了一个空的文本框。 现在,就可以开始在里面输入你的代码了。 保存时注意:如果是用 C语言写的程序,则将文本保存成 *.c,如果是用汇编写的程序,则将文本存成 *.asm。 到目前为步,我们已经建立了一个工程,也写了一个程序代码。 但现在还不能开始编译。 因为还没有将程序代码添加到工程里面去。 下一步就是将写完的程序添加到工程里面,如图 20所示,在左边 Project Workspace里的 Source Group 1 上右击,选择 Add Files to Group ’ Sou。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。