单片机定制控制C程序.docx

上传人:b****0 文档编号:10069053 上传时间:2023-05-23 格式:DOCX 页数:14 大小:113.84KB
下载 相关 举报
单片机定制控制C程序.docx_第1页
第1页 / 共14页
单片机定制控制C程序.docx_第2页
第2页 / 共14页
单片机定制控制C程序.docx_第3页
第3页 / 共14页
单片机定制控制C程序.docx_第4页
第4页 / 共14页
单片机定制控制C程序.docx_第5页
第5页 / 共14页
单片机定制控制C程序.docx_第6页
第6页 / 共14页
单片机定制控制C程序.docx_第7页
第7页 / 共14页
单片机定制控制C程序.docx_第8页
第8页 / 共14页
单片机定制控制C程序.docx_第9页
第9页 / 共14页
单片机定制控制C程序.docx_第10页
第10页 / 共14页
单片机定制控制C程序.docx_第11页
第11页 / 共14页
单片机定制控制C程序.docx_第12页
第12页 / 共14页
单片机定制控制C程序.docx_第13页
第13页 / 共14页
单片机定制控制C程序.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机定制控制C程序.docx

《单片机定制控制C程序.docx》由会员分享,可在线阅读,更多相关《单片机定制控制C程序.docx(14页珍藏版)》请在冰点文库上搜索。

单片机定制控制C程序.docx

单片机定制控制C程序

#include

#defineuncharunsignedchar

#defineduanP2

uncharcodedatedu[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f};

uncharcoded[]={

0xbf,0x86,0xdb,0xcf,

0xe6,0xed,0xfd,0x87,

0xff,0xef};//这是秒的可以闪的编码

chardate[4],set=1,sock_min,sock_s,reversion_min,reversion_s,a,

num_1,num_2,s,km1,km2,flog,temp;

intss,min,xx,yy;

sbitwei_one=P1^0;

sbitwei_two=P1^1;

sbitwei_three=P1^2;

sbitwei_four=P1^3;

sbitset_key=P1^4;

sbitadd_key=P1^5;

sbitdel_key=P1^6;

sbitmove_key=P1^7;

sbitkm_sock=P3^0;

sbitkm_reversion=P3^1;

voiddelay(intz) //delay延时函数

