欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > 基于单片机的四位数码管检测有毒气体

基于单片机的四位数码管检测有毒气体

2024/12/3 23:47:11 来源:https://blog.csdn.net/zs849644371/article/details/144180393  浏览:    关键词:基于单片机的四位数码管检测有毒气体

目录

一、主要功能

二、硬件资源

三、程序编程

四、实现现象


一、主要功能

基于51单片机,通过滑动变阻器连接ADC0832数模转换器模拟有毒气体浓度检测,通过数码管实时显示,如果超过阈值,则蜂鸣器报警,灯光亮起。按键调整阈值

二、硬件资源

基于KEIL5编写C++代码,PROTEUS8.15进行仿真,全部资源在页尾,提供安装包。

三、程序编程

#include <REGX52.H>
#include <intrins.h>
#include <stdio.h>
#define uchar unsigned char
#define uint unsigned  int
typedef unsigned char u8;
typedef unsigned int  u16;
#define dula P0		//段选信号的锁存器控制sbit wei1=P3^0;//位选定义
sbit wei2=P3^1;
sbit wei3=P3^2;
sbit wei4=P3^3;
sbit CS=P1^0;                 //adc0832引脚
sbit CLK=P1^1;
sbit DIO=P1^2;
sbit key1 = P1^4;
sbit key2 = P1^5;
sbit beep = P1^6;
sbit led = P1^3;static int nd[4];
static int ndyz=100;unsigned char table[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//共阴极段码表
int u;void Nixie();//数码管显示函数void delay(uint count)      //delay
{uint i;while(count){i=200;while(i>0)i--;count--;}
}uchar get_AD_Res()            //ADC0832启动读取函数
{uchar i, data1=0, data2=0;CS=0;CLK=0;DIO=1;_nop_();CLK=1;_nop_();CLK=0;DIO=1;_nop_(); CLK=1;_nop_();CLK=0;DIO=0;_nop_();CLK=1;_nop_();CLK=0;DIO=1;_nop_(); for(i=0; i<8; i++){CLK=1;_nop_();CLK=0;_nop_();data1=(data1<<1)|(uchar)DIO; }for(i=0; i<8; i++){data2=data2|(uchar)DIO<<i;CLK=1;_nop_();CLK=0;_nop_();}CS=1;return(data1 == data2)?data1:0;
}void main()
{beep = 1;led = 0;while(1){	u = get_AD_Res();nd[0]=u/100;nd[1]=u/10%10;nd[2]=u%10;Nixie();if(!key1){ndyz++;while(!key1);}if(!key2){ndyz--;while(!key2);}if(u > ndyz){beep = 0;led = 1;}else{beep = 1;led = 0;}}		
}
void Nixie()
{wei1=0;		//显示千位wei2=1;wei3=1;wei4=1;P0=table[nd[0]];delay(2);wei1=1;		//显示百位wei2=0;wei3=1;wei4=1;P0=table[nd[1]];delay(2);wei1=1;		//显示十位wei2=1;wei3=0;wei4=1;P0=table[nd[2]];delay(2);P0=0x00;
}

四、实现现象

具体动态效果看B站演示视频:

基于单片机的四位数码管检测有毒气体_哔哩哔哩_bilibili

全部资料(源程序、仿真文件、安装包、演示视频):
链接: https://pan.baidu.com/s/1aO8Y-MuUOl5ZEZHYbRA8PA?pwd=e1cc 提取码: e1cc 
--来自百度网盘超级会员v4的分享

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com