汽车安全无线监测系统的设计.doc

上传人:豆**** 文档编号:17251336 上传时间:2022-05-22 格式:DOC 页数:31 大小:290KB
返回 下载 相关 举报
汽车安全无线监测系统的设计.doc_第1页
第1页 / 共31页
汽车安全无线监测系统的设计.doc_第2页
第2页 / 共31页
点击查看更多>>
资源描述

《汽车安全无线监测系统的设计.doc》由会员分享,可在线阅读,更多相关《汽车安全无线监测系统的设计.doc(31页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流汽车安全无线监测系统的设计.精品文档.题 目 汽车安全无线监测系统的设计 学生姓名 谭 夕 林 学号 1113024060 所在学院 物 理 与 电 信 工 程 学 院 专业班级 通 信 工 程 专 业 1102 班 指导教师 薛 转 花 完成地点 物理与电信工程学院实验室 2015年6月5日毕业设计任务书院(系) 物理与电信工程学院 专业班级 通信1102 学生姓名 谭夕林 一、 毕业设计题目 汽车安全无线监测系统的设计 二、 毕业设计工作自 2014 年 12 月 9 日 起至2015年 6 月 20 日止三、毕业设计进行地点: 物理与电

2、信工程学院通信工程系实验室 四、毕业设计内容要求:设计目的与意义:汽车现已作为人们重要的交通工具,汽车安全系统一直都是人们比较关心的问题,对于汽车安全监测系统的研究是非常有必要的。本次设计要求学生根据所学知识完成汽车安全无线监测系统的设计,提高学生分析问题、解决问题的能力。 其具体要求如下: 1要求自选方案完成汽车安全无线监测系统的设计; 2要求采用软、硬结合的方式完成硬件电路的设计与仿真; 3. 安全监测要求从防火、防盗、防油和防气泄露等多方面考虑; 4. 要求完成硬件电路的搭建和系统整体性能测试,达到汽车安全无线监测的要求。 毕业论文要求: 1论文撰写要求格式规范,设计思路清晰,条理清楚;

3、 2外文翻译要求翻译语句通顺流畅,用词恰当; 3. 论文内容准确无误,用A4纸张打印。 进程安排如下: 2015年1月10日-3月15日: 查资料,调研,确定方案,并按时在系统中提交开题报告。 2015年3月16日-4月25日:对系统硬件电路进行模块化设计,采用编程语言进行软件编程, 完成硬件电路的软件仿真;在系统中提交外文翻译;完成中期检查报告。 2015年4月26日5月20日:进行系统硬件电路的搭建、调试和测试,完成毕业设计验收。 2015年5月21日-5月31日:完成毕业设计任务,并在系统中提交最终论文。 2015年6月1日-6月15日: 毕业设计答辩。 指 导 教 师 系(教 研 室)

4、 通信工程系 系(教研室)主任签名 批准日期 接受设计任务开始执行日期 学生签名 汽车安全无线监测系统的设计谭夕林(陕西理工学院 物理与电信工程学院 通信工程专业 2011级2班,陕西 汉中 723003) 指导教师:薛转花摘要城市交通中的汽车越来越多,汽车经常会出现不安全的情况,为了保证车主的人生财产安全,为其设计了一款具有自动监测汽车危险信息并且可以无线报警的监测系统。该系统硬件采用单片机STC89C52作为控制芯片,由传感器信息采集模块、输入模块、显示模块和GSM报警模块等电路组成。程序采用C语言进行编写,由KEIL软件编译下载入主控芯片。经过测试,该系统可以实现采集危险信息,通过单片机

5、处理判断是否有危险信号,再由单片机发送AT指令到GSM模块,最终由GSM模块发送报警信息至用户手机。关键词单片机;无线监测;报警;传感器 Design of wireless monitoring system for vehicle safetyTan xilin (Grade 2011,Class2,Major of Communication Engineering ,Dept of Electrinics and Information Engineering Shaanxi University of Technology,Hanzhong 723003,Shanxi)Tutor:X

6、ue ZhuanhuaAbstract Urban traffic are more and more cars, cars often unsafe, in order to ensure the safety of life and property owners, to design a with automatic monitoring vehicle risk information and wireless alarm monitoring system. The hardware of the system adopts STC89C52 microcontroller as t

7、he control chip, the sensor information collection module, input module, GSM display module and alarm module circuit.The program uses C language to write, from the KEIL software compile download the white chip.After testing, the system can realize the acquisition risk information, processing through

8、 the MCU to judge whether there is a danger signal, the microcontroller sends commands to the GSM module, eventually by the GSM module to send alarm information to the users mobile phone.Keywordssingle chip microcomputer;wireless surveillance;alarm;sensor目录1.引言12. 方案论证及选择22.1 方案一22.2 方案二32.3 方案选择33.

9、 硬件电路的设计43.1 单片机最小系统43.2 电源系统电路53.3 报警模块电路53.4 显示模块电路6 3.5 信息采集电路73.6 键盘模块电路93.7 GSM模块93.8系统整体原理图104. 系统软件设计134.1 软件设计思路134.2 软件设计流程图144.3 软件调试144.3.1 Keil软件简介144.3.2 Keil软件的运行流程155. 系统硬件电路调试及结果分析225.1 系统硬件电路搭建225.2 系统硬件电路调试225.3 系统硬件电路运行结果236. 总结与展望256.1 总结256.2 展望25致谢26参考文献27附录A 英文文献原文28附录B 英文文献译文

10、33附录C 系统源程序38附录D 元器件清单581. 引言 随着时代日新月异的发展,生活水平大大的提高,各种客运货车及私家车越来越多,交通事故和汽车本身的安全就成为了我们不能忽视的问题。因此汽车的无线安全监测技术也随着市场需求、安全标准发展了起来。这样一来,能够有效的减轻人员财产的损失。现如今,各大新闻媒体经常报道有汽车自燃,易爆,易盗的消息,人们不觉的对汽车自身安全问题开始产生怀疑,而这次课题的研究目的,就是为了减少这一现象的发生,将汽车安全问题降至最小最低,通过现代的无线监测技术,把故障和危险扼杀在摇篮里,能让驾驶者迅速找到安全隐患的位置所在,从而减少人员和财产的损害。现如今,汽车无线安全

11、监测系统有很多,但都只是单一的方面进行预防其不安全的因素,比如有的系统只防盗,有的系统只防火,有的系统只防漏气等等。(1)防盗系统常采用的技术有智能语音平台,用户不需要记住任何控制命令,按语音提示即可电话操作,汽车一旦发生警情,系统会通过GSM网络给你打电话,语音告诉你具体警情;电话监听,系统报警时,车主可按照语音提示发出相应指令。监听车内动静便于确认警情。平时也可随时拨打“车载系统”号码1。输入车主密码后,监听车内动静;不论您身在何地只要处于GSM网络覆盖的地方,便可如身临其境般地了解你的爱车所处的状态,行驶在什么地方,门锁状态是否打开,发动机是否运转。用手机、座机或小灵通可远程监听车内的每

12、一点细小的声音,更能对车辆进行远程控制,开、关门锁、远程启动汽车、控制停车,手机24小时全天候、全方位地监控汽车。(2)防火系统常采用自动检测与自动电话拨号报警,自动检测是指由红外探测与微波探测器构成的双鉴探测器实现盗情检测,同时由温度探测器、光电感烟探测器和一氧化碳探测器集为一体的复合式火灾探测器完成火情检测。多传感器的应用实现了低误报率,增强了系统可靠性。从现如今的报警装置来看,所有的无线安全监测装置都是相互独立的,没有集成与一体,在未来的研究和发展过程中,所有的这样安全监测装置都会将迈进新的革新阶段,所有的无线安全监测装置都将采用统一的系统进行管理,不仅方便,而且成本相对较低,面对用户也

13、会有全新的体验,简单的操作和快速的排除隐患是最重要的2。基于这种现象,设计一种功能完全,操作简单的无线安全的监视系统十分重要。本设计主要运用结合单片机控制各部分传感器,由传感器采集数据通过单片机芯片分析,根据提前所设定的临界值进行判断,然后做出相应的措施,实现蜂鸣报警,再由GSM模块发送信息至用户端。简单实用的操作步骤在用户体验上得到了认可。此次设计主要应用于汽车的安全防护,可运用于私家车,货车,客运车等等。对保证人们的人身安全,财产安全起到了至关重要的作用,通过及时报警的方式,向使用者发出信号,不同的信号有着不同的作用,能够让隐患及时的排除。本次设计的理念是用最节约的耗材,最容易实现的系统,

14、做到环保绿色的防护措施。相对于其他报警器,它具有所有功能集一身的优点,系统的实现所有需要的防护功能。2. 方案论证及选择本次设计主要解决的问题是在危险情况下第一时间能够发出报警信号,让人们接收到信号后从而排除危险和故障。主要的设计思路是由主要的信号发射部分与信号的接收部分组成,由于不同的危险故障采用不同的模块进行监测,所以需要不同的信号进行识别接受,最终反馈到使用者。 2.1 方案一 采用单片机核心芯片,以各部分传感器作为外围电路,加上GSM模块作为发送信息的器件,通过编辑好的程序来控制各部分为其功能的实现。 CPU复位及设置电路信号检测电路GSM报警电路LCD1602发光 显示A/D驱动驱动

15、 图2.1 方案一总体设计框图整个系统是在系统软件控制下工作的,预设的临界值若超出其范围,则该部分的传感器接受的信号变换成电信号,最终送至STC89C52单片机。在单片机内,经软件查询、识别判决等环节实时发出危险报警状态控制信号。驱动电路将控制信号放大并推动报警设备完成相应动作。 2.2 方案二 采用单片机作为核心芯片,各部分传感器作为外围采集信息电路,不同的是要借助车载电话作为通知用户的工具。 图2.2 方案二总体设计框图当危险信号检测到电路有危险信号时,即发出触发信号作为报警信号,经过放大送入CPU,准备报警。CPU首先检查铃流信号检测电路的输出情况,CPU指示车载电话摘机,发送DTMF电

16、话号码,呼叫预设的用户受话方,此时会出现两种情况,受话方占线或受话方振铃。若出现第一种情况,系统进入模拟挂机并延时后再次摘机拨号;如果出现第二种情况,即开始发送录制在APR9600中的语音报警信号,最后挂机。 2.3 方案选择 综合上述两种方案,各有优缺点。其中方案一适合较低成本的设计,GSM发送短信的报警方式准确,方便快捷,而方案二当中必须要结合汽车中的车载电话系统对其重新定义和设计,难度要求比较大,花费代价高,而且有的汽车还没装有车载电话,即使设计出此产品也投入不了使用。所以,采用方案一来完成此次设计。3. 硬件电路的设计3.1 单片机最小系统 STC89C52单片机最小系统电路 图3.1

17、 最小系统电路图STC89C52单片机简介:STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案3。 该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另

18、外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止4。最高运作频率35Mhz,6T/12T可选。 与atmel的对比 STC89C52RC单片机: 8K字节程序存储空间; 512字节数据存储空间;内带4K字节EEPROM存储空间; 可直接使用串口下载; STC89S52单片机: 8K字节程序存储空间;256字节数据存储空间;没有内带EEPROM存储空间。3.2 电源系统电路本系统采用9V的GSM

19、模块进行供电。同时最小系统里加入了7805三端稳压块,输出电压为正5V。它是将功率调整管、取样电阻、基准放大、误差放大、启动及保护电路等全部集成。能提供稳定的电压,单片机能在稳定的电压正常工作,同时能防止热过载起到保护单片机的作用。 GSM模块集成了稳压模块,9V变压器能提供它所要工作的电源。 图3.2 电源系统电路3.3 报警模块电路 声音报警电路采用5V蜂鸣器,该蜂鸣器声音响亮,成本低,耗能低,适合实验。 图3.3 报警模块电路3.4 显示模块电路 图3.4 显示模块电路 由于设置各报警的临界值需要显示,而且测试热释电红外知道是否为高/低电平的提示信息,所以选用能够同时显示1602即32个

20、字符的LCD液晶屏进行数据的显示,它是一种用以显示数字、符号以及字母的由点阵组成的液晶模块,它是由若干个57的点阵组成字符位,每个由点阵组成的字符位可以对一个字符进行显示,在其各个字符位之间有一定的间距,上下两行字符位之间也有一定的间距,这两个空位分别就是字符间距和行间距,液晶屏在使用前需要进行清屏等初始化操作。3.5 信息采集模块 3.5.1 红外传感器 图3.5 红外传感器原理图 热释电红外传感器(简称PIR)是80年代发展起来的一种新型高灵敏度探测元件。它能以非接触形式检测出人体辐射的红外线能量的变化,并将其转换成电压信号输出。将这个电压信号加以放大,便可驱动各种控制电路,如作电源开关控

21、制、防盗防火报警、自动览测等,人体辐射的红外线中心波长为910-um,而探测元件的波长灵敏度在0.220-um范围内几乎稳定不变。在传感器顶端开设了一个装有滤光镜片的窗口,这个滤光片可通过光的波长范围为710-um,正好适合于人体红外辐射的探测,而对其它波长的红外线由滤光片予以吸收,这样便形成了一种专门用作探测人体辐射的红外线传感器,本传感器是整个系统的关键,只有本传感器才能感应到人体红外线5。 当车内有人入侵的时候,热释电可以感应到人的存在,所以的热释电红外都有一定的灵敏度,下面是本次采用热释电红外传感器的感应大致范围6。表3.1 热释电感应有效范围范围/m 序号 2.5 3.4 3.8 4

22、.3 4.9 5.4 5.7 6.3 6.5 7. 0 1 报警 报警 报警 报警 报警 报警 报警 报警 无报警 无报警 2 报警 报警 报警 报警 报警 报警 报警 报警 报警 无报警 3 报警 报警 报警 报警 报警 报警 报警 报警 无报警 无报警 4 报警 报警 报警 报警 报警 报警 报警 报警 无报警 无报警 5 报警 报警 报警 报警 报警 报警 报警 报警 无报警 无报警 6 报警 报警 报警 报警 报警 报警 报警 报警 报警 无报警 7 报警 报警 报警 报警 报警 报警 报警 报警 无报警 无报警 3.5.2 温度传感器 18B20具有温度检测和数据处理组成两部分。18

23、B20先初始化,当有个脉冲信号输入温度传感器时,温度传感器内的模块就会检测脉冲信号,将检测完的脉冲信号存储到存储器内,再第二个脉冲输入时,前一个存储的数据将会输出。 图3.6 温度传感电路 图3.7 外围引脚 3.5.3烟雾传感电路 图3.8 烟雾传感电路 烟感器内部采用离子式烟雾传感,离子式烟雾传感器是一种技术先进,工作稳定可靠的传感器,被广泛运用到各种消防报警系统中,性能远优于气敏电阻类的火灾报警器7。 它在内外电离室里面有放射源镅241,电离产生的正、负离子,在电场的作用下各自向正负电极移动。在正常的情况下,内外电离室的电流、电压都是稳定的。一旦有烟雾窜逃外电离室。干扰了带电粒子的正常运

24、动,电流,电压就会有所改变,破坏了内外电离室之间的平衡,于是无线发射器发出无线报警信号,通知远方的接收主机,将报警信息传递出去。 图3.9 烟雾传感器原理图3.6键盘模块电路 键盘设计可以采用8155等接口芯片来做键盘接口,在单片机端口资源不够用时可以采用,也可以采用专用的HD7279键盘、显示器接口芯片来做,这种方式在按键数或显示位数要求比较多的时候采用可以节省大量单片机接口资源和内存资源。由于本系统所使用到的单片机端口资源较少,端口资源充足,因而在设计键盘电路时,我们采用常用整个P0口来做一个4*4矩阵键盘,P1.0P1.3口作为行线,通过上拉电阻接+5V,被箝位在高电平状态,P1.4P1

25、.7口为列线,如图5-2所示。对键盘的扫描过程可分为两步:第一步是CPU首先检测键盘上是否有键按下;第二步是再识别是哪个键按下。对键盘的识别方法通常采用逐行(逐列)扫描法 图3.10 键盘模块电路3.7 GSM模块 GSM模块,是将GSM射频芯片、基带处理芯片、存储器、功放器件等集成在一块线路板上,具有独立的操作系统、GSM射频处理、基带处理并提供标准接口的能模块。GSM模块具有发送SMS短信,语音通话,GPRS数据传输等基于GSM网络进行通信的所有基本功能8。简单来讲,GSM模块加上键盘、显示屏和电池,就是一部手机。开发人员使用ARM或者单片机通过RS232串口与GSM模块通信,使用标准的A

26、T命令来控制GSM模块实现各种无线通信功能,例如:发送短信,拨打电话,GPRS拨号上网等。基于GSM模块产品的开发往往都是基于ARM平台,使用嵌入式系统进行开发。有些GSM模块具有“开放内置平台”功能,可以让客户将自己的程序嵌入到模块内的软件平台中。 随着GSM移动通信网络的迅速普及及和竞争的日益激烈,新技术和新业务的开发和应用已经提高到十分重要的位置,GSM模块作为一种主要的GSM网络接入设备,以得到越来越多的系统和制造商的重视9。GSM模块是继GSM手机外又一种非常重要的GSM移动通信系统终端设备。它是传统调制解调器与GSM无线移动通信系统相结合的一种数据终端设备。因此也叫无线调制解调器。

27、它的出现改变了传统的以话音为主的通信手段。在应用上,凡是使用调制解调器的地方大多数可以用GSM替代。 单片机通过RS232串口与GSM模块通信,使用标准的AT命令来控制GSM模块实现各种无线通信功能,例如:发送短信,拨打电话,GPRS拨号上网等。基于GSM模块产品的开发往往都是基于ARM平台,使用嵌入式系统进行开发。有些GSM模块具有“开放内置平台”功能,可以让客户将自己的程序嵌入到模块内的软件平台中。 图3.11 GSM结构图 本设计由单片机与GSM模块通过串口连接。通过温度,烟雾,红外传感器检测到危险信号时,经过单片机处理数据,将检测到的信号通过串口通信,由单片机将数据传输给GSM模块,G

28、SM将接收到的数据,通过AT指令发送到客户手机接收端10。运用GSM模块能及时迅速的实现无线报警。3.8 系统整体原理图 图3.12 总体电路PCB图 图3.13 整体电路图 根据此次毕业设计的总体设计电路图,制作了如上所示PCB图,此次毕设分采集信息端电路和信息处理端电路两大部分,使用模块相对简单,焊接也相对易操作,所以可直接进行焊接不需要使用PCB制板。4. 系统软件设计4.1 软件设计思路 本次设计主要由STC89C52单片机进行控制,主要过程:首先将插入SIM卡的GSM连接至单片机,并达到供电的效果,然后由LCD显示将烟雾和温度的临界报警值通过4*4键盘设定好,各模块运行正常时开启布防

29、状态,此时,就进入到了防危险状态,当有某一监测的值超过预设的值的时候,蜂鸣器发生报警,LCD显示屏上会显示该报警的类型,并且单片机AT命令控制GSM运作,将信息发送给用户端,短信内容也可提示用户该报警的类型。程序的设计主要分为主程序和矩阵键盘扫描子程序、存储子程序、判断子程序、显示子程序、发送信息子程序,信息内容子程序等(1)矩阵键盘扫描子程序矩阵键盘扫描程序包括对矩阵键盘的每一行和每一列的扫描,对键盘的扫描过程可分为两步:第一步是首先检测键盘上是否有键按下;第二步是再识别是哪个键按下。对键盘的识别方法通常采用逐行(逐列)扫描法。先判断是否有键按下,当有键按下时,先判断在哪一列,确定列后,再判

30、断是在哪一行,由此坐标确定被按下的键,当无按键按下时,则循环执行键盘扫描保持键盘扫描11。(2)LCD显示子程序LCD显示子程序主要负责将键盘上的数字键和功能键的输经MCU处理后入送入LCD,使其显示不同的字符串提示用户处于哪种状态,提示用户下一步该如何继续操作,告知用户处于哪种危险警报下等。(3)报警子程序通过单片机相应I/O口按一定时序交替输出高低电平就可以控制发光二极管的亮灭和蜂鸣器的鸣叫来告知用户危险情况已经发生12。(4)各模块驱动子程序驱动各传感器进行采集信息等操作,将采集到的信息反馈到单片机,最终由单片机分析处理得出相应的操作,操作过程由主程序控制。(6)发送信息子程序 经过单片

31、机处理后的信息,由单片机判断后,若需要发送报警信号,单片机同时控制GSM模块将信息发送出去,若不需要发送报警信号,GSM模块一直处于待发状态,直到接受到单片机的发送指令13。(7) 信息内容子程序 GSM模块向用户发送的报警信息,需要进行程序编辑,所发送的内容要确保准确,每一种报警都有特定的报警内容。(8)主程序对各个功能子程序进行调用,统一协调安排单片机工作。4.2 软件设计流程图开始 是否 信号采集 各传感器预热 单片机处理LCD和GSM初始化重新布防判断是否有危险 信 号发送手机信息 结束 图4.1 系统主流程序图 上面所示的流程图中,清楚的展现了汽车安全无线监视系统的执行过程,具体设计

32、操作的软件流程的过程及各个功能如何工作、各个部分如何进行选择实现,流程一目了然,可操作性强,相应的程序见附录C系统源程序。4.3 软件调试4.3.1 Keil软件简介 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代

33、码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势14。下面详细介绍Keil C51开发系统各部分功能和使用。 Keil C51单片机软件开发系统的整体结构C51工具包的整体结构,其中uVision与Ishell分别是C51 for Windows和for DOS的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE 本身或其它编辑器编辑C 或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)16。ABS文件由OH51转换成

