单片机原理及接口技术课程设计Word格式文档下载.docx

上传人:b****3 文档编号:18275244 上传时间:2022-12-15 格式:DOCX 页数:26 大小:765.54KB
下载 相关 举报
单片机原理及接口技术课程设计Word格式文档下载.docx_第1页
第1页 / 共26页
单片机原理及接口技术课程设计Word格式文档下载.docx_第2页
第2页 / 共26页
单片机原理及接口技术课程设计Word格式文档下载.docx_第3页
第3页 / 共26页
单片机原理及接口技术课程设计Word格式文档下载.docx_第4页
第4页 / 共26页
单片机原理及接口技术课程设计Word格式文档下载.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

单片机原理及接口技术课程设计Word格式文档下载.docx

《单片机原理及接口技术课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单片机原理及接口技术课程设计Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。

单片机原理及接口技术课程设计Word格式文档下载.docx

3、按规定格式,撰写、打印设计说明书一份,其中程序开发要有详细的软件设计说明,详细阐述系统的工作过程,字数应在4000字以上。

进度计划

第1天查阅收集资料

第2天总体设计方案的确定

第3-4天CPU最小系统设计

第5天传感器选择以及模拟量检测电路设计

第6天人机对话接口电路设计

第7天程序流程图设计

第8天软件编写与调试

第9天设计说明书完成

第10天答辩

指导教师评语及成绩

平时:

论文质量:

答辩:

总成绩:

指导教师签字:

年月日

注:

成绩:

平时20%论文质量60%答辩20%以百分制计算

摘要

本系统利用51单片机做核心控制模块,利用MQ-7一氧化碳传感器探测一氧化碳。

实时监控多处一氧化碳浓度变化,如果某处一氧化碳浓度过高,系统将发出声音报警,并显示报警传感器号码,提醒人们及时抢险。

本系统可用于家庭环境,也适用于工业环境。

由于单片机成本低廉,自动控制功能比较强大,运行稳定,环境适应性好,所以本系统采用单片机做控制的核心元件。

MQ-7一氧化碳传感器对一氧化碳的灵敏度高;

长寿命,低成本;

简单的驱动电路即可。

因此,很适用于家庭的一氧化碳检测。

数码管能清晰的显示报警的房间号码,即使在光线较暗时,所以选用数码管做显示模块。

关键词:

一氧化碳;

单片机;

检测;

报警

第1章绪论

CO浓度监测仪研究概况

燃气(人工煤气、天然气、液化石油气)的普及,提高了生产效率、市民的生活质量,但在使用燃气的过程中,因燃气泄漏、废气等原因造成的燃气爆炸、中毒等意外事故时有发生,给人们的生命和财产安全带来了严重的威胁,因此安全使用燃气一直是燃气主管部门工作的重中之重。

CO浓度监测仪能有效监测环境中可燃气体或毒性气体CO的浓度,一旦其浓度超出报警限定值,就能发出声光报警信号,并且能自动开启排风扇把燃气排出室外,甚至能通过联动装置自动切断燃气供应防止燃气继续泄漏,起到安全防范的作用。

但监测仪选用得是否合理,直接关系到其功能的充分发挥。

该设计所研究的CO浓度监测仪正是应这种要求而开发的。

一氧化碳是一种无色、无味的气体,它与血液中的血红素结合的能力是氧的240倍,它与血红素形成稳定的络合物,使血红蛋白丧失了输送氧气的能力,从而导致组织低氧症,甚至死亡。

一氧化碳浓度的高低是评价空气质量好坏的重要指标之一,也是工厂、煤矿井下是否发生自燃火灾的重要标志之一。

为了保证人们身体健康和环境洁净,世界各国都纷纷致力于防止空气污染的产生

监测仪是否灵敏可靠关系到人身财产安全,因此监测仪属于强制检定的计量器具。

目前大多数报警器用户都使用汽油或液化气等超过以上高浓度的易挥发可燃气体对报警器进行检测,若报警即判断监测仪正常。

