参考1 烟雾报警器

更新时间:2024-06-22 21:51:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

山东科技大学泰山科技学院2010届毕业论文

基于C51单片机的烟雾报警器设计

【摘要】

随着现代家庭用火、用电量的增加,家庭火灾发生的频率越来越高。烟雾报警器也随之被广泛应用于各种场合。本设计是利用单片机结合传感器技术而开发设计了这一烟雾报警系统。论文中主要针对烟雾报警系统中的各个组成部件进行了介绍,对它的主控电路和外围设备电路之间的接口技术,还有软件方面进行了重点介绍。

关键词:报警器、80C51、烟雾传感器

Abstract: With the modern home with fire, electricity consumption increases, the frequency of home fires is getting higher and higher. Smoke detectors have also been widely used in various occasions. This design is combined with the use of single-chip sensor technology development and design of the smoke alarm system. The main thesis of the smoke alarm system for the various components are introduced, its control circuit and peripheral equipment circuit interface between technology and software have been the focus of introduction.

1

山东科技大学泰山科技学院2010届毕业论文

目 录

1、绪论 ............................................. 4

1.1烟雾报警器的发展及现状 ................................... 4

1.1.1 火灾探测技术 ......................................... 4 1.1.2 火灾探测器的发展趋势 ................................. 5 1.2 论文研究的目的及意义 ..................................... 5 1.3论文内容 ................................................. 6

2、基于C51单片机的烟雾报警的设计方案 ................ 7

2.1 任务分析 ................................................. 7 2.2设计方案 ................................................. 7 2.2.1方案设计思想 .......................................... 7 2.2.2 总体框图 ............................................. 8

3、系统硬件实现 ..................................... 9

3.1主控电路设计 ............................................. 9 3.1.1 80C51系列 ........................................... 9 3.1.2 80C51的基本结构 ..................................... 10 3.1.3 80C51单片机的的封装和引脚 ........................... 11 3.1.4 80C51单片机的时钟 .................................. 12 3.1.5 80C51单片机的复位 ................................... 14 3.2外围接口电路设计 ........................................ 16 3.2.1 NIS-09烟雾传感器简介 ................................ 16 3.2.2 AD574A与80C51单片机接口电路 ........................ 25 3.2.3声光报警电路 ......................................... 26 3.3总电路设计 .............................................. 27

4、软件实现 ........................................ 30

4.1 编程KEIL环境介绍 ...................................... 30 4.2 程序流程 ................................................ 31 4.3 程序 .................................................... 33

5、调试 ............................................ 35

2

山东科技大学泰山科技学院2010届毕业论文

5.1 调试的步骤 .............................................. 35 5.2调试过程中遇到的问题及解决方法 .......................... 37

参考文献 ........................................... 39 结束语 ............................................. 40 谢 辞 ............................................. 41

3

山东科技大学泰山科技学院2010届毕业论文

1、绪论

1.1烟雾报警器的发展及现状

1.1.1 火灾探测技术

火灾作为一种在时空上失去控制的燃烧所引发的灾害,对人类生命财产和社会安全构成了极大的威胁。由此引发的重大安全事故比皆是,所以人类一直也未停止过对它的研究。

火灾的发生和发展是一个非常复杂的非平稳过程,它除了自身的物理化学变化以外还会受到许多外界的千扰,火灾一旦产生便以接触式(物质流)和非接触式〔能量流)的形式向外释放能量。接触式形式包括可燃气体、燃烧气体和烟雾、气溶胶等。非接触式如声音、辐射等。火灾探测技术就是利用敏感元件将火灾中出现的物理化学特征转换为另外一种易于处理的物理量。各种探测器对应的火灾物理参量及探测器如图1-1所示。

图1-1 各种探测器对应的火灾物理参量及探测器

4

山东科技大学泰山科技学院2010届毕业论文

1.1.2 火灾探测器的发展趋势

探测器朝新探测技术的发展进一步拓展了火灾探测的应用领域,为一些传统探测器无法胜任的环境提供了有效的手段。相关技术的发展,如傅立叶近红外光谱技术弱信号处理技术、低功耗MCU技术进一步促进了传统探测技术的改进,使得传统探测器在技术和性能上有了显著的提高。火灾着极早期探测、多传感器复合探测和探测器小型化、智能化的方向发展迈出了更快的步伐。

