找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机音乐时钟带温度显示(仿真+代码)

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

全部资料打包下载(包含音乐仿真和源码):
音乐 温度.rar (118.4 KB, 下载次数: 254)


下面是程序:
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit rs=P3^5;
  5. sbit lcden=P3^4;
  6. sbit beep=P2^3;
  7. sbit s1=P3^0;
  8. sbit s2=P3^1;
  9. sbit s3=P3^2;
  10. sbit s4=P3^6;
  11. sbit DQ=P2^2;
  12. sbit dula=P2^6;
  13. sbit wela=P2^7;
  14. bit flag1,flag_ri;
  15. sbit dscs=P1^4;
  16. sbit dsas=P1^5;
  17. sbit dsrw=P1^6;
  18. sbit dsds=P1^7;
  19. sbit dsiqr=P3^3;
  20. sbit rd=P3^7;

  21. bit flag1,flag_ri;
  22. uchar H0,L0,cnt,t,b,a;
  23. code uint cyc[]={1800,1600,1440,1351,1200,1079,960};//音阶1-7的半周期数
  24. code uchar tone[]={13,15,16,16,15,16,13,12,12,13,15,16,16,15,16,13,13, 13,15,16,
  25. 16,15,16,13,12,12,15,13,12,13,12,11,12,6,6,12,15,13,12,6,6,15,13,12,13,12,11,
  26. 12,6,5,6,0xff};// 乐曲《康定情歌》的简谱表
  27. code uchar time[]={8,8,8,4,4,8,8,12,4,8,8,8,4,4,8,16,8,8,8,8,4,4,8,8,12,4,8,8,4,
  28. 4,4,4,8,24,8,24,8,24,8,16,8,8,8,4,4,4,4,8,16,8,32};// 节拍表

  29. void set_time();
  30. void read_alarm();
  31. void write_ds(uchar,uchar );
  32. uchar num, s1num,flag,temp;
  33. char miao,shi,fen,year,month,day,week,amiao,afen,ashi;
  34. uchar table[]=" 20  -  -   STA";
  35. uchar table1[]="     :  :     ";
  36. uchar table2[]=" Alarm :        ";
  37. void delay(uint z)         //延时子程序
  38. {
  39.         uint x,y;
  40.         for(x=z;x>0;x--)
  41.                 for(y=110;y>0;y--);
  42. }
  43. /**********定时器0中断用于产生音阶方波***********/
  44. void cntint0(void) interrupt 1
  45. {        
  46.         TH0=H0;
  47.         TL0=L0;
  48.         beep=~beep; // beep是音乐信号输出脚,beep反相,产生方波
  49. }
  50. /**********定时器1中断用于产生节拍延时***********/
  51. void cntint1(void) interrupt 3
  52. {        
  53.         cnt++; // 计数初值为0,所以不用赋值
  54. }
  55. void Delay_DS18B20(uint num)
  56. {
  57.   while(num--) ;
  58. }
  59. void didi()      
  60. {
  61. beep=0;
  62. delay(100);
  63. beep=1;
  64. }
  65. void play_music()                 
  66. {
  67.         uchar  i,j=0,a,t;
  68.         uint b;
  69.         for(j=0;j<2;j++) //放两遍音乐 一分钟
  70.         {
  71.                 TMOD=0x11;
  72.                 EA=1;//开总中断
  73.                 ET0=1;
  74.                 ET1=1;
  75.                 cnt=0;
  76.                 TR1=1;
  77.                 i = 0;
  78.                 while(1)
  79.                 {
  80.                         //扫描按键 如有按键按下退出闹钟
  81.                         if((s1==0)||(s2==0)||(s3==0)||(s4==0))
  82.                         {
  83.                                 delay(10);
  84.                                 if((s1==0)||(s2==0)||(s3==0)||(s4==0))
  85.                                 {
  86.                                         break;
  87.                                 }
  88.                                  while(!(s1&&s2&&s3&&s4));
  89.                         }                                                                                
  90.                         t=tone[i]; //读音调
  91.                         if(t==0xff) break; //0xff是结束符
  92.                         if(t!=0) //0是休止符        
  93.                         {        
  94.                                 b=cyc[t%10-1]; //根据基本音阶,求出半周期数
  95.                                 if(t<10) b=b*2; //若是低八度音阶,半周期数加倍
  96.                                 if(t>20) b=b/2; //若是高八度音阶,半周期数减半
  97.                                 H0=(65536-b)/256; //根据半周期数,计算T0初值的高字节和低字节
  98.                                 L0=(65536-b)%256;
  99.                                 TR0=1; //启动定时器0发音
  100.                         }
  101.                         cnt=0;
  102.                         a=time[i]; //读节拍
  103.                         while(a>cnt)
  104.                         {
  105.                                 //扫描按键 如有按键按下退出闹钟
  106.                                 if((s1==0)||(s2==0)||(s3==0)||(s4==0))
  107.                                 {
  108.                                         delay(10);
  109.                                         if((s1==0)||(s2==0)||(s3==0)||(s4==0))
  110.                                         {                                                               
  111.                                                 break;
  112.                                         }
  113.                                         while(!(s1&&s2&&s3&&s4));
  114.                                 }                                                                                                
  115.                         }
  116. //                        TR0=0;
  117.                         i++;
  118.                         for(b=0;b<1000;b++); //稍加延时,增强节奏感
  119.                 }
  120.                 EA = 0;
  121.         }
  122. //        beep=0; //关闭喇叭
  123. //        flag_ri=0;
  124.         j=0;
  125. }
  126. void  write_com(uchar com)        //液晶写指令函数
  127. {
  128.          rs=0;
  129.          P0=com;
  130.          delay(5);
  131.          lcden=1;
  132.          delay(5);
  133.          lcden=0;
  134. }
  135. void write_date(uchar date)           //液晶写数据函数
  136. {
  137.          rs=1;
  138.          P0=date;
  139.          delay(5);
  140.          lcden=1;
  141.          delay(5);
  142.          lcden=0;
  143. }
  144. void init()
  145. {
  146.         dula=wela=0;
  147.         lcden=0;
  148.         rd=0;
  149.         s1num=0;
  150.         week=1;
  151.         flag1=0;
  152.         EA=1;
  153.         EX1=1;
  154.         IT1=1;
  155. //        write_ds(0x0A,0x20); //         ds12c887首次设置
  156. //        write_ds(0x0B,0x26);
  157. //        set_time();
  158.          
  159.         write_com(0x38);
  160.         write_com(0x0c);
  161.         write_com(0x06);
  162.         write_com(0x01);
  163.         write_com(0x80);
  164.         for(num=0;num<15;num++)
  165.                 {
  166.                         write_date(table[num]);
  167.                         delay(5);
  168.                 }
  169.                 write_com(0x80+0x40);
  170.                 for(num=0;num<18;num++)
  171.                 {
  172.                         write_date(table1[num]);
  173.                         delay(5);
  174.                  }
  175. }

  176. void write_sfm(uchar add,uchar date)
  177. {
  178.         char shi,ge;
  179.         shi=date/10;
  180.         ge=date%10;
  181.         write_com(0x80+0x40+add);
  182.         write_date(0x30+shi);
  183.         write_date(0x30+ge);
  184. }
  185. void write_wd(uchar add,uchar date)
  186. {
  187.         char bai,shi,ge;
  188.         bai=date/100;
  189.         shi=date%100/10;
  190.     ge=date%10;

  191.         write_com(0x80+0x40+add);
  192.         write_date(0x30+bai);
  193.         write_date(0x30+shi);
  194.         write_date('.');
  195.         write_date(0x30+ge);

  196. }
  197. void write_nyr(uchar add,uchar date)
  198. {
  199.         char shi,ge;
  200.         shi=date/10;
  201.         ge=date%10;
  202.         write_com(0x80+add);
  203.         write_date(0x30+shi);
  204.         write_date(0x30+ge);
  205. }
  206. void write_week(char week)
  207. {
  208.         write_com(0x80+12);
  209.         switch(week)
  210.         {
  211.                 case 1: write_date('M');delay(5);
  212.                                 write_date('O');delay(5);
  213.                                 write_date('N');
  214.                                 break;
  215.                 case 2: write_date('T');delay(5);
  216.                                 write_date('U');delay(5);
  217.                                 write_date('E');
  218.                                 break;
  219.                 case 3: write_date('W');delay(5);
  220.                                 write_date('E');delay(5);
  221.                                 write_date('D');
  222.                                 break;
  223.                 case 4: write_date('T');delay(5);
  224.                                 write_date('H');delay(5);
  225.                                 write_date('U');
  226.                                 break;
  227.                 case 5: write_date('F');delay(5);
  228.                                 write_date('R');delay(5);
  229.                                 write_date('I');
  230.                                 break;
  231.                 case 6: write_date('S');delay(5);
  232.                                 write_date('A');delay(5);
  233.                                 write_date('T');
  234.                                 break;
  235.                 case 7: write_date('S');delay(5);
  236.                                 write_date('U');delay(5);
  237.                                 write_date('N');
  238.                                 break;
  239.         }
  240. }  

  241. void write_ds(uchar add,uchar date)
  242. {
  243.         dscs=0;
  244.         dsas=1;
  245.         dsds=1;
  246.         dsrw=1;
  247.         P0=add;                  //写地址
  248.         dsas=0;
  249.         dsrw=0;
  250.         P0=date;          //写数据
  251.         dsrw=1;
  252.         dsas=1;
  253.         dscs=1;        
  254. }

  255. uchar read_ds(uchar add)
  256. {        //读12C887函数
  257.         uchar ds_date;
  258.         dsas=1;
  259.         dsds=1;
  260.         dsrw=1;
  261.         dscs=0;
  262.         P0=add;
  263.         dsas=0;
  264.         dsds=0;
  265.         P0=0xff;
  266.         ds_date=P0;
  267.         dsds=1;
  268.         dsas=1;
  269.         dscs=1;
  270.         return ds_date;
  271. }
  272. /*void set_time()
  273. {
  274.         write_ds(0,0);
  275.         write_ds(1,0);
  276.         write_ds(2,0);
  277.         write_ds(3,0);
  278.         write_ds(4,0);
  279.         write_ds(5,0);
  280.         write_ds(6,1);
  281.         write_ds(7,1);
  282.         write_ds(8,1);
  283.         write_ds(9,8);
  284. }*/        
  285. void read_alarm()
  286. {
  287.         amiao=read_ds(1);
  288.         afen=read_ds(3);
  289.         ashi=read_ds(5);

  290. }
  291. void alarm_keyscan()
  292. {
  293.         if(flag_ri==1)
  294.         {        
  295.                 if(s2==0)
  296.                 {
  297.                         delay(5);
  298.                         if(s2==0)
  299.                         {
  300.                                 while(!s2);
  301.                                 flag_ri=0;
  302.                         }
  303.                 }
  304.           }        
  305. }
  306. void keyscan()
  307. {
  308.         alarm_keyscan();
  309.         if(flag_ri==1)
  310.         {
  311.                 if((s1==0)||(s2==0)||(s3==0)||(s4==0))
  312.                 {
  313.                         delay(5);
  314.                         if((s1==0)||(s2==0)||(s3==0)||(s4==0))
  315.                         {
  316.                                 while(!(s1&&s2&&s3&&s4));
  317.                                 flag_ri=0;
  318.                         }

  319.                 }
  320.         }  
  321.          if(s1==0)
  322.          {
  323.                  delay(5);
  324.                 if(s1==0)
  325.                 {
  326.                          s1num++;
  327.                         if(flag1==1)
  328.                         {
  329.                                 if(s1num==4)//在闹钟按键按下时调闹钟时光标闪烁四次
  330.                                   s1num=1;
  331.                         }
  332.                         flag=1;
  333.           while(!s1);
  334.            didi();
  335.                 switch(s1num)
  336.                 {
  337.                         case 1:write_com(0x80+0x40+9);
  338.                                         write_com(0x0f);
  339.                                         break;
  340.                         case 2:        write_com(0x80+0x40+6);
  341.                                         break;
  342.                         case 3:        write_com(0x80+0x40+3);
  343.                                         break;
  344.                         case 4:        write_com(0x80+12);
  345.                                         break;
  346.                         case 5:        write_com(0x80+9);
  347.                                         break;
  348.                         case 6:        write_com(0x80+6);
  349.                                         break;
  350.                         case 7:        write_com(0x80+3);
  351.                                         break;
  352.                         case 8:s1num=0;
  353.                                         write_com(0x0c);
  354.                                         flag=0;
  355.                                         write_ds(0,miao);
  356.                                         write_ds(2,fen);
  357.                                         write_ds(4,shi);
  358.                                         write_ds(6,week);
  359.                                         write_ds(7,day);
  360.                                         write_ds(8,month);
  361.                                         write_ds(9,year);
  362.                                         break;
  363.                         }                        
  364.                 }
  365.          }
  366.         if(s1num!=0)
  367.         {
  368.                 if(s2==0)
  369.                 {
  370.                         delay(5);
  371.                         if(s2==0)
  372.                         {
  373.                                 while(!s2);
  374.                                  didi();
  375.                                 switch(s1num)
  376.                                 {
  377.                                         case 1: miao++;
  378.                                                         if(miao==60)
  379.                                                                 miao=0;
  380.                                                                 write_sfm(9,miao);
  381.                                                                 write_com(0x80+0x40+9);//光标会原位置,会自动加1
  382.                                                                 break;
  383.                                         case 2: fen++;
  384.                                                         if(fen==60)
  385.                                                                 fen=0;
  386.                                                                 write_sfm(6,fen);
  387.                                                                 write_com(0x80+0x40+6);
  388.                                                                 break;
  389.                                         case 3: shi++;
  390.                                                         if(shi==24)
  391.                                                                 shi=0;
  392.                                                                 write_sfm(3,shi);
  393.                                                                 write_com(0x80+0x40+3);
  394.                                                                 break;        
  395.                                    case 4: week++;
  396.                                                         if(week==8)
  397.                                                                 week=1;
  398.                                                                 write_week(week);
  399.                                                                 write_com(0x80+12);
  400.                                                                 break;
  401.                                         case 5: day++;
  402.                                                         if(day==32)
  403.                                                                 day=1;
  404.                                                                 write_nyr(9,day);
  405.                                                                 write_com(0x80+9);
  406.                                                                 break;
  407.                                     case 6: month++;
  408.                                                         if(month==13)
  409.                                                                 month=1;
  410.                                                                 write_nyr(6,month);
  411.                                                                 write_com(0x80+6);
  412.                                                                 break;
  413.                                         case 7: year++;
  414.                                                         if(year==100)
  415.                                                                 year=0;
  416.                                                                 write_nyr(3,year);
  417.                                                                 write_com(0x80+3);
  418.                                                                 break;
  419.                                 }
  420.                         }
  421.                 }
  422.                 if(s3==0)
  423.                 {
  424.                         delay(5);
  425.                         if(s3==0)
  426.                         {
  427.                                 while(!s3);
  428.                                  didi();
  429.                                 switch(s1num)
  430.                                 {
  431.                                          case 1: miao--;
  432.                                                         if(miao==-1)
  433.                                                                 miao=59;
  434.                                                                 write_sfm(9,miao);
  435.                                                                 write_com(0x80+0x40+9);//光标会原位置,会自动加1
  436.                                                                 break;
  437.                                         case 2: fen--;
  438.                                                         if(fen==-1)
  439.                                                                 fen=59;
  440.                                                                 write_sfm(6,fen);
  441.                                                                 write_com(0x80+0x40+6);
  442.                                                                 break;
  443.                                         case 3: shi--;
  444.                                                         if(shi==-1)
  445.                                                                 shi=23;
  446.                                                                 write_sfm(3,shi);
  447.                                                                 write_com(0x80+0x40+3);
  448.                                                                 break;        
  449.                                    case 4: week--;
  450.                                                         if(week==0)
  451.                                                                 week=7;
  452.                                                                 write_week(week);
  453.                                                                 write_com(0x80+12);
  454.                                                                 break;
  455.                                         case 5: day--;
  456.                                                         if(day==0)
  457.                                                                 day=31;
  458.                                                                 write_nyr(9,day);
  459.                                                                 write_com(0x80+9);
  460.                                                                 break;
  461.                                     case 6: month--;
  462.                                                         if(month==0)
  463.                                                                 month=12;
  464.                                                                 write_nyr(6,month);
  465.                                                                 write_com(0x80+6);
  466.                                                                 break;
  467.                                         case 7: year--;
  468.                                                         if(year==-1)
  469.                                                                 year=99;
  470.                                                                 write_nyr(3,year);
  471.                                                                 write_com(0x80+3);
  472.                                                                 break;
  473.                                 }
  474.                         }
  475.                 }
  476.         }
  477.          if((s4==0)||(flag_ri==1))
  478.          {
  479.                  delay(5);
  480.                 if((s4==0)||(flag_ri==1))
  481.                 {
  482.                         flag1=~flag1;
  483.                         while(!s4);
  484.                          didi();
  485.                                 if(flag1==0)//退出是保存闹钟
  486.                                 {
  487.                                         flag=0;
  488.                                         write_com(0x80);
  489.                                         for(num=0;num<15;num++)
  490.                                 {
  491.                                       write_date(table[num]);//恢复原来的年月日
  492.                                       delay(5);
  493.                                    }
  494.                         /*                write_com(0x80+0x40);
  495.                                         for(num=0;num<15;num++)
  496.                                 {
  497.                                       write_date(table1[num]);//原来年月日被覆盖了
  498.                                       delay(5);
  499.                                    }         */
  500.                                         write_com(0x0c);
  501.                                         write_ds(1,miao);
  502.                                         write_ds(3,fen);
  503.                                         write_ds(5,shi);
  504.                                 
  505.                                 }
  506.                                 else //进入闹钟设置
  507.                                 {
  508.                                         read_alarm();
  509.                                         miao=amiao;
  510.                                         fen=afen;
  511.                                         shi=ashi;
  512.                                 //        write_com(0x80+0x40);
  513.                                 //        write_date('R');
  514.                                 //        write_date('i');
  515.                                         write_com(0x80);
  516.                          for(num=0;num<15;num++)
  517.                                 {
  518.                                       write_date(table2[num]);//原来年月日被覆盖了
  519.                                       delay(5);
  520.                                    }
  521.                         /*                write_com(0x80+0x40);
  522.                                         for(num=0;num<15;num++)
  523.                                 {
  524.                                       write_date(table1[num]);//原来年月日被覆盖了
  525.                                       delay(5);
  526.                                    }  */
  527.                                         write_com(0x80+0x40+3);
  528.                                         write_sfm(3,ashi);
  529.                                         write_sfm(6,afen);
  530.                                         write_sfm(9,amiao);

  531.                                 }
  532.                 }
  533.          }
  534. }  
  535. void Init_DS18B20()
  536. {
  537. uchar x=0;
  538. DQ = 1;         //DQ复位
  539. Delay_DS18B20(8);//稍做延时
  540. DQ = 0;         //单片机将DQ拉低
  541. Delay_DS18B20(80);//精确延时,大于480us
  542. DQ = 1;         //拉高总线
  543. Delay_DS18B20(14);
  544. x = DQ;        //稍做延时后,如果x=0则初始化成功,x=1则初始化失败
  545. Delay_DS18B20(20);
  546. }

  547. uchar ReadOneChar()
  548. {
  549. uchar i=0;
  550. uchar dat = 0;
  551. for (i=8;i>0;i--)
  552. {
  553.   DQ = 0;     // 给脉冲信号
  554.   dat>>=1;
  555.   DQ = 1;     // 给脉冲信号
  556.   if(DQ)
  557.   dat|=0x80;
  558.   Delay_DS18B20(4);
  559. }
  560. return(dat);
  561. }

  562. void WriteOneChar(uchar dat)
  563. {
  564. uchar i=0;
  565. for (i=8; i>0; i--)
  566. {
  567.   DQ = 0;
  568.   DQ = dat&0x01;
  569.   Delay_DS18B20(5);
  570.   DQ = 1;
  571.   dat>>=1;
  572. }
  573. }

  574. uint Readtemp()
  575. {
  576. uchar a=0;
  577. uchar b=0;
  578. uint t=0;
  579. float tt=0;
  580. Init_DS18B20();
  581. WriteOneChar(0xCC);  //跳过读序号列号的操作
  582. WriteOneChar(0x44);  //启动温度转换
  583. Init_DS18B20();
  584. WriteOneChar(0xCC);  //跳过读序号列号的操作
  585. WriteOneChar(0xBE);  //读取温度寄存器
  586. a=ReadOneChar();     //读低8位
  587. b=ReadOneChar();     //读高8位
  588. t=b;
  589. t<<=8;
  590. t=t|a;
  591. tt=t*0.0625;
  592. t= tt*10+0.5;     //放大10倍输出并四舍五入
  593. return(t);
  594. }

  595. void display(uint temp)         
  596. {
  597. uchar A1,A2,A3;
  598. temp=temp-30;
  599. A1=temp/100;
  600. A2=temp%100/10;
  601. A3=temp%10;
  602. write_com(0x80+0x40+12);
  603. write_date(0x30+A1);//十位
  604. write_date(0x30+A2);//个位
  605. write_date(0x2e);//小数点
  606. write_date(0x30+A3);//小数点后一位
  607. // write_date(0xdf);//
  608. // write_date(0x43);//C

  609. }


  610. void main()
  611. {
  612.         Readtemp();    // 读温度
  613.         init();
  614.         while(1)
  615.         {
  616.         //temp=readtemp();
  617.         //write_wd(13,temp);
  618.                 keyscan();

  619.                 if(flag_ri==1)
  620.                 {
  621.                         play_music();

  622.                 }
  623.         
  624.         if(flag==0&&flag1==0)   //有按键按下时不执行里面的,即时间停止
  625.      {
  626.                 keyscan();
  627.                 year=read_ds(9);
  628.                 month=read_ds(8);
  629.                 day=read_ds(7);
  630.                 week=read_ds(6);
  631.                 shi=read_ds(4);
  632.                 fen=read_ds(2);
  633.                 miao=read_ds(0);

  634.                 write_sfm(9,miao);
  635.                 write_sfm(6,fen);
  636.                 write_sfm(3,shi);
  637.                 write_week(week);
  638.                 write_nyr(3,year);
  639.                 write_nyr(6,month);
  640.                 write_nyr(9,day);
  641.                  display(Readtemp());//显示温度
  642.          }        

  643.    }

  644. }
  645. void exter() interrupt 2
  646. {
  647.         uchar c;
  648.         c=read_ds(0x0c);
  649.         flag_ri=1;
  650. }        
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏5 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:52177 发表于 2013-7-23 23:27 | 只看该作者
不错的,好假货,大家一起学习下
回复

