找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 20464|回复: 60
收起左侧

无线采集温湿度+万年历12864液晶显示 以及红外+按键修改时间日期

  [复制链接]
ID:79358 发表于 2015-5-30 14:55 | 显示全部楼层 |阅读模式
       第一次做这个玩叶,觉得很好玩就动手做做。这里跟大家说说我做这个东西的一点经历和遇到的问题,展示一下我的成果。
    做了几周终于做出来了这个玩叶了,想想当初用红外控制一个东西是多么不可思议,多么神奇的事,还有远距离传输数据是怎么做到的,尼玛这怎么想也想不明白,他怎么就能从哪一边把东西采集完传送到这一边呢?这里面到底是怎么实现的呢?等等一大堆问题,先是拿到这些东西查阅资料,慢慢的来做吧,想着应该能实现他的功能,在座的过程中遇到了各种神奇,变态,你想不到问题。在调程序中多次遇到这样的问题,都快崩溃了,都想放弃了,怎么办呢,既然选择了就坚持到底吧。一个人静下来仔细的想想,为什么会出现这个问题呢,一个一个的排查,最终还是能找到问题的所在。在昨天晚上熬了一夜终于熬出来了。心情可高兴了,总算是有点成就了,好了废话不多说了,先上图片看看效果。

从机关闭无温度显示

从机关闭无温度显示

从机打开采集的温湿度显示在主机上

从机打开采集的温湿度显示在主机上

从机系统

从机系统

主机系统

主机系统

评分

参与人数 3黑币 +56 收起 理由
zhhufe + 5 共享资料的黑币奖励!
sywangjunqing + 1 很给力!
admin + 50 共享资料的积分奖励!

查看全部评分

回复

使用道具 举报

ID:1 发表于 2015-5-30 19:41 | 显示全部楼层
很棒,非常漂亮的电子小制作,能共享一下制作资料吗?
回复

使用道具 举报

ID:79358 发表于 2015-5-31 10:27 | 显示全部楼层
本来是要发视频的,视频不会发,就发了图片
可以共享
回复

使用道具 举报

