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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11828|回復: 10
打印 上一主題 下一主題
收起左側

60s花樣旋轉led+數碼電子鐘+源程序+原理圖資料

  [復制鏈接]
跳轉到指定樓層
樓主
60s花樣旋轉led+數碼電子鐘電路原理圖如下:


元件清單:
元件名稱    數量
電阻 330歐    8
電阻 10K    3
瓷片電容 10pf    2
晶振 32.768KHz    1
輕觸按鍵 6*6*13    2
熱敏電阻 NTC-MF52AT 10K    1
光敏電阻 5516    1
CR1220紐扣電池    1
貼片 CR1220紐扣電池座    1
DS1302直插芯片(原裝進口)    1
8P IC座    1
單片機STC15W408AS(下好程序)    1
28P IC座    1
5V有源蜂鳴器    1
迷你USB 直針5P    1
三極管S8550    1
3mm紅發紅LED    14
3mm藍發藍LED    52
4位共陽時鐘數碼管5643BH-30CD3    1
PCB板    1

單片機源程序如下:
  1. #include "STC15F2K.h"
  2. #include "intrins.h"
  3. #include <math.h>

  4. #define uchar unsigned char
  5. #define uint unsigned int

  6. sfr ADC_LOW2    =   0xBE;           //ADC低2位結果

  7. #define ADC_POWER   0x80            //ADC電源控制位
  8. #define ADC_FLAG    0x10            //ADC完成標志
  9. #define ADC_START   0x08            //ADC起始控制位
  10. #define ADC_SPEEDLL 0x00            //540個時鐘
  11. #define ADC_SPEEDL  0x20            //360個時鐘
  12. #define ADC_SPEEDH  0x40            //180個時鐘
  13. #define ADC_SPEEDHH 0x60            //90個時鐘

  14. sbit S1=P3^3;
  15. sbit S2=P3^4;
  16. sbit S3=P3^5;
  17. sbit S4=P3^6;
  18. sbit S5=P3^7;
  19. sbit S6=P1^2;
  20. sbit S7=P1^3;
  21. sbit S8=P1^4;
  22. sbit S9=P1^5;
  23. sbit S10=P1^6;
  24. sbit S11=P1^7;
  25. sbit S12=P5^4;

  26. sbit bell=P3^0;

  27. sbit set=P1^0;
  28. sbit jia=P1^1;

  29. uchar dat1[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xf8,0X80,0X90,0xff,0xc6};
  30. uchar dat2[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0X00,0X10,0xff};//有小數點

  31. uchar dat3[9]={0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF};//
  32. uchar dat4[9]={0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF};//
  33. uchar t_led0[8]={0};   
  34. uchar t_led1[8]={0};
  35. uchar table[4]={1,2,3,4};
  36. uchar xg=0;
  37. char t=0;
  38. int t1;
  39. char ps=0;
  40. char flag=1;
  41. int sudu1=0,sudu2=0;

  42. unsigned int temp[2];
  43. int ld;
  44. extern void init_ds1302_io();
  45. extern void init_ds1302();
  46. extern void read_time();
  47. extern void write_time();
  48. extern void read_nao();

  49. extern uchar miao;
  50. extern uchar fen;
  51. extern uchar shi;

  52. extern uchar nfen;
  53. extern uchar nshi;

  54. void Delayms(uint t)
  55. {
  56.         uchar i;
  57.         while(t--)
  58.            for(i=0;i<100;i++);
  59. }

  60. void display()
  61. {
  62.         S12=0;S1=1;
  63.         P2=dat1[table[0]];
  64.         Delayms(2);       

  65.         S1=0;S2=1;
  66.         if(flag==0)P2=dat2[table[1]];
  67.         if(flag==1)P2=dat1[table[1]];
  68.         Delayms(2);
  69.        
  70.         S2=0;S3=1;
  71.         P2=dat1[table[2]];       
  72.         Delayms(2);
  73.        
  74.         S3=0;S4=1;
  75.         P2=dat1[table[3]];
  76.         Delayms(2);       
  77. //////////////////////////////////////////////////////
  78.         P2=0xff;
  79.         S4=0;S5=1;
  80.         P2=dat3[t_led0[0]]&dat4[t_led1[0]];
  81.         Delayms(2);               

  82.         P2=0xff;
  83.         S5=0;S6=1;
  84.         P2=dat3[t_led0[1]]&dat4[t_led1[1]];
  85.         Delayms(2);               

  86.         P2=0xff;
  87.         S6=0;S7=1;
  88.         P2=dat3[t_led0[2]]&dat4[t_led1[2]];
  89.         Delayms(2);               

  90.         P2=0xff;
  91.         S7=0;S8=1;
  92.         P2=dat3[t_led0[3]]&dat4[t_led1[3]];
  93.         Delayms(2);               

  94.         P2=0xff;
  95.         S8=0;S9=1;
  96.         P2=dat3[t_led0[4]]&dat4[t_led1[4]];
  97.         Delayms(2);               

  98.         P2=0xff;
  99.         S9=0;S10=1;
  100.         P2=dat3[t_led0[5]]&dat4[t_led1[5]];
  101.         Delayms(2);       

  102.         P2=0xff;
  103.         S10=0;S11=1;
  104.         P2=dat3[t_led0[6]]&dat4[t_led1[6]];
  105.         Delayms(2);       

  106.         P2=0xff;
  107.         S11=0;S12=1;
  108.         P2=dat3[t_led0[7]]&dat4[t_led1[7]];
  109.         Delayms(2);       

  110.         S1=S2=S3=S4=S5=S6=S7=S8=S9=S10=S11=S12=1;
  111.         P2=0xff;
  112.         S1=S2=S3=S4=S5=S6=S7=S8=S9=S10=S11=S12=0;
  113.         Delayms(2);                                                       
  114. }

  115. void init()
  116. {
  117.     TMOD= 0x01;                                  
  118.     TL0 = (65536-20000)/256;        //設置定時初值
  119.     TH0 = (65536-20000)%256;        //設置定時初值
  120.     ET0 = 1;
  121.     TR0 = 1;
  122.     EA = 1;
  123. }
  124. char menu=0;
  125. bit nf=0;
  126. bit gk=0;
  127. void key()
  128. {
  129.         uchar i;
  130.         if(jia==0 && menu==0)
  131.         {
  132.                 while(jia==0);
  133.                 xg++;
  134.                 nf=0;
  135.                 if(xg==2){dat4[0]=0XFF;dat4[1]=0XFF;dat4[2]=0XFF;dat4[3]=0XFF;dat4[4]=0XFF;dat4[5]=0XFF;dat4[6]=0XFF;dat4[7]=0XFF;dat4[8]=0XFF;}
  136.                 if(xg==3){dat3[0]=0xFE;dat3[1]=0xFC;dat3[2]=0xF8;dat3[3]=0xF0;dat3[4]=0xE0;dat3[5]=0xC0;dat3[6]=0x80;dat3[7]=0x00;dat3[8]=0xFF;}
  137.                  
  138.                 if(xg==5)
  139.                 {
  140.                         sudu1=0;sudu2=0;
  141.                         for(i=0;i<9;i++)
  142.                         {
  143.                                 //dat3[i]=0XFF;
  144.                                 dat4[i]=0XFE;       
  145.                         }
  146.                         dat3[0]=0X01;dat3[1]=0X03;dat3[2]=0X07;dat3[3]=0X0F;dat3[4]=0X1F;dat3[5]=0X3F;dat3[6]=0X7F;dat3[7]=0XFF;dat3[8]=0x00;
  147.                 }
  148.                 if(xg==6)
  149.                 {
  150.                         sudu1=0;sudu2=0;       
  151.                         for(i=0;i<9;i++)
  152.                         {
  153.                                 dat3[i]=0XFF;
  154.                                 dat4[i]=0XFC;       
  155.                         }
  156.                         for(i=0;i<8;i++){t_led0[i]=8;}
  157.                         for(i=0;i<8;i++){t_led1[i]=0;}
  158.                 }
  159.                 if(xg==7)
  160.                 {
  161.                         sudu1=0;sudu2=0;
  162.                         for(i=0;i<9;i++)
  163.                         {
  164.                                 dat3[i]=0XFF;
  165.                                 dat4[i]=0XFF;       
  166.                         }
  167.                         for(i=0;i<8;i++){t_led0[i]=i;}
  168.                         for(i=0;i<8;i++){t_led1[i]=i;}
  169.                 }
  170.                 if(xg==8)
  171.                 {
  172.                         sudu1=0;sudu2=0;
  173.                         for(i=0;i<9;i++)
  174.                         {
  175.                                 dat3[i]=0XFF;
  176.                                 dat4[i]=0XFF;       
  177.                         }
  178.                 }
  179.                 if(xg==9)
  180.                 {
  181.                         sudu1=0;sudu2=0;
  182.                         for(i=0;i<9;i++)
  183.                         {
  184.                                 dat3[i]=0XFF;
  185.                                 dat4[i]=0XFF;       
  186.                         }
  187.                 }                                                 
  188.                 if(xg==10){xg=0;for(i=0;i<9;i++)dat4[i]=0XFF;}
  189.         }

  190.         if(set==0)
  191.         {
  192.                 bell=0;
  193.                 menu++;
  194.                 if(menu==3){read_nao();}
  195.                 if(menu==7){menu=0;ET1 = 1;write_time();}
  196.                 while(set==0);       
  197.                 bell=1;                       
  198.         }

  199.         if(menu==1)
  200.         {
  201.                 if(jia==0)
  202.                 {
  203.                         bell=0;
  204.                         if(fen >= 0x60)
  205.                                 fen = 0;

  206.                         fen=fen+0x01;
  207.                         if((fen & 0x0f) >= 0x0a)
  208.                                 fen = (fen & 0xf0) + 0x10;
  209.                         while(jia==0);
  210.                         bell=1;
  211.                 }                       
  212.         }
  213.         if(menu==2)
  214.         {
  215.                 if(jia==0)
  216.                 {
  217.                         bell=0;
  218.                         shi+=0x01;
  219.                         if((shi & 0x0f) >= 0x0a)
  220.                                 shi = (shi & 0xf0) + 0x10;

  221.                         if(shi >= 0x24)
  222.                                 shi = 0;
  223.                         while(jia==0);
  224.                         bell=1;
  225.                 }               
  226.         }
  227.        
  228.         if(menu==3)        //鬧鐘
  229.         {
  230.                 if(jia==0)
  231.                 {
  232.                         bell=0;
  233.                         if(nfen >= 0x60)
  234.                                 nfen = 0;

  235.                         nfen=nfen+0x01;
  236.                         if((nfen & 0x0f) >= 0x0a)
  237.                                 nfen = (nfen & 0xf0) + 0x10;
  238.                         while(jia==0);
  239.                         bell=1;       
  240.                 }
  241.         }
  242.         if(menu==4)
  243.         {
  244.                 if(jia==0)
  245.                 {
  246.                         bell=0;
  247.                         nshi+=0x01;
  248.                         if((nshi & 0x0f) >= 0x0a)
  249.                                 nshi = (nshi & 0xf0) + 0x10;

  250.                         if(nshi >= 0x24)
  251.                                 nshi = 0;
  252.                         while(jia==0);
  253.                         bell=1;
  254.                 }       
  255.         }
  256.         if(menu==5)
  257.         {
  258.                 if(jia==0)
  259.                 {
  260.                         while(jia==0);
  261.                         nf=!nf;
  262.                 }       
  263.         }
  264.         if(menu==6)
  265.         {
  266.                 if(jia==0)
  267.                 {
  268.                         while(jia==0);
  269.                         gk=!gk;
  270.                 }       
  271.         }       
  272. }
  273. void InitADC()
  274. {
  275.           P1ASF = 0x03;                        //Open channels ADC function 0100 0000 p1.6使用AD功能
  276.         ADC_RES  = 0;                                    //Clear previous result
  277.         ADC_LOW2 = 0;
  278.           ADC_CONTR = ADC_POWER | ADC_SPEEDLL;
  279. }
  280. void GetADCResult(unsigned char ch,unsigned int *value)
  281. {
  282.         ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START;
  283.     _nop_();                        //Must wait before inquiry
  284.     _nop_();
  285.     _nop_();
  286.     _nop_();
  287.     _nop_();                        //Must wait before inquiry
  288.     _nop_();
  289.     while(!(ADC_CONTR & ADC_FLAG));//Wait complete flag
  290.     ADC_CONTR &= ~ADC_FLAG;         //Close ADC

  291.         *value = 0;
  292.         *value = ADC_RES;
  293.         *value = ((*value)*4 + ADC_LOW2);                //Return ADC result.×¢êíμ?′????ò·μ??8??ADC?á1?
  294. }

  295. void ADC_convert(void)
  296. {
  297.         GetADCResult(0,&temp[0]);
  298.         temp[0] = (unsigned int) ( ( 3950.0 / ( 11.33657 + log( 6.04 * (float)temp[0] / ( 1024.0 - (float)temp[0] ) ) ) - 278.15) * 100 );
  299. }
  300. void main()
  301. {
  302.         uchar i;
  303.     init();       
  304.         InitADC();
  305.         init_ds1302_io();
  306.         init_ds1302();

  307.         read_nao();

  308.         P3M0=0xf8;P3M1=0x00;

  309.         P2M0=0xff;P2M1=0x00;

  310.         P1M0=0xff;P1M1=0x00;

  311.         P5M0=0x10;P5M1=0x00;
  312.         while(1)
  313.         {
  314.                 P1ASF = 0x00;
  315.                 key();
  316.                 P1ASF = 0x03;
  317.                 if(menu==0)
  318.                 {
  319.                         read_time();
  320.                         if(t1>25 && t1<30)
  321.                         {
  322.                                 ADC_convert();
  323.                                 flag=1;
  324.                                 table[0]=10;
  325.                                 table[1]=temp[0]/1000;
  326.                                 table[2]=temp[0]%1000/100;
  327.                                 table[3]=11;
  328.                         }
  329.                         if(t1>0 && t1<25)
  330.                         {
  331.                                 table[0]=shi/16;
  332.                                 table[1]=shi%16;
  333.                                 table[2]=fen/16;
  334.                                 table[3]=fen%16;
  335.                         }
  336.                         if(t1>30)t1=0;       

  337.                            if(xg==0)
  338.                         {
  339.                                 dat3[0]=0xFE;dat3[1]=0xFD;dat3[2]=0xFB;dat3[3]=0xF7;dat3[4]=0xEF;dat3[5]=0xDF;dat3[6]=0xBF;dat3[7]=0x7F;dat3[8]=0xFF;
  340.                                 for(i=0;i<8;i++)t_led0[i]=8;
  341.                                 for(i=0;i<8;i++)t_led1[i]=8;
  342.                         }
  343.                         if(xg==1)
  344.                         {
  345.                                 dat4[0]=0XEF;dat4[1]=0XBD;dat4[2]=0XF7;dat4[3]=0XDE;dat4[4]=0X7B;dat4[5]=0XEF;dat4[6]=0XBD;dat4[7]=0X07;
  346.                                 for(i=0;i<8;i++)t_led1[i]=i;

  347.                                 dat3[0]=0xFE;dat3[1]=0xFD;dat3[2]=0xFB;dat3[3]=0xF7;dat3[4]=0xEF;dat3[5]=0xDF;dat3[6]=0xBF;dat3[7]=0x7F;dat3[8]=0xFF;
  348.                                 for(i=0;i<8;i++)t_led0[i]=8;
  349.                         }
  350.        
  351.                            if(xg==2)
  352.                         {                                       
  353.                                 dat3[0]=0x01;dat3[1]=0x02;dat3[2]=0x04;dat3[3]=0x08;dat3[4]=0x10;dat3[5]=0x20;dat3[6]=0x40;dat3[7]=0x80;dat3[8]=0x00;
  354.                                 for(i=0;i<8;i++)t_led0[i]=8;
  355.                         }
  356.                            if(xg==3)
  357.                         {
  358.                                 if(miao==0x01)for(i=0;i<8;i++){t_led0[i]=8;}
  359.                                 if(miao>0x08){t_led0[0]=7;}       
  360.                                 if(miao>0x16){t_led0[1]=7;}
  361.                                 if(miao>0x24){t_led0[2]=7;}
  362.                                 if(miao>0x32){t_led0[3]=7;}
  363.                                 if(miao>0x40){t_led0[4]=7;}
  364.                                 if(miao>0x48){t_led0[5]=7;}
  365.                                 if(miao>0x56){t_led0[6]=7;}
  366.                         }
  367.                         if(xg==4)
  368.                         {       
  369.                                 dat4[0]=0XEF;dat4[1]=0XBD;dat4[2]=0XF7;dat4[3]=0XDE;dat4[4]=0X7B;dat4[5]=0XEF;dat4[6]=0XBD;dat4[7]=0X07;
  370.                         }
  371.                         if(xg==5)
  372.                         {       
  373.                                 if(miao==0x01)for(i=0;i<8;i++){t_led0[i]=8;}
  374.                                 if(miao>0x08){t_led0[0]=7;}       
  375.                                 if(miao>0x16){t_led0[1]=7;}
  376.                                 if(miao>0x24){t_led0[2]=7;}
  377.                                 if(miao>0x32){t_led0[3]=7;}
  378.                                 if(miao>0x40){t_led0[4]=7;}
  379.                                 if(miao>0x48){t_led0[5]=7;}
  380.                                 if(miao>0x56){t_led0[6]=7;}                                                                                                                                                                                                                                                                                       
  381.                         }
  382.                         if(xg<6)
  383.                         {
  384.                                 if(miao==0x01)t_led0[0]=0;
  385.                                 if(miao==0x02)t_led0[0]=1;
  386.                                 if(miao==0x03)t_led0[0]=2;
  387.                                 if(miao==0x04)t_led0[0]=3;
  388.                                 if(miao==0x05)t_led0[0]=4;
  389.                                 if(miao==0x06)t_led0[0]=5;
  390.                                 if(miao==0x07)t_led0[0]=6;
  391.                                 if(miao==0x08)t_led0[0]=7;
  392.                
  393.                                 if(miao==0x09)t_led0[1]=0;
  394.                                 if(miao==0x10)t_led0[1]=1;
  395.                                 if(miao==0x11)t_led0[1]=2;
  396.                                 if(miao==0x12)t_led0[1]=3;
  397.                                 if(miao==0x13)t_led0[1]=4;
  398.                                 if(miao==0x14)t_led0[1]=5;
  399.                                 if(miao==0x15)t_led0[1]=6;
  400.                                 if(miao==0x16)t_led0[1]=7;
  401.                
  402.                                 if(miao==0x17)t_led0[2]=0;
  403.                                 if(miao==0x18)t_led0[2]=1;
  404.                                 if(miao==0x19)t_led0[2]=2;
  405.                                 if(miao==0x20)t_led0[2]=3;
  406.                                 if(miao==0x21)t_led0[2]=4;
  407.                                 if(miao==0x22)t_led0[2]=5;
  408.                                 if(miao==0x23)t_led0[2]=6;
  409.                                 if(miao==0x24)t_led0[2]=7;
  410.                
  411.                                 if(miao==0x25)t_led0[3]=0;
  412.                                 if(miao==0x26)t_led0[3]=1;
  413.                                 if(miao==0x27)t_led0[3]=2;
  414.                                 if(miao==0x28)t_led0[3]=3;
  415.                                 if(miao==0x29)t_led0[3]=4;
  416.                                 if(miao==0x30)t_led0[3]=5;
  417.                                 if(miao==0x31)t_led0[3]=6;
  418.                                 if(miao==0x32)t_led0[3]=7;
  419.                
  420.                                 if(miao==0x33)t_led0[4]=0;
  421.                                 if(miao==0x34)t_led0[4]=1;
  422.                                 if(miao==0x35)t_led0[4]=2;
  423.                                 if(miao==0x36)t_led0[4]=3;
  424.                                 if(miao==0x37)t_led0[4]=4;
  425.                                 if(miao==0x38)t_led0[4]=5;
  426.                                 if(miao==0x39)t_led0[4]=6;
  427.                                 if(miao==0x40)t_led0[4]=7;
  428.                
  429.                                 if(miao==0x41)t_led0[5]=0;
  430.                                 if(miao==0x42)t_led0[5]=1;
  431.                                 if(miao==0x43)t_led0[5]=2;
  432.                                 if(miao==0x44)t_led0[5]=3;
  433.                                 if(miao==0x45)t_led0[5]=4;
  434.                                 if(miao==0x46)t_led0[5]=5;
  435.                                 if(miao==0x47)t_led0[5]=6;
  436.                                 if(miao==0x48)t_led0[5]=7;
  437.                
  438.                                 if(miao==0x49)t_led0[6]=0;
  439.                                 if(miao==0x50)t_led0[6]=1;
  440.                                 if(miao==0x51)t_led0[6]=2;
  441.                                 if(miao==0x52)t_led0[6]=3;
  442.                                 if(miao==0x53)t_led0[6]=4;
  443.                                 if(miao==0x54)t_led0[6]=5;
  444.                                 if(miao==0x55)t_led0[6]=6;
  445.                                 if(miao==0x56)t_led0[6]=7;
  446.                
  447.                                 if(miao==0x57)t_led0[7]=0;
  448.                                 if(miao==0x58)t_led0[7]=1;
  449.                                 if(miao==0x59)t_led0[7]=2;
  450.                                 if(miao==0x00)t_led0[7]=3;               
  451.                         }               
  452.                 }

  453.                 if(menu==1)
  454.                 {       
  455.                         if(flag>0)
  456.                         {
  457.                                 table[2]=fen/16;
  458.                                 table[3]=fen%16;
  459.                         }
  460.                         else
  461.                         {
  462.                                 table[2]=10;
  463.                                 table[3]=10;                               
  464.                         }
  465.                         table[0]=shi/16;
  466.                         table[1]=shi%16;                       
  467.                 }
  468.                 if(menu==2)
  469.                 {
  470.                         table[2]=fen/16;
  471.                         table[3]=fen%16;
  472.                         if(flag>0)
  473.                         {
  474.                                 table[0]=shi/16;
  475.                                 table[1]=shi%16;                               
  476.                         }
  477.                         else
  478.                         {
  479.                                 table[0]=10;
  480.                                 table[1]=10;       
  481.                         }
  482.                 }
  483.                 if(menu==3)
  484.                 {       
  485.                         if(flag>0)
  486.                         {
  487.                                 table[2]=nfen/16;
  488.                                 table[3]=nfen%16;
  489.                         }
  490.                         else
  491.                         {
  492.                                 table[2]=10;
  493.                                 table[3]=10;                               
  494.                         }
  495.                         table[0]=nshi/16;
  496.                         table[1]=nshi%16;                       
  497.                 }
  498.                 if(menu==4)
  499.                 {
  500.                         table[2]=nfen/16;
  501.                         table[3]=nfen%16;
  502.                         if(flag>0)
  503.                         {
  504.                                 table[0]=nshi/16;
  505.                                 table[1]=nshi%16;                               
  506.                         }
  507.                         else
  508.                         {
  509.                                 table[0]=10;
  510.                                 table[1]=10;       
  511.                         }
  512.                 }
  513.                 if(menu==5)
  514.                 {
  515.                         table[0]=nf;
  516.                         table[1]=nf;
  517.                         table[2]=nf;
  518.                         table[3]=nf;       
  519.                 }
  520.                 if(menu==6)
  521.                 {
  522.                         table[0]=gk;
  523.                         table[1]=gk;
  524.                         table[2]=gk;
  525.                         table[3]=gk;       
  526.                 }

  527.                 if(gk==1)//開光控
  528.                 {
  529.                         GetADCResult(1,&temp[1]);
  530.                         if( temp[1]<100)ld=8;
  531.                         if( temp[1]>100 && temp[1]<300)ld=10;
  532.                         if( temp[1]>300 && temp[1]<500)ld=30;
  533.                         if( temp[1]>500 && temp[1]<600)ld=90;
  534.                         if( temp[1]>600 && temp[1]<700)ld=120;
  535.                         if( temp[1]>700 && temp[1]<800)ld=150;
  536.                         if( temp[1]>800 && temp[1]<900)ld=180;
  537.                         if( temp[1]>900)ld=200;                               
  538.                 }
  539.                 else ld=8;

  540.                 display();
  541.                 Delayms(ld);                                               
  542.         }
  543. }
  544. char count=10,bc=0;                                                                                                                                                                               
  545. void InitTimer1() interrupt 1  // 1毫秒@11.0592MHz
  546. {
  547.     TL0 = (65536-20000)/256;        //設置定時初值
  548.     TH0 = (65536-20000)%256;        //設置定時初值
  549.         t++;
  550.         if(t==40)
  551.         {
  552.                 t=0;
  553.                 t1++;
  554.                 if(menu==0){if(t1>0 && t1<25)flag=!flag;else flag=1;}
  555.                 if(menu==1 || menu==2 || menu==3 || menu==4) flag=!flag;
  556.                 if(menu==5 || menu==6)flag=1;

  557.                 if(nf==1)if(shi==nshi && fen==nfen)bell=!bell;
  558.                 else bell=1;
  559.         }
  560.        
  561.         if(xg==5)
  562.         {
  563.                 sudu2++;
  564.                 if(sudu2==7)
  565.                 {
  566.                         sudu2=0;
  567.                         sudu1++;
  568.                        
  569.                         dat4[0]=(dat4[0]>>1)|0x80;
  570.                         dat4[1]=(dat4[1]>>1)|0x80;
  571.                         dat4[2]=(dat4[2]>>1)|0x80;
  572.                         dat4[3]=(dat4[3]>>1)|0x80;
  573.                         dat4[4]=(dat4[4]>>1)|0x80;
  574.                         dat4[5]=(dat4[5]>>1)|0x80;
  575.                         dat4[6]=(dat4[6]>>1)|0x80;
  576.                         dat4[7]=(dat4[7]>>1)|0x80;
  577.                         if(sudu1==8){sudu1=0;dat4[0]=0X7F;dat4[1]=0X7F;dat4[2]=0X7F;dat4[3]=0X7F;dat4[4]=0X7F;dat4[5]=0X7F;dat4[6]=0X7F;dat4[7]=0X7F;}
  578.                 }
  579.         }

  580.         if(xg==6)
  581.         {
  582.                 sudu2++;
  583.                 if(sudu2==4)
  584.                 {
  585.                         sudu2=0;
  586.                         sudu1++;               
  587.                         dat4[0]=(dat4[0]<<1)|0x01;
  588.                         dat4[1]=(dat4[1]<<1)|0x01;
  589.                         dat4[2]=(dat4[2]<<1)|0x01;
  590.                         dat4[3]=(dat4[3]<<1)|0x01;
  591.                         dat4[4]=(dat4[4]<<1)|0x01;
  592.                         dat4[5]=(dat4[5]<<1)|0x01;
  593.                         dat4[6]=(dat4[6]<<1)|0x01;
  594.                         dat4[7]=(dat4[7]<<1)|0x01;
  595.                         if(sudu1==8){sudu1=0;dat4[0]=0XFC;dat4[1]=0XFC;dat4[2]=0XFC;dat4[3]=0XFC;dat4[4]=0XFC;dat4[5]=0XFC;dat4[6]=0XFC;dat4[7]=0XFC;}
  596.                 }
  597.         }

  598.         if(xg==7)
  599.         {
  600.                 sudu2++;
  601.                 if(sudu2==count)
  602.                 {
  603. ……………………

  604. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
60s旋轉led 數碼電子鐘.zip (257.5 KB, 下載次數: 186)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏9 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:1 發表于 2018-5-24 18:16 | 只看該作者
有效果圖就完美了
回復

使用道具 舉報

板凳
ID:218959 發表于 2018-5-24 19:33 | 只看該作者
利害!666666
回復

使用道具 舉報

地板
ID:125719 發表于 2019-10-15 11:21 | 只看該作者
這個不錯的,好像某寶上面有,不過自己DIY的還不錯的
回復

使用道具 舉報

5#
ID:299054 發表于 2019-11-25 16:40 | 只看該作者
謝謝分享!
回復

使用道具 舉報

6#
ID:52653 發表于 2020-5-27 09:59 來自手機 | 只看該作者
謝謝分享!
回復

使用道具 舉報

7#
ID:1065927 發表于 2023-3-10 00:14 | 只看該作者
能多加注釋就更好了
回復

使用道具 舉報

8#
ID:1066942 發表于 2023-3-17 08:48 | 只看該作者
非常感謝分享,正在學習中
回復

使用道具 舉報

9#
ID:1066942 發表于 2023-3-22 09:52 | 只看該作者
利用其他的單片機是不是也可以實現把
回復

使用道具 舉報

10#
ID:1084603 發表于 2023-6-17 07:54 | 只看該作者

非常感謝分享,正在學習中
回復

使用道具 舉報

11#
ID:275311 發表于 2023-11-12 16:55 | 只看該作者
真是好東西,非常感謝分享,正在學習中
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久一二区 | 久久国产婷婷国产香蕉 | 亚洲综合色网站 | 免费在线一区二区 | h视频免费在线观看 | 国产激情视频网址 | 中文成人在线 | 欧美乱码精品一区二区三区 | 欧美日韩免费一区二区三区 | 精品麻豆剧传媒av国产九九九 | 亚洲精品一区二区三区 | 黄色网址免费看 | 精品免费国产一区二区三区 | 亚洲国产情侣自拍 | 久久婷婷麻豆国产91天堂 | 国产精品黄色 | 99久久免费精品国产男女高不卡 | 国产精品久久久精品 | 自拍偷拍亚洲欧美 | 97伦理| 亚洲午夜在线 | 在线国产一区 | 欧美精品一区二区三区在线四季 | 精品在线一区二区 | 中文字幕一区在线观看视频 | 精品少妇一区二区三区在线播放 | 中文字幕黄色大片 | 夜夜艹| 国产精品福利在线观看 | 国产不卡一区 | 亚洲成人av | 欧美三区在线观看 | 久久久久久久久久久久91 | 成人精品鲁一区一区二区 | 成人av观看 | 亚洲444eee在线观看 | 国产成人啪免费观看软件 | 亚洲精品久久久一区二区三区 | 日韩欧美一区二区三区免费观看 | 国产精品18hdxxxⅹ在线 | 麻豆国产一区二区三区四区 |