基于单片机的CO2浓度检测与显示系统设计 联系客服

发布时间 : 星期三 文章基于单片机的CO2浓度检测与显示系统设计更新完毕开始阅读3ed59ad2b04e852458fb770bf78a6529647d355f

西安建筑科技大学课程设计(论文)

ADCLK=1; //拉高CLK端 _nop_(); _nop_();

ADCLK=0; //拉低CLK端,形成下降沿1 _nop_(); _nop_();

ADCLK=1; //拉高CLK端 ADDI=channel&0x1; _nop_(); _nop_();

ADCLK=0; //拉低CLK端,形成下降沿2 _nop_(); _nop_();

ADCLK=1; //拉高CLK端 ADDI=(channel>>1)&0x1; _nop_(); _nop_();

ADCLK=0; //拉低CLK端,形成下降沿3 ADDI=1; //控制命令结束 _nop_(); _nop_(); dat=0;

for(i=0;i<8;i++) {

dat|=ADDO; //收数据 ADCLK=1; _nop_(); _nop_();

ADCLK=0; //形成一次时钟脉冲

第 29 页 共 39页

西安建筑科技大学课程设计(论文)

_nop_(); _nop_(); dat<<=1;

if(i==7)dat=ADDO; }

for(i=0;i<8;i++) { j=0;

j=j|ADDO; //收数据 ADCLK=1; _nop_(); _nop_();

ADCLK=0; //形成一次时钟脉冲 _nop_(); _nop_(); j=j<<7; ndat=ndat|j; if(i<7)ndat>>=1; }

ADCS=1; //拉低CS端 ADCLK=0; //拉低CLK端

ADDO=1; //拉高数据端,回到初始状态 dat<<=8; dat|=ndat;

return(dat); //return ad k }

/*------------------------------------------------*/

void tra(uchar *p) //数组dsp[]里面的字符查询后,再储储存到另一个显示数组value[]

第 30 页 共 39页

西安建筑科技大学课程设计(论文)

void main_Menu()

{ Clr_Scr(); // 先清屏 // CS2=1;CS1=0; delay(2000); do {

k=Adc0832(0); //AD转换结果 l=k/255.0*100.0;

ltemp=floor(l); dsw[0]=ltemp/10; dsw[1]=ltemp;

// sprintf(dsw,\ // dsw[0]=1; switch(dsw[0]) { case 0:

sz_disp16(2,32,1,sz0); break; case 1: }

switch(dsw[1]) { case 0:

sz_disp16(2,40,1,sz0); break;

case 1:……sz_disp16(2,40,1,sz9); }

CS2=1;CS1=0;

while(P1_3);

第 31 页 共 39页

西安建筑科技大学课程设计(论文)

}

/*-----------------------时钟程序--------------------------*/ /*-------------------引脚连接-------------------------------------*/ sbit RST2 = P3^5; // 复位线引脚 // sbit CLK = P3^6; // 时钟线引脚 // …… // 其它引脚略……

/*---------------定义时间日期显示缓存 ----------------------*/ unsigned char Curtime[7];

idata unsigned char day,sec,min,hour,date,month,year,hms,n,fla_cou; Unsigned char code

yejing[10]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39}; /*------------------子函数声明 (时钟部分 )--------------*/[7] void InputByte(unsigned char Date); void WriteTo1302(unsigned char Addr,unsigned char Date); ReadFrom1302(unsigned char Addr); void SetTime(unsigned char *pSecDa); void GetTime(unsigned char Curtime[]); void Init_T0(void); void FlashKey(void); void Add(void); void Init_Clock(void); void Refresh(void); void StartMenu(void)

/*----------------写入字节子函数-----------*/ void InputByte(unsigned char dat) {

unsigned char i; ACC = dat;

for(i=8; i>0; i--)

第 32 页 共 39页