ID:79358 发表于 2015-5-31 10:46 | 显示全部楼层
这里我主机用的是15w系列的单片机,15w系列的资料太大了传不上去,有兴趣的可以和我要
  1. #include <STC15F2K60S2.h>
  2. #include<string.h>
  3. #include<12864.h>
  4. #include<keyscan.h>
  5. #include<ds1302.h>
  6. #include<send.h>
  7. #include<comma.h>
  8. #include<hongwai.h>

  9. uchar  clk_time[3];  //秒,分,时寄存器初始值
  10. uchar  date[4];     //日,月,年寄存器
  11. uchar  date_ng,date_ns,date_yg,date_ys,date_rg,date_rs,date_s,date_g,temp,week;
  12. uchar  clock_ss,clock_sg,clock_fs,clock_fg,clock_ms,clock_mg,b,clock_s,clock_g;
  13. uchar code table2[]="  :   :   ";
  14. uchar code table3[]={"欢迎使用本系统"};
  15. uchar code table4[]={"20  年  月  日"};
  16. uchar code table6[]={"星期   "};

  17. uchar code table0[]={"温度:     ℃"};
  18. uchar code table1[]={"湿度:     %"};

  19. uchar code date_x1[]={" 一"};
  20. uchar code date_x2[]={"  二"};
  21. uchar code date_x3[]={"   三"};
  22. uchar code date_x4[]={"    四"};
  23. uchar code date_x5[]={"     五"};
  24. uchar code date_x6[]={"      六"};
  25. uchar code date_x7[]={"       日"};

  26. uchar xdata shuzu[]={0x80,0x82,0x84,0x91,0x93,0x95,0x86};  //显示在12864指定的位置上
  27. uchar xdata shuzu10[]={12,30,00,15,5,22,4};//存储设定时间的值

  28. uchar idata IRCOM[7];

  29. uchar  revbuf[20];
  30. uchar idata xianshi1[5];
  31. uchar idata xianshi2[5];
  32. uchar revlength=0,revFlag=0;
  33. uchar idata jiaflag=0,jianflag=0,setflag=0,yiweiflag=0,shezhinum;
  34. uchar idata dsFlag=0;
  35. /*************显示函数********************/
  36. void xianshihanzi()
  37. {
  38.          uchar j;
  39.                  lcd_pos(0,0);                                         
  40.                   for(j=0;table2[j]!='\0';j++)                  
  41.                      write_dat(table2[j]);
  42.                  lcd_pos(1,0);
  43.                   for(j=0;table4[j]!='\0';j++)
  44.                      write_dat(table4[j]);
  45.              lcd_pos(0,5);
  46.                   for(j=0;table6[j]!='\0';j++)
  47.                      write_dat(table6[j]);                                                                                
  48. }

  49. //ds1302写时间进去
  50. void DS1302write()
  51. {
  52.      
  53.      write_1302(0x8e,0x00);    //WP=0 写操作
  54.          write_1302(0x80,0x00);    //写秒
  55.          write_1302(0x82,0x32);   //写分
  56.          write_1302(0x84,0x20);    //写时
  57.          write_1302(0x86,0x22);    //写日
  58.          write_1302(0x88,0x05);    //写月
  59.          write_1302(0x8a,0x05);           //写星期
  60.          write_1302(0x8c,0x15);  //写年
  61.          write_1302(0x8e,0x80);   //WP=1 写保护
  62. }

  63. void write_week(uchar week)
  64. { //        星期转换                                                                
  65.                 lcd_pos(0,7);
  66.                 switch(week)
  67.                 {
  68.                   case 1:  for(week=1;date_x1[week]!='\0';week++)
  69.                            write_dat(date_x1[week]);
  70.                                break;
  71.                   case 2:  for(week=2;date_x2[week]!='\0';week++)
  72.                                    write_dat(date_x2[week]);
  73.                                    break;
  74.                   case 3:  for(week=3;date_x3[week]!='\0';week++)
  75.                            write_dat(date_x3[week]);
  76.                                    break;
  77.                   case 4:  for(week=4;date_x4[week]!='\0';week++)
  78.                              write_dat(date_x4[week]);
  79.                                    break;
  80.                   case 5:  for(week=5;date_x5[week]!='\0';week++)
  81.                            write_dat(date_x5[week]);
  82.                                    break;
  83.                   case 6:  for(week=6;date_x6[week]!='\0';week++)
  84.                            write_dat(date_x6[week]);
  85.                                    break;
  86.                   case 7:  for(week=7;date_x7[week]!='\0';week++)
  87.                                write_dat(date_x7[week]);
  88.                                    break;
  89.                 }                                     

  90. }
  91. void nyr()
  92. {
  93.                 date_rg=date[0]%16;  date_rs=date[0]/16;          /****写年月日****/
  94.                  date_yg=date[1]%16;  date_ys=date[1]/16;
  95.                  date_ng=date[3]%16;  date_ns=date[3]/16;
  96.                  week=date[2]%16;             //根据年月日计算得                          
  97.                  lcd_pos(1,1);
  98.                  write_dat(0x30+date_ns);
  99.              write_dat(0x30+date_ng);                  
  100.                  lcd_pos(1,3);                  
  101.                  write_dat(0x30+date_ys);
  102.              write_dat(0x30+date_yg);
  103.                  lcd_pos(1,5);
  104.                  write_dat(0x30+date_rs);
  105.              write_dat(0x30+date_rg);
  106. }        
  107. void sfm()
  108. {
  109.                 clock_ms=clk_time[0]/ 16;  clock_mg=clk_time[0]%16;     
  110.         clock_fs=clk_time[1]/ 16;  clock_fg=clk_time[1]%16;
  111.         clock_ss=clk_time[2]/ 16;   clock_sg=clk_time[2]%16;
  112.                 lcd_pos(0,0);
  113.                 write_dat(0x30+clock_ss);
  114.                 write_dat(0x30+clock_sg);
  115.                 lcd_pos(0,2);
  116.                 write_dat(0x30+clock_fs);
  117.                 write_dat(0x30+clock_fg);
  118.                 lcd_pos(0,4);
  119.                 write_dat(0x30+clock_ms);
  120.                 write_dat(0x30+clock_mg);  

  121. }  

  122. /***************写时分秒,年月日函数*****************/
  123. void display()
  124. {      
  125.        uchar temp=0x81;
  126.         uchar j,dat=0x00;   
  127.    if(b==0)
  128.      {                      
  129.        for(j=0;j<3;j++)
  130.             {
  131.              clk_time[j]=read_1302(temp);
  132.                  temp+=2;
  133.              }          
  134.             for(j=0;j<4;j++)
  135.             {
  136.             date[j]=read_1302(temp);
  137.             temp+=2;
  138.             }
  139.                 sfm();
  140.                    nyr();
  141.                 write_week(week);            
  142.       }
  143.      if(b!=0)
  144.             {
  145.                 clock_s=dat/ 10;  clock_g=dat%10;
  146.         lcd_pos(0,0);
  147.         write_dat(0x30+clock_s);
  148.                 write_dat(0x30+clock_g);
  149.                 lcd_pos(1,0);
  150.            date_s=dat/ 10;  date_g=dat%10;
  151.            write_dat(0x30+date_s);
  152.        write_dat(0x30+date_g);               
  153.                 }
  154.                  
  155. }       
  156.        
  157. /******************主屏切换函数*********************/
  158. void qiehuan()
  159. {
  160.   uchar n,qFlag=1;
  161.   if(qFlag==1)
  162.   {
  163.      lcd_pos(2,0);
  164.          for(n=0;table3[n]!='\0';n++)
  165.       {
  166.         write_dat(table3[n]);                               
  167.        }                     
  168.     }  
  169.          delay(1000);
  170.          qFlag=0;                     
  171.          write_cmd(0x01);           //清除lcd12864显示内容
  172.      xianshihanzi();
  173.           
  174. }
  175. /*******按键修改*******/
  176. /***************键盘扫描******************/
  177. void keyscan()
  178. {
  179.         if(k3==1)
  180.         {
  181.           delay(1);
  182.                  if(k3==1)
  183.              {
  184.                     k3=0;
  185.                         jiaflag=1;
  186.                
  187.                    }
  188.                          while(!k3);
  189.         }          
  190.         if(k4==1)
  191.         {       
  192.                 delay(1);
  193.                 if(k4==1)
  194.                 {
  195.                     k4=0;
  196.                         jianflag=1;
  197.                        
  198.                 }
  199.                 while(!k4);
  200.         }
  201.         if(k2==1)
  202.         {       
  203.                 delay(1);
  204.                 if(k2==1)
  205.                 {
  206.                     k2=0;
  207.                         setflag++;
  208.                         yiweiflag=1;               
  209.                 }
  210.                 while(!k2);
  211.         }               
  212. }
  213. /*************时间设置*******************/
  214. void shezhi()
  215. {
  216.           uchar num1;
  217.         if(setflag>=1)
  218.   {
  219.     if(setflag==1)
  220.          {
  221.                   setflag=2;
  222.                 lcd_pos(0,0);
  223.                 for(num1=0;num1<8;num1++)
  224.                  write_dat(table2[num1]);
  225.                  delay(1);
  226.                  lcd_pos(1,0);
  227.                  for(num1=0;num1<8;num1++)
  228.                   write_dat(table4[num1]);
  229.                   delay(1);
  230.          }
  231.               if(setflag>=2)
  232.            {
  233.                      write_cmd(shuzu[shezhinum]);                 //显示在12864指定的位置上                       
  234.                                                                                                                
  235.                         if(jianflag==1)shuzu10[shezhinum]=timeupdate(shezhinum,--shuzu10[shezhinum]);                         
  236.                         if(jiaflag==1)shuzu10[shezhinum]=timeupdate(shezhinum,++shuzu10[shezhinum]);                                         
  237.                         if(shezhinum!=6)                                                                                                                                         
  238.                         {                                                                                                                                                                       
  239.                                 write_dat(48+shuzu10[shezhinum]/10);                                                                                                                         
  240.                                 write_dat(48+shuzu10[shezhinum]%10);                                                                                       
  241.                         }
  242.                                                                                                                                                                                                                                                                        
  243.                          //写星期
  244.                     if(shezhinum==6)
  245.                         write_week(shuzu10[6]);

  246.                         write_cmd(shuzu[shezhinum]);
  247.                     write_cmd(0x0f);                                                        //光标闪烁                                          
  248.                     delay(1);                                                                                  
  249.                         write_cmd(0x0e);                                                //关掉光标闪烁
  250.                         jianflag=0;
  251.                         jiaflag=0;
  252.                         if(yiweiflag==1&&setflag>=3)
  253.                         {                               
  254.                                 yiweiflag=0;                                                                                                                                                                                                                                               
  255.                                 shezhinum++;
  256.                         }                                                                                                       
  257.                         if(shezhinum==7)setflag=10;
  258.                 }                                                                          
  259.                         if(setflag==10)                                                                                                       
  260.                     {
  261.                      ES=1;                                                                                                                                                                                                                                                                                                                
  262.                         yiweiflag=0;
  263.                         jianflag=0;
  264.                         jiaflag=0;                                                                                                                                                                                                                                               
  265.                         setflag=0;
  266.                         shezhinum=0;                                                                                                                                 
  267.                                                   //将设置的时间存入1302                                                                       
  268.                         write_1302(0x8e,0x00);                                                                                               
  269.                         write_1302(0x84,shuzu10[0]%10+(shuzu10[0]/10)*16);                                       
  270.                         write_1302(0x82,shuzu10[1]%10+(shuzu10[1]/10)*16);                                       
  271.                         write_1302(0x80,shuzu10[2]%10+(shuzu10[2]/10)*16);                                       
  272.                         write_1302(0x8a,shuzu10[6]%10+(shuzu10[6]/10)*16);                                               
  273.                         write_1302(0x8c,shuzu10[3]%10+(shuzu10[3]/10)*16);                                       
  274.                         write_1302(0x88,shuzu10[4]%10+(shuzu10[4]/10)*16);                                       
  275.                         write_1302(0x86,shuzu10[5]%10+(shuzu10[5]/10)*16);                                       
  276.                         write_1302(0x8e,0x80);                                                                                                                                                                                                                                                                         
  277.                      }
  278.         }       
  279. }
  280. /**************红外修改************/

  281. void IR_IN(void) interrupt 2
  282. {
  283.   unsigned char j,k,N=0;
  284.      EX1 = 0;   
  285.          IRdelay(15);
  286.          if (IRIN==1)
  287.      { EX1 =1;
  288.            return;
  289.           }
  290.                            //确认IR信号出现
  291.   while (!IRIN)            //等IR变为高电平,跳过9ms的前导低电平信号。
  292.     {IRdelay(1);}

  293. for (j=0;j<4;j++)         //收集四组数据
  294. {
  295.   for (k=0;k<8;k++)        //每组数据有8位
  296.   {
  297.    while (IRIN)            //等 IR 变为低电平,跳过4.5ms的前导高电平信号。
  298.      {IRdelay(1);}
  299.     while (!IRIN)          //等 IR 变为高电平
  300.      {IRdelay(1);}
  301.      while (IRIN)           //计算IR高电平时长
  302.       {
  303.     IRdelay(1);
  304.     N++;           
  305.     if (N>=30)
  306.          { EX1=1;
  307.          return;}                  //0.14ms计数过长自动离开。
  308.       }                        //高电平计数完毕               
  309.      IRCOM[j]=IRCOM[j] >> 1;                  //数据最高位补“0”
  310.      if (N>=8) {IRCOM[j] = IRCOM[j] | 0x80;}  //数据最高位补“1”
  311.      N=0;
  312.   }
  313. }
  314.    
  315.    if (IRCOM[2]!=~IRCOM[3])
  316.     {
  317.      EX1=1;
  318.      return;
  319.          }
  320.         EX1 = 1;
  321. }
  322. void hongwai()
  323. {
  324.    if(IRCOM[2]==0x09)
  325.     {
  326.            delay(1);
  327.           if(IRCOM[2]==0x09)
  328.           {
  329.         setflag++;
  330.                 yiweiflag=1;
  331.                 IRCOM[2]=0;
  332.           }       
  333.     }
  334.           if(IRCOM[2]==0x15)
  335.           {
  336.             delay(1);
  337.                  if(IRCOM[2]==0x15)
  338.                  {
  339.                    jiaflag=1;
  340.                         IRCOM[2]=0;
  341.                  }
  342.           }
  343.           if(IRCOM[2]==0x07)
  344.           {
  345.             delay(1);
  346.                 if(IRCOM[2]==0x07)
  347.                 {
  348.                  jianflag=1;
  349.                  IRCOM[2]=0;
  350.                 }
  351.           }

  352. }
  353.                                                                                                      
  354. /**************温湿度显示函数*******************/
  355. void LCD_Display1(uchar X,uchar Y,uchar *str_str)
  356. {
  357.      uchar i=0;  
  358.                 lcd_pos(X,Y);                  
  359.                  while(str_str[i]!='\0')       
  360.                   {
  361.                           write_dat(str_str[i]);
  362.                           i++;
  363.                   }                  
  364. }
  365. /**************清零函数***************/
  366. void paraInit()
  367. {
  368. memset(revbuf,'\0',strlen(revbuf));
  369. revFlag=0;
  370. revlength=0;
  371. }
  372. /****************主函数************/
  373. void main()
  374. {         
  375.        lcd12864Init();
  376.            qiehuan();
  377.            init();
  378.            int_init();                    
  379.          LCD_Display1(2,0,table0);        
  380.          LCD_Display1(3,0,table1);
  381.                  
  382.      // DS1302write();
  383.     //write_1302(0x8e,0x00); //WP=0 写操作
  384.     //write_1302(0x90,0xa4);//开涓流充电
  385.     //write_1302(0x8e,0x80);// /WP=1 写保护
  386.          while(1)
  387.          {                                        
  388.        SendString("aaa");
  389.            delay(200);
  390.            if(revFlag==1)
  391.             {                 
  392.                  GetDestString(revbuf,',',1,',',xianshi1);               
  393.                  LCD_Display1(2,3,xianshi1);
  394.                  GetDestString(revbuf,',',2,',',xianshi2);                 
  395.                  LCD_Display1(3,3,xianshi2);
  396.                     paraInit();                                                                           
  397.              }       
  398.                 hongwai();
  399.                    keyscan();
  400.                 if(setflag==0) display();
  401.             if((setflag<=10&&setflag>=1)||jiaflag==1||jianflag==1)
  402.                 {
  403.                 ES=0;
  404.                 shezhi();                        
  405.                 }          
  406.                                                                    
  407.            }
  408.           
  409. }
  410. /****************定时中断****************/
  411. /*void Timer0() interrupt 1
  412. {
  413.     uchar num2;
  414.         dsFlag=1;
  415.     TL0 = 0x00;                //设置定时初值
  416.         TH0 = 0x4c;                //设置定时初值
  417.         num2++;
  418.         if(num2==50)
  419.           num2=0;
  420.       
  421. }  

  422. /**************串口接收中断****************/
  423. void time() interrupt 4
  424. {          
  425.    
  426.            if(RI==1)
  427.            {
  428.                  RI=0;               
  429.                  revFlag=1;
  430.                  revbuf[revlength++]=SBUF;
  431.                
  432.            }
  433. }
