基于单片机的烟雾报警器设计 下载本文

} }

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

void delay_s(unsigned char timedata) {

unsigned char aa=197,bb=250,cc=2; cc=cc*timedata; while(cc--) { } } */

//---------------------------------------------------------------------- void init(void) {

WDT_CONTR=0x00; //关闭看门狗 delay_ms(100);

CLK_DIV=0x00; //无分频 AUXR=0x00;

TCON=0x00;

TMOD=0x01; //定时器0设置为16位定时模式 TH0=0x3c; //定时50MS TL0=0xb0;

TF0=0; //标志位清零 TR0=0;

ET0=1; //定时器0中断使能

ADC_CONTR=0; //先清零 ADC_POWER_1; //打开AD电源

//设置为普通51模式

while(--aa)

while(--bb);

delay_ms(1);

CHS_0;

ADC_FLAG_0; //请标志位 ADC_EN_1;

EADC_SPI=1; //AD中断使能

P1M0=0x03; //P1.0和P1.1设置为输入 P1M1=0x00;

Y0=0; //打开数码管显示 P2=0;

EA=1; //关闭总中断 TR0=1; //启动定时器0中断 GS=1; YS=1;

RS=1; //灯关闭 feng=1; }

//---------------------------------------------------------------------- void xianshi(void)//显示程序 {

P2=xsdata[xscout]; }

//---------------------------------------------------------------------- void adc_cai(void) //AD采集程序 {

if((start_biao==1)&&(yure_biao==1)) {

ADC_START_1; //启动采集

//出事0