1、 毕 业 设 计学生姓名学 号系 (部)专 业机电一体化技术题 目火灾报警器毕业设计指导老师 (姓 名) (专业技术职称/学位) (姓 名) (专业技术职称/学位)年9月摘 要:伴随现代家庭用火、用电量正在逐年增加,家庭火灾发生频率越来越高,火灾烟雾报警器也随之被广泛应用于多种场所。本设计是利用单片机结合传感器技术而开发了这一火灾烟雾报警系统。论文中关键烟雾报警器系统各个组成部分进行了介绍,对它主控电路和外围设备电路之间接口技术,还有软件方面进行了关键介绍。 关 键 词:报警器,80C51,声光传感器目 录1 绪论31.1 声光报警器发展及现实状况31.2 论文研究目标及意义41.3 论文内容
2、42 基于C51单片机声光报警设计方案52.1 任务分析52.2 设计方案53 系统硬件实现63.1 主控电路设计63.2 外围接口电路设计103.3 总电路设计164 软件实现184.1 编程KEIL环境介绍184.2 程序步骤184.3 程序195 调试215.1 调试步骤215.2 调试过程中碰到问题及处理方法22结 论24致 谢25参考文件261 绪论1.1 声光报警器发展及现实状况1.1.1 火灾探测技术 火灾作术为一个在时空上失去控制燃烧所引发灾难,对人类生命财产和社会安全组成了极大威胁。由此引发重大安全事故比比皆是,所以人类一直也未停止过对它研究。火灾发生和发展是一个很复杂非平稳
3、过程,它除了本身物理化学改变以外还会受到很多外界干扰,火灾一旦产生便以接触式(物质流)和非接触式能量流)形式向外释放能量。接触式形式包含可燃气体、燃烧气体和烟雾、气溶胶等。非接触式如声音、辐射等。火灾探测技术就是利用敏感元件将火灾中出现物理化学特征转换为另外一个易于处理物理量。多种探测器对应火灾物理参量及探测器图1-1所表示。图1-1 多种探测器对应火灾物理参量及探测器1.1.2 火灾探测器发展趋势探测器朝新探测技术发展深入拓展了火灾探测应用领域,为部分传统探测器无法胜任环境提供了有效手段。相关技术发展,如傅立叶近红外光谱技术弱信号处理技术、低功耗MCU技术深入促进了传统探测技术改善,使得传统
4、探测器在技术和性能上有了显著提升。火灾着极早期探测、多传感器复合探测和探测器小型化、智能化方向发展迈出了愈加快步伐。 近几年来,单片机已逐步深入应用到工农业生产各部门及大家生活各个方面。多种类型单片机也依据社会需求而开发出来。单片机是器件级计算机系统,实际上它是一个微控制器或微处理器。2因为它功效齐全,体积小,成本低,所以它能够应用到任何电子系统中去,一样,它也能够广泛应用于报警技术领域,使各类报警装置功效愈加完善,可靠性大大提升,以满足社会发展需要。1.2 论文研究目标及意义 目标:伴随现代家庭用火、用电量增加,家庭火灾发生频率越来越高。家庭火灾一旦发生,很轻易出现扑救不立即、灭火器材缺乏及
5、在场人惊慌失措、逃生迟缓等不利原因,最终造成重大生命财产损失。消防部门统计显示,在全部火灾百分比中,家庭火灾已经占到了全国火灾30%左右。家庭起火原因林林种种,可能在我们注意得到地方,也可能就隐藏在我们根本就注意不到地方。在现代城市家庭里,很多人因不懂家庭安全常识引发火灾事故,使好端端幸福家庭眼间毁于一旦,有造成家破人亡,而且一旦发生居民家庭火灾,处理不妥、报警迟缓,是造成人员伤亡关键原因。所以说,大家应该主动了解家庭火灾关键起因,还有预防火灾发生。这就是我们研究声光报警器目标。意义:在中国部分大中城市,几乎天天全部发生家庭火灾,所以防火是每个家庭必需时刻注意问题。假如能依据您家实际情况预先采
6、取简单防火方法,部分悲剧是完全能够避免。声光报警器对防家庭火灾,降低火灾损失含有现实意义。一系列火灾造成惨痛损失也使全国各界意识到了声光报警器必需性。据调查,在最近发生火灾大多数房屋全部没有安装报警器。所以,声光报警器在预防火灾发生上有着很重大意义。1.3 论文内容第一章 绪论 本章本关键介绍了声光报警器发展史及发展趋势。对声光探测器进行了系统性叙述。还有论文研究目标和意义进行了简单解释。第二章 基于C51单片机声光报警设计方案 本章是依据论文要求分析了论文关键任务。继而概括出整个设计关键思想和确定出设计方案。第三章 系统硬件实现 本章针正确是系统硬件是设计。在对整个系统硬件设计时,我们关键从
7、它主控电路80C51(单片机复位电路、时钟电路)设计和外围电路(声光报警电路、A/D转换电路)设计来具体介绍。还有对在设计中用到声光传感器进行了关键介绍。第四章 软件实现 本章是论文软件部分。其中,我们熟悉了整个程序设计运行环境keil。还有程序编写过程,对程序做了对应注释。第五章 调试 本章着重和软件调试。在运行环境中我们调试步骤和在运行中出现问题及处理方法。最终附上结束语(我感想)、谢辞和参考文件。2 基于C51单片机声光报警设计方案2.1 任务分析单片机应用系统能够分为智能仪器表和工业测控系统两大类,不管哪仪类,全部必需以市场需求为前提。所以,在系统设计前,首先要进行广泛市场调查,了解该
8、系统时常应用概况,以分析系统目前存在问题,研究系统时市场前景,确定市场开发设计目标和目标。简单地说,就是经过调研克服旧缺点,开发新功效。依据论文设计要求:熟悉Keil编程环境;熟悉相关探测器理论知识;给出设计方案;此次设计先从硬件设计上着手。先要整理出声光报警系统整体思绪。确定出方案设计中需要硬件设备。我们在确定了大方向基础上,就应该对系统实现进行计划。包含应该采集信号种种类、数量、范围,输出信号匹配和转换,传感器选择,技术指标确实定等。2.2 设计方案2.2.1 方案设计思想此次设计是针对于单片机原理及其应用展开。其中包含了我们大学三年中所学到相关知识,利用我们所学电工技术,传感器技术,单片
9、机技术去设计基于单片机声光报警系统。80C51单片机好比一个桥梁,联络着传感器和报警电路设备。当周围环境达成我们设定数值时,声光传感器把被测物理量作为输入参数,转换为电量(电流、电压、电阻等等)输出。物理量和测量范围不一样,传感器工作机理和结构就不一样。通常传感器输出电信号是模拟信号(已经有很多新型传感器采取数字量输出)。1当信号数值符合A/D转换器输入等级时,能够不用放大器放大;当信号数值不符合A/D转换器输入等级时,就需要放大器放大。而我们选择前者,不需要用放大器,选择数值符合A/D转换器输入等级,这么就能够简化整个系统设置。传感器将物理信号经过A/D转换器转化为能够利用识别电信号给单片机
10、,这里我们选择单片机P1.0为输入方法,接收到信号单片机经过程序设定会由P2.0作为单片机输出直接开启报警电路。此时,扬声器将发出高、低交替2种叫声,同时二极管发光,这就达成了声光报警效果。2.2.2 总体框图依据方案设计思想,我们从中就能够得到了声光报警系统总体框图图2-1所表示下:图2-1声光报警系统总体框图使用80C51单片机,选择声光传感器作为敏感元件,利用AD574A转换器和声光报警电路,开发了可用于家庭或小型单位火灾报警声光报警器。整个设计由4大部分组成:声光传感器、A/D转换电路、80C51单片机、声光报警电路。其中,声光传感器是将现场温度、声光等非电信号转化为电信号;转换电路是
11、将完成将声光传感器输出模拟信号到数字信号转换。声光报警模块由单片机和报警电路组成,由单片机控制实现不一样声光报警功效。综合考虑各原因,本文选择NIS-09声光传感器用作采集系统敏感元件。它灵敏度高,稳定性好,适合于火灾中气体探测。A/D转换器选择AD574A转换器。3 系统硬件实现3.1 主控电路设计硬件设计中最关键器件是单片机80C51,它首先控制A/D转换器实现模拟信号到数字信号转换,其次,将采集到数字电压值经计算机处理得到对应二进制代码,和设定值作比较。整个系统软件编程就是经过汇编语言对单片机80C51实现其控制功效。3.1.1 80C51系列80C51系列单片机产品繁多,主流地位已经形
12、成。多年来应用实践已经证实,80C51系统结构合理,技术成熟,很多单片机芯片倾力于提升80C51系列产品综合功效,从而形成了80C51主流产品地位,多年来推出和80C51兼容关键产品有:ATMEL企业融入Flash存放器技术推出AT89系列单片机;Philips企业推出80C51、80C552系列高性能单片机;华邦企业提出W78C51、W77C51系列高速低价单片机;ADI企业推出AdC8系列高精度ADC单片机;LG企业推出GMS90/97系列低压高速单片机;Maxim企业推出DS89420高速(50MIPS)单片机;Cygnal企业推出C8051F系列高速单片机。由此可见,80C51已经成为
13、实际上单片机主流系列,所以,此次设计选择80C51单片机。3.1.2 80C51基础结构80C51基础结构图3-1所表示图3-1 80C51基础结构由图可见,80C51单片机关键由以下部分组成:CPU系统 8位CPU,含布尔处理器;时钟电路;总线控制逻辑。存放器系统 4KB程序存放器(ROM/EPROM/Flash,可扩至64KB);128KB数据存放器(RAM,可再扩64KB);特殊功效寄存器SFR。I/O口和其它动能单元4个并行I/O口;2个16位定时/计数器;1个全双工异步串行口;中止系统(5个中止源,2个优先级) 3.1.3 80C51单片机封装和引脚80C51系列单片机采取双列直插式
14、(DIP).QFP44(Quad Flat Pack)和LCC(Leaded Chip Caiier)形式封装。这里仅介绍常见总线型DIP40封装。图3-2所表示。40个引脚按引脚功效大致可分为4个种类:电源、时钟、控制和I/O引脚电源: VCC - 芯片电源,接+5V; VSS - 接地端;图3-2 80C51单片机封装和引脚时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 控制线:控制线共有4根,ALE/PROG:地址锁存许可/片内EPROM编程脉冲 ALE功效:用来锁存P0口送出低8位地址 PROG功效:片内有EPROM芯片,在EPROM编程期间,此引脚输入编程脉冲。
15、PSEN:外ROM读选通信号。 RST/VPD:复位/备用电源。RST(Reset)功效:复位信号输入端。 VPD功效:在Vcc掉电情况下,接备用电源。 EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功效:内外ROM选择端。 Vpp功效:片内EPROM芯片,在EPROM编程期间,施加编程电源Vpp。I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还含有第二功效,用于特殊信号输入输出和控制信号(属控制总线)。3.1.4 80C51单片机时钟振荡器和时钟电路80C51内部有一个高增益反相放大器,用于组成振荡器,但要形成时钟脉冲,外部还需附加
16、电路。80C51时钟产生方法有以下两种。a 内部时钟方法利用芯片内部振荡器,然后在引脚XTALl和XTAL2两端跨接晶体振荡器(简称晶振),就组成了稳定自激振荡器,发出脉冲直接送入内部时钟电路。外接晶振时,Cl和C2值通常选择为30pF左右;Cl、C2对频率有微调作用,晶振或陶瓷谐振器频率范围可在1.2MHz12MHz之间选择。为了减小寄生电容,愈加好地确保振荡器稳定、可靠地工作,振荡器和电容应尽可能安装得和单片机引脚XTALl和XTAL2靠近。图3-3 80C51时钟电路接线方法b 外部时钟方法此方法是利用外部振荡脉冲接入XTALl或XTAL2。HMOS和CHMOS单片机外时钟信号接入方法不
17、一样。表3-1 80C51单片机外部时钟接入方法芯片类型接线方法XTAL1XTAL2HMOS接地接片外时钟脉输入端(引脚需接上拉电阻)CHMOS接片外时钟脉冲输入端悬空3.1.5 80C51单片机复位 在整个声光报警系统中,要进行试验,必需对整个系统先复位。复位是单片机初始化操作。单片机系统在上电开启运行时,全部需要先复位。其作用是使CPU和系统中其它部件全部处于一个确定初始状态,并从这个状态开始工作,所以,复位是一个很关键操作方法。但单片机本身是不能自动进行复位,必需配合对应外部复位电路才能实现。复位电路设计单片机外部复位电路有上电复位和上电和按键全部有效复位两种。我们在设计单片机复位时,选
18、择上电复位。上电复位上电复位利用电容器充电实现。图3-4是80C51单片机上电复位电路。图中给出了复位电路参数。图3-5是80C51单片机上电+按键复位电路。上电要求接通电源后,单片机实现自动复位操作。上电瞬间RST引脚取得高电平,伴随电容充电,RST引脚高电平将逐步下降。RST引脚高电平只要能保持足够时间(2个机器周期),单片机就能够进行复位操作。该电路经典电阻值和我电容参数为:晶振为12MHZ,电容值为10uF,电阻值为8.2K。图3-4 上电复位电路 图3-5上电+按键复位电路复位状态:初始复位不改变RAM(包含工作寄存器R0R7)状态,复位后80C51片内各特殊功效寄存器状态如表所表示
19、,表中“x”为不定数。 表3-2复位后内部特殊功效寄存器状态寄存器复位状态寄存器复位状态PC0000HTMOD00HACC00HTCON00HB00HTH000HBSW00HTL000HSP07HTH100HDPTR0000HTL000HP0P3FFHSCON00HIPxx000000BSBUFxxxxxxxxBIE0x000000BPCON0xxx0000B复位时,ALE和成输入状态,即ALE= 1,片内RAM不受复位影响。复位后,P0P3口输出高电平且使这些双向口皆处于输入状态,并将07H写入堆栈指针SP,同时将PC和其它专用寄存器清0。此时,单片机从起始地址0000H开始重新实施程序。所
20、以,单片机运行犯错或进入死循环时,可使其复位后重新运行。3.2 外围接口电路设计3.2.1 NIS-09声光传感器介绍 在设计中我们之所以选择NIS-09声光传感器,是因为它输出模拟量和我们所用A/D转换器输入等级相符合。(NIS-09声光传感输出电压是5.6+0.4v,A/D转换器输入量程是0+10V)声光传感器关键有以下两种:散射式 在发光管和光敏电阻之间设置遮光屏,无声光时光敏元件接收不到信号,有声光时使光敏元件发出信号。离子式用放射性同位素镅Am241放射出微量a射线,使周围空气电离,当平行平板电极间有直流电压时,产生离子电流Ik。有声光时,微粒将离子吸附,而且离子本身也吸收a射线,其
21、结果是离子Ik减小。若有一个密封装有纯净空气离子室作为参比元件,将二者离子电流比较,就能够排除外界干扰,得到可靠检测结果。 在此次设计中,我们选择NIS-09声光传感器。它是离子式烟雾传感器,是日本NEMOTO企业专为检测延误而精心设计新型传感器。3检测方法:离子型,一源两室。放射参数:电源电压是DC 9v,输出电压是5.6+0.4v 电流损耗是27+3pA ,灵敏度是0.6+0.1v。特征参数以下表所表示:a灵敏度特征 (依据UL217标准风速0.1M/秒)b电源电压特征(25 60RH)c温湿度特征 温度特征(温度60)d温度特征(温度25)源: 放射元素是媚241,放射量是平均33.3K
22、Bq.=0.9uCi(29K37KBq)。工作环境: 电源电压是DC6.0-18.0V,最大24V;温度是0-50,最大-10-60,温度95。保留温度-25-80,温度95。经典特征:表3-3 特征参数声光强度 (%英尺)输出电压(V)误差(V)05.60.4015.30.50.30.125.00.50.60.134.70.50.90.244.40.51.20.254.20.51.40.2电源电压输出电压(V)63.30.395.60.4128.00.71510.00.851813.01.0 (a) 灵敏度特征 (b)电源电压特征温度()输出(V)05.150.4255.60.4505.85
23、0.4湿度(%C)输出(V)305.750.5605.60.4905.450.4 (C) 温度特征 (d)温度特征长久稳定性测验以下表所表示:表3-4 长久稳定性测验名称方法标准高温储存特征高温805不通电情况下储存72小时保持特征参数不变,不变形、不变色、不产生裂纹低温储存特征低温-3005不通电情况储存72小时保持特征参数不变,不变形、不变色、不产生裂纹高温储存特征在405,855RH不通电情况储存72小时保持特征参数不变,不变形、不变色、不产生裂纹震动试验共振频率10-35HZ,振幅5HZ0.25,假如不产生共振,则用频率35HZ震荡4小时保持特征参数不变,不变形、不变色、不产生裂纹跌落
24、试验三个不一样方向把器件从1M高度自由落体跌落到木板上保持特征参数不变,不变形、不变色、不产生裂纹3.2.2 AD574A介绍AD574A型快速12位逐次比较式AD转换器为美国模拟器件企业产品。一次转换时间为25s,转换速率为40MSPS,分辨率12位,非线性误差小于1/2LSB。采取28脚双立直插式封装,各引脚功效图3-6所表示,图3-7是其管脚 图3-6 D574A引脚功效图3-7 管脚图AD574A引脚功效:DB11DB0:12位数据输出线。DB11为最高,DB0为最低,它们可由控制逻辑决定是输出数据还是对外成高阻状态。12/8:数据模式选择。当此引脚输入为高电平时,12为数据并行输出;
25、当此引脚为低电平时,和引脚A0配合,把12位数据分两次输入。应该注意,此引脚不和TTL兼容,若要此引脚为高电平,应直接按脚1;若要此引脚为低电平,应接引脚15.A0:字节选择控制。此引脚有两个功效,一个功效是决定方法是12位是8位。若A0=0,进行全12位转换,转换时间为25us;若A0=1,仅进行8位转换,转换时间为16us,另一个功效是决定输出数据是高8位还是低4位。若A0=0,高8位数据有效;若A0=1,低4位有效,中间4位为“0”,高4位为高阻状态。所以,低4位数据读出时,应遵照左对齐标准(即:高8位+低4位+中间4位0000)。CS:芯片选择。当CS=0时,AD574A被选中;不然A
26、D574A不进行任何操作。R/C:读/转换选择。当R/C=1时,许可读取结果;当R/C=0,许可A/D转换。CE:芯片开启信号。CE=1时,许可读取结果,到底是转换还是读取结果和R/C相关。STS:状态信号。STS=1表示正在进行A/D转换,STS=0表示转换已完成。REFOUT:+10V基准电压输出。REIN准电压输入。只有此脚把从“REFOUT”脚输出基准电压引入到AD574A内部12位DAC(AD565),才能进行正常A/D转换。BIPOFF:双极性赔偿。此引脚合适连接,可实现单极性或双极性输入。10VIN:10V量程模拟信号输入端。对单极性信号为10V量程模拟信号输入端,对双极性信号为
27、5V模拟信号输入脚。20VIN:20V量程输入端。单极性信号为20V量程模拟信号输入端,对双极性信号为10V量程模拟信号输入脚。DG:数字地。各字电路(译码器、门电路、触发器等)及“+5V”电源地。AG:模拟地。各模拟器件(放大器、比较器、多路开关、取样保持器等)地及“+15V”和“-15V”电源地。VLOG:逻辑电路供电输入端,+5V.VCC:正电源端,VCC=+12+15V。VEE:负电源端,VEE=-15-12V。AD574A单极性和双极性输入图3-8所表示 图3-8 (a)单极性输入 (b) 双极性输入单极性输入电路:图(a)所表示是AD574A系列模拟量单极性输入电路。当输入电压为V
28、IN=0+10V时,应从引脚10VIN输入,当VIN=020V,应从20VIN输入。数字量D为无符号二进制码,计算公式为D=4096VIN/VFS。图中电位器RP1用于调零,即确保在VIN=0时,输出数字量D为零。双极性输入电路:电路图图3-8(b)所表示。图中RP2用于调整增益,其作用和图(a)中RP2作用相同。图中RP1用于调整双极性电路输入零点。假如输入信号VIN在-5=5V之间,应从10VIN引脚输入;当VIN在-10=10V之间,应从20VIN引脚输入。依据声光传感器所输出电压量,故选择单极性输入。 3.2.3 AD574A和80C51单片机接口电路AD574A系列全部型号和功效因脚
29、和排列全部相同,所以它们和单片机借口也相同。AD574A全部型号全部有内部一直电路,不需要任何外接器件和连线。图3-9为AD574A和80C51单片机接口电路。该电路采取双极性输入方法。依据声光传感器输出电压是5.6+0.4v,在设计时我们选择单极性输入方法。4 图3-9 AD574A和80C51单片机接口电路当AD574A和80C51单片机配置时,因为AD574A输出12位数据,所以当单片机读取转换结果时,应分两次进行:当A0=0时,读取高8位;当A0=1时,读取低4位。图中AD574ASTS和80C51P1.0线相连,故采取查询方法读取转换结果。3.2.4 声光报警电路声光报警电路由单片机
30、P2.0口控制,输出报警信号(高低电平间隔1 s脉冲信号),驱动声光报警电路,直至按复位键RESET和开关键。声光报警电路由555定时器、扬声器和一般发光二极管组成,电路图图3-10所表示。其中555定时器接成了一个低频多谐振荡器,其控制电压出入端5脚和单片机80C51P2.0端相连,受P2.0脚输出脉冲信号控制。由电容C4充冲放电作用,当P2.01时,555输出脉冲振荡频率较低,当P2.00时,555输出脉冲振荡频率较高。该脉冲信号经隔置电容C2加到扬声器上,扬声器将发出高、低交替2种叫声,同时P2.0脚输出高低电平间隔1 s脉冲信号经电阻R1加到发光二极管LED上,LED将闪烁发光,达成声
31、光同时报警效果。图3-10 声光报警电路3.3 总电路设计依据要求,设计中我们选择80C51单片机。80C51单片机主控电路包含时钟电路、复位电路。两电路接法在3.1.4和3.1.5中分别做了具体介绍,这里不再赘述。而传感器是将非电量需要转换成和非电量有一定关系电量。当今信息时代,伴随电子计算机技术非速发展,自动检测,自动控制技术显露非凡能力,而大多数设备只能处理电信号,也就需要把被测,被控非电量信息经过传感器转换成电信号。可见,传感器是实现自动检测和自动控制首要步骤。没有传感器对原始信息进行正确可靠捕捉和转换,就没有现代自动检测和自动控制系统。没有传感器就没有现代科学技术快速发展。设计中,传
32、感器我们选择是NIS-09声光传感器。必需利用微粒特点检测。而NIS-09声光传感器它性能参数是我们选择它理由。声光传感器连接在A/D转换器输入接口。我们将主控电路和外围接口电路(80C51和A/D转换器接口电路、80C51和声光报警电路)连接起来,就得到了基于80C51声光报警总电路图。当外部环境达成一定值时,声光传感器就会产生模拟电压,将它作为输出模拟信号经AD574A转换器转换为80C51单片机所能识别数字电压量。经过P1.0检测信号。当有信号输入时,经程序设定就会驱动80C51单片机P2.0。而P2.0是和声光报警电路相连接。总而言之,得出总电路图图3-11所表示:图3-11 声光报警
33、系统总电路图4 软件实现4.1 编程KEIL环境介绍KeilC51是美国KeilSoftware企业出品51系列兼容单片机C语言软件开发系统,和汇编相比,C语言在功效上、结构性、可读性、可维护性上有显著优势,所以易学易用。用过汇编语言后再使用C来开发,体会愈加深刻。 KeilC51软件提供丰富库函数和功效强大集成开发调试工具,全Windows界面。另外关键一点,只要看一下编译后生成汇编代码,就能体会到KeilC51生成目标代码效率很之高,多数语句生成汇编代码很紧凑,轻易了解。在开发大型软件时更能表现高级语言优势。KEILC51标准C编译器为80C51微控制器软件开发提供了C语言环境,同时保留了
34、汇编代码高效,快速特点。C51编译器功效不停增强,愈加贴近CPU本身,及其它衍生产品。C51已被完全集成到uVision2集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2IDE可为它们提供单一而灵活开发环境。 C51V7版本是现在最高效、灵活8051开发平台。它能够支持全部8051衍生产品,也能够支持全部兼容仿真器,同时支持其它第三方开发工具。所以,C51V7版本无疑是8051开发用户最好选择。C51工具包整体结构, uVision和Ishell分别是C51 for Windows和for Dos集成开发环境(IDE),能够完成编辑、编译
35、、连接、调试、仿真等整个开发步骤。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也能够和库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也能够直接写入程序存贮器如EPROM中。54.2 程序步骤在整个程序步骤中,常常要控制一部分指令反复实施若干次,方便简短程序完成大量处理任务。这种按某种控制规律反复实施程序称为循环程序。循环程序有先实施后
36、判定何先判定后实施两种基础结构。而我们要选择是先判定后实施。6因为声光传感器输出电压量为5.66.0v之间。依据单极性输入转换关系D=4096VIN/VFS,计算出它数字量最小值:D1=40965.6/10=2294;最大值D2=40966/10=2458.然后把它们数字量转化为二进制数。D1、D2转换为二进制数分别是、。因为AD574A输出12位数据,所以当单片机读取转换结果时,应分两次进行:当A0=0时,读取高8位;当A0=1时,读取低4位。AD574ASTS和80C51P1.0线相连,故采取查询方法读取转换结果。我们将A/D转换器读取结果存入17H、18H、19H、20H单元中。其中17
37、H存入是较小数D1高八位10011111,18H存入是较小数D1低四位0110;19H存入是较大数高八位10011001,20H存入是较大值低四位1010。将数值存入单元以后,接下来就是比较。当被测数值经计算机转换在比较范围内,经程序设定80C51单片机P2.0就会输出脉冲开启报警电旅程序。程序步骤图图4-1所表示。图4-1 步骤图4.3 程序ORG 0000H START: MOV DPTR, # 0FFF8H ;送端口地址入DPTR MOVX DPTR, A ;开启AD574A SET P1.0 ;置P1.0为输入方法LOOP: JB P1.0, LOOP ;检测P1.0口 INC DPT
38、R ;使R/C为1MOVX A, DPTR ;读取高8位数据MOV 41H, A ;高8位内容存入41H单元INC DPTR ;使R/C、A0均为1INC DPTR MOVX A, DPTR ;读取低4位MOV 40H, A ;将低4位内容存入40H单元MOV 17H, #10001111B ;将比较数值存入单元中MOV 18H, #0110BMOV 19H, #10011011BMOV 20H, #1010BMOV AL, 40H ;将40H内容存入AL单元中MOV AH, 41H ;将41H内容存入AH单元中 01: CMP AH, 17H ;比较最小数值高八位 JA LP1 JBE LP
39、2 LP1: JMP 03 LP2: JMP 01 02: CMP AL,18H ;比较最小值低四位 JA LP3 JBE LP4 LP3: JMP 01 LP4: JMP 04 03: CMP AH,19H ;比较最大值高八位 JA LP5 JBE LP6 LP6: JMP 03 LP5: JMP 01 04: CMP AH ,20H ;比较最大值低四位 JA LP7 JBE LP8 LP8: JMP 01 LP7: JMP 04 05: SET P2.0 ;报警 DEL: MOV R7,#200 ;延时50ms DEL1: MOV R6,#123 NOP DEL2: DJNZ R6,DEL
40、2 DJNZ R7,DEL1 RET ;返回 END ;结束5 调试5.1 调试步骤源文件建立:使用菜单 “File-New”或点击工具栏新建文件按钮,即可在项目窗口右侧打开一个新文本编辑窗口,在该窗口中输入汇编语言源程序(4.2小节所表示)。保留该文件,加上扩展名(.asm或a51),这里将文件保留为examl1.asm。建立工程文件:点击“Project-New Project”菜单,出现以个对话框,要求给工程起一个名字,我们输入examl1,不需要扩展名,点击保留按钮,出现第二个对话框。这个对话框要求选择目标CPU(即我们所使用芯片型号80C51)点击ATMEL前面“+”号,展开该层,点
41、击其中80C51,然后点击确定按钮。回到主界面,此时,在工程窗口文件页中,出现了“Targ et1”,前面有 “+”号,点击“+”展开,能够看到下一层“Source Group1”,这时工程还是一个空工程,里面什么文件也没有,需要手动把刚才编写好源程序加入,点击“Souce Group”使其反白显示,然后,点击鼠标右键,出现一个下拉菜单。选中其中“Add file to Group”Souce Group1”,对话框,要求寻求源文件,注意该对话框下面“文件类型“默认为C Souce file (*.c),也就是以C为扩展名文件,而我们文件是以asm 为扩展名,所以在列表框中找不到examl1.
42、asm,要将文件类型该掉,点击对话框中”文件类型后下拉列表,找到并选中“Asm Souce File(*.asm,*.a51)”,这么,在列表框中就能够找到examl1.asm文文件了。双examl1.asm文件,将文件加入项目,注意,在文件加入项目后,该对话框并不消失,等候继续加入其它文件,但初课时常会认为操作没有成功而再次双击同一文件,这时会出现对话框,提醒你所选文件以在列表中,此时点击确定,返回前一对话框,然后,点击”Close”即可返回主界面,返回后,点击“Souce Goup 1”前加号,会发觉examl1.asm 文件以在其中。双击文件名,即打开源程序。工程具体设置:首先点击左边Project窗口Target 1,然后使用菜单“Proget-Option for target target 1”即出现对工程设置对话框,对这个对话框可谓很复杂,共有8个页面,要全部高清可不轻易,好在绝大部分设置项取默认值就行了。设置完成以后安确定返回主界面,工程建立、设置完成。编译、连接:在设置好工程后,既能够进行编译、连接。选择菜单Project-Build target,对目前工程进行连接,假如目前文件已修改软件会先对该文件进行比阿尼