红外报警器毕业设计 - 图文 联系客服

发布时间 : 星期日 文章红外报警器毕业设计 - 图文更新完毕开始阅读f541710f2f60ddccda38a039

动声光报警电路开始报警,持续报警,然后程序开始循环工作,

/******************红外报警处理**********************/ 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;

//红外有输出

3.6 程序编写与调试

3.6.1 Keil编译器软件简介

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。

13

图15 C51工具包整体结构图

Keil C51单片机软件开发系统的整体结构C51工具包的整体结构,如图3.1所示,其中uVision与Ishell分别是C51 for Windows和for DOS的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE 本身或其它编辑器编辑C 或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM 中。

3.6.2 使用Keil软件建立一个工程

Keil是目前进行51单片机开发最常用的编译软件。关于Keil的使用,有很多的资料介绍,这里只介绍其整个编译过程,在最短时间内开始使用Easy 51DP-2开发板。对于Keil更详细的介绍,可以参考一些专门书籍资料。在Keil里,每一个完整的程序,都是以一个工程的形式建立的。一个工程里可以有一个或多个*.c文件和*.h文件,但只可以有一个main()函数。一般的做法是将包含main()函数的C文件加入到工程中,其他文件以#include头文件的形式加到这个C文件里。这样,在编译的时候,其他的文件会被自动的导入到工程里来。

打开Keil软件后,出现(图16)所示界面。当然,如果Keil在上次关闭时有打开的工程,再一次打开时它会自动加载上一次的工程文件。

14

图16 Keil软件主界面

首先点击Project->New Project?(Project->Open Project?为打开一个已经存在的工程),如图17所示。

图17 Keil软件打开新工程界面

点开后,在出现的对话框中选择工程存在路径,单击“保存”后,出现(如图18所示)界面。在此界面上选择电路板上所用的单片机型号:Atmel STC89C52(或者是AT89S52,视开发板上具体型号而定),单击“确定”。

15

图18 选择电路板上所用的单片机型号

设置完成后,软件会提示“是否将8051上电初始化程序添加入工程?”如图19所示,这个一般选择“否”。(关于STARTUP.A51的相关内容可查阅相应资料)

图19 是否将8051上电初始化程序添加入工程

这样,就建立了一个空的51工程。

接下来的事,就是在这个工程里面加入自己的程序代码。点击

,或者File->New,便

建立了一个空的文本框。现在,就可以开始在里面输入你的代码了。

保存时注意:如果是用C语言写的程序,则将文本保存成*.c,如果是用汇编写的程序,则将文本存成*.asm。

到目前为步,我们已经建立了一个工程,也写了一个程序代码。但现在还不能开始编译。因为还没有将程序代码添加到工程里面去。

下一步就是将写完的程序添加到工程里面,如图20所示,在左边Project Workspace里的Source Group 1上右击,选择Add Files to Group ’Source Group 1’。在打开的对话框中,选择刚存的文件路径和对应的扩展名。这样,程序就添加进了这个工程。

16