复制代码




回复

使用道具 举报

ID:77383 发表于 2015-7-18 14:38 | 显示全部楼层
很棒,非常漂亮的电子小制作,
回复

使用道具 举报

ID:86518 发表于 2015-7-22 17:27 | 显示全部楼层
厉害  51hei有你更精彩!!
回复

使用道具 举报

ID:19947 发表于 2015-8-13 16:26 | 显示全部楼层
厉害  赞!!
回复

使用道具 举报

ID:85422 发表于 2015-9-10 14:14 | 显示全部楼层
厉害厉害!学习了
回复

使用道具 举报

ID:92810 发表于 2015-10-18 15:38 | 显示全部楼层
很棒,非常漂亮的电子小制作,能共享一下制作资料吗?
回复

使用道具 举报

ID:44267 发表于 2015-10-19 13:12 | 显示全部楼层
有图有真像,不错了
回复

使用道具 举报

ID:79544 发表于 2015-10-19 19:11 | 显示全部楼层
有志者事竟成。一份努力 一分收获。值得尊敬。
回复

使用道具 举报

ID:92810 发表于 2015-11-11 20:36 | 显示全部楼层
好好的,求分享电路图与源码
回复

使用道具 举报

ID:92810 发表于 2015-12-9 13:45 | 显示全部楼层
 很棒,非常漂亮的电子小制作,能共享一下制作资料吗?
回复

使用道具 举报

ID:99369 发表于 2015-12-11 23:00 | 显示全部楼层
最近也想做一个来着,但是不知道从哪里开始,求资料 996748905@qq.com  谢谢~
回复

使用道具 举报

ID:103834 发表于 2016-1-30 09:19 来自手机 | 显示全部楼层
楼主能分享一下原理图吗
回复

使用道具 举报

ID:102957 发表于 2016-2-14 11:45 | 显示全部楼层
嘉辉先生 发表于 2015-5-31 10:46
这里我主机用的是15w系列的单片机,15w系列的资料太大了传不上去,有兴趣的可以和我要

请求传给我一份。bg4icu@126.com。谢谢
回复

使用道具 举报

ID:93831 发表于 2016-2-15 14:03 | 显示全部楼层
确实厉害     学习学习
回复

使用道具 举报

ID:110516 发表于 2016-3-28 14:39 | 显示全部楼层
求資料, 正在學習51  774045156@qq.com
回复

使用道具 举报

ID:79358 发表于 2016-4-9 15:00 | 显示全部楼层
Flyxin 发表于 2016-3-21 23:57
请求传给我一份。   谢谢

好长时间没有上了     不好意思   今天上来到了   马上给你传资料
回复

使用道具 举报

ID:79358 发表于 2016-4-9 15:05 | 显示全部楼层
Flyxin 发表于 2016-3-21 23:57
请求传给我一份。 谢谢

你要什么资料??
回复

使用道具 举报

ID:109704 发表于 2016-4-13 19:47 | 显示全部楼层
楼主能发原理图给我妈?感激不尽  498731763@qq.com
回复

使用道具 举报

ID:103268 发表于 2016-5-4 21:05 | 显示全部楼层
谢谢楼主,能发我一份吗?小弟在此感谢,谢谢2442849408@qq.com
回复

使用道具 举报

ID:79358 发表于 2016-5-9 14:34 | 显示全部楼层
单片机学渣。。 发表于 2016-4-13 19:47
楼主能发原理图给我妈?感激不尽

原理图很简单的   单片机的开发板里面就有整个原理图
回复

使用道具 举报

ID:79358 发表于 2016-5-9 14:34 | 显示全部楼层
遇惊魂 发表于 2016-5-4 21:05
谢谢楼主,能发我一份吗?小弟在此感谢,谢谢

原理图很简单的   单片机的开发板里面就有整个原理图
回复

使用道具 举报

ID:119199 发表于 2016-5-14 20:00 | 显示全部楼层
楼主,怎么将PM2.5用AD采集的数据传到12864上?求教
回复

使用道具 举报

ID:118934 发表于 2016-5-16 16:57 | 显示全部楼层
你好,求教资料,请发送1358794503@qq.com
回复