使用道具 举报

板凳
ID:52249 发表于 2013-7-25 17:29 | 只看该作者

不错的,好假货,大家一起学习下
回复

使用道具 举报

地板
ID:52863 发表于 2013-8-13 14:47 | 只看该作者
不错的,51Hei(51黑)论坛有你更精彩
回复

使用道具 举报

5#
ID:55602 发表于 2013-10-3 17:17 | 只看该作者
多谢分享{:soso_e100:}
回复

使用道具 举报

6#
ID:52286 发表于 2013-10-13 23:58 | 只看该作者
支持支持、、
回复

使用道具 举报

7#
ID:54817 发表于 2013-10-20 12:51 | 只看该作者
好东西一定要及时顶
回复

使用道具 举报

8#
ID:57829 发表于 2013-12-12 21:33 | 只看该作者
51Hei(51黑)论坛有你更精彩
回复

使用道具 举报

9#
ID:57843 发表于 2013-12-14 23:07 | 只看该作者
谢谢分享
回复

使用道具 举报

10#
ID:57899 发表于 2013-12-15 19:57 | 只看该作者
感谢分享
回复

使用道具 举报

11#
ID:57923 发表于 2013-12-16 16:33 | 只看该作者
回复

使用道具 举报

12#
ID:58071 发表于 2013-12-21 12:41 | 只看该作者
不错的,51Hei(51黑)论坛有你更精彩
回复