近几年来,单片机已逐步深入应用到工农业生产各部门及人们生活的各个方面。各种类型的单片机也根据社会的需求而开发出来。单片机是器件级计算机系统,实际上它是一个微控制器或微处理器。由于它功能齐全,体积小,成本低,因此它可以应用到任何电子系统中去,同样,它也可以广泛应用于报警技术领域,使各类报警装置的功能更加完善,可靠性大大提高,以满足社会发展的需要。

1.2 论文研究的目的及意义

目的:随着现代家庭用火、用电量的增加,家庭火灾发生的频率越来越高。家庭火灾一旦发生,很容易出现扑救不及时、灭火器材缺乏及在场人惊慌失措、逃生迟缓等不利因素,最终导致重大生命财产损失。消防部门的统计显示,在所有的火灾比例中,家庭火灾已经占到了全国火灾的30%左右。家庭起火的原因林林种种,可能在我们注意得到的地方,也可能就隐藏在我们根本就注意不到的地方。

在现代城市家庭里,许多人因不懂家庭安全常识引起火灾事故,使好端端的幸福家庭眼间毁于一旦,有的导致家破人亡,而且一旦发生居民家庭火灾,处置不当、报警迟缓,是造成人员伤亡的重要因素。所以说,人们应该

5

山东科技大学泰山科技学院2010届毕业论文

3.1.3 80C51单片机的的封装和引脚

80C51系列单片机采用双列直插式(DIP).QFP44(Quad Flat Pack)和LCC(Leaded Chip Caiier)形式封装。这里仅介绍常用的总线型DIP40封装。如图3-2所示。

40个引脚按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚 (1) 电源:

VCC - 芯片电源,接+5V; VSS - 接地端 ;

图3-2 80C51单片机的的封装和引脚

(2)时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 (3) 控制线:控制线共有4根,

ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能:用来锁存P0口送出的低8位地址

11

山东科技大学泰山科技学院2010届毕业论文

PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。

PSEN:外ROM读选通信号。 RST/VPD:复位/备用电源。

RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。 EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。

Vpp功能:片内EPROM的芯片,在EPROM编程期间,施加编程电源 Vpp。 (4) I/O线

80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。

P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。

3.1.4 80C51单片机的时钟

(1)振荡器和时钟电路

80C51内部有一个高增益反相放大器,用于构成振荡器,但要形成时钟脉冲,外部还需附加电路。80C51的时钟产生方法有以下两种。

a 内部时钟方式

利用芯片内部的振荡器,然后在引脚XTALl和XTAL2两端跨接晶体振荡器(简称晶振),就构成了稳定的自激振荡器,发出的脉冲直接送入内部时钟电路。外接晶振时,Cl和C2的值通常选择为30pF左右;Cl、C2对频率有微调作用,晶振或陶瓷谐振器的频率范围可在1.2MHz~12MHz之间选择。

12

山东科技大学泰山科技学院2010届毕业论文

为了减小寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器和电容应尽可能安装得与单片机引脚XTALl和XTAL2靠近。

芯片类型 XTAL1 HMOS 接地 接线方法 XTAL2 接片外时钟脉输入端(引脚需接上拉电阻) CHMOS 接片外时钟脉冲输入端 悬空

图3-3 80C51时钟电路接线方法

b 外部时钟方式

此方式是利用外部振荡脉冲接入XTALl或XTAL2。HMOS和CHMOS单片机外时钟信号接入方式不同。

表3-1 80C51单片机外部时钟接入方法

13

山东科技大学泰山科技学院2010届毕业论文

3.1.5 80C51单片机的复位

在整个烟雾报警系统中,要进行实验,必须对整个系统先复位。

复位是单片机的初始化操作。单片机系统在上电启动运行时,都需要先复位。其作用是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作,因而,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部复位电路才能实现。

复位电路设计

单片机的外部复位电路有上电复位和上电和按键均有效的复位两种。我们在设计单片机复位时,选用上电复位。

上电复位

上电复位利用电容器的充电实现。图3-4是80C51单片机的上电复位电路。图中给出了复位电路参数。图3-5是80C51单片机的上电+按键复位电路。