34、标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM 中。 Keil IDE Vision3集成开发环境主要由以下部分组成: (1)Vision3 IDE。Vision3 IDE主要包括:一个功能丰富并含有交互式错误提示的编辑器选项设置生成工具,一个工程管理器,以及在线帮助功能。Vision3可以自动完成编译汇编链接程序的操作,使用vision3创建源文件并组成应用工程加以管理; (2) BL51链接器定位器。L51链接器使用由编译器汇编器和从库中提取出来的目标模块生成的目标模块创建一个绝

35、对地址目标模块,绝对地址目标文件或模块包括不可重定位的代码和数据所有的代码和数据都被固定在具体的存储器单元中。 (3) LIB51库管理器。B51库管理器可以从由编译器和汇编器创建的目标文件中建立目标库,这些库是按规定的格式排列的目标模块,可以在被链接器所使用且当链接器处理一个库时仅仅使用了库中程序,使用的目标模块而不是全部加以引用17; (4) C51编译器和A51汇编器。Vision3 IDE创建的源文件可以被A51汇编器或C51编译器处理生成可重定位的object文件。KEIL C51编译器遵照ANSIC语言标准支持C语言的所有标准特性,另外还添加了几个可以直接支持80C51结构的特性。

36、KEILA51宏汇编器支持80C51及其派生系列的所有相关指令集。4.3.2 Keil软件的运行流程 Keil是目前进行51单片机开发最常用的编译软件。关于Keil的使用,有很多的资料介绍,这里只介绍其整个编译过程,在最短时间内开始使用Easy 51DP-2开发板。对于Keil更详细的介绍,可以参考一些专门书籍资料。在Keil里,每一个完整的程序,都是以一个工程的形式建立的。一个工程里可以有一个或多个*.c文件和*.h文件,但只可以有一个main()函数18。一般的做法是将包含main()函数的C文件加入到工程中,其他文件以#include头文件的形式加到这个C文件里。这样,在编译的时候,其他