使用道具 举报

13#
ID:58182 发表于 2013-12-25 09:17 | 只看该作者
为何仿真时时间不走
回复

使用道具 举报

14#
ID:58267 发表于 2013-12-26 22:33 | 只看该作者
不错的,好假货,大家一起学习下
回复

使用道具 举报

15#
ID:58188 发表于 2013-12-31 15:49 | 只看该作者

不错的,好假货,大家一起学习下
回复

使用道具 举报

16#
ID:60616 发表于 2014-5-4 18:09 | 只看该作者
下来看能不能用 做毕设
回复

使用道具 举报

17#
ID:61761 发表于 2014-5-13 13:26 | 只看该作者

多谢分享
回复

使用道具 举报

18#
ID:63244 发表于 2014-7-5 15:23 | 只看该作者
准备下载看看
回复

使用道具 举报

19#
ID:63814 发表于 2014-7-9 22:47 | 只看该作者
凤飞飞凤飞飞
回复

使用道具 举报

20#
ID:63822 发表于 2014-7-10 11:50 | 只看该作者
你好,这个有实物吗?
回复

使用道具 举报

21#
ID:63831 发表于 2014-7-10 14:30 | 只看该作者
论坛很强大 是个学习的好地方!!!
回复

使用道具 举报

22#
ID:63853 发表于 2014-7-10 23:39 | 只看该作者
牛逼谢谢                       
回复

