专业方向综合设计报告
3.4软件的程序实现
3.4.1主程序工作流程图
按上述工作原理和硬件结构分析可知系统主程序工作流程图如下图所示:
开始 布防按键按下 20秒倒计时开始 倒计时结束 N 检测到有无 信号 Y 紧急按键按下 Y 蜂鸣器报警,发光二级管闪烁 蜂鸣器报警 结束
图3-10主程序工作流程图
9
专业方向综合设计报告
3.5 报警判断程序
来的脉冲信号后,表示有人闯入监控区,从而经过单片机内部程序处理后,驱
动声光报警电路开始报警,持续报警,然后程序开始循环工作,
/******************红外报警处理**********************/ 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软件提供丰富的库函数
10
专业方向综合设计报告
和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。
图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在上次关闭时有打开的工程,再一次打开时它会自动加载上一次的工程文件。
11
专业方向综合设计报告
图16 Keil软件主界面
首先点击Project->New Project?(Project->Open Project?为打开一个已经存在的工程),如图17所示。
图17 Keil软件打开新工程界面
点开后,在出现的对话框中选择工程存在路径,单击“保存”后,出现(如图18所示)界面。在此界面上选择电路板上所用的单片机型号:Atmel STC89C52(或者是AT89S52,视开发板上具体型号而定),单击“确定”。
12
相关推荐: