沒有傳感器,用手動的調節代替~
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載):
0.png (37.2 KB, 下載次數: 26)
下載附件
2017-6-3 18:25 上傳
0.png (73.35 KB, 下載次數: 34)
下載附件
2017-6-3 18:25 上傳
單片機源程序如下:
- #include<reg51.h>
- char code TAB[10]={ 0xc0,0xf9,0xa4,0xb0,0x99,
- 0x92,0x83,0xf8,0x80,0x98};
- #define ADC P0
- #define SCANP P1
- #define SEG7P P2
- sbit relay=P3^0;
- sbit LED=P3^1;
- unsigned char disp[4]={0,0,0,0};
- unsigned char _adc;
- void dataproc(unsigned int);
- void display(void);
- void delay1ms(char);
-
- main()
- {
- while(1)
- {
-
- _adc=ADC;
- dataproc(_adc);
- display();
- LED=0;
- if(disp[3]>=3)
- {
- relay=0;
- delay1ms(100);
- relay=1;
- delay1ms(100);
- }
-
- }
- }
- void dataproc(unsigned int data_in)
- {
- int results;
- results=data_in*196;
- disp[3]=results/10000;
- disp[2]=(results/1000)%10;
- disp[1]=(results/100)%10;
- disp[0]=(results/10)%10;
- }
- void display(void)
- {
- char i,scan;
- char times=20;
- while(--times>=0)
- {
- scan=1;
- for(i=0;i<4;i++)
- {
- SEG7P=0xff;
- SCANP=scan;
- SEG7P=TAB[disp[i]];
- delay1ms(4);
- scan<<=1;
- }
- }
- }
-
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
煙霧報警.zip
(74.45 KB, 下載次數: 33)
2017-6-3 12:09 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|