可燃气体探测器实训.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE 4 项目实训七、可燃气体报警实训模块 = 1 \* GB1 ⒈ 实验目的 = 1 \* GB2 ⑴ 熟悉Keil Cx51开发环境。 = 2 \* GB2 ⑵ 了解在Keil Cx51软件中如何利用Keil Cx51软件进行编辑、编译、连接和运行单片机C语言和汇编语言源程序。 ⑶ 了解并学习气体传感器的工作原理及使用方法;进一步熟悉单片机应用产品开发方法与步骤。 ⑷ 学习MCS-51系列单片机是如何通过外部系统报告其运行状态和运行结果。学习单片机如何通过串行口监控气体传感器的工作原理及软硬件设计方法。 = 2 \* GB1 ⒉ 实验设备与元器件 = 1 \* GB2 ⑴ 至少20MB硬盘、16MB内存的Pentium、Pentium-II或相应兼容处理器的PC机。 = 2 \* GB2 ⑵ Keil C V8.08版本的uVision2/3软件。 = 3 \* GB2 ⑶ YZM-8嵌入式单片机应用技术项目实训系统中的可燃气体报警实训模块(如图1.1所示)。 ⑷TOP851/853托普通用编程器一台、89系列单片机若干片、万用表、连接线若干根等。 = 4 \* GB2 ⑷ 按照电路图1.2进行硬件连接,连接方法详见1.3、1.4、1.5、1.6所示。 3. 实验要求 ⑴ 运行Keil Cx51软件,熟悉Keil Cx51软件的开发环境及各个菜单的功能。 ⑵ 编写简单的单片机C语言或汇编源程序,学会单片机C语言或汇编源程序的编辑、编译方法。 ⑶ 按照连线图1.3、1.4、1.5、1.6四种方法连线。 ⑷ 将编写好的程序烧写入单片机89s51中,运行单片机控制的可燃气体报警实训电路,观察运行结果,并写出实验报告。 ⑸ 改变硬件电路(四种连线方法),修改相应的单片机软件程序,上电运行并观看运行结果。 4. 实验内容与步骤 ⑴ 硬件设计:简单可燃气体报警器实训控制电路图(如图1.1所示)。该模块能自动检测环境中的各种可燃气体的浓度,当甲烷或其他可燃气体浓度大于一定范围阈值时自动进行声光报警。 图1.2 可燃气体报警实训模块 图1.2 可燃气体报警实训模块 图1.3 可燃气体报警实训模块电路连接法一 图1.4 可燃气体报警实训模块电路连接法二 图1.5 可燃气体报警实训模块电路连接法三图1.6 可燃气体报警实训模块电路连接法四 图1.5 可燃气体报警实训模块电路连接法三 图1.6 可燃气体报警实训模块电路连接法四 可燃气体报警实训模块硬件电路连接方法很多,只用到三个I/O口即气体传感器左侧的P1.0、P1.5、P1.6。这三个口可以和P0~P3口的任意I/O口即可。 首先调节电位器RP1使LM393比较器的3脚输出0.5V,调节电位器RP2使LM393比较器的2脚输出电压2.4V,当气体探测到空气中可燃气体的含量超过阈值,LM393的3脚电压瞬间上升至大于2.4V,这时运放LM393工作,LM393的1脚输出高电平信号传送到CPU,可燃气体报警实训模块发出声光报警信号。 ⑵软件设计 根据图1-1, 按照图1.2连线图进行连线, 程序流程图如下图1.7所示: 开始 开始 系统初始化 有键盘中断吗? 检测可燃气体浓度 Y N 返回 是否大于预先设定阈值 超出阈值,声光报警 未超出阈值 绿色工作灯亮 参数设置 图1.7 可燃气体报警实训模块流程图 参考程序如下: 程序一: #include reg51.h #include stdio.h #include string.h #define uint unsigned int #define uchar unsigned char sbit beep=P2^7; sbit green=P1^5; sbit hong=P1^6; sbit qiti=P1^0; bit alarm; uchar MS_CNT; void init() { EA=1;IT0=1;alarm=0; P1=0xff;P3=0xff; P2=0xff; } void Timer0(void)interrupt 1 { TH0=(65536-49990)/256; TL0=(65536-49990)%256; if(MS_CNT=20) { MS_CNT=0; beep=!beep; } } void main() {TMOD=0X01; TH0=(65536

文档评论(0)

kbook + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档