使用道具 举报

ID:121636 发表于 2016-5-18 10:09 | 显示全部楼层
按键控制LED灯的亮灭,我们可以采用外部中断的方式(实验四会讲),独立按键的接法希望大家注意,直接接地,在没有按键的情况下IO口为高电平(注:因为本实验中按键接P1口,内部集成上拉电阻。若使用P0口作为通用IO口使用时必须外接500Ω左右的上拉电阻。见实验四附图2),当有按键按下时IO口为低电平。
回复

使用道具 举报

ID:72611 发表于 2016-5-31 18:35 | 显示全部楼层
还可以,学习了
回复

使用道具 举报

ID:104845 发表于 2016-6-5 10:47 | 显示全部楼层
可以发一下资料给我吗,403955031@qq.com,谢谢
回复

使用道具 举报

ID:126187 发表于 2016-6-11 08:59 | 显示全部楼层
okkkk红包
回复

使用道具 举报

ID:79358 发表于 2016-9-7 11:26 | 显示全部楼层
enjoy一丶水 发表于 2016-5-14 20:00
楼主,怎么将PM2.5用AD采集的数据传到12864上?求教

这个很简单的,PM传感器是串口采集  不过也有AD采集的,AD采集需要模数转化一下,就是简单的计算一下,其实这个PM传感器串口采集到的也是电压值,单片机串口接收到采集的电压值是一串数据,帧头是标志你接受的开始,数据位是两位(高位和地位),最后一位是结束位。利用这两位数据位根据公式把电压值转化成对应的PM浓度值就OK了。至于显示,只要你会用12864显示字符和汉字就没有什么问题。
回复

