找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3984|回复: 1
收起左侧

16层广州塔原理图,PCB文件及单片机源程序

[复制链接]
ID:569034 发表于 2019-10-25 20:32 | 显示全部楼层 |阅读模式
Altium Designer画的原理图和PCB图如下:(51hei附件中可下载工程文件)
TIM图片20191025203120.png TIM图片20191025203115.png TIM图片20191025203057.png

单片机源程序如下:
  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 anjian=P4^5;

  7. sbit P0_0=P0^0;//层
  8. sbit P0_1=P0^1;
  9. sbit P0_2=P0^2;
  10. sbit P0_3=P0^3;
  11. sbit P0_4=P0^4;
  12. sbit P0_5=P0^5;
  13. sbit P0_6=P0^6;
  14. sbit P0_7=P0^7;
  15. sbit P4_6=P4^6;
  16. sbit P1_1=P1^1;
  17. sbit P1_2=P1^2;
  18. sbit P1_3=P1^3;
  19. sbit P1_4=P1^4;
  20. sbit P1_5=P1^5;
  21. sbit P1_6=P1^6;
  22. sbit P1_7=P1^7;

  23. sbit P3_0=P3^0;//竖
  24. sbit P3_1=P3^1;
  25. sbit P3_2=P3^2;
  26. sbit P3_3=P3^3;
  27. sbit P3_4=P3^4;
  28. sbit P3_5=P3^5;
  29. sbit P3_6=P3^6;
  30. sbit P3_7=P3^7;
  31. sbit P2_0=P2^0;
  32. sbit P2_1=P2^1;
  33. sbit P2_2=P2^2;
  34. sbit P2_3=P2^3;
  35. sbit P2_4=P2^4;
  36. sbit P2_5=P2^5;
  37. sbit P2_6=P2^6;
  38. sbit P2_7=P2^7;
  39. sbit P4_4=P4^4;

  40. char moshi=1;
  41. char h=0,v=0;
  42. int t=0;
  43. char zy=0,sj=0,jz=0;

  44. bit ly_flag=0;                                                                //成功接收标志

  45. void delay_1ms(uint q)
  46. {
  47.         uint i,j;
  48.         for(i=0;i<q;i++)
  49.                 for(j=0;j<110;j++);
  50. }
  51. void key()
  52. {
  53.         if(anjian==0)
  54.         {
  55.                 delay_1ms(5);
  56.                 if(anjian==0)
  57.                 {
  58.                         while(anjian==0);
  59.                         jz++;
  60.                         if(jz==2)jz=0;
  61.                         if(jz==0){moshi=1;TR0=0;ET0=0;};
  62.                         if(jz==1){moshi=0;ly_flag=1;TR0=1;ET0=1;}
  63.                 }        
  64.         }
  65. }
  66. void dh1()
  67. {
  68.         char i,j;
  69.         P3_0=0;//J1
  70.         P3_1=0;//J2
  71.         P3_3=0;//J3
  72.         P3_4=0;//J4
  73.         P3_5=0;//J5
  74.         P3_6=0;//J6
  75.         P3_7=0;//J7
  76.         P2_0=0;//J8
  77.         P2_1=0;//J9
  78.         P2_2=0;//J10
  79.         P2_3=0;//J11
  80.         P2_4=0;//J12
  81.         P2_5=0;//J13
  82.         P2_6=0;//J14
  83.         P2_7=0;//J15
  84.         P4_4=0;//J16
  85.         
  86.         P1_7=0;
  87.         P1_6=0;
  88.         P1_5=0;
  89.         P1_4=0;
  90.         P1_3=0;
  91.         P1_2=0;
  92.         P1_1=0;

  93.         P4_6=0;

  94.         P0=0X01;
  95.         delay_1ms(10);
  96.         for(j=0;j<7;j++)
  97.         {
  98.                 P0=(P0<<1)|0x01;
  99.                 delay_1ms(10);
  100.         }
  101.         P4_6=1;
  102.         delay_1ms(10);        
  103.         P1_1=1;
  104.         delay_1ms(10);
  105.         P1_2=1;
  106.         delay_1ms(10);
  107.         P1_3=1;
  108.         delay_1ms(10);
  109.         P1_4=1;
  110.         delay_1ms(10);
  111.         P1_5=1;
  112.         delay_1ms(10);
  113.         P1_6=1;
  114.         delay_1ms(10);
  115.         P1_7=1;        

  116.         for(i=0;i<2;i++)
  117.         {
  118.                 P1_7=0;
  119.                 P1_6=0;
  120.                 P1_5=0;
  121.                 P1_4=0;
  122.                 P1_3=0;
  123.                 P1_2=0;
  124.                 P1_1=0;
  125.         
  126.                 P4_6=0;
  127.         
  128.                 P0=0X01;
  129.                 delay_1ms(1000);
  130.                 for(j=0;j<7;j++)
  131.                 {
  132.                         P0=(P0<<1)|0x01;
  133.                         delay_1ms(700);
  134.                         key();
  135.                         if(ly_flag==1){ly_flag=0;break;}
  136.                 }
  137.         
  138.                 P4_6=1;
  139.                 delay_1ms(700);
  140.                 key();
  141.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}        
  142.                 P1_1=1;
  143.                 delay_1ms(700);
  144.                 key();
  145.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  146.                 P1_2=1;
  147.                 delay_1ms(700);
  148.                 key();
  149.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  150.                 P1_3=1;
  151.                 delay_1ms(700);
  152.                 key();
  153.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  154.                 P1_4=1;
  155.                 delay_1ms(700);
  156.                 key();
  157.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  158.                 P1_5=1;
  159.                 delay_1ms(700);
  160.                 key();
  161.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  162.                 P1_6=1;
  163.                 delay_1ms(700);
  164.                 key();
  165.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  166.                 P1_7=1;
  167.                 delay_1ms(8000);
  168.                 key();
  169.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  170.                 delay_1ms(8000);
  171.                 key();
  172.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  173.                 delay_1ms(8000);
  174.                 key();
  175.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  176.                 delay_1ms(8000);
  177.                 key();
  178.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  179.                 delay_1ms(8000);
  180.                 key();
  181.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  182.                 delay_1ms(8000);
  183.                 key();                        
  184.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  185.         }                                
  186. }
  187. void dh2()
  188. {
  189.         char j;
  190.         P1_7=1;
  191.         P1_6=1;
  192.         P1_5=1;
  193.         P1_4=1;
  194.         P1_3=1;
  195.         P1_2=1;
  196.         P1_1=1;

  197.         P4_6=1;

  198.         P0_7=1;
  199.         P0_6=1;
  200.         P0_5=1;
  201.         P0_4=1;
  202.         P0_3=1;
  203.         P0_2=1;
  204.         P0_1=1;
  205.         P0_0=1;

  206.         for(j=0;j<12;j++)
  207.         {
  208.                 P4_4=1;
  209.                 P2_0=1;
  210.                 P3_0=0;
  211.                 P2_1=0;
  212.                 delay_1ms(400);
  213.         
  214.                 P3_0=1;
  215.                 P2_1=1;
  216.                 P3_1=0;
  217.                 P2_2=0;
  218.                 delay_1ms(400);
  219.         
  220.                 P3_1=1;
  221.                 P2_2=1;
  222.                 P3_3=0;
  223.                 P2_3=0;
  224.                 delay_1ms(400);
  225.                 key();
  226.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}        
  227.                 P3_3=1;
  228.                 P2_3=1;
  229.                 P3_4=0;
  230.                 P2_4=0;
  231.                 delay_1ms(400);
  232.         
  233.                 P3_4=1;
  234.                 P2_4=1;
  235.                 P3_5=0;
  236.                 P2_5=0;
  237.                 delay_1ms(400);
  238.         
  239.                 P3_5=1;
  240.                 P2_5=1;
  241.                 P3_6=0;
  242.                 P2_6=0;
  243.                 delay_1ms(400);
  244.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}        
  245.                 P3_6=1;
  246.                 P2_6=1;
  247.                 P3_7=0;
  248.                 P2_7=0;
  249.                 delay_1ms(400);
  250.         
  251.                 P3_7=1;
  252.                 P2_7=1;
  253.                 P4_4=0;
  254.                 P2_0=0;
  255.                 delay_1ms(400);        
  256.                 key();
  257.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  258.         }
  259. }
  260. void dh3()
  261. {
  262.         char i,j;
  263.         int yanshi=400;
  264.         P3_0=0;//J1
  265.         P3_1=0;//J2
  266.         P3_3=0;//J3
  267.         P3_4=0;//J4
  268.         P3_5=0;//J5
  269.         P3_6=0;//J6
  270.         P3_7=0;//J7
  271.         P2_0=0;//J8
  272.         P2_1=0;//J9
  273.         P2_2=0;//J10
  274.         P2_3=0;//J11
  275.         P2_4=0;//J12
  276.         P2_5=0;//J13
  277.         P2_6=0;//J14
  278.         P2_7=0;//J15
  279.         P4_4=0;//J16

  280.            for(i=0;i<3;i++)
  281.         {
  282.                 P1_7=0;
  283.                 P1_6=0;
  284.                 P1_5=0;
  285.                 P1_4=0;
  286.                 P1_3=0;
  287.                 P1_2=0;
  288.                 P1_1=0;
  289.         
  290.                 P4_6=0;
  291.         
  292.                 P0=0X01;
  293.                 delay_1ms(yanshi);
  294.                 for(j=0;j<7;j++)
  295.                 {
  296.                         P0=(P0<<1);
  297.                         delay_1ms(yanshi);
  298.                         key();
  299.                         if(ly_flag==1){moshi=0;ly_flag=0;break;}
  300.                 }
  301.         
  302.                 P0_7=0;        
  303.                 P4_6=1;
  304.                 delay_1ms(yanshi);
  305.         
  306.                 P4_6=0;        
  307.                 P1_1=1;
  308.                 delay_1ms(yanshi);
  309.         
  310.                 P1_1=0;        
  311.                 P1_2=1;
  312.                 delay_1ms(yanshi);
  313.                 key();
  314.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  315.                 P1_2=0;               
  316.                 P1_3=1;
  317.                 delay_1ms(yanshi);
  318.         
  319.                 P1_3=0;               
  320.                 P1_4=1;
  321.                 delay_1ms(yanshi);
  322.         
  323.                 P1_4=0;               
  324.                 P1_5=1;
  325.                 delay_1ms(yanshi);
  326.                 key();
  327.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  328.                 P1_5=0;               
  329.                 P1_6=1;
  330.                 delay_1ms(yanshi);
  331.         
  332.                 P1_6=0;               
  333.                 P1_7=1;
  334.                 delay_1ms(yanshi);
  335.         
  336.                 P1_6=1;               
  337.                 P1_7=0;
  338.                 delay_1ms(yanshi);
  339.                 key();
  340.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  341.                 P1_5=1;               
  342.                 P1_6=0;
  343.                 delay_1ms(yanshi);
  344.         
  345.                 P1_4=1;               
  346.                 P1_5=0;
  347.                 delay_1ms(yanshi);
  348.         
  349.                 P1_3=1;               
  350.                 P1_4=0;
  351.                 delay_1ms(yanshi);
  352.                 key();
  353.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  354.                 P1_2=1;               
  355.                 P1_3=0;
  356.                 delay_1ms(yanshi);
  357.         
  358.                 P1_1=1;               
  359.                 P1_2=0;
  360.                 delay_1ms(yanshi);
  361.         
  362.                 P1_1=0;               
  363.                 P0_7=1;
  364.                 delay_1ms(yanshi);
  365.                 key();
  366.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  367.                 P0_6=1;               
  368.                 P0_7=0;
  369.                 delay_1ms(yanshi);
  370.         
  371.                 P0_5=1;               
  372.                 P0_6=0;
  373.                 delay_1ms(yanshi);
  374.         
  375.                 P0_4=1;               
  376.                 P0_5=0;
  377.                 delay_1ms(yanshi);
  378.                 key();
  379.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  380.                 P0_3=1;               
  381.                 P0_4=0;
  382.                 delay_1ms(yanshi);
  383.         
  384.                 P0_2=1;               
  385.                 P0_3=0;
  386.                 delay_1ms(yanshi);
  387.         
  388.                 P0_1=1;               
  389.                 P0_2=0;
  390.                 delay_1ms(yanshi);
  391.                 key();
  392.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  393.         }
  394. }
  395. void dh4()
  396. {
  397.         char j;
  398.         P3_0=0;//J1
  399.         P3_1=0;//J2
  400.         P3_3=0;//J3
  401.         P3_4=0;//J4
  402.         P3_5=0;//J5
  403.         P3_6=0;//J6
  404.         P3_7=0;//J7
  405.         P2_0=0;//J8
  406.         P2_1=0;//J9
  407.         P2_2=0;//J10
  408.         P2_3=0;//J11
  409.         P2_4=0;//J12
  410.         P2_5=0;//J13
  411.         P2_6=0;//J14
  412.         P2_7=0;//J15
  413.         P4_4=0;//J16
  414.         
  415.         P1_7=0;
  416.         P1_6=0;
  417.         P1_5=0;
  418.         P1_4=0;
  419.         P1_3=0;
  420.         P1_2=0;
  421.         P1_1=0;
  422.         P4_6=0;
  423.         P0_7=0;
  424.         P0_6=0;
  425.         P0_5=0;
  426.         P0_4=0;
  427.         P0_3=0;
  428.         P0_2=0;
  429.         P0_1=0;
  430.         P0_1=0;        
  431.         P0_0=0;        
  432.         for(j=0;j<3;j++)
  433.         {
  434.                 P1_7=0;
  435.                 P0_0=0;               
  436.                 P4_6=1;
  437.                 P0_7=1;        
  438.                 delay_1ms(500);
  439.                
  440.                 P4_6=0;
  441.                 P0_7=0;        
  442.                 P1_1=1;
  443.                 P0_6=1;
  444.                 delay_1ms(500);
  445.                 key();
  446.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  447.                 P1_2=1;
  448.                 P0_5=1;        
  449.                 P1_1=0;
  450.                 P0_6=0;
  451.                 delay_1ms(500);
  452.                
  453.                 P1_3=1;
  454.                 P0_4=1;        
  455.                 P1_2=0;
  456.                 P0_5=0;
  457.                 delay_1ms(500);
  458.                 key();
  459.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  460.                 P1_4=1;
  461.                 P0_3=1;        
  462.                 P1_3=0;
  463.                 P0_4=0;
  464.                 delay_1ms(500);
  465.                
  466.                 P1_5=1;
  467.                 P0_2=1;        
  468.                 P1_4=0;
  469.                 P0_3=0;
  470.                 delay_1ms(500);
  471.                 key();
  472.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  473.                 P1_6=1;
  474.                 P0_1=1;        
  475.                 P1_5=0;
  476.                 P0_2=0;
  477.                 delay_1ms(500);
  478.                
  479.                 P1_7=1;
  480.                 P0_0=1;        
  481.                 P1_6=0;
  482.                 P0_1=0;
  483.                 delay_1ms(500);        
  484.                 key();
  485.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  486.         }                                
  487. }
  488. void dh5()
  489. {
  490.         char i;
  491.         P1_7=1;
  492.         P1_6=1;
  493.         P1_5=1;
  494.         P1_4=1;
  495.         P1_3=1;
  496.         P1_2=1;
  497.         P1_1=1;
  498.         P4_6=1;
  499.         P0_7=1;
  500.         P0_6=1;
  501.         P0_5=1;
  502.         P0_4=1;
  503.         P0_3=1;
  504.         P0_2=1;
  505.         P0_1=1;
  506.         P0_1=1;        
  507.         P0_0=1;
  508.         
  509.         for(i=0;i<3;i++)
  510.         {
  511.                 P3_0=0;        
  512.                 delay_1ms(400);        
  513.                 P3_1=0;        
  514.                 delay_1ms(400);        
  515.                 P3_3=0;        
  516.                 delay_1ms(400);        
  517.                 P3_4=0;        
  518.                 delay_1ms(400);        
  519.                 key();
  520.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  521.                 P3_5=0;        
  522.                 delay_1ms(400);        
  523.                 P3_6=0;        
  524.                 delay_1ms(400);        
  525.                 P3_7=0;        
  526.                 delay_1ms(400);               
  527.                 P2_0=0;        
  528.                 delay_1ms(400);        
  529.                 key();
  530.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  531.                 P2_1=0;        
  532.                 delay_1ms(400);        
  533.                 P2_2=0;        
  534.                 delay_1ms(400);        
  535.                 P2_3=0;        
  536.                 delay_1ms(400);        
  537.                 P2_4=0;        
  538.                 delay_1ms(400);
  539.                 key();
  540.                 if(ly_flag==1){moshi=0;break;}        
  541.                 P2_5=0;        
  542.                 delay_1ms(400);        
  543.                 P2_6=0;        
  544.                 delay_1ms(400);        
  545.                 P2_7=0;        
  546.                 delay_1ms(400);        
  547.                 P4_4=0;        
  548.                 delay_1ms(9000);
  549.                 key();
  550.                 if(ly_flag==1){moshi=0;break;}
  551.                 delay_1ms(9000);
  552.                 key();
  553.                 if(ly_flag==1){moshi=0;break;}
  554.                 delay_1ms(9000);
  555.                 key();
  556.                 if(ly_flag==1){moshi=0;break;}               
  557.                 P2=0XFF;
  558.                 P3=0XFF;
  559.                 P4_4=1;               
  560.         }                        
  561. }
  562. void dh6()
  563. {
  564.         char j;
  565.         int yanshi=3000;
  566.         P1_7=1;
  567.         P1_6=1;
  568.         P1_5=1;
  569.         P1_4=1;
  570.         P1_3=1;
  571.         P1_2=1;
  572.         P1_1=1;

  573.         P4_6=1;

  574.         P0_7=1;
  575.         P0_6=1;
  576.         P0_5=1;
  577.         P0_4=1;
  578.         P0_3=1;
  579.         P0_2=1;
  580.         P0_1=1;
  581.         P0_0=1;

  582.         for(j=0;j<20;j++)
  583.         {
  584.                  P3_4=1;
  585.                 P2_0=1;
  586.                 P2_4=1;
  587.                 P4_4=1;

  588.                  P3_0=0;
  589.                 P3_5=0;
  590.                 P2_1=0;
  591.                 P2_5=0;
  592.                 delay_1ms(yanshi);
  593.                 key();
  594.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  595.                  P3_0=1;
  596.                 P3_5=1;
  597.                 P2_1=1;
  598.                 P2_5=1;

  599.                  P3_1=0;
  600.                 P3_6=0;
  601.                 P2_2=0;
  602.                 P2_6=0;
  603.                 delay_1ms(yanshi);
  604.                 key();
  605.             if(ly_flag==1){moshi=0;ly_flag=0;break;}
  606.                  P3_1=1;
  607.                 P3_6=1;
  608.                 P2_2=1;
  609.                 P2_6=1;

  610.                  P3_3=0;
  611.                 P3_7=0;
  612.                 P2_3=0;
  613.                 P2_7=0;
  614.                 delay_1ms(yanshi);
  615.                 key();
  616.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  617.                  P3_3=1;
  618.                 P3_7=1;
  619.                 P2_3=1;
  620.                 P2_7=1;

  621.                  P3_4=0;
  622.                 P2_0=0;
  623.                 P2_4=0;
  624.                 P4_4=0;
  625.                 delay_1ms(yanshi);
  626.                 if(j<6)yanshi=yanshi-400;
  627.                 key();
  628.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}
  629.         }        
  630. }
  631. void dh7()
  632. {
  633.         P3_0=0;//J1
  634.         P3_1=0;//J2
  635.         P3_3=0;//J3
  636.         P3_4=0;//J4
  637.         P3_5=0;//J5
  638.         P3_6=0;//J6
  639.         P3_7=0;//J7
  640.         P2_0=0;//J8
  641.         P2_1=0;//J9
  642.         P2_2=0;//J10
  643.         P2_3=0;//J11
  644.         P2_4=0;//J12
  645.         P2_5=0;//J13
  646.         P2_6=0;//J14
  647.         P2_7=0;//J15
  648.         P4_4=0;//J16
  649.         
  650.         P1=0X00;
  651.         P0=0X00;
  652.         P4_6=0;

  653.         P1_7=1;
  654.         delay_1ms(400);
  655.         P1_6=1;
  656.         delay_1ms(400);
  657.         P1_6=0;
  658.         P1_5=1;
  659.         delay_1ms(400);        
  660.         P1_5=0;
  661.         P1_4=1;
  662.         delay_1ms(400);        
  663.         P1_4=0;
  664.         P1_3=1;
  665.         delay_1ms(400);        
  666.         P1_3=0;
  667.         P1_2=1;
  668.         delay_1ms(400);        
  669.         P1_2=0;
  670.         P1_1=1;
  671.         delay_1ms(400);        
  672.         P1_1=0;
  673.         P4_6=1;
  674.         delay_1ms(400);        
  675.         key();
  676.         if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  677.         P4_6=0;
  678.         P0_7=1;
  679.         delay_1ms(400);        
  680.         P0_7=0;
  681.         P0_6=1;
  682.         delay_1ms(400);
  683.         P0_6=0;
  684.         P0_5=1;
  685.         delay_1ms(400);        
  686.         P0_5=0;
  687.         P0_4=1;
  688.         delay_1ms(400);        
  689.         P0_4=0;
  690.         P0_3=1;
  691.         delay_1ms(400);        
  692.         P0_3=0;
  693.         P0_2=1;
  694.         delay_1ms(400);        
  695.         P0_2=0;
  696.         P0_1=1;
  697.         delay_1ms(400);
  698.         P0_1=0;
  699.         P0_0=1;
  700.         delay_1ms(400);        /////////////P00
  701.         key();
  702.         if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  703.         P1_6=1;
  704.         delay_1ms(400);
  705.         P1_6=0;
  706.         P1_5=1;
  707.         delay_1ms(400);        
  708.         P1_5=0;
  709.         P1_4=1;
  710.         delay_1ms(400);        
  711.         P1_4=0;
  712.         P1_3=1;
  713.         delay_1ms(400);        
  714.         P1_3=0;
  715.         P1_2=1;
  716.         delay_1ms(400);        
  717.         P1_2=0;
  718.         P1_1=1;
  719.         delay_1ms(400);        
  720.         P1_1=0;
  721.         P4_6=1;
  722.         delay_1ms(400);        
  723.         P4_6=0;
  724.         P0_7=1;
  725.         delay_1ms(400);        
  726.         key();
  727.         if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  728.         P0_7=0;
  729.         P0_6=1;
  730.         delay_1ms(400);
  731.         P0_6=0;
  732.         P0_5=1;
  733.         delay_1ms(400);        
  734.         P0_5=0;
  735.         P0_4=1;
  736.         delay_1ms(400);        
  737.         P0_4=0;
  738.         P0_3=1;
  739.         delay_1ms(400);        
  740.         P0_3=0;
  741.         P0_2=1;
  742.         delay_1ms(400);        
  743.         P0_2=0;
  744.         P0_1=1;
  745.         delay_1ms(400);/////////////////////////////P01
  746.         key();
  747.         if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  748.         P1_6=1;
  749.         delay_1ms(400);
  750.         P1_6=0;
  751.         P1_5=1;
  752.         delay_1ms(400);        
  753.         P1_5=0;
  754.         P1_4=1;
  755.         delay_1ms(400);        
  756.         P1_4=0;
  757.         P1_3=1;
  758.         delay_1ms(400);        
  759.         P1_3=0;
  760.         P1_2=1;
  761.         delay_1ms(400);        
  762.         P1_2=0;
  763.         P1_1=1;
  764.         delay_1ms(400);        
  765.         key();
  766.         if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  767.         P1_1=0;
  768.         P4_6=1;
  769.         delay_1ms(400);        
  770.         P4_6=0;
  771.         P0_7=1;
  772.         delay_1ms(400);        
  773.         P0_7=0;
  774.         P0_6=1;
  775.         delay_1ms(400);
  776.         P0_6=0;
  777.         P0_5=1;
  778.         delay_1ms(400);        
  779.         P0_5=0;
  780.         P0_4=1;
  781.         delay_1ms(400);        
  782.         P0_4=0;
  783.         P0_3=1;
  784.         delay_1ms(400);        
  785.         key();
  786.         if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  787.         P0_3=0;
  788.         P0_2=1;
  789.         delay_1ms(400);/////////////////////////////////P02
  790.         P1_6=1;
  791.         delay_1ms(400);
  792.         P1_6=0;
  793.         P1_5=1;
  794.         delay_1ms(400);        
  795.         P1_5=0;
  796.         P1_4=1;
  797.         delay_1ms(400);        
  798.         P1_4=0;
  799.         P1_3=1;
  800.         delay_1ms(400);        
  801.         P1_3=0;
  802.         P1_2=1;
  803.         delay_1ms(400);        
  804.         P1_2=0;
  805.         P1_1=1;
  806.         delay_1ms(400);        
  807.         key();
  808.         if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  809.         P1_1=0;
  810.         P4_6=1;
  811.         delay_1ms(400);        
  812.         P4_6=0;
  813.         P0_7=1;
  814.         delay_1ms(400);        
  815.         P0_7=0;
  816.         P0_6=1;
  817.         delay_1ms(400);
  818.         P0_6=0;
  819.         P0_5=1;
  820.         delay_1ms(400);        
  821.         P0_5=0;
  822.         P0_4=1;
  823.         delay_1ms(400);        
  824.         P0_4=0;
  825.         P0_3=1;
  826.         delay_1ms(400);//////////////////////////P03
  827.         key();
  828.         if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  829.         P1_6=1;
  830.         delay_1ms(400);
  831.         P1_6=0;
  832.         P1_5=1;
  833.         delay_1ms(400);        
  834.         
  835.         P1_5=0;
  836.         P1_4=1;
  837.         delay_1ms(400);        
  838.         P1_4=0;
  839.         P1_3=1;
  840.         delay_1ms(400);        
  841.         
  842.         P1_3=0;
  843.         P1_2=1;
  844.         delay_1ms(400);        
  845.         
  846.         P1_2=0;
  847.         P1_1=1;
  848.         delay_1ms(400);        
  849.         key();
  850.         if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  851.         P1_1=0;
  852.         P4_6=1;
  853.         delay_1ms(400);        
  854.         P4_6=0;
  855.         P0_7=1;
  856.         delay_1ms(400);               
  857.         P0_7=0;
  858.         P0_6=1;
  859.         delay_1ms(400);
  860.         P0_6=0;
  861.         P0_5=1;
  862.         delay_1ms(400);        
  863.         P0_5=0;
  864.         P0_4=1;
  865.         delay_1ms(400);///////////////////////////P04
  866.         P1_6=1;
  867.         delay_1ms(400);
  868.         key();
  869.         if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  870.         P1_6=0;
  871.         P1_5=1;
  872.         delay_1ms(400);        
  873.         
  874.         P1_5=0;
  875.         P1_4=1;
  876.         delay_1ms(400);        
  877.         
  878.         P1_4=0;
  879.         P1_3=1;
  880.         delay_1ms(400);        

  881.         P1_3=0;
  882.         P1_2=1;
  883.         delay_1ms(400);        
  884.         key();
  885.         if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}        
  886.         P1_2=0;
  887.         P1_1=1;
  888.         delay_1ms(400);        
  889.         
  890.         P1_1=0;
  891.         P4_6=1;
  892.         delay_1ms(400);        
  893.         P4_6=0;
  894.         P0_7=1;
  895.         delay_1ms(400);        
  896.         
  897.         P0_7=0;
  898.         P0_6=1;
  899.         delay_1ms(400);
  900.         
  901.         P0_6=0;
  902.         P0_5=1;
  903.         delay_1ms(400);//////////////////////////////////P05
  904.         key();
  905.         if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  906.         P1_6=1;
  907.         delay_1ms(400);

  908.         P1_6=0;
  909.         P1_5=1;
  910.         delay_1ms(400);        
  911.         
  912.         P1_5=0;
  913.         P1_4=1;
  914.         delay_1ms(400);        

  915.         P1_4=0;
  916.         P1_3=1;
  917.         delay_1ms(400);        
  918.         
  919.         P1_3=0;
  920.         P1_2=1;
  921.         delay_1ms(400);        
  922.         
  923.         P1_2=0;
  924.         P1_1=1;
  925.         delay_1ms(400);        
  926.         key();
  927.         if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  928.         P1_1=0;
  929.         P4_6=1;
  930.         delay_1ms(400);        

  931.         P4_6=0;
  932.         P0_7=1;
  933.         delay_1ms(400);        
  934.         
  935.         P0_7=0;
  936.         P0_6=1;
  937.         delay_1ms(400);        ///////////////////P06
  938.         P1_6=1;
  939.         delay_1ms(400);

  940.         P1_6=0;
  941.         P1_5=1;
  942.         delay_1ms(400);        
  943.         
  944.         P1_5=0;
  945.         P1_4=1;
  946.         delay_1ms(400);        
  947.         key();
  948.         if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  949.         P1_4=0;
  950.         P1_3=1;
  951.         delay_1ms(400);        
  952.         
  953.         P1_3=0;
  954.         P1_2=1;
  955.         delay_1ms(400);        
  956.         
  957.         P1_2=0;
  958.         P1_1=1;
  959.         delay_1ms(400);        

  960.         P1_1=0;
  961.         P4_6=1;
  962.         delay_1ms(400);        

  963.         P4_6=0;
  964.         P0_7=1;
  965.         delay_1ms(400);//////////////////////////////////////P07

  966.         P1_6=1;
  967.         delay_1ms(400);
  968.         key();
  969.         if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  970.         P1_6=0;
  971.         P1_5=1;
  972.         delay_1ms(400);        
  973.         
  974.         P1_5=0;
  975.         P1_4=1;
  976.         delay_1ms(400);        
  977.         
  978.         P1_4=0;
  979.         P1_3=1;
  980.         delay_1ms(400);        

  981.         P1_3=0;
  982.         P1_2=1;
  983.         delay_1ms(400);        
  984.         
  985.         P1_2=0;
  986.         P1_1=1;
  987.         delay_1ms(400);        
  988.         
  989.         P1_1=0;
  990.         P4_6=1;
  991.         delay_1ms(400);        ///////////////////////////P46
  992.         key();
  993.         if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  994.         P1_6=1;
  995.         delay_1ms(400);

  996.         P1_6=0;
  997.         P1_5=1;
  998.         delay_1ms(400);        
  999.         
  1000.         P1_5=0;
  1001.         P1_4=1;
  1002.         delay_1ms(400);        

  1003.         P1_4=0;
  1004.         P1_3=1;
  1005.         delay_1ms(400);        
  1006.         
  1007.         P1_3=0;
  1008.         P1_2=1;
  1009.         delay_1ms(400);        
  1010.         
  1011.         P1_2=0;
  1012.         P1_1=1;
  1013.         delay_1ms(400);        ///////////////////////////////////
  1014.         key();
  1015.         if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  1016.         P1_6=1;
  1017.         delay_1ms(400);

  1018.         P1_6=0;
  1019.         P1_5=1;
  1020.         delay_1ms(400);        
  1021.         
  1022.         P1_5=0;
  1023.         P1_4=1;
  1024.         delay_1ms(400);        

  1025.         P1_4=0;
  1026.         P1_3=1;
  1027.         delay_1ms(400);        
  1028.         
  1029.         P1_3=0;
  1030.         P1_2=1;
  1031.         delay_1ms(400);        ///////////////////////////////////////////

  1032.         P1_6=1;
  1033.         delay_1ms(400);
  1034.         key();
  1035.         if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  1036.         P1_6=0;
  1037.         P1_5=1;
  1038.         delay_1ms(400);        
  1039.         
  1040.         P1_5=0;
  1041.         P1_4=1;
  1042.         delay_1ms(400);        
  1043.         
  1044.         P1_4=0;
  1045.         P1_3=1;
  1046.         delay_1ms(400);/////////////////////////////////////

  1047.         P1_6=1;
  1048.         delay_1ms(400);

  1049.         P1_6=0;
  1050.         P1_5=1;
  1051.         delay_1ms(400);        
  1052.         
  1053.         P1_5=0;
  1054.         P1_4=1;
  1055.         delay_1ms(400);///////////////////////////////////
  1056.         key();
  1057.         if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  1058.         P1_6=1;
  1059.         delay_1ms(400);

  1060.         P1_6=0;
  1061.         P1_5=1;
  1062.         delay_1ms(400);        //////////////////////

  1063.         P1_6=1;
  1064.         delay_1ms(400);        /////////////////////
  1065. hm: ;                                                                                                                                                        
  1066. }
  1067. void dh8()
  1068. {
  1069.         P3_0=0;//J1
  1070.         P3_1=0;//J2
  1071.         P3_3=0;//J3
  1072.         P3_4=0;//J4
  1073.         P3_5=0;//J5
  1074.         P3_6=0;//J6
  1075.         P3_7=0;//J7
  1076.         P2_0=0;//J8
  1077.         P2_1=0;//J9
  1078.         P2_2=0;//J10
  1079.         P2_3=0;//J11
  1080.         P2_4=0;//J12
  1081.         P2_5=0;//J13
  1082.         P2_6=0;//J14
  1083.         P2_7=0;//J15
  1084.         P4_4=0;//J16

  1085.         P1_7=1;
  1086.         P1_6=1;
  1087.         P1_5=1;
  1088.         P1_4=1;
  1089.         P1_3=1;
  1090.         P1_2=1;
  1091.         P1_1=1;
  1092.         P4_6=1;
  1093.         P0_7=1;
  1094.         P0_6=1;
  1095.         P0_5=1;
  1096.         P0_4=1;
  1097.         P0_3=1;
  1098.         P0_2=1;
  1099.         P0_1=1;
  1100.         P0_1=1;        
  1101.         P0_0=1;
  1102.         delay_1ms(9000);
  1103.         key();
  1104.         if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  1105.         delay_1ms(9000);
  1106.         key();
  1107.         if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  1108.         delay_1ms(9000);
  1109.         key();
  1110.         if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  1111.         delay_1ms(9000);
  1112. hm: ;
  1113. }
  1114. void dh9()
  1115. {
  1116.         char i;
  1117.         P3_0=0;//J1
  1118.         P3_1=0;//J2
  1119.         P3_3=0;//J3
  1120.         P3_4=0;//J4
  1121.         P3_5=0;//J5
  1122.         P3_6=0;//J6
  1123.         P3_7=0;//J7
  1124.         P2_0=0;//J8
  1125.         P2_1=0;//J9
  1126.         P2_2=0;//J10
  1127.         P2_3=0;//J11
  1128.         P2_4=0;//J12
  1129.         P2_5=0;//J13
  1130.         P2_6=0;//J14
  1131.         P2_7=0;//J15
  1132.         P4_4=0;//J16
  1133.         
  1134.         P1_7=0;
  1135.         P1_6=0;
  1136.         P1_5=0;
  1137.         P1_4=0;
  1138.         P1_3=0;
  1139.         P1_2=0;
  1140.         P1_1=0;
  1141.         P4_6=0;
  1142.         P0_7=0;
  1143.         P0_6=0;
  1144.         P0_5=0;
  1145.         P0_4=0;
  1146.         P0_3=0;
  1147.         P0_2=0;
  1148.         P0_1=0;
  1149.         P0_1=0;        
  1150.         P0_0=0;        

  1151.         for(i=0;i<5;i++)
  1152.         {
  1153.                 P1_4=0;
  1154.                 P1_3=0;
  1155.                 P0_4=0;
  1156.                 P0_3=0;
  1157.         
  1158.                 P1_7=1;
  1159.                 P4_6=1;
  1160.                 P0_7=1;
  1161.                 P0_0=1;
  1162.                 delay_1ms(1000);

  1163.                 P1_7=0;
  1164.                 P4_6=0;
  1165.                 P0_7=0;
  1166.                 P0_0=0;
  1167.         
  1168.                 P1_6=1;
  1169.                 P1_1=1;
  1170.                 P0_6=1;
  1171.                 P0_1=1;
  1172.                 delay_1ms(1000);
  1173.                 key();        
  1174.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}        
  1175.                 P1_6=0;
  1176.                 P1_1=0;
  1177.                 P0_6=0;
  1178.                 P0_1=0;
  1179.         
  1180.                 P1_5=1;
  1181.                 P1_2=1;
  1182.                 P0_5=1;
  1183.                 P0_2=1;
  1184.                 delay_1ms(1000);        
  1185.         
  1186.                 P1_5=0;
  1187.                 P1_2=0;
  1188.                 P0_5=0;
  1189.                 P0_2=0;
  1190.         
  1191.                 P1_4=1;
  1192.                 P1_3=1;
  1193.                 P0_4=1;
  1194.                 P0_3=1;
  1195.                 delay_1ms(1000);
  1196.                 key();
  1197.                 if(ly_flag==1){moshi=0;ly_flag=0;break;}        
  1198.         }                        
  1199. }
  1200. void dh10()
  1201. {
  1202.         P3_0=0;//J1
  1203.         P3_1=0;//J2
  1204.         P3_3=0;//J3
  1205.         P3_4=0;//J4
  1206.         P3_5=0;//J5
  1207.         P3_6=0;//J6
  1208.         P3_7=0;//J7
  1209.         P2_0=0;//J8
  1210.         P2_1=0;//J9
  1211.         P2_2=0;//J10
  1212.         P2_3=0;//J11
  1213.         P2_4=0;//J12
  1214.         P2_5=0;//J13
  1215.         P2_6=0;//J14
  1216.         P2_7=0;//J15
  1217.         P4_4=0;//J16

  1218.         P1_7=1;
  1219.         P1_6=0;
  1220.         P1_5=1;
  1221.         P1_4=0;
  1222.         P1_3=1;
  1223.         P1_2=0;
  1224.         P1_1=1;
  1225.         P4_6=0;
  1226.         P0_7=1;
  1227.         P0_6=0;
  1228.         P0_5=1;
  1229.         P0_4=0;
  1230.         P0_3=1;
  1231.         P0_2=0;
  1232.         P0_1=1;        
  1233.         P0_0=0;        
  1234.         delay_1ms(9000);
  1235.         key();
  1236.                 if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  1237.         delay_1ms(9000);
  1238.         key();
  1239.                 if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  1240.         delay_1ms(9000);
  1241.         key();
  1242.                 if(ly_flag==1){moshi=0;ly_flag=0;goto hm;}
  1243.         delay_1ms(9000);
  1244. hm: ;
  1245. }
  1246. uchar STC_ADC()                   //!!根据数据手册写一个ad读取函数
  1247. {                                                                                                
  1248.      uchar i;
  1249.      ADC_RES   = 0;
  1250.      ADC_RESL  = 0;
  1251.          ADC_CONTR = BIN(10001000);
  1252.          i=3;
  1253.      while(i--);
  1254.      while (1)                     
  1255.      {
  1256.          if (ADC_CONTR & BIN(10000))      
  1257.               {
  1258.                              break;
  1259.                     }
  1260.      }
  1261.      ADC_CONTR = BIN(10000000);
  1262.            return( ADC_RESL<<2) ;
  1263. }
  1264. uchar date;
  1265. void init()
  1266. {
  1267.     TMOD= 0x01;                                   
  1268.     TL0 = (65536-50000)/256;        //设置定时初值
  1269.     TH0 = (65536-50000)%256;        //设置定时初值
  1270.     ET0 = 0;
  1271.     TR0 = 0;        
  1272.     EA = 1;
  1273. }
  1274. void pp()
  1275. {
  1276.         if(date<=15 && date>0)
  1277.         {        
  1278.                 h=1;
  1279.                 if(v<h)
  1280.                 {
  1281.                         v=h;        
  1282.                         P0=0X01;P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;
  1283.                 }
  1284.         }

  1285.         if(date<=30 && date>15)
  1286.         {        
  1287.                 h=2;
  1288.                 if(v<h)
  1289.                 {
  1290.                         v=h;        
  1291.                         P0=0X03;P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;               
  1292.                 }
  1293.         }
  1294.         
  1295.         if(date<=45 && date>30)
  1296.         {
  1297.                 h=3;
  1298.                 if(v<h)
  1299.                 {
  1300.                         v=h;
  1301.                         P0=0X07;P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;
  1302.                 }
  1303.         }
  1304.         if(date<=60 && date>45)
  1305.         {
  1306.                 h=4;
  1307.                 if(v<h)
  1308.                 {
  1309.                         v=h;
  1310.                         P0=0X0F;P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;
  1311.                 }        
  1312.         }
  1313.         if(date<=75 && date>60)
  1314.         {
  1315.                 h=5;
  1316.                 if(v<h)
  1317.                 {
  1318.                         v=h;        
  1319.                         P0=0X1F;P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;
  1320.                 }                        
  1321.         }
  1322.         if(date<=90 && date>75)
  1323.         {
  1324.                 h=6;
  1325.                 if(v<h)
  1326.                 {
  1327.                         v=h;        
  1328.                         P0=0X3F;P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;        
  1329.                 }        
  1330.         }
  1331.         if(date<=105 && date>90)
  1332.         {
  1333.                 h=7;
  1334.                 if(v<h)
  1335.                 {
  1336.                         v=h;        
  1337.                         P0=0X7F;P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;
  1338.                 }
  1339.         }
  1340.         if(date<=130 && date>105)
  1341.         {
  1342.                 h=8;
  1343.                 if(v<h)
  1344.                 {
  1345.                         v=h;        
  1346.                         P0=0XFF;P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;
  1347.                 }
  1348.         }
  1349.         if(date<=145 && date>130)
  1350.         {
  1351.                 h=9;
  1352.                 if(v<h)
  1353.                 {
  1354.                         v=h;        
  1355.                         P0=0XFF;P4_6=1;P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;               
  1356.                 }        
  1357.         }
  1358.         if(date<=160 && date>145)
  1359.         {
  1360.                 h=10;                 
  1361.                 if(v<h)
  1362.                 {
  1363.                         v=h;
  1364.                         P0=0XFF;P4_6=1;P1_1=1;P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;                                                
  1365.                 }               
  1366.         }
  1367.         if(date<=175 && date>160)
  1368.         {
  1369.                 h=11;
  1370.                 if(v<h)
  1371.                 {
  1372.                         v=h;        
  1373.                         P0=0XFF;P4_6=1;P1_1=1;P1_2=1;P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;               
  1374.                 }
  1375.         }
  1376.         if(date<=190 && date>175)
  1377.         {
  1378.                 h=12;
  1379.                 if(v<h)
  1380.                 {
  1381.                         v=h;        
  1382.                         P0=0XFF;P4_6=1;P1_1=1;P1_2=1;P1_3=1;P1_7=0;P1_6=0;P1_5=0;P1_4=0;                        
  1383.                 }               
  1384.         }
  1385.         if(date<=205 && date>190)
  1386.         {
  1387.                 h=13;
  1388.                 if(v<h)
  1389.                 {
  1390.                         v=h;        
  1391.                         P0=0XFF;P4_6=1;P1_1=1;P1_2=1;P1_3=1;P1_4=1;P1_7=0;P1_6=0;P1_5=0;
  1392.                 }                        
  1393.         }
  1394.         if(date<=220 && date>205)
  1395.         {
  1396.                 h=14;
  1397.                 if(v<h)
  1398.                 {
  1399.                         v=h;        
  1400.                         P0=0XFF;P4_6=1;P1_1=1;P1_2=1;P1_3=1;P1_4=1;P1_5=1;P1_7=0;P1_6=0;               
  1401.                 }        
  1402.         }
  1403.         if(date<=235 && date>220)
  1404.         {
  1405.                 h=15;
  1406.                 if(v<h)
  1407.                 {
  1408.                         v=h;        
  1409.                         P0=0XFF;P4_6=1;P1_1=1;P1_2=1;P1_3=1;P1_4=1;P1_5=1;P1_6=1;P1_7=0;
  1410.                 }                        
  1411.         }
  1412.         if(date>235)
  1413.         {
  1414.                 h=16;
  1415.                 if(v<h)
  1416.                 {
  1417.                         v=h;        
  1418.                         P0=0XFF;P4_6=1;P1_1=1;P1_2=1;P1_3=1;P1_4=1;P1_5=1;P1_6=1;P1_7=1;                        
  1419.                 }                                
  1420.         }
  1421. }

  1422. void sl()
  1423. {
  1424.         P3_0=0;//J1
  1425.         P3_1=0;//J2
  1426.         P3_3=0;//J3
  1427.         P3_4=0;//J4
  1428.         P3_5=0;//J5
  1429.         P3_6=0;//J6
  1430.         P3_7=0;//J7
  1431.         P2_0=0;//J8
  1432.         P2_1=0;//J9
  1433.         P2_2=0;//J10
  1434.         P2_3=0;//J11
  1435.         P2_4=0;//J12
  1436.         P2_5=0;//J13
  1437.         P2_6=0;//J14
  1438.         P2_7=0;//J15
  1439.         P4_4=0;//J16
  1440. }

  1441. void main()
  1442. {
  1443.         P4SW =0Xff;

  1444.         P4M0=0xef;//  BIN(11111111);//P2组设置为推挽输出
  1445.         P4M1=0x00;        

  1446.         P1M0=0xff;
  1447.         P1M1=0x00;
  1448.          P1ASF =1;           //设置P1.0为AD口
  1449.     AUXR1 =BIN(100);
  1450.         init();

  1451.         P0M0=0xff;
  1452.         P0M1=0x00;
  1453.         
  1454.         while(1)
  1455.         {
  1456.                 if(moshi==1)dh1();
  1457.                 if(moshi==1)dh2();
  1458.                 if(moshi==1)dh3();
  1459.                 if(moshi==1)dh4();
  1460.                 if(moshi==1)dh5();
  1461.                 if(moshi==1)dh6();
  1462.                 if(moshi==1)dh7();
  1463.                 if(moshi==1)dh8();
  1464.                 if(moshi==1)dh9();
  1465.                 if(moshi==1)dh10();
  1466.         
  1467.                 if(moshi==0)
  1468.                 {
  1469.                         sl();
  1470.                         key();
  1471.                         date=STC_ADC();
  1472.                         pp();
  1473.                         delay_1ms(2);                        
  1474.                 }
  1475.         }
  1476. }

  1477. void InitTimer0() interrupt 1  // 1毫秒@11.0592MHz
  1478. {
  1479.     TL0 = (65536-10000)/256;        //设置定时初值
  1480.     TH0 = (65536-10000)%256;        //设置定时初值
  1481.         t++;
  1482.         if(t==3)
  1483.         {
  1484.                 t=0;
  1485.                 if(v==0);
  1486.                 else v--;

  1487.                 if(v==16){P1_7=1;}        
  1488.                 if(v==15){P1_7=0;}        
  1489.                 if(v==14){P1_7=0;P1_6=0;}        
  1490.                 if(v==13){P1_7=0;P1_6=0;P1_5=0;}
  1491.                 if(v==12){P1_7=0;P1_6=0;P1_5=0;P1_4=0;}        
  1492.                 if(v==11){P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;}        
  1493.                 if(v==10){P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;}        
  1494.                 if(v==9) {P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;}        
  1495.                 if(v==8) {P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;}        
  1496.                 if(v==7) {P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;P0=0X7F;}//        
  1497.                 if(v==6) {P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;P0=0X3F;}//               
  1498.                 if(v==5) {P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;P0=0X1F;}//        
  1499.                 if(v==4) {P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;P0=0X0F;}//        
  1500.                 if(v==3) {P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;P0=0X07;}//
  1501.                 if(v==2) {P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;P0=0X03;}//               
  1502.                 if(v==1) {P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;P0=0X01;}//               
  1503.                 if(v==0) {P1_7=0;P1_6=0;P1_5=0;P1_4=0;P1_3=0;P1_2=0;P1_1=0;P4_6=0;P0=0X00;}//               
  1504.         }                                
  1505. }
复制代码
0.png
所有资料51hei提供下载:
16层广州塔.zip (969.06 KB, 下载次数: 65)

评分

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

查看全部评分

回复

使用道具 举报

ID:192180 发表于 2019-10-27 17:09 | 显示全部楼层
中间不用三极管扩大电流,灯全亮的情况下单片机可以承受吗?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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