摘要:51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。
(1)O2传感器、CO传感器、H2S传感器、CH4传感器实时检测空气中的各项数值,并通过LCD1602实时显示;
(2)通过按键可设定O2、CO、H2S、CH4的报警阈值;
(3)当测得的值超过设定的报警阈值时,相应的指示灯亮,蜂鸣器响,声光报警。
仿真演示视频:
设计介绍
51单片机简介
51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。
本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。
资料内容
仿真实现(protues8.7)
本设计利用protues8.7软件实现仿真设计,具体如图。
程序(Keil5)
本设计利用KEIL5软件实现程序设计。
主函数如下:
/////// 主函数//void main(void){ uchar i; // 循环变量 LcdInit; // 液晶功能初始化 LcdShowInit; // 液晶显示初始化 AlarmInit; // 报警值初始化 while(1) { CO=Get_ADC0832; // 读取CO强度 CO=CO/2.5; // 缩小CO检测结果(在0-99) if(CO>99) // 如果大于99 CO=99; // 则依然保持99 LcdGotoXY(0,3); // 液晶定位到第0行第6列 LcdPrintNum1(CO); // 显示测量结果 CH=Get_ADC08321; // 读取CH强度 CH=CH/2.5; // 缩小CH检测结果(在0-99) if(CH>99) // 如果大于99 CH=99; LcdGotoXY(0,12); // 液晶定位到第0行第6列 LcdPrintNum1(CH); // 显示测量结果 O=Get_ADC08322; // 读取O2强度 O=O/2.5; // 缩小O2检测结果(在0-99) if(O>99) // 如果大于99 O=99; // 则依然保持99 LcdGotoXY(1,3); // 定位到要显示O2的地方 LcdPrintNum2(O); // 显示O2值 HS=Get_ADC08323; // 读取H2S强度 HS=HS/2.5; // 缩小H2S检测结果(在0-99) if(HS>99) // 如果大于99 HS=99; LcdGotoXY(1,13); // 定位到要显示H2S的地方 LcdPrintNum2(HS); // 显示H2S值 // 报警判断 AlarmJudge; /*按键扫描和延时*/ for(i=0;i程序运行结果如图:
全部内容
全部资料包括程序(keil5)、protues仿真(protues8.7)、开发资料、资料使用介绍、仿真视频、程序讲解视频、仿真讲解视频、最小系统介绍视频等。
资料获取
来源:科技小天下