基于单片机的天然气泄漏检测系统设计完整(7)

2018-12-04 22:39

北华大学毕业设计(论文)

sbit key_manual=P1^7;//模拟手动报警和解除报警按键 bit SetUpFlag=0; bit set_manual=0; uchar key_manual_num=0; ulong gas_uplimit=150; /********定义变量*********/ unsigned char data1; unsigned char count; unsigned char cycle; unsigned long data2; long

Value,num=0;

uchar temp,getdata; uchar jian,bai,shi,ge; uchar time_ms1;

//微秒显示函数 void Delayus(uchar i) {

while(--i); }

//毫秒显示函数 void delay1ms(uint z) { }

void ad(void) //ad采样函数 {

uchar i; //data1=0;

bADcs = 0;//当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用.

27

uint x,y; for(x=z;x>0;x--)

for(y=110;y>0;y--);

北华大学毕业设计(论文)

}

bADcl=0; bADda=1; bADcl=1; bADcl=0;//i down bADda=1; bADcl=1;

bADcl=0; // 2 down bADda=0; bADcl=1;

bADcl=0; // 3 down bADda=1; bADcl=1;

bADcl=0; // 4 down for(i=8;i>0;i--)

{

data1<<=1; bADcl=0; bADcl=1;

if(bADda==1) data1|=0x01; bADda=1; }

bADcs=1;

void cal() //计算把采样到的值转换成实际电压值 {

Value=data1*1.0/256*500; Value=Value*K_MG_MV; Value=Value-5; if(Value<0)Value=0;

28

北华大学毕业设计(论文)

}

void display_temp(int Value) {

temp=(uchar)(Value/1000);//分离千分位

//////////////////////////////////// //////////////先显示个位//////////// LED0=1;

LED1=0; LED2=0; LED3=0;

jian=temp;

temp=(uchar)((Value00)/100); //分离百分位 bai=temp;

temp=(uchar)((Value0)/10);//分离十位 shi=temp;

temp=(uchar)(Value);//分离个位 ge=temp;

P2=dispcode0[ge]; delay1ms(5);

/////////////接着显示十位///////// LED0=0;

LED1=1; LED2=0; LED3=0;

P2=dispcode0[shi]; delay1ms(5); //////////////////////////////////

/////////////再接着显示百位//// LED0=0; LED1=0; LED2=1; LED3=0;

29

北华大学毕业设计(论文)

P2=dispcode0[bai]; delay1ms(5);

/////////////////////////// }

}

while(!key_up);//等待按键释放

if(key_up==0) {

delay1ms(10); if(key_up==0) {

SetUpFlag=1; gas_uplimit++;

if(gas_uplimit==999)gas_uplimit=0;

////////////////////////////////// ///////////////////////////

if(key_down==0) { }

30

delay1ms(10); if(key_down==0) {

SetUpFlag=1; }

while(!key_down);//等待按键释放 gas_uplimit--;

if(gas_uplimit==0)gas_uplimit=999;

北华大学毕业设计(论文)

////////////////////////////////// /////////////////////////// }

void manual_simulate() {

if(key_manual==0) {

delay1ms(10); if(key_manual==0) { TR1=0;

alarm=0;

31

if(key_ok==0) { }

SetUpFlag=0; }

while(!key_ok);//等待按键释放 delay1ms(10); if(key_ok==0) {

//////////////////////////////////

key_manual_num++;

set_manual=1;

if(key_manual_num==2)

{ alarm=1;


基于单片机的天然气泄漏检测系统设计完整(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:华清远见嵌入式学院 《网络编程》考试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: