- 主要程序代碼
- #include <reg52.h>
- #include <stdio.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar flag,wei;
- sbit D=P2^0;
- sbit C=P2^1;
- sbit b=P2^2;
- sbit A=P2^3;
- sbit led1=P1^0; //低水位指示燈
- sbit led2=P1^1; //正常水位指示燈
- sbit led3=P1^2; //高水位指示燈
- sbit led4=P1^3;
- sbit led5=P1^4;
- sbit jdq=P3^5; //繼電器
- sbit beep=P1^5; //蜂鳴器
- sbit key1=P3^2;
- sbit key2=P3^3;
- sbit key3=P3^4;
- bit key1_flag=0;
- bit key2_flag=0;
- bit key3_flag=0;
- bit A_M=0;
- uchar code table[]=
- {
- 0xc0,0xf9,0xa4,0xb0,0x99,
- 0x92,0x82,0xf8,0x80,0x90,
- }; //共陽(yáng)數(shù)碼管段碼表 沒有小數(shù)點(diǎn) 0~9
- void didi() //聲音
- {
- beep=0; //蜂鳴器響
- delay(100); //延時(shí)
- beep=1; //蜂鳴器關(guān)
- delay(100); //延時(shí)
- }
- void shuiwei() //水位檢測(cè)部分
- {
- if(A==1&&b==1&&C==1&&D==1) //ABCD都為高電平 水位為4
- {
- wei=4;
- }
- if(A==0&&b==1&&C==1&&D==1)
- {
- wei=3;
- }
- if(A==0&&b==0&&C==1&&D==1)
- {
- wei=2;
- }
- if(A==0&&b==0&&C==0&&D==1)
- {
- wei=1;
- }
- if(A==0&&b==0&&C==0&&D==0)
- {
- wei=0;
- }
- }
- void main()
- {
-
- while(1)
- {
- shuiwei();
- kongzhi();
- if(A_M)
- {
-
- led5=0;
- led4=1;
- }
- else
- {
- led4=0;
- led5=1;
- beep=1;
- }
- P0=table[wei]; //對(duì)應(yīng)數(shù)碼管顯示
- key_scan();
- }
- }
復(fù)制代碼
|