上电要求接通电源后,单片机实现自动复位操作。上电瞬间RST引脚获得高电平,随着电容的充电,RST引脚的高电平将逐渐下降。RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。该电路典型的电阻值和我电容参数为:晶振为12MHZ,电容值为10uF,电阻值为8.2K。

14

山东科技大学泰山科技学院2010届毕业论文

图3-4 上电复位电路

图3-5上电+按键复位电路

复位状态:

初始复位不改变RAM(包括工作寄存器R0~R7)的状态,复位后80C51片内各特殊功能寄存器的状态如表所示,表中“x”为不定数。

表3-2复位后的内部特殊功能寄存器状态

15

山东科技大学泰山科技学院2010届毕业论文

寄存器 PC ACC B BSW SP DPTR 复位状态 0000H 00H 00H 00H 07H 0000H FFH xx000000B 0x000000B 寄存器 TMOD TCON TH0 TL0 TH1 TL0 SCON SBUF PCON 复位状态 00H 00H 00H 00H 00H 00H 00H xxxxxxxxB 0xxx0000B P0~P3 IP IE

复位时,ALE和成输入状态,即ALE== 1,片内RAM不受复位

影响。复位后,P0~P3口输出高电平且使这些双向口皆处于输入状态,并将07H写入堆栈指针SP,同时将PC和其余专用寄存器清0。此时,单片机从起始地址0000H开始重新执行程序。所以,单片机运行出错或进入死循环时,可使其复位后重新运行。

3.2外围接口电路设计

3.2.1 NIS-09烟雾传感器简介

在设计中我们之所以选用NIS-09烟雾传感器,是因为它的输出模拟量与我们所用的A/D转换器输入等级相符合。(NIS-09烟雾传感输出电压是5.6+0.4v,A/D转换器的输入量程是0~+10V)

16

山东科技大学泰山科技学院2010届毕业论文

烟雾是比气体分子大得多的微粒悬浮杂气体中形成的,和一般的气体成分的分析不同,必须利用微粒的特点检测。这类传感器多用于火灾报警器,也是以烟雾的有无决定输出信号的传感器,不能定量的连续测量。 (1)散射式

在发光管和光敏电阻之间设置遮光屏,无烟时光敏元件接收不到信号,有烟雾时借助微粒的散射光使光敏元件发出信号。这种传感器的灵敏度与烟雾种类无关。 (2)离子式

用放射性同位素镅Am241放射出微量的a射线,使附近空气电离,当平行平板电极间有直流电压时,产生离子电流Ik。有烟雾时,微粒将离子吸附,而且离子本身也吸收a射线,其结果是离子Ik减小。

若有一个密封装有纯净空气的离子室作为参比元件,将两者的离子电流比较,就可以排除外界干扰,得到可靠的检测结果。此法的灵敏度与烟雾种类有关。

在本次设计中,我们选用NIS-09烟雾传感器。它是离子式烟雾传感器,是日本NEMOTO公司专为检测延误而精心设计的新型传感器。 检测方式:离子型,一源两室。

放射参数:电源电压是DC 9v,输出电压是5.6+0.4v

电流损耗是27+3pA ,灵敏度是0.6+0.1v。

特性参数如下表所示:

a灵敏度特性 (根据UL217标准风速0.1M/秒) b电源电压特性(25℃ 60﹪RH) c温湿度特性 温度特性(温度60﹪)

d温度特性(温度25℃)源: 放射元素是媚241,

放射量是平均33.3KBq.=0.9uCi(29K——37KBq)。

17

山东科技大学泰山科技学院2010届毕业论文

工作环境: 电源电压是DC6.0-18.0V,最大24V;温度是0-50℃,最大

-10-60℃,温度95﹪。保存温度-25-80℃,温度95﹪。

典型特性:

表3-3 特性参数

烟雾浓度 (%英尺) 0 1 2 3 4 5 输出电压(V) 5.6±0.4 5.3±0.5 5.0±0.5 4.7±0.5 4.4±0.5 4.2±0.5

误差(△V) 0 0.3±0.1 0.6±0.1 0.9±0.2 1.2±0.2 1.4±0.2 (a) 灵敏度特性

电源电压 6 9 12 15 18

