51单片机烟雾报警器的设计论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业设计姓名
班级
专业
系部
指导教师
2014年10月27日
湖南信息职业技术学院毕业设计
诚信声明
本人郑重声明:所呈交的毕业设计文本和成果,是本人在指导老师的指导下,独立进行研究所取得的成果。
成果不存在知识产权争议,本毕业设计不含任何其他个人或集体已经发表过的作品和成果。
本人完全意识到本声明的法律结果由本人承担。
湖南信息职业技术学院信息工程系15 届毕业设计
摘要
烟雾报警器就是通过监测烟雾的浓度来实现火灾防范的,烟感器内部采用离子式烟雾传感,离子式烟雾传感器是一种技术先进,工作稳定可靠的传感器,被广泛运用到各种消防报警系统中,性能远优于气敏电阻类的火灾报警器。
它在内外电离室里面有放射源镅241,电离产生的正、负离子,在电场的作用下各自向正负电极移动。
在正常的情况下,内外电离室的电流、电压都是稳定的。
一旦有烟雾窜逃外电离室。
干扰了带电粒子的正常运动,电流,电压就会有所改变,破坏了内外电离室之间的平衡,于是无线发射器发出无线报警信号,通知远方的接收主机,将报警信息传递出去。
本系统使用AT89C51单片机,选用集成温度传感器AD590和气体传感器TGS202作为敏感元件,利用多传感器信息融合技术,开发了可用于小型单位火灾报警的语音数字联网报警器。
我国的火灾自动报警控制系统经历了从无到有、从简单到复杂的发展过程,其智能化程度也越来越高。
目前国内厂家多偏重用于大型仓库、商场、高级写字楼、宾馆等场所大型火灾报警系统的研发。
关键词:单片机;传感器;信号处理;火灾报警器
目录
摘要 (1)
目录 (5)
一方案论证与比较 (6)
方案一:气敏传感器驱动555震荡报警 (6)
方案二:单片机检测气敏传感器再驱动蜂鸣器报警 (6)
二部分器件简介 (8)
1. 烟雾传感器 (8)
(1)光电烟雾报警IC种类 (9)
(2)离子烟雾报警IC (10)
(3)KT-601型便携式可燃气体检测仪 (10)
(4)MF8892型烟雾检测仪 (11)
(5)KING-01型可燃气体检测仪 (12)
(6)而GS-1型火警报警器 (12)
2.主控制器AT89S52 (13)
(1)MSC-51芯片资源简介 (13)
(2)单片机的引脚 (14)
(3)89S51单机的电源线 (15)
(4)89S51单片机的外接晶体引脚 (15)
(5)89S51单片机的控制线 (16)
(6)89S51单片机复位方式 (16)
三报警系统设计 (18)
1.硬件电路设计 (18)
(1)单片机最小系统 (18)
(2)气敏检测系统 (18)
(3)电源电路 (19)
(4)报警驱动电路 (19)
2.系统软件设计 (19)
(1)软件流程图 (19)
(2)程序清单 (20)
四结束语 (24)
五参考文献 (25)
一方案论证与比较
方案一:气敏传感器驱动555震荡报警
如图1所示为简易气体烟雾报警电路。
该报警器由降压整流与稳压电路、气敏传感元件和触发、报警音响电路等组成。
降压整流与稳压电路由变压器B、桥氏整流电路、集成稳压电源7805等组成。
触发、报警音响电路由可控多谐振荡器(555、R2、W2、C4)和扬声器Y等组成。
半导体气敏元件采用QM-25型或MQ211型,其适用于煤气、天然气、汽油、醇、醚类及各种烟雾的报警,其要求加热电压稳定,故采用7805对灯丝电压进行稳压,且要求开机预热3分钟。
当气敏元件QM接触到可燃性气体或烟雾时,其A~B极间的电阻降低,从而使该电阻与W1的分压上升,相应555④脚电位上升,当④脚的电位上升到lV以上时,555起振,其振荡频率为f=1.44/(R2+2Rw2)C4。
图中所示参数对应的频率约为0.6~8kHz。
调节电位器W2,使其频率为1.5kHz即可。
相应555的输出端③脚的输出信号推动扬声器Y发出报警声。
正常情况下,气敏元件的A-B极间的阻值较大,该电阻与W1的分压减小,相应使555④脚处于低电平,555停振,扬声器Y不工作。
图1 气敏传感器驱动555震荡报警式烟雾报警器
方案二:单片机检测气敏传感器再驱动蜂鸣器报警
通过气敏探头对可燃气体的检测,输出低电平送到单片机实现报警的功能,
灵敏度高,可控范围大,且能正确识别现场气温。
采用有较稳定输出的气敏探头GS-1,低电压5V对其供电,用其输出及时通过发光二极管进行显示,很直接的把火警信号传输给人们,本项目中很多信号的控制均采用可调式,既满足用户的需求,也能根据用户的需求来调节器输出功率,来改变其用电量,并设置节电可控显示,在安全情况下,除探头外所有电路均工作在待机状态,一旦有火警,立即启动报警。
图2 单片机控制的烟雾报警器
图3 烟雾传感器空间分布示意图
结合论文需求,选择方案二。
二部分器件简介
1. 烟雾传感器
烟雾传感器就是通过监测烟雾的浓度来实现火灾防范的,烟雾报警器内部采用离子式烟雾传感,离子式烟雾传感器是一种技术先进,工作稳定可靠的传感器,被广泛运用到各种消防报警系统中,性能远优于气敏电阻类的火灾报警器。
它在内外电离室里面有放射源镅241,电离产生的正、负离子,在电场的作用下各自向正负电极移动。
在正常的情况下,内外电离室的电流、电压都是稳定的。
一旦有烟雾窜逃外电离室。
干扰了带电粒子的正常运动,电流,电压就会有所改变,破坏了内外电离室之间的平衡,于是无线发射器发出无线报警信号,通知远方的接收主机,将报警信息传递出去。
烟雾传感器广泛应用在城市安防、小区、工厂、公司、学校、家庭、别墅、仓库、资源、石油、化工、燃气输配等众多领域。
(1)光电烟雾报警IC种类
BL59A/S10 ---兼容MC145010 ---连续式报警
BL59A/S12 ---兼容MC145012 ---间歇式报警
BL59A66 ---兼容 A5366 ---连续式报警带静音功能
BL59A65 ---兼容 A5348 ---间歇式报警带静音功能
A.连续式报警
BL59A10,BL59A66报警波形,间隙较短,发声波形占空比50% 。
B.间歇式报警
BL59A12,BL59A65报警波形,有间隙和停顿,发声波形占空比20% 。
C. BL59A66光电烟雾报警器
光电烟雾报警器的传感器是一个暗盒(俗称迷宫),里面嵌入一个红外发光管和一个红外接受管。
正常无烟状况下,发光管发出的红外光是无法被接受管接受到的,但一旦有烟雾产生,当烟雾进入迷宫后,烟雾粒子会将部分红外光散射到接受管上,从而产生电流。
烟雾越浓,接受管接收到的红外光越强,达到一定浓度后,报警器就会进入报警状态。
烟雾产生散射
IRED IRDD
(2)离子烟雾报警IC
BL59A18 ---兼容MC145018 ---间歇式报警
离子烟雾报警器是通过测量空气中的正负电荷的平衡来工作的。
这种报警器的传感器是一个离子室。
内部,有一小片放射性物质(离子源),这种物质能在感应室内流动的空气中产生一股微小的电流。
当烟雾粒子进入到感应室后,就会扰乱那里的正负电荷的平衡,同时也会使这股电流发生变化。
当烟雾逐渐加重,正负电荷的不平衡性就会加强。
当这种平衡性达到一定的限度,就会进入报警状态。
(3)KT-601型便携式可燃气体检测仪
本仪器采用了当今世界先进的催化燃烧(英国city),灵敏度高可靠性好;内部采用Motorola军用级超低功耗单片机控制,大容量镍氢可充电池,超长待机;贴片化封装,可靠美观;超大液晶屏幕显示,清晰直观;具有二级声、光、振动报警功能,对电源欠压、预设气体浓度报警等报警功能能够及时、准确、直观的报警提示;外观采用高强度ABS工程塑料,时尚外形设计,美观、手感好、耐用。
A.主要功能
*可设置高、低两个报警点,屏幕显示报警类别
*标定浓度值可以调整,方便用户标定
*电池欠压报警、显示
*自动校准功能,降低检测误差
*传感器故障自检功能
*二级声、光、振动报警功能,不易忽略
*开机自检功能,并具有自诊断和自修复功能
*密码管理功能,重要操作需要输入密码,有效防止误操作*本质安全型仪器
B.技术指标
*适用气体:可燃气体(CH
4,C
3
H
8
,H
2
)
*检测范围: 0-100%L
*报警方式:低报警:0.6秒的间断声报警音并带有光闪烁高报警:0.25秒的间断声报警音和振动并带有光闪烁
*指示方式:LCD显示实时数据及系统状态
*电源电压:DC2.4V(镍氢可充电池,1500mAh)
*充电时间:4-6h
*工作环境:温度-25℃~50℃,湿度≤85%RH无结露
*响应时间:t<30s
*工作时间:可燃气体≥8小时连续
*传感器寿命:2年
(4)MF8892型烟雾检测仪
*报警灵敏度:1级
*监视面积:20平方米
*消耗功率:监视状态<20uA,报警状态<20mA
*LED指示:监视状态LED每40秒闪一次,报警状态LED每1秒闪一次
*报警输出:无线发射输出,LED每1秒闪一次
*使用环境条件:室内,环境温度-10 ~ 45℃,相对湿度≤95%
*电池:9V,型号6F22
*自动检测:每1.67秒自检一次,
*重量(不含电池):100g
*外形尺寸:直径110mm,高度35mm
(5)KING-01型可燃气体检测仪
*电源:9V咸性电池或碳性电池
*工作电流:静态电流小于10UA,工作电流在20-25UA之间。
*烟雾灵敏度:符合UL的217号标准。
*工作温度:40oF-120oF(-4℃-50℃)。
*气体介面温度:10%-90%。
*蜂鸣器声量能级:10英尺处为85分贝。
*电池寿命: 1年。
(6)而GS-1型火警报警器
A.主要功能
*自动校准功能,降低检测误差
*二级声、光、振动报警功能,不易忽略
*本质安全型仪器
*电源:5V咸性电池或碳性电池
*工作电流:静态电流小于10UA,工作电流在20-25mA之间。
*工作温度:15℃-200。
B.技术指标
*报警灵敏度:1级
*监视面积:50平方米
*消耗功率:监视状态<10mW,报警状态<150mW
*适用气体:各种可燃气体
*检测范围: 0-100%LEL
*报警方式:蜂鸣器发出1Hz的报警信号
*指示方式:液晶显示屏幕显示警告标示符及系统状态
*响应时间:t<5s
2.主控制器AT89S52
(1)MSC-51芯片资源简介
89S51是MCS-51系列单片机的典型产品,我们就这一代表性的机型进行系统的讲解。
89S51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:
图3.1 单片机内部结构示意图
A.中央处理器
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
B.数据存储器(RAM)
89S51内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
C.程序存储器(ROM)
89S51共有4KB掩膜ROM,最大可扩展64K字节,用于存放用户程序,原始数据或表格。
D.定时/计数器:
89S51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
E.并行输入输出(I/O)口:
89S51共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。
F.中断系统
89S51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
(2)单片机的引脚
89S51单片机内部总线是单总线结构,即数据总线和地址总线是公用的. 89S51有40条引脚, 与其他51系列单片机引脚是兼容的. 这40条引脚可分为I/O接口线、电源线、控制线、外接晶体线4部分. 89S51单片机为双列直插式封装结构, 如图3.2所示.
图3.2 89S51引脚分配图
(3)89S51单机的电源线
(1) VCC:+5V电源线。
电源线
(2) GND:接地线。
(4)89S51单片机的外接晶体引脚
(1)XTAL1:片内振荡器反相放大器的输入端和内部时钟工作的输入端。
采用内部振荡器时,它接外部石英晶体和微调电容的一个引脚。
(2) XTAL2:片内振荡器反相放大器的输出端,接外部石英晶体和微调电容的另一端。
采用外部振荡器时,该引脚悬空。
外接晶体引脚。
80C51单片机内部有一个高增益反相放大器,用于构成振荡器。
反相放大器的输入端为XTAL1,输出端为XTAL2,分别是80C51的19脚和18脚。
在XTAL1和XTAL2两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。
如图2所示:
图2 振荡电路
石英晶振起振后要能在XTAL2线上输出一个3V左右的正弦波,使MCS-51片内的OCS电路按石英晶振相同频率自激震荡。
通常,OCS的输出时钟频率f
osc
为0.5MH
Z ~16MH
Z
,典型值为12MH
Z
电容器C1和C2通常取30pF左右,对震荡频率
有微调作用。
调节它们可以达到微调震荡周期f
osc
的目的。
(5)89S51单片机的控制线
(1) RST:复位输入端,高电平有效。
(2) ALE/PROG:地址锁存允许/编程线。
(3) PSEN:外部程序存储器的读选通线。
(4) EA/Vpp:片外ROM允许访问端/编程电源端。
(6)89S51单片机复位方式
复位是单片机的初始化操作。
其主要功能是把程序计数器PC值初始化为0000H,使单片机从0000H单元开始执行程序。
除了进入系统的正常初始化之外,程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复位键重新启动单片机。
RST引脚是复位信号的输入端,高电平有效,其有效时间应持续24个震荡周期(即两个机器周期)以上。
若使频率为6MH Z的晶振,则复位信号持续时间超过4μs才能完成复位操作。
复位操作由上电复位和按键手动复为两种方式。
上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图所示。
只要电源V CC的上电时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。
按键手动复位分为电平方式和脉冲方式两种。
其中,电平复位是复位端通过电阻与V CC电源接通而实现的。
脉冲复位是利用RC微分电路产生的正脉冲来实现的。
复位电路虽然简单,但其作用非常重要。
一个单片机系统能复正常运行,首先要检查是否能复位成功。
单片机在开机时或在工作中因干扰而使程序失控,或工作中程序处于某种死循环状态,在这种情况下都需要复位. 复位的作用是使中央处理器CPU以及其他功能部件都恢复到一个确定的初始状态,并从这个状态重新开始工作.
89S51单片机的复位靠外部电路实现,信号由RESET(RST)引脚输入,高电平有效,在振荡器工作时,只要保持RST引脚高电平两个机器周期,单片机即复位. 复位后,PC程序计数器的内容为0000H,片内RAM中内容不变. 复位电路一般有上
电复位、手动开关复位和自动复位电路3种,如图3.3所示.
a.上电复位电路
b. 手动复位电路
c. 自动复位电路
图3.3 单片机复位电路
三报警系统设计
1.硬件电路设计
(1)单片机最小系统
图3.1 单片机最小系统
(2)气敏检测系统
由于生产厂家等等原因,离子室的参数会有所不同。
因此必须外接并联电阻改变13脚的电位,以达到一定烟雾浓度报警的目的。
离子室的输出电平加到检测报警器负端;比较器正端为13脚经内部电阻分压得到的比较器门限电压。
因此13脚对6脚并联电阻,会使V13上升,使灵敏度上升;
13脚对4脚并联电阻,会使V13下降,使灵敏度降低。
并联电阻数百千欧姆
至数兆欧姆。
图3.2 气敏传感器特性曲线(3)电源电路
图3.2 电源电路(4)报警驱动电路
图3.3 LM386驱动电路2.系统软件设计
(1)软件流程图
开始
初始化
是否检测到可燃气体
否
是
报警
(2)程序清单
#include <REG52.H>
#include "SoundPlay.h"
void Delay1ms(unsigned int count)
{
unsigned int i,j;
for(i=0;i<count;i++)
for(j=0;j<120;j++);
}
//*****************************Music***************************** *************************
//挥着翅膀的女孩
unsigned char code Music_Girl[]={ 0x17,0x02, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x15,0x03,
0x16,0x03, 0x17,0x03, 0x17,0x03, 0x17,0x03, 0x18,0x03,
0x19,0x02, 0x16,0x03, 0x17,0x03, 0x18,0x02, 0x18,0x03,
0x17,0x03, 0x15,0x02, 0x18,0x03, 0x17,0x03, 0x18,0x02,
0x10,0x03, 0x15,0x03, 0x16,0x02, 0x15,0x03, 0x16,0x03,
0x17,0x02, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x1A,0x03,
0x1B,0x03, 0x1F,0x03, 0x1F,0x03, 0x17,0x03, 0x18,0x03,
0x19,0x02, 0x16,0x03, 0x17,0x03, 0x18,0x03, 0x17,0x03,
0x18,0x03, 0x1F,0x03, 0x1F,0x02, 0x16,0x03, 0x17,0x03,
0x18,0x03, 0x17,0x03, 0x18,0x03, 0x20,0x03, 0x20,0x02,
0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x20,0x03, 0x21,0x03,
0x20,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x1F,0x03,
0x1B,0x03, 0x19,0x03, 0x19,0x03, 0x15,0x03, 0x1A,0x66,
0x1A,0x03, 0x19,0x03, 0x15,0x03, 0x15,0x03, 0x17,0x03,
0x16,0x66, 0x17,0x04, 0x18,0x04, 0x18,0x03, 0x19,0x03,
0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x20,0x03, 0x21,0x03,
0x20,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x1F,0x03,
0x1B,0x03, 0x19,0x03, 0x19,0x03, 0x15,0x03, 0x1A,0x66,
0x1A,0x03, 0x19,0x03, 0x19,0x03, 0x1F,0x03, 0x1B,0x03,
0x1F,0x00, 0x1A,0x03, 0x1A,0x03, 0x1A,0x03, 0x1B,0x03,
0x1B,0x03, 0x1A,0x03, 0x19,0x03, 0x19,0x02, 0x17,0x03,
0x15,0x17, 0x15,0x03, 0x16,0x03, 0x17,0x03, 0x18,0x03,
0x17,0x04, 0x18,0x0E, 0x18,0x03, 0x17,0x04, 0x18,0x0E,
0x18,0x66, 0x17,0x03, 0x18,0x03, 0x17,0x03, 0x18,0x03,
0x20,0x03, 0x20,0x02, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66,
0x20,0x03, 0x21,0x03, 0x20,0x03, 0x1F,0x03, 0x1B,0x03,
0x1F,0x66, 0x1F,0x04, 0x1B,0x0E, 0x1B,0x03, 0x19,0x03,
0x19,0x03, 0x15,0x03, 0x1A,0x66, 0x1A,0x03, 0x19,0x03,
0x15,0x03, 0x15,0x03, 0x17,0x03, 0x16,0x66, 0x17,0x04,
0x18,0x04, 0x18,0x03, 0x19,0x03, 0x1F,0x03, 0x1B,0x03,
0x1F,0x66, 0x20,0x03, 0x21,0x03, 0x20,0x03, 0x1F,0x03,
0x1B,0x03, 0x1F,0x66, 0x1F,0x03, 0x1B,0x03, 0x19,0x03,
0x19,0x03, 0x15,0x03, 0x1A,0x66, 0x1A,0x03, 0x19,0x03,
0x19,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x00, 0x18,0x02,
0x18,0x03, 0x1A,0x03, 0x19,0x0D, 0x15,0x03, 0x15,0x02,
0x18,0x66, 0x16,0x02, 0x17,0x02, 0x15,0x00, 0x00,0x00};
//同一首歌
unsigned char code Music_Same[]={ 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x66, 0x18,0x03,
0x17,0x02, 0x15,0x02, 0x16,0x01, 0x15,0x02, 0x10,0x02,
0x15,0x00, 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x02,
0x17,0x03, 0x18,0x03, 0x19,0x02, 0x15,0x02, 0x18,0x66,
0x17,0x03, 0x19,0x02, 0x16,0x03, 0x17,0x03, 0x16,0x00,
0x17,0x01, 0x19,0x02, 0x1B,0x02, 0x1B,0x70, 0x1A,0x03,
0x1A,0x01, 0x19,0x02, 0x19,0x03, 0x1A,0x03, 0x1B,0x02,
0x1A,0x0D, 0x19,0x03, 0x17,0x00, 0x18,0x66, 0x18,0x03,
0x19,0x02, 0x1A,0x02, 0x19,0x0C, 0x18,0x0D, 0x17,0x03,
0x16,0x01, 0x11,0x02, 0x11,0x03, 0x10,0x03, 0x0F,0x0C,
0x10,0x02, 0x15,0x00, 0x1F,0x01, 0x1A,0x01, 0x18,0x66,
0x19,0x03, 0x1A,0x01, 0x1B,0x02, 0x1B,0x03, 0x1B,0x03,
0x1B,0x0C, 0x1A,0x0D, 0x19,0x03, 0x17,0x00, 0x1F,0x01,
0x1A,0x01, 0x18,0x66, 0x19,0x03, 0x1A,0x01, 0x10,0x02,
0x10,0x03, 0x10,0x03, 0x1A,0x0C, 0x18,0x0D, 0x17,0x03,
0x16,0x00, 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x70,
0x18,0x03, 0x17,0x02, 0x15,0x03, 0x15,0x03, 0x16,0x66,
0x16,0x03, 0x16,0x02, 0x16,0x03, 0x15,0x03, 0x10,0x02,
0x10,0x01, 0x11,0x01, 0x11,0x66, 0x10,0x03, 0x0F,0x0C,
0x1A,0x02, 0x19,0x02, 0x16,0x03, 0x16,0x03, 0x18,0x66,
0x18,0x03, 0x18,0x02, 0x17,0x03, 0x16,0x03, 0x19,0x00,
0x00,0x00 };
//两只蝴蝶
unsigned char code Music_Two[] ={ 0x17,0x03, 0x16,0x03, 0x17,0x01, 0x16,0x03, 0x17,0x03,
0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02,
0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03,
0x10,0x0E, 0x15,0x04, 0x0F,0x01, 0x17,0x03, 0x16,0x03,
0x17,0x01, 0x16,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x01,
0x10,0x03, 0x15,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03,
0x16,0x03, 0x15,0x03, 0x10,0x03, 0x15,0x03, 0x16,0x01,
0x17,0x03, 0x16,0x03, 0x17,0x01, 0x16,0x03, 0x17,0x03,
0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02,
0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03,
0x10,0x0E, 0x15,0x04, 0x0F,0x01, 0x17,0x03, 0x19,0x03,
0x19,0x01, 0x19,0x03, 0x1A,0x03, 0x19,0x03, 0x17,0x01,
0x16,0x03, 0x16,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03,
0x16,0x03, 0x15,0x03, 0x10,0x03, 0x10,0x0D, 0x15,0x00,
0x19,0x03, 0x19,0x03, 0x1A,0x03, 0x1F,0x03, 0x1B,0x03,
0x1B,0x03, 0x1A,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x03,
0x16,0x0D, 0x17,0x01, 0x17,0x03, 0x17,0x03, 0x19,0x03,
0x1A,0x02, 0x1A,0x02, 0x10,0x03, 0x17,0x0D, 0x16,0x03,
0x16,0x01, 0x17,0x03, 0x19,0x03, 0x19,0x03, 0x17,0x03,
0x19,0x02, 0x1F,0x02, 0x1B,0x03, 0x1A,0x03, 0x1A,0x0E,
0x1B,0x04, 0x17,0x02, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E,
0x1B,0x04, 0x1A,0x03, 0x19,0x03, 0x17,0x03, 0x16,0x03,
0x17,0x0D, 0x16,0x03, 0x17,0x03, 0x19,0x01, 0x19,0x03,
0x19,0x03, 0x1A,0x03, 0x1F,0x03, 0x1B,0x03, 0x1B,0x03,
0x1A,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x03, 0x16,0x03,
0x17,0x01, 0x17,0x03, 0x17,0x03, 0x19,0x03, 0x1A,0x02,
0x1A,0x02, 0x10,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x01,
0x17,0x03, 0x19,0x03, 0x19,0x03, 0x17,0x03, 0x19,0x03,
0x1F,0x02, 0x1B,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04,
0x17,0x02, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04,
0x17,0x16, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04,
0x1A,0x03, 0x19,0x03, 0x17,0x03, 0x16,0x03, 0x0F,0x02,
0x10,0x03, 0x15,0x00, 0x00,0x00 };
//***************************************************************
********************
main()
{
if(P1^0==0)
{
InitialSound();
while(1)
{
Play(Music_Girl,0,3,360);
Delay1ms(500);
Play(Music_Same,0,3,360);
Delay1ms(500);
Play(Music_Two,0,3,360);
Delay1ms(500);
}
}
else{P1=0x00;}
}
四结束语
在本次毕业设计,我通过基于典型单片机AT89C51的设计和应用,对于单片机工作原理,功能有了宏观的了解,并对单片机汇编程序的应用有了新的、进一步的认识。
在本次设计的过程中,我发现很多的问题,给我的感觉就是下手很难,很不顺手,看似很简单的电路,要动手把它给设计出来,是很难的一件事,主要原因是我们没有经常动手设计过电路。
另外单片机系统的知识似懂非懂,而且很多知识当时弄明白了,现在要用的时候又不记得,造成我用了大量的时间去查阅各种资料和程序命令,因此整个过程时间安排不合理。
由于设计的计划没有安排好,设计的时间极为仓促,尤其是在硬件调试的过程中出现了很大的问题。
另外资料的查找也是一大难题,这就要求我们在以后的学习中,应该注意到这一点,更重要的是我们要学会把从书本中学到的知识和实际的电路联系起来,这不论是对我们以后的就业还是学习,都会起到很大的促进和帮助。
五参考文献
[1]徐惠民,安德宁.单片微型计算机原理、接口及应用.第二版.北京:北京邮电大学出版社.2000
[2]王福瑞.单片微机测控系统设计大全[M].北京:北京航空航天大学出版社,1998
[3]李东生.Protel99 SE电路设计技术入门与应用.第一版.北京:电子工业出版社.2002
[4]彭为.黄科,雷道仲.单片机典型系统设计实例精讲.北京:电子工业出版社.2006。