|
51單片機(jī)的煙霧報(bào)警系統(tǒng)原理圖:
0.png (32.26 KB, 下載次數(shù): 106)
下載附件
2017-4-7 21:44 上傳
51單片機(jī)源代碼:
- #include <reg52.h>
- #include <intrins.h>
- sfr P1ASF = 0x9D;
- sfr ADC_CONTR = 0XBC;
- sfr ADC_RES = 0xBD;
- sfr ADC_RESL = 0xBE;
- void adc_init()
- {
- P1ASF=0x03;//選擇adc通道為p1.0
- ADC_RES=0;
- ADC_RESL=0;
- //ADC_POWER=1; CHS2,1,0為0,用p1.0作為輸入。SPEED1,0為0,540個(gè)時(shí)鐘,
- ADC_CONTR=0x80;
- }
- unsigned int read_adc1()
- {
- unsigned int ywdata;
- ADC_RES=0;
- ADC_RESL=0;
- ADC_CONTR=0x88;//開(kāi)啟adc測(cè)量
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- while(!(ADC_CONTR & 0X10));//查詢數(shù)據(jù)標(biāo)志位
- ADC_CONTR &= ~0X10; //軟件清0
- ywdata |= ADC_RES;
- ywdata <<= 2;
- ywdata |= ADC_RESL;
- ADC_CONTR&=0x7f; //關(guān)閉電源
- return ywdata;
- }
- unsigned int read_adc2()
- {
- unsigned int ywdata;
- ADC_RES=0;
- ADC_RESL=0;
- ADC_CONTR=0x89;//開(kāi)啟adc測(cè)量
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- while(!(ADC_CONTR & 0X10));//查詢數(shù)據(jù)標(biāo)志位
- ADC_CONTR &= ~0X10; //軟件清0
- ywdata |= ADC_RES;
- ywdata <<= 2;
- ywdata |= ADC_RESL;
- ADC_CONTR&=0x7f; //關(guān)閉電源
- return ywdata;
- }
復(fù)制代碼
原理圖下載:
原理圖.doc
(60.5 KB, 下載次數(shù): 50)
2017-4-7 20:50 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|