单片机9999S定时继电器程序

来源:本站
导读:目前正在解读《单片机9999S定时继电器程序》的相关信息,《单片机9999S定时继电器程序》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《单片机9999S定时继电器程序》的详细说明。
简介:本文和大家分享一个单片机9999S定时继电器的程序,感兴趣的朋友可以看看。

#include<reg51.h>sbit Key_UP=P1^0;sbit Key_DOWN=P1^1;unsigned char KeyV,TempKeyV;                                                           sbit P25=P2^0;//数码管第1位sbit P26=P2^1;//数码管第2位sbit P27=P2^2;//数码管第3位sbit P28=P2^3;sbit qian=P1^4;sbit bai=P1^5;sbit JDQ=P3^7;//继电器 unsigned int js; unsigned int ds,x,y;//倒计时初始时间,加时,减时 unsigned char jsflag;static unsigned int i;unsigned char code LEDDis[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF,0xBF};void Delay(unsigned int ii)        //1MS{unsigned int jj;for(;ii>0;ii--)for(jj=0;jj<125;jj++){;}}void main(){           EA = 1;                                        //允许CPU中断        ET0 = 1;                                 //定时器0中断打开        ET1=1;                                        //定时器1中断打开        TMOD = 0x11;                        //设定时器0 1为模式1,16位模式        TH0=0xB8;        TL0=0x00;                                //设定时值为(20ms)        TH1=0xdc;                                        //设定时值为(10ms)        TL1=0x00;        TR0 = 1;        TR1=1;        ds=9999;        KeyV = 0;        TempKeyV = 0;        jsflag=0;while(1);}//定时器0中断外理中键扫描和显示void Key_Time0(void) interrupt 1 using 2{  TH0=0xB8;        TL0=0x00;                                //设定时值为20000us(20ms)  if (!Key_UP)    KeyV = 1;  if (!Key_DOWN)    KeyV = 2;   if (KeyV!= 0)      //有键按下    {      Delay(10);   //延时防抖  按下10ms再测      if (!Key_UP)        TempKeyV = 1;      if (!Key_DOWN)        TempKeyV = 2;                if (KeyV == TempKeyV)   //两次值相等为确定接下了键          {                    if (KeyV == 1)                  {                                  jsflag=0;                                                    if(ds==0)                                                  {                                                  ds=600;                                                  }                                                        js=js+1;                                                        JDQ=0;   //继电器吸合                                                                              if(js==50)                                   {                                js=0;                                ds=ds-1;                                      }           }if(KeyV==2){         jsflag=1;        }}}   if(jsflag==1){   JDQ=1;   }   if(ds==0){   JDQ=1;   jsflag=1;   KeyV=0;   } }void disp_Time1(void) interrupt 3 using 3{        TH1=0xdc;        TL1=0x00;        x=ds/1000;          P0=LEDDis[x];P25=0;  Delay(2);         P25=1;         y=(ds%1000)/100;  P0=LEDDis[y];P26=0;  Delay(2); P26=1; P0=LEDDis[((ds%1000)%100)/10];P27=0; Delay(2);  P27=1;  P0=LEDDis[((ds%1000)%100)%10];P28=0; Delay(2);  P28=1;}

提醒:《单片机9999S定时继电器程序》最后刷新时间 2024-03-14 00:58:18,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《单片机9999S定时继电器程序》该内容的真实性请自行鉴别。