工作后,复位可以继续给2个机器周期高功率,然后复位操作可以完成。本设计采用外接手动按键复位电路,该电路需要与拉阻连接,以提高输出电平的值。时钟电路就像单片机的心脏,控制着单片机的工作节奏。时钟电路是一个振荡电路,它提供一个正弦波信号作为基准来确定单片机的执行速度。的XTAL1和XTAL2是输入和反向放大器的输出,和反向放大器可以配置为一个内置振荡器。如果外部时钟源驱动时,XTAL2应不连接。因为一个机器周期包含6个状态周期,每个状态周期是2个振荡周期,所以机器周期有12个振荡周期。如果外部石英晶体振荡器的振荡频率为12MHz,振荡周期为1/12us。3.4.3按键控制电路关键模块由三个独立的按键组成:手动报警按钮、按钮、按钮取消报警。按下手动报警键:当出现特殊紧急情况时,按下紧急报警按钮,蜂鸣器发出报警信号,红色LED信号灯也会闪烁。按下按键保护:LED绿灯闪烁开始部署,直到绿灯亮起LED,代表结束部署(部署时间30秒)。此时如果身体通过传感器监测区域(监测距离5~7m,监控角度小于100度),热释电红外输出高电平,单片机的P1^3端口检测水平高,淡黄色的LED灯,通过监测地区的代表人,同时蜂鸣器报警。小偷入侵。按下取消报警键:蜂鸣器和指示灯进入初始状态。图3-8所示。图3-8按键部分3.4.4指示灯和报警电路报警电路是有红色led灯和蜂鸣器模块组成。报警指示灯是有单片机输出低电平驱动。蜂鸣器是用pnp型的功率驱动管S8550驱2动,当单片机P2^3口为低电平时,三极管S8550饱和导通,蜂鸣器发出报警声,当单片机P2^3口为高电平时,三极管S8550截止,蜂鸣器停止报警。电路图如图3-9所示:图3-9指示灯和报警电路3.5软件的程序实现3.5.1主程序工作流程图按上述工作原理和硬件结构分析可知系统主程序工作流程图如下图所示:图3-10主程序工作流程图3.5.2报警判断程序单片机对红外热释电传感器的入侵信号进行检测,并通过单片机的程序处理,分别驱动报警指示灯和蜂鸣器。反语句的使用使报警灯和蜂鸣器同时发出报警信号。如果没有人取消报警,程序将继续报警。/******************红外报警处理**********************/voidhongwai_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;}4}}3.6程序编写与调试3.6.1Keil编译器软件简介KeilC51是由Keil软件公司出品的51系列兼容的单片机C语言软件开发系统。与汇编语言相比,C语言在功能、结构、可读性和可维护性等方面都有明显的优势,便于学习和使用。使用汇编语言后,使用C语言开发,体验更深刻。keilC51软件提供丰富的库函数和强大的集成开发调试工具,所有windows接口。还有一点很重要,只要我们看一下编译好的编译代码,就能看到KeilC51生成的目标代码是非常有效的。大多数句子生成的汇编代码都很简洁易懂。在开发大型软件的过程中,先进语言的优势更加体现出来。详细介绍了KeilC51开发系统的功能和使用方法。图15C51工具包整体结构图在KeilC51软件开发工具包的整体结构C51系统的整体结构,如图3.1所示,其中uVision和程序是C51Windows和DOS的集成开发环境(IDE),可以编辑,编译,整个开发过程仿真。目标文件进行编译生成C51和A51编译器分别obj)。目标文件可以由LIB51创建,也可以位于通过L51连接库文件生成目标文件(绝对。ABS)。ABS文件转换从51到一个标准的HEX文件,这是用于调试dscope51或tscope51使用源代码调试。它也可以直接由模拟器调试,直接写入程序存储器,如EPROM。3.6.2使用Keil软件建立一个工程Keil是目前进行51单片机开发最常用的编译软件。关于Keil的使用,有很多的资料介绍,这里只介绍其整个编译过程,在最短时间内开始使用Easy51DP-2开发板。对于Keil更详细的介绍,可以参考一些专门书籍资料。在Keil里,每一个完整的程序,都是以一个工程的形式建立的。一个工程里可以有一个或多个*.c文件和*.h文件,但只可以有一个main()函数。一般的做法是将包含main()函数的C文件加入到工程中,其他文件以#...