找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 180|回复: 0
打印 上一主题 下一主题
收起左侧

基于51单片机的水位控制系统代码,51单片机,单片机AT89C51\C52\S51\S52

[复制链接]
跳转到指定楼层
楼主
靓仔哭了 发表于 2020-9-28 22:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
#include <intrins.h>
/*****************o궨òå******************/
#define uint unsigned int
#define uchar unsigned char
#define u8 unsigned char
/***********λ2ù×÷¶Ë¿ú¶¨òå**************/

sbit speak=P0^4;          //   ·äÃùÆ÷
sbit JK2=P1^6;                 //          Ë®Î»¼ìμçÆ÷

sbit led3=P0^2;          //3/4ˮλָê¾μÆ
sbit led2=P0^1;          //1/2ˮλָê¾μÆ
sbit led1=P0^0;         //1/4ˮλָê¾μÆ

sbit SW041=P1^0; //1/4ˮλ
sbit SW021=P1^1; //1/2ˮλ
sbit SW043=P1^2; //3/4ˮλ
sbit SW01=P1^3; //Âúˮλ
uchar bianma[]={0xc0,0xf6,0xa1,0xa4,0x96};
/********************************************************************
* Ãû3Æ : delay_1ms()
* 1|Äü : Ñóê±1msoˉêy
* êäèë : q
* êä3ö : ÎT
***********************************************************************/
void delay_ms(uint q)
{
        uint i,j;
        for(i=0;i<q;i++)
                for(j=0;j<110;j++);
}


/***********************************************************************************************************
°′¼ü¼ì2aÏà1Øoˉêy
***********************************************************************************************************/
//°′¼ü
sbit Key1=P1^4;                                 
sbit Key2=P1^5;                                 

#define KEY_SET                 1       
#define KEY_ADD                        2       


//========================================================================
// oˉêy: u8 Key_Scan()
// ó|óÃ: temp=u8 Key_Scan();
// Ãèêö: °′¼üé¨Ãè2¢·μ»Ø°′ÏÂμļüÖμ
// 2Îêy: NONE
// ·μ»Ø: °′ÏÂμļüÖμ
// °æ±¾: VER1.0
// èÕÆú: 2015-05-29
// ±¸×¢: ¸Ãoˉêy′øËéêÖ¼ì2a,°′ϼü·μ»Øò»′μüÖμoó·μ»Ø0,Ö±Öáμú¶t′ΰ′¼ü°′ÏÂ
//========================================================================
u8 Key_Scan()
{         
        static u8 key_up=1;//°′¼ü°′Ëé¿a±êÖ¾
        if(key_up&&(Key1==0||Key2==0))
        {
                delay_ms(10);//襶¶¶ˉ
                key_up=0;
                if(Key1==0)                        return 1;
                else if(Key2==0)return 2;
        }
        else if(Key1==1&&Key2==1)
                key_up=1;             
        return 0;// ÎT°′¼ü°′ÏÂ
}


uchar Mode=0;                                                                 //

/**********Ö÷oˉêy******************/
void main()
{       
        u8 j=0;
        u8 key;
        u8 sd=0;
        while(1)
        {
                key=Key_Scan();                                        //°′¼üé¨Ãè
                if(key==KEY_SET)
                {
                        sd=1;
                }
                if(key==KEY_ADD)
                {
                        sd=0;
                }
                if(Mode)
                {
                        if(sd==1)
                                JK2=0;
                        if(sd==0)
                                JK2=1;
                }
         
         if((SW01==1)&&(SW043==1)&&(SW021==1)&&(SW041==1))        //0ˮλ Ö¸ê¾ Æô¶ˉË®±Ã¼óË®
         {
                led1=0;
                led2=1;
                led3=1;
                JK2=0;
                j++;
                if(j<100)
                {
                        speak=1;
                }
                else if(j<200)
                {
                        speak=0;
                }                                                        //
                else j=0;
                Mode=0;//½ûÖ1êÖ¶ˉ½½Ë®
                P2=bianma[0];
                delay_ms(3);
        }
       
        if((SW01==1)&&(SW043==1)&&(SW021==1)&&(SW041==0))        //1/4ˮλָê¾
         {
                led1=1;
                speak=1;
                led2=0;
                led3=1;
                Mode=1;//ÔêDíêÖ¶ˉ½½Ë®
                       
                P2=bianma[1];
        }
        if((SW01==1)&&(SW043==1)&&(SW021==0)&&(SW041==0))  //1/2ˮλָê¾
         {
                led1=1;
                speak=1;
                led2=0;
                led3=1;
                Mode=1;//ÔêDíêÖ¶ˉ½½Ë®
                P2=bianma[2];
        }
        if((SW01==1)&&(SW043==0)&&(SW021==0)&&(SW041==0))        //3/4ˮλָê¾
         {
                led1=1;
                speak=1;
                led2=0;
                led3=1;
                Mode=1;//ÔêDíêÖ¶ˉ½½Ë®
                P2=bianma[3];
        }
        if((SW01==0)&&(SW043==0)&&(SW021==0)&&(SW041==0))        //èç1ûË®ÂúáË Ö¸ê¾μÆÖ¸ê¾ í£Ö1¼óË®
         {
                led1=1;
                speak=1;
                led2=1;
                led3=0;
                Mode=0;//½ûÖ1êÖ¶ˉ½½Ë®
                JK2=1;
                P2=bianma[4];
        }
        }                         

}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表