37、的文件会被自动的导入到工程里来。打开Keil软件后,出现(图4.3)所示界面。当然,如果Keil在上次关闭时有打开的工程,再一次打开时它会自动加载上一次的工程文件。图4.3 Keil软件主界面 首先点击Project-New Project(Project-Open Project为打开一个已经存在的工程),如图4.4所示。图4.4 Keil软件打开新工程界面 点开后,在出现的对话框中选择工程存在路径,单击“保存”后,出现(如图4.5所示)界面。在此界面上选择电路板上所用的单片机型号:Atmel STC89C52(或者是AT89S52,视开发板上具体型号而定),单击“确定”。图4.5 选择电路

38、板上所用的单片机型号 设置完成后,软件会提示“是否将8051上电初始化程序添加入工程?”如图4.6所示,这个一般选择“否”。(关于STARTUP.A51的相关内容可查阅相应资料)图4.6是否将8051上电初始化程序添加入工程 这样,就建立了一个空的51工程。接下来的事,就是在这个工程里面加入自己的程序代码。点击,或者File-New,便建立了一个空的文本框。现在,就可以开始在里面输入你的代码了。保存时注意:如果是用C语言写的程序,则将文本保存成*.c,如果是用汇编写的程序,则将文本存成*.asm。 到目前为步,我们已经建立了一个工程,也写了一个程序代码。但现在还不能开始编译。因为还没有将程序代