这样做虽然省缺了购买可燃气体标准物质的麻烦和费用,但实际上达不到保证安全的目的,从而形成重大安全隐患,有时还会造成报警器检测元件中毒。

如果使用标准气体检测报警器,就能保证人身安全,同时杜绝报警器检测探头中毒现象。

本文研究内容

本文所设计的数字气体报警器采用单片机AT89C51,其价格便宜,易于产品化。

本设计能将置于测试环境中的气体传感器输出的模拟电压通过A/D转换器送入单片机AT89C51中进行处理并通过数码管显示,通过设置报警值,当检测到的浓度达到或者超过设定值时,用单片机控制发光二极管发光报警,同时打开喇叭发出声音报警,来达到报警的目的,并通过外接排风扇与电磁阀对其进行程控,以防事故的发生。

而当系统出现故障时,黄色LED

亮启,便于用户及时对报警器进行维修。

系统以MQ-7气体传感器和AT89C51单片机为核心,设计气体泄漏报警器。

实现:

1.准确测量周围环境中的可燃性气体、有毒有害气体的泄漏;

2.实现系统各个模块的功能控制;

3.实现单片机编程语言系统的控制及传感器电路的控制。

4.研究单片机各接口的作用及功能;

5.了解MQ-7气体传感器的具体功能;

6.实现对基本报警电路的控制。

第2章CPU最小系统设计

CO气体浓度监测仪总体设计方案

单片机应用系统的结构分三个层次:

(1)单片机:

通常指应用系统主处理机,即所选择的单片机器件。

(2)单片机系统:

指按照单片机的技术要求和嵌入对象的资源要求而构成的基本系统,如时钟电路、复位电路和扩展存储器等与单片机构成了单片机系统。

(3)单片机应用系统:

能满足嵌入对象要求的全部电路系统。

在单片机系统的基础上加上面向对象的接口电路,如前向通道、后向通道、人机交互通道(键盘、显示器、打印机等)和串行通行口(RS232)以及应用程序等。

以此理解,一氧化碳报警器同样具有单片机应用系统的三个层次。

其中以AT89C51单片机为核心构成单片机系统。

在此系统中,检测信号进入单片机进行运算处理。

为了更好的理清设计思路,将整个系统细分为三部分加以设计说明。

整个报警器由三个部分组成,分为三大模块:

浓度检测模块、主控模块和报警模块。

在本次设计中,使用的核心器件是单片机和一氧化碳传感器。

为了保重整个系统可靠的运行,设计中必须明确三大部分的实际联系:

以单片机为中心,其他各大模块一一展开。

其中,浓度检测及显示模块所实现的功能是将房间中的一氧化碳浓度值转换成为单片机能够处理的数字信号,并且浓度值显示出来:

主控模块以单片机为主,对其他模块的运行进行控制;

报警模块是此系统的外部电路,它的功能是实现报警。

系统框图如图2-1所示。

图2-1总体框图

CPU的选择

数据处理过程是主要由AT89C51单片机等芯片完成的。

