芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

飞芯科技-芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

芯片复制STC单片机制作可编程定时插座

单片机源程序:

  1. /芯片复制

  2. 程序:上电-K1,K2按键进行时分调整-K3启动(启动后按键将无效)
  3. -继电器闭合通电-开始倒计时-        倒计时结束继电器断开-完成周期

  4. ********************************************************/

  5. #include<reg51.h>
  6. #include<intrins.h>

  7. #define uchar unsigned char
  8. #define uint  unsigned int


  9. sbit s1=P3^2;
  10. sbit s2=P3^3;
  11. sbit s3=P3^4;                                 //    定义位使用端口 1,2,3,4段
  12. sbit s4=P3^5;
  13. sbit jd=P2^0;                                 //     继电器端口

  14. sbit k1=P1^1;                                 //     调时
  15. sbit k2=P1^2;                                 //     调分
  16. sbit k3=P1^3;                                 //     启动
  17. sbit GGD=P1^0;                                 //     按键公共端



  18. uchar code mum[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};        //  段码0~9
  19. uchar code display1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf} ;
  20. uchar code display2[]={0xfe,0xbf,0xf7,0xbf,0xfe,0xbf,0xf7,0xbf} ;
  21. uchar code display3[]={0xcf,0xf9,0xcf,0xf9,0xcf,0xf9} ;
  22. uchar code display4[]={0xfe,0xdf,0xef,0xf7,0xfb,0xfd} ;


  23. char sec=59,min=0,hour=12;                                                                                                //  定义全局变量 有符号字符型
  24. uint cnt;


  25. /芯片复制/



  26. void delay(uchar x)                                                                                                                         //  延时函数
  27. {
  28.   uchar i,j;
  29.   for(;x>0;x--)
  30.   for(i=20;i>0;i--)
  31.   for(j=2;j>0;j--);
  32. }



  33. void delay1(uint x)
  34. {
  35.         uchar i,j;
  36.         for(;x>0;x--)
  37.         for(i=20;i>0;i--)
  38.         for(j=200;j>0;j--);

  39. }




  40. void shuma()
  41. {
  42.         uchar a,b,n,m,j,k;
  43.         s1=1;
  44.         s2=1;
  45.         s3=1;
  46.         s4=0;
  47.         while(1)
  48.         {
  49.        

  50.             for(a=0;a<6;a++)
  51.                 {
  52.                         for(n=0;n<6;n++)
  53.                         {
  54.                                 P0=display1[n];
  55.                                 delay1(15);       
  56.                         }
  57.                 }


  58.                 for(m=0;m<8;m++)
  59.                 {
  60.                         P0=display2[m];
  61.                         delay1(100);       
  62.                 }


  63.                 for(j=0;j<6;j++)
  64.                 {
  65.                         P0=display3[j];
  66.                         delay1(30);       
  67.                 }

  68.                 for(b=0;b<6;b++)
  69.                 {
  70.                         for(k=0;k<6;k++)
  71.                         {
  72.                                 P0=display4[k];
  73.                                 delay1(15);       
  74.                         }
  75.                 }
  76.        
  77.                
  78.         }


  79. }



  80. /***************************************************************************
  81. ***************  函数名:timeyx                  ****************************
  82. ***************  函数功能:时钟运行             ****************************
  83. ***************  输入:                         ****************************
  84.                                  输出:
  85. ***************************************************************************/



  86. void timeyx()                                                           //    时钟运行
  87. {


  88.       GGD=1;                                                                   //    按键公共端置高电平,运行中按键无效
  89.       sec--;
  90.       if(sec<0)
  91.       {
  92.           sec=59;
  93.               min--;
  94.               if(min<0)
  95.               {
  96.                    min=59;
  97.                    hour--;
  98.           
  99.               }


  100.       }

  101. }




  102. /***************************************************************************
  103. ***************  函数名:stop                 ****************************
  104. ***************  函数功能:继电器断开           ****************************
  105. ***************  输入:                         ****************************
  106.                                  输出:
  107. ***************************************************************************/



  108. void stop()                                                                                 //   时间到继电器断开
  109. {
  110.         if(hour==0&&min==0)                                                         //   判断时分为0时
  111.         {                                                                                       
  112.                 TR0=0;                                                                         //    定时器停止
  113.                
  114.                 jd=1;
  115.                 shuma();                                                                         //    继电器断开
  116.         }
  117. }

  118.        

  119. /***************************************************************************
  120. ***************  函数名:display                 ****************************
  121. ***************  函数功能:数码管显示           ****************************
  122. ***************  输入:                         ****************************
  123.                                  输出:
  124. ***************************************************************************/




  125. void display(uchar zm,uchar zh)                        //     显示函数
  126. {
  127.   
  128.   
  129.   
  130.   P0=mum[zm%10];
  131.   s1=0;
  132.   delay(10);
  133.   s1=1 ;

  134.   
  135.   P0=mum[zm/10];
  136.   s2=0;
  137.   delay(10);
  138.   s2=1;

  139.   
  140.   P0=mum[zh%10];
  141.   if(cnt>2000)                                                                 //     小数点闪烁
  142.   P0&=0x7f;                                                                         //     增加小数点显示
  143.   s3=0;
  144.   delay(10);
  145.   s3=1;

  146.   
  147.   P0=mum[zh/10];
  148.   s4=0;
  149.   delay(10);
  150.   s4=1 ;

  151.   }



联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.feixindz.com
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信