输出电压(V) 3.3±0.3 5.6±0.4 8.0±0.7 10.0±0.85 13.0±1.0 18

山东科技大学泰山科技学院2010届毕业论文

(b)电源电压特性

温度(℃) 0 25 50 输出(V) 5.15±0.4 5.6±0.4 5.85±0.4

(C) 温湿度特性

温度(%C) 30 60 90 (d)温度特性

输出(V) 5.75±0.5 5.6±0.4 5.45±0.4 19

山东科技大学泰山科技学院2010届毕业论文

长期稳定性测验如下表所示:

表3-4 长期稳定性测验

名称 方法 标准 高温储存特性 高温80℃±5不通电的情况下储存72小时 保持特性参数不变,不变形、不变色、不产生裂纹 保持特性参数不变,不变形、不变色、不产生裂纹 保持特性参数不变,不变形、不变色、不产生裂纹 保持特性参数不变,不变形、不变色、不产生裂纹 低温储存特性 低温-300℃±5不通电的情况储存72小时 高温储存特性 在40℃±5,85℃±5RH不通电的情况储存72小时 震动实验 共振频率10-35HZ,振幅5HZ0.25,如果不产生共振,则用频率35HZ震荡4小时 跌落实验 三个不同方向把器件从1M高度自由落体跌落到木板上 3.2.2 AD574A简介

保持特性参数不变,不变形、不变色、不产生裂纹 AD574A型快速12位逐次比较式A/D转换器为美国模拟器件公司产品。一次转换时间为25μs,转换速率为40MSPS,分辨率12位,非线性误差小于±1/2LSB。采用28脚双立直插式封装,各引脚功能如图3-6所示,图3-7是其管脚图。

20

山东科技大学泰山科技学院2010届毕业论文

图3-6 D574A引脚功能

21

山东科技大学泰山科技学院2010届毕业论文

图3-7 管脚图

AD574A引脚功能:

DB11~DB0:12位数据输出线。DB11为最高,DB0为最低,它们可由控制逻辑决定是输出数据还是对外成高阻状态。

12/8:数据模式选择。当此引脚输入为高电平时,12为数据并行输出;当此引脚为低电平时,与引脚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被选中;否则AD574A不进行任何操作。

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”脚输出的基准电压引入到

22

山东科技大学泰山科技学院2010届毕业论文

AD574A内部的12位DAC(AD565),才能进行正常的A/D转换。

BIPOFF:双极性补偿。此引脚适当连接,可实现单极性或双极性输入。 10VIN:10V量程模拟信号输入端。对单极性信号为10V量程的模拟信号输入端,对双极性信号为±5V模拟信号输入脚。

20VIN:20V量程输入端。单极性信号为20V量程模拟信号输入端,对双极性信号为±10V量程模拟信号输入脚。

DG:数字地。各字电路(译码器、门电路、触发器等)及“+5V”的电源地。

AG:模拟地。各模拟器件(放大器、比较器、多路开关、取样保持器等)地及“+15V”和“-15V”电源地。

VLOG:逻辑电路供电输入端,‘+5V’. VCC:正电源端,VCC=+12~+15V。 VEE:负电源端,VEE=-15~-12V。

AD574A的单极性和双极性输入如图3-8所示

23

山东科技大学泰山科技学院2010届毕业论文

图3-8(a) 单极性输入

图3-8(b) 双极性输入

单极性输入电路:如图3-8(a)所示是AD574A系列的模拟量单极性输入电路。当输入电压为VIN=0~+10V时,应从引脚10VIN输入,当VIN=0~20V,应从20VIN输入。数字量D为无符号二进制码,计算公式为D=4096VIN/VFS。图中电位器RP1用于调零,即保证在VIN=0时,输出数字量D为零。

双极性输入电路:电路图如图(b)所示。图中RP2用于调整增益,其作用与图(a)中RP2的作用相同。图中RP1用于调整双极性电路输入零点。如果输入信号VIN在-5~=5V之间,应从10VIN引脚输入;当VIN在-10~=10V之间,应从20VIN引脚输入。

24

山东科技大学泰山科技学院2010届毕业论文

根据烟雾传感器所输出的电压量,故选用单极性输入。 3.2.2 AD574A与80C51单片机接口电路