AT89C51是一种带4K字节的闪烁可编程可擦除只读存储器(FPEROM-FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

其中包括128字节内部RAM,32个I/O口线,2个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

同时,AT89C51降至0Hz的静态逻辑操作,并支持两种可选的节电工作模式[26]。

空闲方式体制CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。

掉电方式保存RAM中的内容,但振荡器体制工作并禁止其他所有不见工作直到下一个硬件复位。

单片机的可擦除只读存储器可以反复擦除100次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。

AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且廉价的方案。

AT89C51单片机管脚图如图2-2所示

图2-2AT89C51单片机管脚图

引脚功能说明如下:

·

VCC:

电源电压

GND:

P0口:

P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用。

作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

在Flash编程时,P0口接受指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

P1口:

P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。

作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

Flash编程和程序校验期间,P1接受低8位地址。

P2口:

P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

在访问外部程序存储器或16位四肢的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据,在访问8位地址的外部数据存储器(例如执行MOVX@RI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。

Flash编程和程序校验时,P2也接收高位地址和其他控制信号。

P3口:

P3是一个带有内部上拉电阻的8位双向I/O口,P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。

RST:

复位输入。

当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

ALE/PROG:

当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。

即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。

要注意的是,每当访问外部数据存储器时将跳过一个ALE脉冲。

对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元D0位置位,可禁止ALE操作。

该位置,只有一条MOVX和MOVC指令ALE才会被激活。

此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。

PSEN:

程序存储允许输出是外部程序存储器的读选通型号,当89C51由外部存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。

在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。

EA/VPP:

外部访问允许。

欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。

需注意的是:

如果加密位LB1被编程,复位时内部会锁存EA端状态。

如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。

Flash存储器编程时,该引脚加上+12v的编程允许电源VPP,当然这必须是该器件使用12v编程电压VPP。

XTAL1:

振荡器反相放大器及内部时钟发生器的输入端。

XTAL2:

振荡器反相放大器的输出端。

89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。

这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,外接石英晶体或陶瓷谐振器及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。

对电容C1、C2虽没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性,如果使用石英晶体,我们推荐电容使用30Pf±

10Pf,而如使用陶瓷谐振器建议选择40Pf±

10Pf。

用户也可以采用外部时钟。

这种情况下,外部时钟脉冲接到XTAL端,即内部时钟发生器的输入端XTAL则悬空。

时钟电路设计

单片机工作时,从取指令到译码再进行微操作,必须在时钟信号控制下才能有序地进行,时钟电路就是为单片机工作提供基本时钟的。

单片机的时钟信号通常有两种产生方式:

内部时钟方式和外部时钟方式。

本课题采用内部时钟方式。

在单片机XTAL1和XTAL2引脚上跨接上一个晶振和两个稳频电容,可以与单片机片内的电路构成一个稳定的自激振荡器。

晶振频率取12MHz。

外接电容的作用是对振荡器进行频率微调,使振荡信号频率与晶振频率一致,同时起到稳定频率的作用,本课题选用33pF的电容。

易知:

本单片机最小系统的振荡周期=1/(12MHz)=1/12us,时钟周期=1/6us,机器周期=1us。

图2-3时钟电路原理图

复位电路设计

无论是在单片机刚开始接上电源时,还是运行过程中发生故障都需要复位。

复位电路用于将单片机内部各电路的状态恢复到一个确定的初始值,并从这个状态开始工作。

单片机的复位条件:

必须使其RST引脚上持续出现两个(或以上)机器周期的高电平。

单片机的复位形式:

上电复位、按键复位。

本课题采用按键复位。

在单片机启动后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。

当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。

随着时间的推移,电容的电压在内,从5V释放到变为了,甚至更小。

根据串联电路电压为各处之和,这个时候10K电阻两端的电压为,甚至更大,所以RST引脚又接收到高电平。

单片机系统自动复位。

图2-4复位电路原理图

单片机最小系统设计

单片机的最小系统是由组成单片机系统必需的一些元件构成的,除了单片机之外,还需要包括电源供电电路、时钟电路、复位电路。

图2-5单片机最小系统原理图

第3章CO浓度监测仪输入输出电路设计

CO传感器的选择

选择一氧化碳传感器主要考虑以下的性能指标:

(1)输入和输出之间成比例,直线性好、灵敏度高、分辨力强、测量范围宽。

(2)滞后、漂移误差小

(3)动态特性好

(4)功耗小

(5)时间老化特性优良

(6)与被测体匹配良好,既不因接入传感器而使得被测对象受到影响,受被测量之外的影响小。

(7)体积小、重量轻、价格低廉。

(8)故障率低,易于校准和维护。

(9)由于传感元件的输出信号一边比较小,为了便于能够驱动控制电路,在传感器电路中还应该包括放大器。

鉴于以上选择要点,本文中用到的传感器必须具备良好的测量效果、功耗小、动态特性良好和体积小、重量轻、价格低廉等几个主要特性。

为此我们选择了MQ-7系列传感器。

半导体一氧化碳传感器MQ-7所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。

采用高低温循环检测方式低温加热)检测一氧化碳,传感器的电导率随空气中一氧化碳气体浓度增加而增大,高温加热)清洗低温时吸附的杂散气体。

