找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6198|回复: 5
打印 上一主题 下一主题
收起左侧

基于51单片机的广州塔设计

[复制链接]
跳转到指定楼层
楼主


  1. #include <stc12c5a60s2.h>

  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. #define LongToBin(n) (((n>>21)&0x80)|((n>>18)&0x40)|((n>>15)&0x20)|((n>>12)&0x10)|((n>>9)&0x08)|((n>>6)&0x04)|((n>>3)&0x02)|((n)&0x01))
  5. #define BIN(n) LongToBin(0x##n##)

  6. sbit H1=P2^0;   
  7. sbit H2=P2^1;   
  8. sbit L1=P2^2;  
  9. sbit L2=P2^3;

  10. sbit anjian=P3^2;

  11. uint yanshi;
  12. char moshi=0;
  13. char flag=0;

  14. void delay_1ms(uint q)
  15. {
  16.         uint i,j;
  17.         for(i=0;i<q;i++)
  18.                 for(j=0;j<120;j++);
  19. }
  20. void dh1()
  21. {
  22.         char i;
  23.         yanshi=400;
  24.         P0=0XFF;
  25.         L1=L2=1;
  26.         L1=L2=0;
  27.         for(i=0;i<12;i++)
  28.         {
  29.                 P0=0X01;
  30.                 H1=1;
  31.                 H1=0;
  32.                 H2=1;
  33.                 H2=0;
  34.                 delay_1ms(yanshi);

  35.                 P0=0X02;
  36.                 H1=1;
  37.                 H1=0;
  38.                 H2=1;
  39.                 H2=0;
  40.                 delay_1ms(yanshi);
  41.                 if(anjian==0){while(anjian==0);moshi=1;break;}        
  42.                 P0=0X04;
  43.                 H1=1;
  44.                 H1=0;
  45.                 H2=1;
  46.                 H2=0;
  47.                 delay_1ms(yanshi);

  48.                 P0=0X08;
  49.                 H1=1;
  50.                 H1=0;
  51.                 H2=1;
  52.                 H2=0;
  53.                 delay_1ms(yanshi);
  54.                 if(anjian==0){while(anjian==0);moshi=1;break;}        
  55.                 P0=0X10;
  56.                 H1=1;
  57.                 H1=0;
  58.                 H2=1;
  59.                 H2=0;
  60.                 delay_1ms(yanshi);

  61.                 P0=0X20;
  62.                 H1=1;
  63.                 H1=0;
  64.                 H2=1;
  65.                 H2=0;
  66.                 delay_1ms(yanshi);
  67.                 if(anjian==0){while(anjian==0);moshi=1;break;}        
  68.                 P0=0X40;
  69.                 H1=1;
  70.                 H1=0;
  71.                 H2=1;
  72.                 H2=0;
  73.                 delay_1ms(yanshi);

  74.                 P0=0X80;
  75.                 H1=1;
  76.                 H1=0;
  77.                 H2=1;
  78.                 H2=0;
  79.                 delay_1ms(yanshi);        
  80.         }
  81. }
  82. void dh2()
  83. {
  84.         char i,j;
  85.         yanshi=500;
  86.         P0=0XFF;
  87.         H1=H2=1;
  88.         H1=H2=0;
  89.         for(i=0;i<1;i++)
  90.         {
  91.                 P0=0X00;
  92.                 L1=1;
  93.                 L1=0;

  94.                 P0=0X01;
  95.                 L2=1;
  96.                 L2=0;
  97.                 if(anjian==0){while(anjian==0);moshi=1;break;}        
  98.                 delay_1ms(yanshi);
  99.                 for(j=0;j<7;j++)
  100.                 {
  101.                         P0=P0<<1;
  102.                         L2=1;
  103.                         L2=0;
  104.                         delay_1ms(yanshi);
  105.                         if(anjian==0){while(anjian==0);moshi=1;break;}        
  106.                 }

  107.                 P0=0X00;
  108.                 L2=1;
  109.                 L2=0;

  110.                 P0=0X01;
  111.                 L1=1;
  112.                 L1=0;
  113.                 delay_1ms(yanshi);
  114.                 if(anjian==0){while(anjian==0);moshi=1;break;}        
  115.                 for(j=0;j<7;j++)
  116.                 {
  117.                         P0=P0<<1;
  118.                         L1=1;
  119.                         L1=0;
  120.                         delay_1ms(yanshi);
  121.                         if(anjian==0){while(anjian==0);moshi=1;break;}        
  122.                 }

  123.                 P0=0X80;
  124.                 L1=1;
  125.                 L1=0;
  126.                 delay_1ms(yanshi);
  127.                 for(j=0;j<7;j++)
  128.                 {
  129.                         P0=P0>>1;
  130.                         L1=1;
  131.                         L1=0;
  132.                         delay_1ms(yanshi);
  133.                         if(anjian==0){while(anjian==0);moshi=1;break;}        
  134.                 }

  135.                 P0=0X00;
  136.                 L1=1;
  137.                 L1=0;
  138.                
  139.                 P0=0X80;
  140.                 L2=1;
  141.                 L2=0;
  142.                 delay_1ms(yanshi);
  143.                 for(j=0;j<7;j++)
  144.                 {
  145.                         P0=P0>>1;
  146.                         L2=1;
  147.                         L2=0;
  148.                         delay_1ms(yanshi);
  149.                         if(anjian==0){while(anjian==0);moshi=1;break;}        
  150.                 }                                       
  151.         }
  152. }
  153. void dh3()
  154. {
  155.         char i,j;
  156.         yanshi=400;
  157.         P0=0XFF;
  158.         H1=H2=1;
  159.         H1=H2=0;

  160.         for(i=0;i<2;i++)
  161.         {
  162.                 P0=0X01;
  163.                 L2=1;
  164.                 L2=0;
  165.                 if(anjian==0){while(anjian==0);moshi=1;break;}        
  166.                 delay_1ms(yanshi);
  167.                 for(j=0;j<7;j++)
  168.                 {
  169.                         P0=(P0<<1)|0x01;
  170.                         L2=1;
  171.                         L2=0;
  172.                         delay_1ms(yanshi);
  173.                         if(anjian==0){while(anjian==0);moshi=1;break;}        
  174.                 }

  175.                 P0=0X01;
  176.                 L1=1;
  177.                 L1=0;
  178.                 delay_1ms(yanshi);
  179.                 for(j=0;j<7;j++)
  180.                 {
  181.                         P0=(P0<<1)|0x01;
  182.                         L1=1;
  183.                         L1=0;
  184.                         delay_1ms(yanshi);
  185.                         if(anjian==0){while(anjian==0);moshi=1;break;}        
  186.                 }
  187.                 delay_1ms(5000);

  188.                 P0=0X7F;
  189.                 for(j=0;j<7;j++)
  190.                 {
  191.                         P0=P0>>1;
  192.                         L1=1;
  193.                         L1=0;
  194.                         delay_1ms(yanshi);
  195.                         if(anjian==0){while(anjian==0);moshi=1;break;}        
  196.                 }
  197.         
  198.                 P0=0X7F;
  199.                 L2=1;
  200.                 L2=0;
  201.                 delay_1ms(yanshi);
  202.                 for(j=0;j<7;j++)
  203.                 {
  204.                         P0=P0>>1;
  205.                         L2=1;
  206.                         L2=0;
  207.                         delay_1ms(yanshi);
  208.                         if(anjian==0){while(anjian==0);moshi=1;break;}        
  209.                 }               
  210.         }
  211. }
  212. void dh4()
  213. {
  214.         char i;

  215.         P0=0X81;
  216.         L1=1;
  217.         L1=0;
  218.         P0=0X02;
  219.         L2=1;
  220.         L2=0;
  221.         for(i=0;i<5;i++)
  222.         {
  223.                 P0=0X33;
  224.                 H1=1;
  225.                 H1=0;
  226.                 H2=1;
  227.                 H2=0;
  228.                 delay_1ms(600);

  229.                 P0=0X66;
  230.                 H1=1;
  231.                 H1=0;
  232.                 H2=1;
  233.                 H2=0;
  234.                 delay_1ms(600);
  235.                 if(anjian==0){while(anjian==0);moshi=1;break;}        
  236.                 P0=0XCC;
  237.                 H1=1;
  238.                 H1=0;
  239.                 H2=1;
  240.                 H2=0;
  241.                 delay_1ms(600);

  242.                 P0=0X99;
  243.                 H1=1;
  244.                 H1=0;
  245.                 H2=1;
  246.                 H2=0;
  247.                 delay_1ms(600);
  248.         }        
  249. }
  250. char s1,s2;
  251. void dh5()
  252. {
  253.         char i,j;
  254.         yanshi=500;
  255.         P0=0XFF;
  256.         H1=H2=1;
  257.         H1=H2=0;

  258.         for(i=0;i<5;i++)
  259.         {
  260.                 s1=0x01;
  261.                 s2=0x80;

  262.                 P0=s1;
  263.                 L1=1;
  264.                 L1=0;

  265.                 P0=s2;
  266.                 L2=1;
  267.                 L2=0;
  268.                 if(anjian==0){while(anjian==0);moshi=1;break;}        
  269.                 delay_1ms(yanshi);               
  270.                 for(j=0;j<7;j++)
  271.                 {
  272.                         s2=(s2>>1)&0x7F;
  273.                         P0=s2;
  274.                         L2=1;
  275.                         L2=0;

  276.                         s1=s1<<1;
  277.                         P0=s1;
  278.                         L1=1;
  279.                         L1=0;

  280.                         delay_1ms(yanshi);
  281.                         if(anjian==0){while(anjian==0);moshi=1;break;}                        
  282.                 }                                                                                       
  283.         }
  284. }
  285. void dh6()
  286. {
  287.         char i,j;
  288.         yanshi=500;
  289.         P0=0XFF;
  290.         H1=H2=1;
  291.         H1=H2=0;

  292.         for(i=0;i<5;i++)
  293.         {
  294.                 P0=0x00;
  295.                 L2=1;
  296.                 L2=0;
  297.                 P0=0x80;
  298.                 L1=1;
  299.                 L1=0;
  300.                 if(anjian==0){while(anjian==0);moshi=1;break;}        
  301.                 delay_1ms(yanshi);               
  302.                 for(j=0;j<7;j++)
  303.                 {
  304.                         P0=(P0>>1)|0x80;
  305.                         L1=1;
  306.                         L1=0;
  307.                         delay_1ms(yanshi);
  308.                         if(anjian==0){while(anjian==0);moshi=1;break;}                        
  309.                 }
  310.                
  311.                 P0=0x80;
  312.                 L2=1;
  313.                 L2=0;

  314.                 delay_1ms(yanshi);               
  315.                 for(j=0;j<7;j++)
  316.                 {
  317.                         P0=(P0>>1)|0x80;
  318.                         L2=1;
  319.                         L2=0;
  320.                         delay_1ms(yanshi);
  321.                         if(anjian==0){while(anjian==0);moshi=1;break;}                        
  322.                 }                                                                                       
  323.         }
  324. }
  325. void dh7()
  326. {
  327.         char i;

  328.         P0=0XFF;
  329.         L1=1;
  330.         L1=0;
  331.         P0=0XFF;
  332.         L2=1;
  333.         L2=0;
  334.         for(i=0;i<5;i++)
  335.         {
  336.                 P0=0X11;
  337.                 H1=1;
  338.                 H1=0;
  339.                 H2=1;
  340.                 H2=0;
  341.                 delay_1ms(700);

  342.                 P0=0X22;
  343.                 H1=1;
  344.                 H1=0;
  345.                 H2=1;
  346.                 H2=0;
  347.                 delay_1ms(700);
  348.                 if(anjian==0){while(anjian==0);moshi=1;break;}        
  349.                 P0=0X44;
  350.                 H1=1;
  351.                 H1=0;
  352.                 H2=1;
  353.                 H2=0;
  354.                 delay_1ms(700);

  355.                 P0=0X88;
  356.                 H1=1;
  357.                 H1=0;
  358.                 H2=1;
  359.                 H2=0;
  360.                 delay_1ms(700);
  361.         }        
  362. }
  363. void dh8()
  364. {
  365.         char i;

  366.         P0=0XFF;
  367.         L1=1;
  368.         L1=0;
  369.         P0=0XFF;
  370.         L2=1;
  371.         L2=0;
  372.         for(i=0;i<5;i++)
  373.         {
  374.                 P0=0X33;
  375.                 H1=1;
  376.                 H1=0;
  377.                 H2=1;
  378.                 H2=0;
  379.                 delay_1ms(600);

  380.                 P0=0X66;
  381.                 H1=1;
  382.                 H1=0;
  383.                 H2=1;
  384.                 H2=0;
  385.                 delay_1ms(600);
  386.                 if(anjian==0){while(anjian==0);moshi=1;break;}        
  387.                 P0=0XCC;
  388.                 H1=1;
  389.                 H1=0;
  390.                 H2=1;
  391.                 H2=0;
  392.                 delay_1ms(600);

  393.                 P0=0X99;
  394.                 H1=1;
  395.                 H1=0;
  396.                 H2=1;
  397.                 H2=0;
  398.                 delay_1ms(600);
  399.         }        
  400. }
  401. void dh9()
  402. {
  403.         char i;

  404.         P0=0XFF;
  405.         L1=1;
  406.         L1=0;
  407.         P0=0XFF;
  408.         L2=1;
  409.         L2=0;
  410.         for(i=0;i<10;i++)
  411.         {
  412.                 if(anjian==0){while(anjian==0);moshi=1;break;}        
  413.                 P0=0X55;
  414.                 H1=1;
  415.                 H1=0;
  416.                 H2=1;
  417.                 H2=0;
  418.                 delay_1ms(600);

  419.                 P0=0XAA;
  420.                 H1=1;
  421.                 H1=0;
  422.                 H2=1;
  423.                 H2=0;
  424.                 delay_1ms(600);
  425.         }        
  426. }
  427. void dh10()
  428. {
  429.         char i,j;
  430.         yanshi=500;
  431.         P0=0X01;
  432.         H1=H2=1;
  433.         H1=H2=0;

  434.         for(i=0;i<5;i++)
  435.         {
  436.                 P0=0x00;
  437.                 L2=1;
  438.                 L2=0;
  439.                 P0=0x80;
  440.                 L1=1;
  441.                 L1=0;
  442.                 if(anjian==0){while(anjian==0);moshi=1;break;}        
  443.                 delay_1ms(yanshi);               
  444.                 for(j=0;j<7;j++)
  445.                 {
  446.                         P0=(P0>>1)|0x80;
  447.                         L1=1;
  448.                         L1=0;
  449.                         delay_1ms(yanshi);
  450.                         if(anjian==0){while(anjian==0);moshi=1;break;}               
  451.                 }
  452.                
  453.                 P0=0x80;
  454.                 L2=1;
  455.                 L2=0;

  456.                 delay_1ms(yanshi);               
  457.                 for(j=0;j<7;j++)
  458.                 {
  459.                         P0=(P0>>1)|0x80;
  460.                         L2=1;
  461.                         L2=0;
  462.                         delay_1ms(yanshi);
  463.                         if(anjian==0){while(anjian==0);moshi=1;break;}                        
  464.                 }                                                                                       
  465.         }
  466. }

  467. uchar STC_ADC()                   //!!根据数据手册写一个ad读取函数
  468. {                                                                                                
  469.      uchar i;
  470.      ADC_RES   = 0;
  471.      ADC_RESL  = 0;
  472.          ADC_CONTR = BIN(10001000);
  473.          i=3;
  474.      while(i--);
  475.      while (1)                     
  476.      {
  477.          if (ADC_CONTR & BIN(10000))      
  478.               {
  479.                              break;
  480.                     }
  481.      }
  482.      ADC_CONTR = BIN(10000000);
  483.            return( ADC_RESL<<2) ;
  484. }
  485. uchar date;
  486. void init()
  487. {
  488.     TMOD= 0x10;                                   
  489.     TL1 = (65536-50000)/256;        //设置定时初值
  490.     TH1 = (65536-50000)%256;        //设置定时初值
  491.     ET1 = 1;
  492.     TR1 = 1;
  493.     EA = 0;
  494. }
  495. char h=0,v=0;
  496. void pp()
  497. {
  498.         if(date<=15 && date>0)
  499.         {        
  500.                 h=1;
  501.                 if(v<h)v=h;
  502.                 if(flag==0)
  503.                 {
  504.                         P0=0X01;
  505.                         L2=1;
  506.                         L2=0;
  507.                         delay_1ms(2);
  508.                         P0=0X00;
  509.                         L1=1;
  510.                         L1=0;
  511.                 }
  512.                 if(flag==1)
  513.                 {
  514.                         P0=0X01;
  515.                         L2=1;
  516.                         L2=0;
  517.                         delay_1ms(2);
  518.                         P0=0X00;
  519.                         L1=1;
  520.                         L1=0;               
  521.                 }               
  522.         }

  523.         if(date<=30 && date>15)
  524.         {        
  525.                 h=2;
  526.                 if(v<h)v=h;        
  527.                 if(flag==0)
  528.                 {
  529.                         P0=0X03;
  530.                         L2=1;
  531.                         L2=0;
  532.                         delay_1ms(2);
  533.                         P0=0X00;
  534.                         L1=1;
  535.                         L1=0;
  536.                 }
  537.                 if(flag==1)
  538.                 {
  539.                         P0=0X02;
  540.                         L2=1;
  541.                         L2=0;
  542.                         delay_1ms(2);
  543.                         P0=0X00;
  544.                         L1=1;
  545.                         L1=0;               
  546.                 }
  547.         }
  548.         
  549.         if(date<=45 && date>30)
  550.         {
  551.                 h=3;
  552.                 if(v<h)v=h;
  553.                 if(flag==0)
  554.                 {
  555.                         P0=0X07;
  556.                         L2=1;
  557.                         L2=0;
  558.                         delay_1ms(2);
  559.                         P0=0X00;
  560.                         L1=1;
  561.                         L1=0;
  562.                 }
  563.                 if(flag==1)
  564.                 {
  565.                         P0=0X04;
  566.                         L2=1;
  567.                         L2=0;
  568.                         delay_1ms(2);
  569.                         P0=0X00;
  570.                         L1=1;
  571.                         L1=0;               
  572.                 }
  573.         }
  574.         if(date<=60 && date>45)
  575.         {
  576.                 h=4;
  577.                 if(v<h)v=h;        
  578.                 if(flag==0)
  579.                 {
  580.                         P0=0X0F;
  581.                         L2=1;
  582.                         L2=0;
  583.                         delay_1ms(2);
  584.                         P0=0X00;
  585.                         L1=1;
  586.                         L1=0;
  587.                 }
  588.                 if(flag==1)
  589.                 {
  590.                         P0=0X08;
  591.                         L2=1;
  592.                         L2=0;
  593.                         delay_1ms(2);
  594.                         P0=0X00;
  595.                         L1=1;
  596.                         L1=0;               
  597.                 }        
  598.         }
  599.         if(date<=75 && date>60)
  600.         {
  601.                 h=5;
  602.                 if(v<h)v=h;        
  603.                 if(flag==0)
  604.                 {
  605.                         P0=0X1F;
  606.                         L2=1;
  607.                         L2=0;
  608.                         delay_1ms(2);
  609.                         P0=0X00;
  610.                         L1=1;
  611.                         L1=0;
  612.                 }
  613.                 if(flag==1)
  614.                 {
  615.                         P0=0X10;
  616.                         L2=1;
  617.                         L2=0;
  618.                         delay_1ms(2);
  619.                         P0=0X00;
  620.                         L1=1;
  621.                         L1=0;               
  622.                 }        
  623.         }
  624.         if(date<=90 && date>75)
  625.         {
  626.                 h=6;
  627.                 if(v<h)v=h;        
  628.                 if(flag==0)
  629.                 {
  630.                         P0=0X3F;
  631.                         L2=1;
  632.                         L2=0;
  633.                         delay_1ms(2);
  634.                         P0=0X00;
  635.                         L1=1;
  636.                         L1=0;
  637.                 }
  638.                 if(flag==1)
  639.                 {
  640.                         P0=0X20;
  641.                         L2=1;
  642.                         L2=0;
  643.                         delay_1ms(2);
  644.                         P0=0X00;
  645.                         L1=1;
  646.                         L1=0;               
  647.                 }               
  648.         }
  649.         if(date<=105 && date>90)
  650.         {
  651.                 h=7;
  652.                 if(v<h)v=h;        
  653.                 if(flag==0)
  654.                 {
  655.                         P0=0X7F;
  656.                         L2=1;
  657.                         L2=0;
  658.                         delay_1ms(2);
  659.                         P0=0X00;
  660.                         L1=1;
  661.                         L1=0;
  662.                 }
  663.                 if(flag==1)
  664.                 {
  665.                         P0=0X40;
  666.                         L2=1;
  667.                         L2=0;
  668.                         delay_1ms(2);
  669.                         P0=0X00;
  670.                         L1=1;
  671.                         L1=0;               
  672.                 }
  673.         }
  674.         if(date<=130 && date>105)
  675.         {
  676.                 h=8;
  677.                 if(v<h)v=h;        
  678.                 if(flag==0)
  679.                 {
  680.                         P0=0XFF;
  681.                         L2=1;
  682.                         L2=0;
  683.                         delay_1ms(2);        
  684.                         P0=0X00;
  685.                         L1=1;
  686.                         L1=0;
  687.                 }
  688.                 if(flag==1)
  689.                 {
  690.                         P0=0X80;
  691.                         L2=1;
  692.                         L2=0;
  693.                         delay_1ms(2);
  694.                         P0=0X00;
  695.                         L1=1;
  696.                         L1=0;               
  697.                 }
  698.         }
  699.         if(date<=145 && date>130)
  700.         {
  701.                 h=9;
  702.                 if(v<h)v=h;
  703.                 if(flag==0)
  704.                 {
  705.                         P0=0XFF;
  706.                         L2=1;
  707.                         L2=0;
  708.                         delay_1ms(2);
  709.                         P0=0X01;
  710.                         L1=1;
  711.                         L1=0;
  712.                 }
  713.                 if(flag==1)
  714.                 {
  715.                         P0=0X00;
  716.                         L2=1;
  717.                         L2=0;
  718.                         delay_1ms(2);
  719.                         P0=0X01;
  720.                         L1=1;
  721.                         L1=0;               
  722.                 }               
  723.         }
  724.         if(date<=160 && date>145)
  725.         {
  726.                 h=10;
  727.                 if(v<h)v=h;        
  728.                 if(flag==0)
  729.                 {
  730.                         P0=0XFF;
  731.                         L2=1;
  732.                         L2=0;
  733.                         delay_1ms(2);
  734.                         P0=0X03;
  735.                         L1=1;
  736.                         L1=0;
  737.                 }
  738.                 if(flag==1)
  739.                 {
  740.                         P0=0X00;
  741.                         L2=1;
  742.                         L2=0;
  743.                         delay_1ms(2);
  744.                         P0=0X02;
  745.                         L1=1;
  746.                         L1=0;               
  747.                 }                                
  748.         }
  749.         if(date<=175 && date>160)
  750.         {
  751.                 h=11;
  752.                 if(v<h)v=h;        
  753.                 if(flag==0)
  754.                 {
  755.                         P0=0XFF;
  756.                         L2=1;
  757.                         L2=0;
  758.                         delay_1ms(2);
  759.                         P0=0X07;
  760.                         L1=1;
  761.                         L1=0;
  762.                 }        
  763.                 if(flag==1)
  764.                 {
  765.                         P0=0X00;
  766.                         L2=1;
  767.                         L2=0;
  768.                         delay_1ms(2);
  769.                         P0=0X04;
  770.                         L1=1;
  771.                         L1=0;               
  772.                 }               
  773.         }
  774.         if(date<=190 && date>175)
  775.         {
  776.                 h=12;
  777.                 if(v<h)v=h;
  778.                 if(flag==0)
  779.                 {
  780.                         P0=0XFF;
  781.                         L2=1;
  782.                         L2=0;
  783.                         delay_1ms(2);
  784.                         P0=0X0F;
  785.                         L1=1;
  786.                         L1=0;
  787.                 }
  788.                 if(flag==1)
  789.                 {
  790.                         P0=0X00;
  791.                         L2=1;
  792.                         L2=0;
  793.                         delay_1ms(2);
  794.                         P0=0X08;
  795.                         L1=1;
  796.                         L1=0;               
  797.                 }                                
  798.         }
  799.         if(date<=205 && date>190)
  800.         {
  801.                 h=13;
  802.                 if(v<h)v=h;
  803.                 if(flag==0)
  804.                 {
  805.                         P0=0XFF;
  806.                         L2=1;
  807.                         L2=0;
  808.                         delay_1ms(2);
  809.                         P0=0X1F;
  810.                         L1=1;
  811.                         L1=0;
  812.                 }
  813.                 if(flag==1)
  814.                 {
  815.                         P0=0X00;
  816.                         L2=1;
  817.                         L2=0;
  818.                         delay_1ms(2);
  819.                         P0=0X10;
  820.                         L1=1;
  821.                         L1=0;               
  822.                 }               
  823.         }
  824.         if(date<=220 && date>205)
  825.         {
  826.                 h=14;
  827.                 if(v<h)v=h;        
  828.                 if(flag==0)
  829.                 {
  830.                         P0=0XFF;
  831.                         L2=1;
  832.                         L2=0;
  833.                         delay_1ms(2);
  834.                         P0=0X3F;
  835.                         L1=1;
  836.                         L1=0;
  837.                 }
  838.                 if(flag==1)
  839.                 {
  840.                         P0=0X00;
  841.                         L2=1;
  842.                         L2=0;
  843.                         delay_1ms(2);
  844.                         P0=0X20;
  845.                         L1=1;
  846.                         L1=0;               
  847.                 }                                
  848.         }
  849.         if(date<=235 && date>220)
  850.         {
  851.                 h=15;
  852.                 if(v<h)v=h;        
  853.                 if(flag==0)
  854.                 {
  855.                         P0=0XFF;
  856.                         L2=1;
  857.                         L2=0;
  858.                         delay_1ms(2);
  859.                         P0=0X7F;
  860.                         L1=1;
  861.                         L1=0;
  862.                 }
  863.                 if(flag==1)
  864.                 {
  865.                         P0=0X00;
  866.                         L2=1;
  867.                         L2=0;
  868.                         delay_1ms(2);
  869.                         P0=0X40;
  870.                         L1=1;
  871.                         L1=0;               
  872.                 }               
  873.         }
  874.         if(date>235)
  875.         {
  876.                 h=16;
  877.                 if(v<h)v=h;
  878.                 if(flag==0)
  879.                 {
  880.                         P0=0XFF;
  881.                         L2=1;
  882.                         L2=0;
  883.                         delay_1ms(2);
  884.                         P0=0XFF;
  885.                         L1=1;
  886.                         L1=0;
  887.                 }        
  888.                 if(flag==1)
  889.                 {
  890.                         P0=0X00;
  891.                         L2=1;
  892.                         L2=0;
  893.                         delay_1ms(2);
  894.                         P0=0X80;
  895.                         L1=1;
  896.                         L1=0;               
  897.                 }                                
  898.         }
  899. }

  900. void main()
  901. {
  902.         P2M0=0xff;//  BIN(11111111);//P2组设置为推挽输出
  903.         P2M1=0x00;         
  904.         P3M0=0xff;//  BIN(11111111);//P3组设置为推挽输出
  905.         P3M1=0x00;
  906.         P1M0=0x00;
  907.         P1M1=0x01;
  908.          P1ASF =1;           //设置P1.0为AD口
  909.     AUXR1 =BIN(100);
  910.         init();

  911.         P2=0X00;
  912.         P3=0X04;
  913.         P0=0XFF;
  914.         L1=L2=1;
  915.         L1=L2=0;
  916.         P0=0XFF;
  917.         H1=H2=1;
  918.         H1=H2=0;
  919.         delay_1ms(8000);
  920.         delay_1ms(8000);
  921.         delay_1ms(8000);
  922.         delay_1ms(8000);
  923.         delay_1ms(8000);
  924.         while(1)
  925.         {
  926.                 if(moshi==0)
  927.                 {
  928.                         EA=0;
  929.                         if(moshi==0)dh1();
  930.                         if(moshi==0)dh7();
  931.                         if(moshi==0)dh2();
  932.                         if(moshi==0)dh3();
  933.                         if(moshi==0)dh4();
  934.                         if(moshi==0)dh5();
  935.                         if(moshi==0)dh6();
  936.                         if(moshi==0)dh8();
  937.                         if(moshi==0)dh9();
  938.                         if(moshi==0)dh10();               
  939.                 }
  940.                 if(moshi==1)
  941.                 {
  942.                         EA=1;
  943.                         if(anjian==0){while(anjian==0);moshi=0;}
  944.                         date=STC_ADC();
  945.                         pp();
  946.                         delay_1ms(5);               
  947.                 }
  948.         }
  949. }
  950. int t=0,t1,t2;
  951. void InitTimer1() interrupt 3  // 1毫秒@11.0592MHz
  952. {
  953.     TL1 = (65536-30000)/256;        //设置定时初值
  954.     TH1 = (65536-30000)%256;        //设置定时初值
  955.         t++;
  956.         if(t==5)
  957.         {
  958.                 t=0;
  959.                 if(v==0);
  960.                 else v--;
  961.                 t1++;

  962.                 if(t1>=0 && t1<300)flag=0;
  963.                 if(t1>=300 && t1<600)flag=1;
  964.                 if(t1>=600)t1=0;

  965.                 t2++;
  966.                 if(t2>=0 && t2<600)
  967.                 {
  968.                         P0=0XFF;
  969.                         H1=H2=1;
  970.                         H1=H2=0;                 
  971.                 }
  972.                 if(t2>=600 && t2<1200)
  973.                 {
  974.                         P0=0X11;
  975.                         H1=H2=1;
  976.                         H1=H2=0;                 
  977.                 }
  978.                 if(t2>=1200)t2=0;
  979.         }
  980.         if(flag==0)
  981.         {
  982.                 if(v==16){P0=0X7F;L1=1;L1=0;}        
  983.                 if(v==15){P0=0X3F;L1=1;L1=0;}
  984.                 if(v==14){P0=0X1F;L1=1;L1=0;}
  985.                 if(v==13){P0=0X0F;L1=1;L1=0;}
  986.                 if(v==12){P0=0X07;L1=1;L1=0;}        
  987.                 if(v==11){P0=0X03;L1=1;L1=0;}
  988.                 if(v==10){P0=0X01;L1=1;L1=0;}
  989.                 if(v==9) {P0=0X00;L1=1;L1=0;}
  990.                 if(v==8) {P0=0X00;L1=1;L1=0;P0=0X7F;L2=1;L2=0;}
  991.                 if(v==7) {P0=0X00;L1=1;L1=0;P0=0X3F;L2=1;L2=0;}
  992.                 if(v==6) {P0=0X00;L1=1;L1=0;P0=0X1F;L2=1;L2=0;}        
  993.                 if(v==5) {P0=0X00;L1=1;L1=0;P0=0X0F;L2=1;L2=0;}
  994.                 if(v==4) {P0=0X00;L1=1;L1=0;P0=0X07;L2=1;L2=0;}
  995.                 if(v==3) {P0=0X00;L1=1;L1=0;P0=0X03;L2=1;L2=0;}
  996.                 if(v==2) {P0=0X00;L1=1;L1=0;P0=0X01;L2=1;L2=0;}        
  997.                 if(v==1) {P0=0X00;L1=1;L1=0;P0=0X00;L2=1;L2=0;}        
  998.                 if(v==0) {P0=0X00;L1=1;L1=0;P0=0X00;L2=1;L2=0;}               
  999.         }
  1000.         if(flag==1)
  1001.         {
  1002.                 if(v==16){P0=0X80;L1=1;L1=0;P0=0X00;L2=1;L2=0;}        
  1003.                 if(v==15){P0=0X40;L1=1;L1=0;P0=0X00;L2=1;L2=0;}
  1004.                 if(v==14){P0=0X20;L1=1;L1=0;P0=0X00;L2=1;L2=0;}
  1005.                 if(v==13){P0=0X10;L1=1;L1=0;P0=0X00;L2=1;L2=0;}
  1006.                 if(v==12){P0=0X08;L1=1;L1=0;P0=0X00;L2=1;L2=0;}        
  1007.                 if(v==11){P0=0X04;L1=1;L1=0;P0=0X00;L2=1;L2=0;}
  1008.                 if(v==10){P0=0X02;L1=1;L1=0;P0=0X00;L2=1;L2=0;}
  1009.                 if(v==9) {P0=0X01;L1=1;L1=0;P0=0X00;L2=1;L2=0;}
  1010.                 if(v==8) {P0=0X00;L1=1;L1=0;P0=0X80;L2=1;L2=0;}
  1011.                 if(v==7) {P0=0X00;L1=1;L1=0;P0=0X40;L2=1;L2=0;}
  1012.                 if(v==6) {P0=0X00;L1=1;L1=0;P0=0X20;L2=1;L2=0;}        
  1013.                 if(v==5) {P0=0X00;L1=1;L1=0;P0=0X10;L2=1;L2=0;}
  1014.                 if(v==4) {P0=0X00;L1=1;L1=0;P0=0X08;L2=1;L2=0;}
  1015.                 if(v==3) {P0=0X00;L1=1;L1=0;P0=0X04;L2=1;L2=0;}
  1016.                 if(v==2) {P0=0X00;L1=1;L1=0;P0=0X02;L2=1;L2=0;}        
  1017.                 if(v==1) {P0=0X00;L1=1;L1=0;P0=0X01;L2=1;L2=0;}        
  1018.                 if(v==0) {P0=0X00;L1=1;L1=0;P0=0X00;L2=1;L2=0;}               
  1019.         }                        
  1020. }

复制代码


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:361297 发表于 2018-6-28 20:00 | 只看该作者
厉害了 兄弟
回复

使用道具 举报

板凳
ID:457956 发表于 2018-12-29 13:01 | 只看该作者
牛逼老弟
回复

使用道具 举报

地板
ID:404884 发表于 2018-12-29 21:55 | 只看该作者
直接发淘宝套件资料这也行?
回复

使用道具 举报

5#
ID:478800 发表于 2019-3-1 16:03 | 只看该作者
请问这个需要多大电源啊?
回复

使用道具 举报

6#
ID:352304 发表于 2019-10-30 22:15 | 只看该作者
厉害了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表