AD574A系列的所有型号和功能因脚和排列都相同,因而它们与单片机借口也相同。

AD574A所有型号都有内部始终电路,不需要任何外接器件和连线。图3-9为AD574A与80C51单片机的接口电路。该电路采用双极性输入方式。根据烟雾传感器输出电压是5.6+0.4v,在设计时我们选用单极性输入方式。

25

山东科技大学泰山科技学院2010届毕业论文

可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

4.2 程序流程

在整个程序流程中,经常要控制一部分指令重复执行若干次,以便简短的程序完成大量的处理任务。这种按某种控制规律重复执行的程序称为循环程序。循环程序有先执行后判断何先判断后执行两种基本结构。而我们要选用的是先判断后执行。

因为烟雾传感器的输出电压量为5.6~6.0v之间。根据单极性输入的转换关系D=4096VIN/VFS,计算出它的数字量最小值:D1=4096×5.6/10=2294;最大值D2=4096×6/10=2458.

然后把它们的数字量转化为二进制数。D1、D2转换为二进制数分别是100111110110、100110011010。

由于AD574A输出12位数据,所以当单片机读取转换结果时,应分两次进行:当A0=0时,读取高8位;当A0=1时,读取低4位。AD574A的STS与80C51的P1.0线相连,故采用查询方式读取转换结果。

我们将A/D转换器读取结果存入17H、18H、19H、20H单元中。其中17H存入的是较小数D1的高八位10011111,18H存入的是较小数D1的低四位0110;19H存入的是较大数的高八位10011001,20H存入的是较大值的低四位1010。

将数值存入单元以后,接下来就是比较。当被测的数值经计算机的转换在比较范围内,经程序设定80C51单片机的P2.0就会输出脉冲启动报警电路程序。程序流程图如图4-1所示。

31

山东科技大学泰山科技学院2010届毕业论文

图4-1 流程图

32

山东科技大学泰山科技学院2010届毕业论文

4.3 程序

ORG 0000H

START: MOV DPTR, # 0FFF8H ;送端口地址入DPTR MOVX @DPTR, A ;启动AD574A SET P1.0 LOOP: JB P1.0, LOOP INC DPTR MOVX A, @DPTR MOV 41H, A INC DPTR INC DPTR

MOVX A, @DPTR MOV 40H, A MOV 17H, #10001111B MOV 18H, #0110B MOV 19H, #10011011B MOV 20H, #1010B

MOV AL, MOV AH, 41H ;置P1.0为输入方式 ;检测P1.0口 ;使R/C为1

;读取高8位数据 ;高8位内容存入41H单元 ;使R/C、A0均为1 ;读取低4位

;将低4位内容存入40H单元 ;将比较的数值存入单元中 40H ;将40H的内容存入AL单元中;将41H的内容存入AH单元中;比较最小数值的高八位

33

01: CMP AH, 17H JA LP1 JBE LP2 LP1: JMP 03 LP2: JMP 01

山东科技大学泰山科技学院2010届毕业论文

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 DEL1: MOV R6,#123 NOP

DEL2: DJNZ R6,DEL2 DJNZ R7,DEL1

RET END

;比较最大值的高八位 ;比较最大值的低四位 ;报警 ;延时50ms

;返回

;结束

34

山东科技大学泰山科技学院2010届毕业论文

5、调试

5.1 调试的步骤

(1) 源文件的建立:使用菜单 “File-New”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编辑窗口,在该窗口中输入汇编语言源程序(4.2小节所示)。保存该文件,加上扩展名(.asm或a51),这里将文件保存为examl1.asm。