使用简单的电路即可将电导率的变化,转换为与该气体浓度相对应的输出信号。

MQ-7气体传感器对一氧化碳的灵敏度高,这种传感器可检测多种含一氧化碳的气体,是一款适合多种应用的低成本传感器。

主要特点及应用:

对一氧化碳的高灵敏度。

长寿命,低成本。

简单的驱动电路即可

家用气体泄漏报警器

工业用一氧化碳报警器

便携式气体检测器

MQ-7气敏元件的结构和外形如图3-1所示,由微型Al2O3陶瓷管、SnO2敏感层,测量电极和加热器构成的敏感元件固定在塑料或不锈钢制成的腔体内,为了改善传感器的选择性,传感器气室用活性炭过滤层与外界隔开。

加热器为气敏元件提供了必要的工作条件。

封装好的气敏元件有6只针状管脚,其中4个用于信号取出,2个用于提供加热电流。

图3-1MQ-7实物图

运算放大器选择

由于气体传感器输出的电压值过低,无法直接使用A/D读取,必须要加入放大电路,对电压放大然后再经过A/D读取。

在此,选择LM358作为运算放大器。

LM358内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。

它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。

LM358具备以下特性:

内部频率补偿;

直流电压增益高(约100dB);

单位增益频带宽(约1MHz);

电源电压范围宽:

单电源(3-30V)、双电源(±

±

15V);

低功耗电流,适合于电池供电;

低输入偏流,低输入失调电压和失调电流;

共模输入电压范围宽,包括接地;

差模输入电压范围宽,等于电源电压范围;

输出电压摆幅大(0至)。

图3-2运算放大器电路原理图

A/D转换电路

为了方便与AT89C5单片机的链接,本系统采用AD0809模数转换芯片对采集到的气体信息进行数模转换。

其分辨率为8位,不必进行零点和满度调整,且具有高阻抗斩波稳定比较器,8个通道的多路开关可直接存取8个单端模拟信号中的一个。

利用单片机启动AD0809转换器,转换结束后再由AD0809向AT89C51发出中断请求信号,CPU响应中断请求。

通过对译码器的读操作,读取转换结果并送到被测量的响应存储区。

再重新选择被测量,并再次启动AD0809转换器转换后中断返回。

AD0809与单片机AT89C51连线线路如图3-3所示。

图3-3AD0809与单片机AT89C51连线线路

声光报警电路

系统的声,光报警电路由发光二极管和低电压蜂鸣器构成,分别由PIC单片机的2个端口控制。

发光二极管LED具有体积小,抗冲击和抗震性能好,可靠性高,寿命长,工作电压低,功耗小,响应速度快等优点,常用于显示系统的工作状态,有益于控制系统的设计和维护。

当该部分工作时,整机的工作电流将增加为未报警状态时的电流的数倍,消耗的功率会比较大,因此采用了分时供电的方法,通过单片机控制该部分电源的通断,即质量浓度达到报警时才给其供电;

另外,用单片机输出的周期脉冲报警信号控制振荡器的启停,用振荡器输出信号控制蜂鸣器和发光二极管,振荡器可以用TTL门电路构成的多谐振荡器。

采用这2种方法可降低该部分的电路的功耗。

设计中,LED发光二极管的工作电流为5-20mA,最大不超过50mA,否则会烧坏器件。

为了获得良好的发光效果,LED工作电流控制在10-15mA较为合理。

在图3-4中所示电路中,D口得RD4,RD5,RD6,RD7,接声,光报警电路,其中D口的RD5-RD7分别接质量浓度过高,相等,过低的LED。

当气体检测仪检测质量浓度低于设定值时,绿灯亮;

当气体质量浓度达到某一定值时,黄灯亮;

当高于设定值时,红灯亮并发出警报信号。