使用道具 举报

ID:116662 发表于 2016-9-7 21:56 | 显示全部楼层
很漂亮,收藏了,谢谢分享
回复

使用道具 举报

ID:103316 发表于 2016-9-13 19:24 | 显示全部楼层
可以发一下资料给我吗  277938531@qq.com  谢谢了
回复

使用道具 举报

ID:138608 发表于 2016-9-20 15:18 | 显示全部楼层
我想要这资料,邮箱是158916715@qq.com
回复

使用道具 举报

ID:138608 发表于 2016-9-22 11:51 | 显示全部楼层
我想要这资料,邮箱是158916715@qq.com
回复

使用道具 举报

ID:107968 发表于 2016-9-24 19:09 | 显示全部楼层
主机和从机程序打包发一份,亲!邮箱812253959@qq.com
回复

使用道具 举报

ID:107968 发表于 2016-9-24 19:10 | 显示全部楼层
主机和从机程序打包发一份,亲!邮箱[email]812253959@qq.com
回复

使用道具 举报

ID:146539 发表于 2016-11-7 09:25 | 显示全部楼层
995126745@qq.com求把这个资料发一份谢谢
回复

使用道具 举报

ID:142045 发表于 2016-11-16 21:23 | 显示全部楼层
主机和从机程序打包发一份,亲!邮箱274787237@qq.com
回复

使用道具 举报

ID:142045 发表于 2016-11-16 21:37 | 显示全部楼层
我也在学stc15单片机 但是有些问题弄不明白 前辈能把您的资料给我发一份吗 无线模块用的什么啊 274787237@qq.com 谢谢了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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