{

 inti,j;

 for(i=0;i

   for(j=110;j>0;j--);

}

//初始化函数

voidinit()

{

 TMOD=0x11;

 TH0=(65536-50000)/256;

 TL0=(65536-50000)%256;

 EA=1;

 ET0=1;

 TR0=1;

 km_sock=0;

 km_reversion=0;

}

//显示函数

voiddisplay()

{

 if(set==2){if(min==0)num_1=min;elsenum_1=min-1;if(min!

=0)num_2=60-s;elsenum_2=ss;}

 if(set==0){num_1=sock_min;num_2=sock_s;}

 if(set==1){num_1=reversion_min;num_2=reversion_s;}

 date[0]=num_1/10;

 date[1]=num_1%10;

 date[2]=num_2/10;

 date[3]=num_2%10;

 duan=0xff;

 wei_one=0;

 duan=datedu[date[0]];

 delay(5);

 wei_one=1;

 duan=0xff;

 wei_two=0;

 if(s%2>0)

 duan=datedu[date[1]];

 else

 duan=d[date[1]];

 delay(5);

 wei_two=1; 

 duan=0xff;

 duan=0xff;

 wei_three=0;

 duan=datedu[date[2]];

 delay(5);

 wei_three=1; 

 duan=0xff;

 duan=0xff;

 wei_four=0;

 duan=datedu[date[3]];

 delay(5);

 wei_four=1;

}

voidscanf()

{

 if(set_key==0)

 {

  delay(10);

  if(set_key==0)

  {

   while(!

set_key)display();

   delay(10);

   while(!

set_key)display();

   set++;

   if(set==3)set=0;

  }

 }

 ////////////////////////////////////////////set

 if(add_key==0&&set==0&&flog==0)

 {

  delay(10);

  if(add_key==0&&set==0)

  {

   while(add_key==0&&set==0)display();

   delay(10);

   while(add_key==0&&set==0)display();

   sock_min++;

   if(sock_min>=60)

   sock_min=0;

   ss=sock_s;

   min=sock_min;

  }

 }

 ////////////////////////////////////////////addsockmin

 if(add_key==0&&set==0&&flog!

=0)

 {

  delay(10);

  if(add_key==0&&set==0)

  {

   while(add_key==0&&set==0)display();

   delay(10);

   while(add_key==0&&set==0)display();

   sock_s++;

   if(sock_s>=60)

   sock_s=0;

   ss=sock_s;

   min=sock_min;

  }

 }

 /////////////////////////////////////////////// addsocks

 if(add_key==0&&set==1&&flog==0)

 {

  delay(10);

  if(add_key==0&&set==1)

  {

   while(add_key==0&&set==1)display();

   delay(10);

   while(add_key==0&&set==1)display();

   reversion_min++;

   if(reversion_min>=60)

   reversion_min=0;

   ss=reversion_s;

   min=reversion_min;

  }

 }

 ////////////////////////////////////////////////addreversionmin

 if(add_key==0&&set==1&&flog!

=0)

 {

  delay(10);

  if(add_key==0&&set==1)

  {

   while(add_key==0&&set==1)display();

   delay(10);

   while(add_key==0&&set==1)display();

   reversion_s++;

   if(reversion_s>=60)

   reversion_s=0;

   ss=reversion_s;

   min=reversion_min;

  }

 }

 ////////////////////////////////////////////////addreversions

 if(del_key==0&&set==0&&flog==0)

 {

  delay(10);

  if(del_key==0&&set==0)

  {

   while(del_key==0&&set==0)display();

   delay(10);

   while(del_key==0&&set==0)display();

   sock_min--;

   if(sock_min<0)

   sock_min=59;

           ss=sock_s;

   min=sock_min;

  }

 }

 ///////////////////////////////////////////////delsockmin

 if(del_key==0&&set==0&&flog!

=0)

 {

  delay(10);

  if(del_key==0&&set==0)

  {

   while(del_key==0&&set==0)display();

   delay(10);

   while(del_key==0&&set==0)display();

   sock_s--;

   if(sock_s<0)

   sock_s=59;

   ss=sock_s;

   min=sock_min;

  }

 }

 ///////////////////////////////////////////////delsocks

 if(del_key==0&&set==1&&flog==0)

 {

  delay(10);

  if(del_key==0&&set==1)

  {

   while(del_key==0&&set==1)display();

   delay(10);

   while(del_key==0&&set==1)display();

   reversion_min--;

   if(reversion_min<0)

   reversion_min=59;

   ss=reversion_s;

   min=reversion_min;

  }

 }

 ////////////////////////////////////////////////delreversionmin

 if(del_key==0&&set==1&&flog!

=0)

 {

  delay(10);

  if(del_key==0&&set==1)

  {

   while(del_key==0&&set==1)display();

   delay(10);

   while(del_key==0&&set==1)display();

   reversion_s--;

   if(reversion_s<0)

   reversion_s=59;

   ss=reversion_s;

   min=reversion_min;

  }

 }

 //////////////////////////////////////////////////delreversions

 if(move_key==0)

 {

  delay(10);

  if(move_key==0)

  {

   while(move_key==0)display();

   delay(10);

   while(move_key==0)display();

   flog=~flog;

  }

 }

}

voiddisposal()

{

 if(km1==1&&temp==0&&km2==0)

 {

  TR0=0;

  km_reversion=0;

  /*for(xx=110;xx>0;xx--)  

  for(yy=3000;yy>0;yy--)

  display();*/  

  km_sock=1;

  

  temp=1;

  TR0=1;

 }

 if(km2==1&&temp==1&&km1==0)

 {

  TR0=0;km_sock=0;

  /*for(xx=110;xx>0;xx--)

  {  

  for(yy=3000;yy>0;yy--)display();

  }*/

  km_reversion=1;

  

  temp=0;

  TR0=1;

 }

}

voidmain()

{

 init();

 while

(1)

 {

  scanf();

  display();

  disposal();

 }

}

//中断函数

voidtime0()interrupt1

{

 TH0=(65536-50000)/256;

 TL0=(65536-50000)%256;

 a++;

 if(a==20)

  {

   if(km1==0&&km2==0) 

   {

   if(sock_min!

=0||sock_s!

=0||reversion_min!

=0||reversion_s!

=0)

   {km1=1;ss=sock_s;min=sock_min;}

   }

   if(min==0&&ss==0&&km1==1&&km2==0)

   {

    km1=0;

    km2=1;

    ss=reversion_s;

    min=reversion_min;

   }

   if(min==0&&ss==0&&km1==0&&km2==1)

   { 

    km2=0;

    km1=1;

    ss=sock_s;

    min=sock_min;    

   }

   if(min==0)

   {ss--;

   if(ss<0)

   ss=0;}

   else

   s++;//秒

   a=0;

   

       }

 if(s==60)

  {

   s=0;

   /*if(km1==1&&km2==0&&min==sock_min)

   {

   min=sock_min;

   }

   if(km1==0&&km2==1&&min==reversion_min)

   {

   min=reversion_min;

   }*/

   min--;

   if(min<0)

   min=0;

  }

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2