久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 開源分享一款GYJ-0306_可編程多功能延時時間控制模塊 時分秒可以設置 [打印本頁]

作者: 電子愛好者999    時間: 2023-6-28 01:43
標題: 開源分享一款GYJ-0306_可編程多功能延時時間控制模塊 時分秒可以設置




















【聲明】此程序僅用于學習與參考!     
*********************************************************************/
#include <STC8F2K08S2.h>
#include <intrins.h>
#include <string.h>
#define uchar unsigned char//宏定義無符號字符型
#define uint unsigned int  //宏定義無符號整型

/**************************************************
                                 IO口定義
***************************************************/
sbit led = P1^0;
sbit IN1 = P5^4;
sbit set1= P1^7;
sbit set2= P1^6;
sbit set3= P1^1;

sbit ten1= P3^7;
sbit ten2= P3^6;
sbit ten3= P3^5;
sbit ten4= P3^4;

sbit b1 = P3^3;
sbit b2 = P3^2;
sbit b3 = P3^1;
sbit b4 = P3^0;
sbit OUT = P5^5;
bit bz=0,bk=0,kk=0,bt=0,kz=0,bs1=0,bs2=0,bs3=0,ss=0,g=0;
uchar ba=0;
uint dat=0,dat1=0,dat2=0,jsu=0,js=0,js1=0,js2=0;

/**************************************************
                                配置t0
***************************************************/
void Timer0Init(void)                //1毫秒@11.0592MHz
{
        AUXR |= 0x80;                //定時器時鐘1T模式
        TMOD &= 0xF0;                //設置定時器模式
    TL0 = 0xCD;                //設置定時初值
        TH0 = 0xD4;                //設置定時初值
        TF0 = 0;                //清除TF0標志
        ET0 = 1;
        TR0 = 1;                //定時器0開始計時
}