(2)建立工程文件:点击“Project-New Project”菜单,出现以个对话框,要求给工程起一个名字,我们输入examl1,不需要扩展名,点击保存按钮,出现第二个对话框。这个对话框要求选择目标CPU(即我们所使用的芯片型号80C51)点击ATMEL前面的“+”号,展开该层,点击其中的80C51,然后点击确定按钮。回到主界面,此时,在工程窗口的文件页中,出现了“Targ et1”,前面有 “+”号,点击“+”展开,可以看到下一层的“Source Group1”,这时的工程还是一个空工程,里面什么文件也没有,需要手动把刚才编写好的源程序加入,点击“Souce Group”使其反白显示,然后,点击鼠标右键,出现一个下拉菜单。选中其中的“Add file to Group”Souce Group1”,对话框,要求寻找源文件,注意该对话框下面的“文件类型“默认为C Souce file (*.c),也就是以C为扩展名的文件,而我们的文件是以asm 为扩展名的,所以在列表框中找不到examl1.asm,要将文件类型该掉,点击对话框中”文件类型‘后的下拉列表,找到并选中“Asm Souce File(*.asm,*.a51)”,这样,在列表框中就可以找到examl1.asm文文件了。双examl1.asm文件,将文件加入项目,注意,在文件加入项目后,该对话框并不消失,等待继续加入其他文件,但初学时常会认为操作没有成功而再次双击同一文件,这时会出现对话框,提示你所选的文件以在列表中,

35

山东科技大学泰山科技学院2010届毕业论文

此时点击确定,返回前一对话框,然后,点击”Close”即可返回主界面,返回后,点击“Souce Goup 1”前的加号,会发现examl1.asm 文件以在其中。双击文件名,即打开源程序。

(3)工程的详细设置:首先点击左边Project窗口的Target 1,然后使用菜单“Proget-Option for target ‘target 1’”即出现对工程设置的对话框,对这个对话框可谓非常复杂,共有8个页面,要全部高清可不容易,好在绝大部分设置项取默认值就行了。设置完成以后安确认返回主界面,工程建立、设置完毕。

(4)编译、连接:在设置好工程后,既可以进行编译、连接。选择菜单Project-Build target,对当前工程进行连接,如果当前文件已修改软件会先对该文件进行比阿尼,然后在连接以产生目标代码。编译过程中的信息将出现在输出窗口中的Build页中,如果源程序有语法错误,会有错误报告出现,双击该行,可以定到出错的位置,对源程序反复修改后,最终会得到如图5-1所示的结果,提示获得了名为examl1.hex的文件,该文件即可被编程器读入并写到芯片中,同时还产生了一些其他相关文件可被用于KEIL的仿真与调试。

36

山东科技大学泰山科技学院2010届毕业论文

图5-1 正确连接、编译之后的结果

5.2调试过程中遇到的问题及解决方法

在进入环境以后,遇到了很多问题,总结如下: (1)提示无asm文件 编译时候提示: F:\\...\\XX.asm

File has been changed outside the editor, reload ? 解决方法:重新生成项目,产生examl1.asm即可。 (2)在进入Keil的调试环境以后,发现程序有错

解决方法:将光标定位于需要修改的程序上,用菜单,Debug》Inline Assambly…即可出现对话框,Enter New 后面的编辑框内直接输入需要修改的程序语句,输入完之后键入回车将自动指向下一条语句,可以继续修改,如果不在需要修改,可以点击右上角的关闭按钮关闭窗口。

(3)程序调试时,一些程序必须满足一定的条件才能被执行到 解决方法:这些条件往往是异步发生或难以预先设定的,这类问题使用的单步实行方法是很难调试的,这时就要使用发哦程序调试中的另一种非常重要是方法---断点设置。断点设置的方法有多种,常用的是在某一程序行设置断点,设置好断点后可以全速运行程序,一旦执行到该程序行即停止,可在此观察有关变量值,以确定问题所在。在程序行设置/移除断点的方法是将光标定位于需要设置断点的程序行,使用菜单Debug/Insert/RemoveBreakPoint设置或移除断点(也可以用鼠标在该行双击实现同样的功能);Debug/Enable/Disable BreakPoint是开启或暂停光标所在懂行的断点功能;Dubug/Disale All BreakPoint暂停所有断点;Debug/Kill All BreakPoint清除所有的断点设置。这些功能也可以用工具条上的快捷键

37

山东科技大学泰山科技学院2010届毕业论文

进行设置。

(4)输入程序时,有中文标点,用keil编译时出现错误 解决方法:程序里有带中文标点,用英文重输入一遍 (5)汇编出现数字、字母混淆

解决方法:字母“O” 和 数字 “0”。主要错在这里。注意细节!

38

山东科技大学泰山科技学院2010届毕业论文

参考文献

