⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m8.c

📁 用于工业设备上,对设备工作时间进行定时,到时后,将设备锁定,要进行重设时间
💻 C
字号:
//www.yc51dpj.com
//2008年04月20号
#include <mega8.h>
#include <delay.h>
#define  suo 225   //255-250=5,5就是可以成功操纵的次数
unsigned int ss; 
unsigned char sycs,spi_data=128,n=10,shenying=1,shenying1=1;
unsigned char ASC2[]={192,249,164,176,153,146,130,248,128,144,191,255,163,142};//数码管显示的代码 
eeprom unsigned char cs=255,xuansu=255,data_fs=0;
//*********************************************
void Display(unsigned char i) 
{
PORTD=ASC2[i];          
delay_ms(1);                 
}
//*********************************************
void key(void)
{
if(PINC.0==0)
   {
   xuansu--;
   if(xuansu<=250)xuansu=254; 
   if(xuansu==254)data_fs=0;
   if(xuansu==253)data_fs=1;
   if(xuansu==252)data_fs=2;
   if(xuansu==251)data_fs=3;  
   while(PINC.0==0){Display(data_fs);}
   }

}
//*********************************************  
void sy(void)
{
if(shenying==1)
  {PORTB.0=0;
  delay_ms(500); 
  PORTB.0=1;
  delay_ms(200);
  PORTB.0=0;
  delay_ms(50); 
  PORTB.0=1; 
  delay_ms(50);
  PORTB.0=0;
  delay_ms(50); 
  PORTB.0=1;
  shenying=0;} //滴一声
} 
//*********************************************
void sy1(void)
{unsigned char j;
if(shenying1==1)
for(j=0;j<sycs;j++)
  {PORTB.0=0;
  delay_ms(400); 
  PORTB.0=1;
  delay_ms(400);
  }
shenying1=0;//滴一声
}
//*********************************************
void main(void)
{
DDRD= 0b11111111;PORTD=0b11111111;
DDRC= 0b00001111;PORTC=0b11111111;
DDRB= 0b11111101;PORTB=0b11100011; 
if(!(cs<=suo))PORTB.5=0;
if(data_fs==0){PORTB.3=0;PORTB.4=0;}
if(data_fs==1){PORTB.3=0;PORTB.4=1;}
if(data_fs==2){PORTB.3=1;PORTB.4=0;}
if(data_fs==3){PORTB.3=1;PORTB.4=1;}
while(n)
{
if( n<=0)n=10;
n--;
Display(n);
delay_ms(200);
}
//*********************************************
while (1)            
     {
      n=10;
      Display(n);
      delay_ms(50);
    if(spi_data&&128)
      {
      sy(); 
      if(PINC.0==0)
      while(cs)
           {
           while(cs<=suo)
                {Display(12);delay_ms(300); //如果到了使用次数就显示OFF
                Display(11);delay_ms(300);
                Display(13);delay_ms(300);
                Display(11);delay_ms(300);
                Display(13);delay_ms(300);
                Display(11);delay_ms(600);
                }
           key();
           ss++;
           if(ss>=300)
              Display(data_fs);
           else Display(11);   
           if(ss>=600)ss=0;
           if(PINC.1==0)
             {cs--; sycs=cs-suo;
             while(PINC.1==0){Display(data_fs);}
             while(1)
                  {
                  if(data_fs==0){PORTB.3=0;PORTB.4=0;}
                  if(data_fs==1){PORTB.3=0;PORTB.4=1;}
                  if(data_fs==2){PORTB.3=1;PORTB.4=0;}
                  if(data_fs==3){PORTB.3=1;PORTB.4=1;}
                  Display(data_fs);
                  sy1();
                  }
               }   
           }
         }
     } //while  
 }//end 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -