找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机蓝牙广州塔

[复制链接]
跳转到指定楼层
楼主
蓝牙广州塔
一、主板调试
1、焊接检查
(1)注意芯片的方向为芯片1号脚和缺口方向,焊反将直接烧坏芯片。
(2)供电检查,用万用表的电压档接到丝印为x,测试VCC,GND之间是否短路,是否为5V左右。若供电正常。
2、驱动电路检查
(1)简单测试
拿一个LED,长脚接在J17到J32任意一孔,短脚接到旁边一圈的任意一孔,通电,LED有发光效果,说明单片机,驱动电路大概正常。
(2)具体测试
根据制作步骤,制作出广州塔塔身第一层LED,层焊接上一根跳线,将制作好的LED,直接插进J1到J16,不用焊接,直接插进去有接触就行了,通电,跳线一端焊接在层,另一端依次接触到J17到J25,层的LED有变化,说明J1到J32输出正常,没有虚焊或者短路。测试的过程中,如果发现接到J17到J32中的任意输出时,没反应,说明相应的输出连接到芯片端有虚焊,请参考原理图对相应的输出进行补焊。比如,我们发现,接到J18的时候,层的LED一点没反应,这个时候,通过原理图,我们知道J18是连接到单片机的38脚,我们要对单片机的38脚进行补焊。出现类似问题,都用这个方法排查!
4、LED好坏检查
(1)每个LED重复驱动电路检查中的(1)简单测试,这种方法是利用主板将每个LED测试完成。

(2)利用万用表测试,将万用表拨到通断档或者LED测试档,总之是测试LED的档,红表笔接LED的正极,黑表笔接负极,LED能发光的说明LED是好的。

单片机源程序如下:
  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. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:

元件清单.png (6.92 KB, 下载次数: 35)

元件清单.png

参考程序.zip

87.85 KB, 下载次数: 8, 下载积分: 黑币 -5

原理图.pdf

90.35 KB, 下载次数: 7, 下载积分: 黑币 -5

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

使用道具 举报

沙发
ID:1 发表于 2018-6-1 18:53 | 只看该作者
注意不要复制本站内容 重复发布  会被扣除积分的
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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