[1]李全利,单片机原理及应用技术。北京:高等教育出版社,2004 [2]金发庆,传感器技术与应用。 北京:机械工业出版社,2004 [3]王曙霞,单片机实验与实训指导。西安:西安电子科技大学出版社,2007

[4]及力,Protel 99 SE原理图与PCB设计教程。北京:电子工业出版社,2007

[5]张玉莲,电子CAD(Protel99SE)实训指导书。西安:西安电子科技大学出版社,2007

[6]何利民,单片机高级教程。北京:航空航天大学出版社,2000 [7]李朝青,单片机原理与接口技术。北京:航空航天大学出版社,1999 [8]张毅刚,MCS-51单片机应用设计。哈尔滨:哈尔滨工业大学出版社,1997

[9]潘新民,微型计算机控制技术。北京:人民邮电出版社,1999 [10]李华,MCS-51系列单片机实用接口技术。北京:航空航天出版社,2000

[11]Intel,MCS-51 Family of Single Chip Microcomputer User’s Manual,1990

[12]陈光东,单片微型计算机原理接口技术。武汉:华中理工大学出版社,1999

[13]王福瑞,单片机测控系统大全,北京:航空航天大学出版社,1998

39

山东科技大学泰山科技学院2010届毕业论文

结束语

忙碌了一段时间,终于要交稿了。毕业设计是我作为学生时期的最后一次作业,所以,当这一刻来临时居然有些不舍。

相当初拿到题目时束手无策的样子,真的是很不懂事。因为,题目上出现的专业术语令我望而却步了。直到快要毕业时,才发现自己学到的东西太少了,而要学习的东西太多太多。曾经想多放弃,但放弃意味着什么?指导老师的一席话让我如梦初醒:虽然快毕业了,但毕业以后,你们要学习的东西还很多。人生就是不断的学习,不断的进步,不断的接受新事物才能学到很多有用的知识。倘若放弃,那么以后的人生就是被别人放弃。老师和学生,赢家永远是老师。倘若没有这次毕业设计,那么我将失去人生中最重要的教育:那就是,不能轻言放弃。

在这两个月中,找资料的过程让我学到很多。对单片机的了解也随之加深,它在烟雾报警系统中的应用,很多附件的应用,很多芯片的结构都有了一定的了解。在画图过程中,对Protel 99 SE软件能够操作自如。也对KEIL编程环境有了一些了解。

临近毕业,回想甚多。在学校里学到的东西大多偏于理论,实践的太少。想想我们以后走向工作岗位,应该是实践与理论相结合。所以,我们应该把握现在,好好学习。

毕业设计,不单单只是设计,还是一次敢于接受新事物的挑战,锻炼你的意志,磨练你的性格。这是一次再育的机会,所以我们必须珍惜。设计已接近尾声,我希望大家遇到困难时请不要轻言放弃,要相信自己,努力学习,困难就会迎韧而解的。

40

山东科技大学泰山科技学院2010届毕业论文

谢 辞

毕业设计能够如期完成,我的指导老师刘玉兰老师给我了极大的帮助与支持。李老师学识渊博,学风严谨,待人宽厚。在我遇到困难时能耐心解答直至我明白。尤其在我刚拿到一个带有陌生专业术语的题目想退缩时,刘老师的一翻教导令我受益匪浅。让我明白,没有付出,就没有回报的真谛。还有,人要不断的接受新知识,学习新知识,这样才能在以后的人生道路上坚强的走下去。刘老师要指导很多同学的论文,加上本来就有教学任务,工作量之大可想而知,而我对于单片机来说,是个初学者。所以,在设计的过程中,遇到很小的问题,都要劳烦老师讲解。在不断的接触中,刘老师的朴实无华,平易近人的性格对我影响颇深。在刘老师的指导和鼓励下,我才有信心去完成毕业设计,很荣幸成且幸运成为刘老师的学生。

除刘老师之外,还要感谢我的同学们。他们给了我很多的建议和帮助。尤其在程序的编写方面,给了我很大的帮助。特此感谢!通过本次设计,让我明白了很多。最重要的是一个人如果无法独立完成一件事情,那么,同学和朋友就是你的依靠。

再次感谢在设计中给我帮助的老师和同学!

41

本文来源:https://www.bwwdw.com/article/gmf3.html

Top