图3-4声光报警电路原理图

显示电路

在该设计中,LED显示器的显示方法采用动态显示。

LED动态显示的基本做法在于分时轮流选通数码管的公共端,使得各数码管轮流导通,在选通相应的LED后,即在显示字段上得到显示字形码。

这种方式不但能提高数码管的发光效率,并且由于各个数码管的字段线是并联使用的,从而大大简化了硬件线路。

本设计中处理结果采用4位LED显示,首次显示气体类别,后3位显示气体浓度。

逐位轮流点亮各个LED,每一位保持1ms,在10-20ms之内再一次点亮,重复不止。

这样利用人的视觉停留,好像4位LED同时点亮一样。

图3-5显示电路原理图

第4章软件设计

流程图设计

图4-1软件流程图

程序编写

主程序

整个程序一共使用了两个中断,一个外部中断即INT0中断,一个定时/计数器中断即IT0中断.这两个中断各有其作用,INT0中断是用来判断A/D转换器ADC0809对模拟信号的转换是否完成,当A/D转换结束后,ADC0809发出结束EOC(高电平)信号,该信号可供单片机查询,也可反相后作为向单片机发出中断信号,而本设计正是用的这个方法,使得程序进入中断取值程序.而程序中所用到的IT0中断,是为产生一个周期为2S的方波而设计的,其作用是为看门狗产生喂狗子信号.具体程序如下:

ORG00H

JMPSTART;

主程序入口地址

ORG03H

JMPINTO;

外中断INTO入口

ORG0BH

JMPITOP;

定时器0中断入口

ORG0100H

START:

MOVIE,#B;

INT0中断使能

MOVIP,#00000001B;

INT0中断优先

MOVTCON,#00000000B;

设置INT0为电平触发

MOVSCON,#00000000B;

串行口发送,接收标志位请0

MOVSP,#60H;

设堆栈指针

MOVTMOD,#01H;

设置T0为方式1

CALLPT0M0

HERE:

AJMPHERE;

自身跳转

PT0M0:

MOVTL0,#0CH;

T0中断服务程序,T0重新置初值

MOVTH0,#0FEH

SETBTR0;

启动T0

SETBET0;

允许T0中断

SETBEA;

CPU开中断

RET

ITOP:

T0中断服务程序,T0置初值

MOVTH0,0FEH

CPL;

状态取反

RETI

ACALLLED;

调用LED自检子程序

MOV33H,#00H;

设置中断完成标志为0

MOVDPTR,#0FEFFH;

ADC0809的端口地址

MOVX@DPTR,A;

使BUS为高阻抗,令ADC0809开始转换

WAIT:

MOVA,33H;

等待A/D转换完成信号

JNZINTOK

JMPWAIT;

未完成则跳回等待

INTOK:

MOVA,32H;

将最新的浓度值存入累加器中,(若A/D未工作,则A=0)

JNZL1

MOVA,30H

JMPL2

L1:

MOV30H,31H

MOVA,31H;

将新浓度载入累加器

L2:

CALLBCD;

调用BCD码调整程序

CALLDISP;

显示当前浓度

CALLADZERO;

调用零点调整子程序

CALLALARM;

调用判断报警程序

CALLBCD

调用显示子程序

CLRA;

清除累加器值

返回

在主程序通过对33H中数值的判断断定A/D是否转换完成,当33H中为1时,转换完成,程序调用调零、报警、显示模块对输入数据进行处理。

调零子程序

由于未知问题,可能造成送入单片机中显示的模拟电压量与真实电压存在区别,这种误差可以通过在中断处理中对A/D转换的数值加上一个调整值来解决。

这样,我们就能根据实际情况来对报警器输出的数值进行控制,使其记数更加精确,使用更方便。

我们可以利用对端口的电平高低来判断是否需要进行调零处理,故可将按键开关接于端口.若开关按下,则说明有调零需要,于是进入调零处理程序;

若开关没有按下,则说明没有调零需要,系统进入下一步.通过设置一个按键,既可保证程序

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1