使用道具 举报

23#
ID:63138 发表于 2014-7-11 13:02 | 只看该作者
不错的,好假货,大家一起学习下
回复

使用道具 举报

24#
ID:55644 发表于 2014-7-12 19:01 | 只看该作者
回复

使用道具 举报

25#
ID:58215 发表于 2014-7-16 14:25 | 只看该作者
回复

使用道具 举报

26#
ID:67422 发表于 2014-10-15 19:24 | 只看该作者
下载看看吧
回复

使用道具 举报

27#
ID:66787 发表于 2014-10-15 21:15 | 只看该作者
给张图出来
回复

使用道具 举报

28#
ID:67754 发表于 2014-10-21 19:22 | 只看该作者
不错的,好家货,大家一起学习下
回复

使用道具 举报

29#
ID:66501 发表于 2014-10-24 14:07 | 只看该作者
掘墓高手,专挖古墓,一挖一个坑,坑坑见墓。。
回复

使用道具 举报

30#
ID:69215 发表于 2014-11-25 02:47 | 只看该作者
真是不错的资料
回复

使用道具 举报

31#
ID:67916 发表于 2014-12-9 21:29 | 只看该作者
好东西啊,多谢分享
回复

使用道具 举报

32#
ID:70247 发表于 2014-12-10 15:46 | 只看该作者
非常感谢
回复

使用道具 举报

33#
ID:70247 发表于 2014-12-10 15:46 | 只看该作者
谢谢!!1
回复

使用道具 举报

34#
ID:69582 发表于 2014-12-10 16:13 | 只看该作者
不错   挺实用
回复

使用道具 举报

35#
ID:70340 发表于 2014-12-12 01:41 来自手机 | 只看该作者
看看,,,,,,,
回复

使用道具 举报

36#
ID:72565 发表于 2015-1-21 01:35 | 只看该作者
51Hei(51黑)论坛有你更精彩
回复

使用道具 举报

37#
ID:73870 发表于 2015-2-25 20:31 | 只看该作者
不错的
回复

使用道具 举报

38#
ID:73870 发表于 2015-2-25 20:31 | 只看该作者
谢谢分享
回复

使用道具 举报

39#
ID:61343 发表于 2015-2-26 08:58 | 只看该作者
多谢分享
回复

使用道具 举报

40#
ID:97497 发表于 2015-11-28 20:47 | 只看该作者
可惜没有pcb的图,,,,
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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