/**************************************************
                                t0
***************************************************/
void InterruptTimer0() interrupt 1{//T0中斷服務函數,執行串口接收監控
             dat2=dat+dat1;
          if(dat2==0){kz=1;}else{kz=0;}        //kz當沒有撥時間時不讓定時器計數
          if((kk==1)&&(bk==0)&&(kz==0)){jsu++;}        //bk執行完畢后停止計數器計數,jsu計數
          if(ba==0)//秒
          {
            if((jsu==100)&&(g==0)){g=1;if(bt==0){OUT=1;}else{OUT=0;}}//控制上電繼電器吸合還是斷開
            if(jsu==800){led=0;}
            if(jsu==1000)//1s
            {
               
              jsu=0;
                  led=1;
                  js++;
                   if((js==dat2)&&(ss==0))
                   {
            js=0;
//                    bk=1;
//                    kk=0;
//                    led=0;
                    OUT=!OUT;
                        jsu=0;
                        ss=1;
                   }
                  if((js==dat2)&&(ss==1))
                   {
            js=0;
                    bk=1;
                    kk=0;
                    led=0;
                    OUT=!OUT;
                        jsu=0;
                   }
             }
          }

          if(ba==1)//分
          {
            if((jsu==100)&&(g==0)){g=1;if(bt==0){OUT=1;}else{OUT=0;}}
            if(jsu==800){led=0;}
            if(jsu==1000)//1s
            {
               
              jsu=0;
                  led=1;
                  js++;
                  if(js==60)//1分
                   {
                      js=0;
                          js1++;
                      if((js1==dat2)&&(ss==0))
                      {
               js1=0;
//                       bk=1;
//                       kk=0;
//                       led=0;
                       OUT=!OUT;
                           ss=1;
                           jsu=0;
                           js=0;
                      }
                         if((js1==dat2)&&(ss==1))
                      {
               js1=0;
                       bk=1;
                       kk=0;
                       led=0;
                       OUT=!OUT;
                           jsu=0;
                           js=0;
                     }
                   }
             }
          }

         if(ba==2)//時
          {
            if((jsu==100)&&(g==0)){g=1;if(bt==0){OUT=1;}else{OUT=0;}}
            if(jsu==800){led=0;}
            if(jsu==1000)//1秒
            {
               
              jsu=0;
                  led=1;
                  js++;
                  if(js==60)//1分鐘
                   {
                      js=0;
                          js1++;
                          if(js1==60)//1小時
                          {
                            js1=0;
                            js2++;
                         if((js2==dat2)&&(ss==0))
                        {
                 js2=0;
//                         bk=1;
//                         kk=0;
//                         led=0;
                         OUT=!OUT;
                                 ss=1;
                                 js=0;
                                 js1=0;
                                 jsu=0;
                        }
                                if((js2==dat2)&&(ss==1))
                        {
                 js2=0;
                         bk=1;
                         kk=0;
                         led=0;
                         OUT=!OUT;
                                 js=0;
                                 js1=0;
                                 jsu=0;
                        }
                          }
                    }
              }
           }
}
/**************************************************
                                主函數
***************************************************/
void main()
{
  Timer0Init();
  EA=1;
  ba=0;
  OUT=1;
  while(1)
  {
        if((IN1==0)&&(bz==0)){bz=1;kk=1;bk=0;ss=0;g=0;jsu=0;js=0;js1=0;js2=0;led=1;} //        bz控制輸入一次標志位,KK控制定時器計數,
        if((IN1==1)&&(bz==1)){bz=0;}
        if(set1==0){bt=1;}else{bt=0;} //撥上撥碼開關設置延時斷開,不撥延時接通
        if((set2==1)&&(set3==1)&&(bs1==0)){ba=0;bs1=1;bs2=0;bs3=0;}          //秒 ba=0
        if((set2==0)&&(set3==1)&&(bs2==0)){ba=1;bs1=0;bs2=1;bs3=0;}          //分 ba=1
        if((set2==0)&&(set3==0)&&(bs3==0)){ba=2;bs1=0;bs2=0;bs3=1;}          //時 ba=2

        if((b1==1)&&(b2==1)&&(b3==1)&&(b4==1)){dat=0;}//1秒
        if((b1==0)&&(b2==1)&&(b3==1)&&(b4==1)){dat=1;}
        if((b1==1)&&(b2==0)&&(b3==1)&&(b4==1)){dat=2;}
        if((b1==0)&&(b2==0)&&(b3==1)&&(b4==1)){dat=3;}
        if((b1==1)&&(b2==1)&&(b3==0)&&(b4==1)){dat=4;}
        if((b1==0)&&(b2==1)&&(b3==0)&&(b4==1)){dat=5;}
        if((b1==1)&&(b2==0)&&(b3==0)&&(b4==1)){dat=6;}
        if((b1==0)&&(b2==0)&&(b3==0)&&(b4==1)){dat=7;}
        if((b1==1)&&(b2==1)&&(b3==1)&&(b4==0)){dat=8;}
        if((b1==0)&&(b2==1)&&(b3==1)&&(b4==0)){dat=9;}
        if((b1==1)&&(b2==0)&&(b3==1)&&(b4==0)){dat=10;}
        if((b1==0)&&(b2==0)&&(b3==1)&&(b4==0)){dat=11;}
        if((b1==1)&&(b2==1)&&(b3==0)&&(b4==0)){dat=12;}
        if((b1==0)&&(b2==1)&&(b3==0)&&(b4==0)){dat=13;}
        if((b1==1)&&(b2==0)&&(b3==0)&&(b4==0)){dat=14;}
        if((b1==0)&&(b2==0)&&(b3==0)&&(b4==0)){dat=15;}//15秒

        if((ten1==1)&&(ten2==1)&&(ten3==1)&&(ten4==1)){dat1=0;}//0s
        if((ten1==0)&&(ten2==1)&&(ten3==1)&&(ten4==1)){dat1=10;}//10s
        if((ten1==1)&&(ten2==0)&&(ten3==1)&&(ten4==1)){dat1=20;}//20s
        if((ten1==0)&&(ten2==0)&&(ten3==1)&&(ten4==1)){dat1=30;}//30s
        if((ten1==1)&&(ten2==1)&&(ten3==0)&&(ten4==1)){dat1=40;}//40s
        if((ten1==0)&&(ten2==1)&&(ten3==0)&&(ten4==1)){dat1=50;}//50s
        if((ten1==1)&&(ten2==0)&&(ten3==0)&&(ten4==1)){dat1=60;}//60s
        if((ten1==0)&&(ten2==0)&&(ten3==0)&&(ten4==1)){dat1=70;}//70s
        if((ten1==1)&&(ten2==1)&&(ten3==1)&&(ten4==0)){dat1=80;}//80s
        if((ten1==0)&&(ten2==1)&&(ten3==1)&&(ten4==0)){dat1=90;}//90s
        if((ten1==1)&&(ten2==0)&&(ten3==1)&&(ten4==0)){dat1=100;}//100s
        if((ten1==0)&&(ten2==0)&&(ten3==1)&&(ten4==0)){dat1=110;}//110s
        if((ten1==1)&&(ten2==1)&&(ten3==0)&&(ten4==0)){dat1=120;}//120s
        if((ten1==0)&&(ten2==1)&&(ten3==0)&&(ten4==0)){dat1=130;}//130s
        if((ten1==1)&&(ten2==0)&&(ten3==0)&&(ten4==0)){dat1=140;}//140s
        if((ten1==0)&&(ten2==0)&&(ten3==0)&&(ten4==0)){dat1=150;}//150s
  }
}

/*********************************************************************************************/

J-0306_可編程多功能延時時間控制模塊.7z

906.45 KB, 下載次數: 20, 下載積分: 黑幣 -5

Keil代碼下載






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日韩一区二区精品 | 国产精品视频久久久 | 亚洲免费精品 | 欧美韩一区二区 | 在线精品观看 | 欧美日韩一区二区三区四区 | 国产精品性做久久久久久 | 一区二区小视频 | 日韩亚洲欧美综合 | 一级黄色毛片a | 精品欧美一区二区三区久久久 | 91视频电影| 中文字幕国产 | 欧美不卡一区二区三区 | 日本又色又爽又黄又高潮 | 欧美一级欧美三级在线观看 | 新91 | 国产精品视频久久久久 | 免费精品 | 日本免费视频 | 天天干夜夜操视频 | 色婷婷激情综合 | 天天综合久久 | 成人在线视频网站 | 亚洲综合国产 | 久久精品国产久精国产 | 91精品国产手机 | 日韩成人影院 | 综合久久久 | 精品av | 天天干天天色 | 一区二区蜜桃 | 欧美中文字幕在线 | 色婷婷九月 | 亚洲福利一区 | 国产粉嫩尤物极品99综合精品 | 久久99久久98精品免观看软件 | 久久精品欧美一区二区三区麻豆 | 欧美一区二区三区大片 | 国产黄色小视频 | 久久久亚洲精品视频 |