39、码添加到工程里面去。 下一步就是将写完的程序添加到工程里面,如图4.7所示,在左边Project Workspace里的Source Group 1上右击,选择Add Files to Group Source Group 1。在打开的对话框中,选择刚存的文件路径和对应的扩展名。这样,程序就添加进了这个工程。图4.7 添加文件到工程中 下一步,就开始编译刚输入进去的代码。点击工具栏中的按钮。接着,Keil会打出下面的提示:Build target Target 1assembling led.asm.linking.Program Size: data=8.0 xdata=0 code=100

40、first - 0 Error(s), 0 Warning(s).其中“first - 0 Error(s), 0 Warning(s).”说明现在的工程编译通过,0个错误和0个警告。建立工程的时候,默认是不生成HEX文件的,得在编译做如下设置:单击,或者在Project Workspace里Target 1上右击,选择“Options for Target Target 1”。出现如图21所示对话框,选择“Output”按图示,将箭头所指的多选框勾上,点“确定”19。现在再点击重新编译,系统提示:“creating hex file from first.”。便会在工程所在文件夹里生成HEX

41、文件。图4.8 生成HEX文件 使用Debug进行调试。 Keil有很强大的调试功能,可以显示C程序的反汇编代码、可以计算代码运行的时间、可以显示程序中某一变量的值能用好这个调试工具对编写单片机程序会有很大的帮助。同样的,在这里,只对Debug进行简单应用介绍,更详细的使用方法可以参看相关书籍资料。图4.9 调试前设置窗口 首先,单击,弹出如图4.9所示对话框,在Target页面上设置对应的晶振频率。其他不用作修改。设置完成后,单击,进入调试界面(如图4.10所示)。图4.10 Keil调试界面 点击中对应的工具按钮则可以开始调试。另外,“View”下的三个工具在调试中会经常用到如图4.11所示,“Disassembly Window”显示C文件的反汇编程序;“Watch & Call Stack Window”可以显示程序中某一变量的值;“Memory Window”可以显示内存中某一地址的值20。图4.11 三个常用的调试工具

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com