找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5808|回復(fù): 7
收起左側(cè)

基于51單片機LCD12864大字符校時萬年歷帶高考倒計時程序

  [復(fù)制鏈接]
ID:130231 發(fā)表于 2017-3-23 21:31 | 顯示全部樓層 |閱讀模式
基于51單片機LCD12864大字符校時萬年歷帶高考倒計時程序,感覺不錯就分享給大家。
0.png
全部源碼下載:
基于51單片機LCD12864大字符校時萬年歷帶高考倒計時程序.zip (258.11 KB, 下載次數(shù): 121)



主程序預(yù)覽:
  1. /*---------------------------------------------------------------------------
  2.         電子時鐘程序
  3.         單 片 機:STC89C58RC
  4.         晶    振:12MHz
  5.         時鐘芯片:DS1302
  6.         液 晶 屏:LCM-12864-ST7920
  7.         功能描述: 大數(shù)字顯示時間;能顯示農(nóng)歷、設(shè)置鬧鈴;
  8.         說          明:LCM12864使用并口連接方式,PSB、RST接高電平

  9. ------------------------------------------------------------------------------*/

  10. /*-------------------------------頭文件---------------------------------------*/
  11. #include <reg52.h>
  12. #include <intrins.h>
  13. #include "LCD12864.h"
  14. #include "DS1302.h"
  15. #include "nongli.h"
  16. #include "displaytime.h"
  17. #include "zk.h"
  18. #include "bell.h"
  19. #include "HW.H"
  20. #include "delay.h"
  21. #include "DS18B20.h"
  22. #define uint  unsigned int
  23. #define uchar unsigned char

  24. /*--------------------定義按鍵-----------------------------------------------*/
  25. sbit K1  = P2^3; //K1-設(shè)置
  26. sbit K2  = P2^4; //K2-確認、返回
  27. sbit K3  = P2^5; //K3-加
  28. sbit K4  = P2^6; //K4-減
  29. sbit K5  = P2^7; //K5-控制鬧鐘的打開與關(guān)閉,在"hw.h"中定義
  30. sbit K6  = P2^2; //背光控制
  31. sbit LED = P2^0; //背光燈
  32. /*---------------------函數(shù)聲明------------------------------*/             
  33. void ds_w(void);
  34. void Conver_week(bit c,uchar year,uchar month,uchar day);
  35. /*-----------------------------定義全局變量------------------------------*/
  36. bit  w=0;    //調(diào)時標志位

  37. unsigned char yy,mo,dd,xq,hh,mm,ss,month_moon,day_moon,week,tiangan,dizhi,moontemp1,moontemp2;//定義時間映射全局變量(專用寄存器)
  38. signed char address,item,item0,max,mini;
  39. unsigned char clk_ala[2]={0x05,0x2f};//鬧鐘數(shù)據(jù)存放初,始值為05:27
  40. unsigned char zwc=0,fwc=0,CKTIME_1=0,timp,timp0,timp1,timp2,hhh,mmm,sss;//用于校時
  41. unsigned char hour=0,minute=0,time=0;//用于鬧鈴的設(shè)置
  42. unsigned char gCount;


  43. /*-----------------------------調(diào)整界面設(shè)置函數(shù)-----------------------------*/

  44. void tiaozheng(void){
  45.         yy = read_clock(0x8d);//調(diào)用1302時鐘數(shù)據(jù)中的年數(shù)據(jù),從地址0x8d中
  46.         mo = read_clock(0x89);//調(diào)用1302時鐘數(shù)據(jù)中的月數(shù)據(jù),從地址0x89中
  47.         dd = read_clock(0x87);//從1302芯片中讀取日數(shù)據(jù),從地址0x87中
  48.         week = read_clock(0x8b);//從1302芯片中讀取星期數(shù)據(jù),從地址0x8b中
  49.         //----------------------------------
  50.         lcm_w_test(0,0x80);
  51.         lcm_w_word("20");
  52.         lcm_w_test(1,(yy/16)+0x30);
  53.         lcm_w_test(1,yy%16+0x30);
  54.         lcm_w_word("-");
  55.         //----------------------------------
  56.         lcm_w_test(1,(mo/16)+0x30);
  57.         lcm_w_test(1,mo%16+0x30);
  58.         lcm_w_word("-");
  59.         //----------------------------------
  60.         lcm_w_test(1,(dd/16)+0x30);
  61.         lcm_w_test(1,dd%16+0x30);
  62.         //----------------------------------
  63.         if(read_clock(0x85) != hh){hh = read_clock(0x85);}
  64.         lcm_w_test(0,0x88);
  65.         lcm_w_test(1,(hh/16)+0x30);
  66.         lcm_w_test(1,hh%16+0x30);
  67.         lcm_w_word(":");
  68.         //----------------------------------
  69.         if(read_clock(0x83) != mm){mm = read_clock(0x83);}
  70.         lcm_w_test(1,(mm/16)+0x30);//向液晶寫數(shù)據(jù),顯示分鐘的十位數(shù)
  71.         lcm_w_test(1,mm%16+0x30);//向液晶寫數(shù)據(jù),顯示分鐘的個位數(shù)
  72.         lcm_w_word(":");
  73.         //----------------------------------
  74.         if(read_clock(0x81) != ss){ss = read_clock(0x81);}
  75.         lcm_w_test(1,(ss/16)+0x30);
  76.         lcm_w_test(1,ss%16+0x30);

  77.         //=========顯示設(shè)置鬧鐘的時間===================       
  78.         if(read_clock(0xc7) != hour){hour = read_clock(0xc7);}
  79.         if(read_clock(0xc9) != minute){minute = read_clock(0xc9);}
  80.         lcm_w_test(0,0x8d);
  81.         lcm_w_test(1,(hour/16)+0x30);//顯示鬧鐘小時十位
  82.         lcm_w_test(1,(hour%16)+0x30);//顯示鬧鐘小時個位
  83.           lcm_w_word(":");
  84.         lcm_w_test(1,(minute/16)+0x30);//顯示鬧鐘分鐘的十位
  85.         lcm_w_test(1,(minute%16)+0x30);//顯示鬧鐘分鐘的個位

  86.         //=========顯示設(shè)置時間校正===================       
  87.         if(read_clock(0xc5) != zwc){zwc = read_clock(0xc5);}         //加減標志
  88.         if(read_clock(0xc3) != fwc){fwc = read_clock(0xc3);} //調(diào)整多少秒
  89.         lcm_w_test(0,0x90);
  90.         lcm_w_word("每天零點時");
  91.         lcm_w_test(0,0x95);       
  92.         if(zwc==0){lcm_w_word("加");}
  93.         if(zwc==1){lcm_w_word("減");}
  94.         lcm_w_test(0,0x96);       
  95.         lcm_w_test(1,(fwc/16)+0x30);
  96.         lcm_w_test(1,(fwc%16)+0x30);
  97.     lcm_w_test(0,0x97);       
  98.         lcm_w_word("秒");
  99. }

  100. void displayNaozh()                  //鬧鐘顯示
  101. {   
  102.         if(read_clock(0xc7) != hour){       
  103.                 hour = read_clock(0xc7);
  104.         }
  105.         if(read_clock(0xc9) != minute){       
  106.                 minute = read_clock(0xc9);
  107.         }
  108.         lcm_w_test(0,0x85);
  109.         lcm_w_test(1,(hour/16)+0x30);//顯示小時十位
  110.         lcm_w_test(1,(hour%16)+0x30);//顯示小時個位
  111.           lcm_w_word(":");
  112.         lcm_w_test(1,(minute/16)+0x30);//顯示分鐘的十位
  113.         lcm_w_test(1,(minute%16)+0x30);//顯示分鐘的個位
  114.         lcm_w_word(" ");
  115. }

  116. void ds_w(void)                 //被調(diào)數(shù)據(jù)加一或減一,并檢查數(shù)據(jù)范圍,寫入1302指定地址保存
  117. {
  118.         item0=time;
  119.         item=((read_clock(address+1))/16)*10 + (read_clock(address+1))%16;//時間的調(diào)整
  120.         if(K3 == 0||key_add==1){//如果按動上調(diào)鍵
  121.          item++;//數(shù)加 1  
  122.         }
  123.         if(K4 == 0||key_minish==1){//如果按動下調(diào)鍵
  124.            item--;//數(shù)減 1
  125.         }
  126.         if(item>max)  item=mini;//查看數(shù)值是否在有效范圍之內(nèi)   
  127.         if(item<mini) item=max;//如果數(shù)值小于最小值,則自動等于最大值           
  128.         write_clock(0x8e,0x00);//允許寫1302芯片操作
  129.         write_clock(address,(item/10)*16+item%10);//轉(zhuǎn)換成16進制寫入1302
  130.         write_clock(0x8e,0x80);//寫保護,禁止寫操作
  131.         time=item0;//調(diào)整后的時間重新賦值給time(Tt為Hh或Mm),這步很重要,沒有將無法更新鬧鐘數(shù)據(jù)
  132. }
  133. /**********************************************************************************************************/
  134. void Set_time(unsigned char sel){
  135. //根據(jù)選擇調(diào)整的相應(yīng)項目加1并寫入DS1302,函數(shù)參數(shù)是按動設(shè)置鍵的次數(shù)
  136.         write_com(0x30); write_com(0x06);
  137.         lcm_w_test(0,0x98);
  138.         lcm_w_word("調(diào)整>");//調(diào)用字符顯示函數(shù),顯示 調(diào)整字樣
  139.   
  140. //================================================================
  141.         lcm_w_test(0,0x9c);
  142.         if(sel==9)  {lcm_w_word("調(diào)整多少");address=0xc2; max=29;mini=0;
  143.      tiaozheng();
  144.      ds_w();
  145.      tiaozheng();
  146.           }                                    //按動10次顯示 調(diào)整多少秒
  147.         if(sel==8)  {lcm_w_word("加減調(diào)整");address=0xc4;max=1;mini=0;          
  148.          tiaozheng();                        //顯示調(diào)整前的內(nèi)容
  149.      ds_w();                             //設(shè)置鬧鐘
  150.      tiaozheng();                        //顯示調(diào)整后的內(nèi)容                                            
  151.           }                                    //按動9次顯示 快還是慢
  152. //================================================================
  153.         lcm_w_test(0,0x9c);
  154.         if(sel==7)  {lcm_w_word("鬧鐘分鐘");address=0xc8;max=59;mini=0;          //數(shù)據(jù)寫入1302芯片的寫入地址是0xc8,最大值是59,最小值是0
  155.          tiaozheng();                        //顯示調(diào)整前的內(nèi)容
  156.      ds_w();                             //設(shè)置鬧鐘
  157.      tiaozheng();                        //顯示調(diào)整后的內(nèi)容                                            
  158.           }                                    //按動8次顯示 調(diào)整鬧鐘的分鐘部分
  159.         if(sel==6)  {lcm_w_word("鬧鐘小時");address=0xc6; max=23;mini=0;
  160.      tiaozheng();
  161.      ds_w();
  162.      tiaozheng();
  163.           }                                    //按動7次顯示 調(diào)整鬧鐘的小時部分
  164. //================================================================

  165.         if(sel==5)  {lcm_w_word("調(diào)整秒鐘");address=0x80; max=59;mini=0;          
  166.         tiaozheng();
  167.            ds_w();               
  168.            tiaozheng();
  169.         }
  170.         if(sel==4)  {lcm_w_word("調(diào)整分鐘");address=0x82; max=59;mini=0;
  171.            tiaozheng();
  172.            ds_w();
  173.            tiaozheng();
  174.         }
  175.         if(sel==3)  {lcm_w_word("調(diào)整小時");address=0x84; max=23;mini=0;
  176.   
  177.             tiaozheng();
  178.            ds_w();
  179.            tiaozheng();
  180.         }
  181.         if(sel==2)  {lcm_w_word("調(diào)整日期");address=0x86;
  182.                 mo = read_clock(0x89);//讀月數(shù)據(jù)
  183.                 moontemp1=mo/16;
  184.                 moontemp2=mo%16;
  185.                 mo=moontemp1*10+moontemp2;//轉(zhuǎn)換成10進制月份數(shù)據(jù)

  186.         yy = read_clock(0x8d);//讀年數(shù)據(jù)
  187.         moontemp1=yy/16;
  188.                 moontemp2=yy%16;
  189.                 yy=moontemp1*10+moontemp2;//轉(zhuǎn)換成10進制年份數(shù)據(jù)

  190.       if(mo==2&&yy%4!=0){max=28;mini=1;}//平年2月28天
  191.                 if(mo==2&&yy%4==0){max=29;mini=1;}//閏年2月29天
  192.                 if(mo==1||mo==3||mo==5||mo==7||mo==8||mo==10||mo==12){max=31;mini=1;}//31天的月份
  193.                 if(mo==4||mo==6||mo==9||mo==11){max=30;mini=1;}//30天的月份
  194.                 tiaozheng();
  195.                 ds_w();
  196.                 tiaozheng();

  197.   }
  198.   if(sel==1)  {lcm_w_word("調(diào)整月份");address=0x88; max=12;mini=1;
  199.      tiaozheng();
  200.      ds_w();
  201.      tiaozheng();
  202.   
  203.    }
  204.   if(sel==0)  {lcm_w_word("調(diào)整年份");address=0x8c; max=99; mini=0;
  205.          tiaozheng();
  206.      ds_w();       
  207.      tiaozheng();
  208.    }
  209. }
  210. //------------------------------------------------------
  211. void BiasAmend()        //時間修正函數(shù)
  212. {
  213.         hhh = (read_clock(0x85)/16)*10+read_clock(0x85)%16;
  214.     mmm = (read_clock(0x83)/16)*10+read_clock(0x83)%16;
  215.     sss = (read_clock(0x81)/16)*10+read_clock(0x81)%16;
  216.     timp0= 30+((fwc/16)*10+fwc%16);
  217.         timp= 30-((fwc/16)*10+fwc%16);
  218.         if((hhh==0)&&(mmm==1)&&(sss==0)){CKTIME_1=0;}
  219.                 if((hhh==0)&&(mmm==0)&&(sss==30)&&CKTIME_1==0)
  220.                         {
  221.         if(        zwc==0)                                                                   //加調(diào)整
  222.             {                                                
  223.                         write_clock(0x8e,0x00);           //允許寫操作
  224.                         write_clock(0x80,(timp0/10)*16+timp0%10);    //對秒進行調(diào)整。
  225.                         write_clock(0x8e,0x80);           //禁止寫操作       
  226.                         CKTIME_1=1;                                            //保證只調(diào)整一次
  227.                 }                                 
  228.         if(        zwc==1)                                                    //減調(diào)整
  229.                 {       
  230.                     write_clock(0x8e,0x00);           //允許寫操作
  231.                         write_clock(0x80,(timp/10)*16+timp%10);     //對秒進行調(diào)整
  232.                         write_clock(0x8e,0x80);           //禁止寫操作
  233.                         CKTIME_1=1;                                           //保證只調(diào)整一次
  234.                 }                                                                                  
  235.         }
  236. }
  237. // -----------------------------------------------------
  238. void naozbiaoz()        //鬧鐘標志函數(shù)
  239. {
  240.                 if(read_clock(0xcb) != ala_flag){ala_flag = read_clock(0xcb);}         //鬧鐘標志
  241.                 if(ala_flag==1)                            //鬧鐘標志位
  242.                         {set1616pic(5,1,0,2);}                //顯示"喇叭"
  243.             else
  244.                         {set1616pic(5,1,0,1);}        //關(guān)閉"喇叭"顯示

  245. }


  246. /*********************************************************************
  247. **********************************************************************
  248. **************             主函數(shù)                                  ****************
  249. **********************************************************************
  250. /********************************************************************/
  251. void main()
  252. {       
  253.         unsigned char ala_flag=1,e=0,f=0;                     

  254.     IE = 0x81;    //允許總中斷中斷,使能 INT0 外部中斷
  255.     TCON = 0x01;  //觸發(fā)方式為脈沖負邊沿觸發(fā)   
  256.     IRIN=1;       //IO口初始化
  257.     BEEP=1;
  258.         K1=1;K2=1;K3=1;K4=1;LED=0;
  259.        
  260.         Init_1302();                //時鐘芯片初始化
  261.         lcm_init();                        //液晶初始化

  262.         welcome0();  //調(diào)用歡迎信息1
  263.         DelayM(1000);//延時

  264.         lcm_clr();            //清屏
  265.         Clean_12864_GDRAM();         //清屏

  266.         while(1)
  267.         {
  268.                 if (w == 0)                  //正常走時
  269.                 {       
  270.             hhh = (read_clock(0x85)/16)*10+read_clock(0x85)%16;
  271.         mmm = (read_clock(0x83)/16)*10+read_clock(0x83)%16;
  272.         sss = (read_clock(0x81)/16)*10+read_clock(0x81)%16;
  273.             clk_ala[0]=(read_clock(0xc7)/16)*10+read_clock(0xc7)%16;       
  274.             clk_ala[1]=(read_clock(0xc9)/16)*10+read_clock(0xc9)%16;        

  275.                 if ((sss==1)||(sss==2)||(sss==5)||(sss==6)||(sss==9)||(sss==10)||(sss==13)||(sss==14)||(sss==17)||(sss==18)||(sss==21)||(sss==22)||(sss==25)||(sss==26)||(sss==29)||(sss==30)||(sss==33)||(sss==34)||(sss==37)||(sss==38)||(sss==41)||(sss==42)||(sss==45)||(sss==46)||(sss==49)||(sss==50)||(sss==53)||(sss==54)||(sss==57)||(sss==58))
  276.                     {displaydate(); displayJr(); displayNaozh(); }  //顯示日期           顯示農(nóng)歷    顯示鬧鐘
  277.                 if ((sss==3)||(sss==4)||(sss==7)||(sss==8)||(sss==11)||(sss==12)||(sss==15)||(sss==16)||(sss==19)||(sss==20)||(sss==23)||(sss==24)||(sss==27)||(sss==28)||(sss==31)||(sss==32)||(sss==35)||(sss==36)||(sss==39)||(sss==40)||(sss==43)||(sss==44)||(sss==47)||(sss==48)||(sss==51)||(sss==52)||(sss==55)||(sss==56)||(sss==59)||(sss==0))
  278.                         {displaynl(); displayGK();{read_temp();        ds1820disp(); }  //顯示農(nóng)歷         顯示高考         //讀取溫度            //顯示溫度

  279.                         displaytime();         //顯示時間
  280.                         naozbiaoz();        // 鬧鐘標志
  281.                         displayxq();         //顯示星期
  282.                         BiasAmend(); //時間校正函數(shù)

  283.                 }       


  284.                 //=================以下是鬧鐘的相關(guān)處理===================

  285.            if((clk_ala[0]==hhh)&&(clk_ala[1]==mmm)&&(sss<10)&&(ala_flag==1))
  286.                            { alarmbeep();DelayM(200);}
  287.                     //{        BEEP=0;}
  288.                         else BEEP=1;
  289.                
  290.                 }                           
  291.             else {} //========否則啟動調(diào)時=========================
  292.          
  293.    
  294. /*---------------按鍵及紅外遙控設(shè)置時間------------------------------*/               
  295.                 if (K1 == 0||key_manue==1)         
  296.                 {                 
  297.                        
  298.                         DelayM(8);                       //按鍵消抖
  299. /*當是調(diào)時狀態(tài) 本鍵用于調(diào)整下一項---------------------------------------------------*/               
  300.                         if((K1 == 0 && w == 1)||(key_manue==1&&w==1))      //
  301.                         {
  302.                                        
  303.                                 e++;
  304.                                 if (e >= 10 ) {e = 0;}
  305.                              while(! K1 );            //等待鍵松開
  306.                           key_manue=0;
  307.                                 Set_time(e); beep();          //調(diào)整                               
  308.                         }
  309. /*當是正常狀態(tài)時就進入調(diào)時狀態(tài)---------------------------------------------------*/               
  310.                         if((K1 == 0 && w == 0)||(key_manue==1&&w==0))  //
  311.                         {       
  312.                                 key_manue=0;
  313.                                 lcm_clr();            
  314.                                 Clean_12864_GDRAM();   //清屏
  315.                                 w=1;                       //進入調(diào)時
  316.                                 Set_time(e);beep();
  317.                         }
  318.                         key_manue=0;
  319.                            while(K1 == 0);            //等待鍵松開
  320.                 }
  321. /*當在調(diào)時狀態(tài)時就退出調(diào)時---------------------------------------------------*/               
  322.                 if (K2 == 0||key_ok==1)                   //
  323.                 {        beep();
  324.                         DelayM(8);
  325.                         if((K2 == 0 && w == 1)||(key_ok==1&&w==1))
  326.                         {                       
  327.                                 w = 0;                       //退出調(diào)時
  328.                                 e = 0;                           //"下一項"計數(shù)器清0       
  329.                                 lcm_clr();            //清屏
  330.                     Clean_12864_GDRAM();         //清屏
  331.                         }
  332.                 }
  333. /*加調(diào)整--------------------------------------------------------------------*/               
  334.                 if ((K3 == 0 && w == 1)||(key_add==1&&w==1))
  335.                 {        
  336.                          DelayM(8);
  337.                         if((K3 == 0 && w == 1)||(key_add==1&&w==1))
  338.                                 {
  339.                                   Set_time(e);
  340.                                   beep();
  341.                                   while(!K3);
  342.                                   key_add=0;
  343.                                 }
  344.                         key_add=0;
  345.                         while(! K3 );
  346.                 }
  347. /*減調(diào)整--------------------------------------------------------------------*/               
  348.                 if ((K4 == 0 && w == 1)||(key_minish==1&&w==1))
  349.                 {             
  350.                         DelayM(10);          
  351.                         if((K4 == 0 && w == 1)||(key_minish==1&&w==1))
  352.                           {
  353.                                 Set_time(e);
  354.                             beep();
  355.                                 while(! K4 );
  356.                                 key_minish=0;
  357.                           }
  358.                         key_minish=0;
  359.                         while(! K4 );
  360.                 }
  361. /*----------------------------------------------------------------*/
  362.          if(K5 == 0 )//鬧鐘的開與關(guān)的設(shè)置標志位
  363.            {
  364.                 DelayM(20);
  365.                 if(K5 == 0 )
  366.                   { beep();
  367.                         while(!K5);//松手檢測
  368.                         ala_flag=!ala_flag;
  369.                         if(ala_flag==0)
  370.                         {
  371.                         write_clock(0x8e,0x00);//允許寫1302芯片操作
  372.                 write_clock(0xca,0x00);//轉(zhuǎn)換成16進制寫入1302
  373.                 write_clock(0x8e,0x80);//寫保護,禁止寫操作
  374.                         }
  375.                         if(ala_flag==1)
  376.                         {
  377.                         write_clock(0x8e,0x00);//允許寫1302芯片操作
  378.                 write_clock(0xca,0x01);//轉(zhuǎn)換成16進制寫入1302
  379.                 write_clock(0x8e,0x80);//寫保護,禁止寫操作
  380.                         }
  381.                   }
  382.                     while(!K5);//松手檢測
  383.                         key_alarm=0;       
  384.            }
  385. /*----------------------------------------------------------------*/
  386.         if(K6 == 0)       
  387.                 {
  388.                 DelayM(20);
  389.                 if(K6 == 0 )
  390.                   { beep();
  391.                         while(!K6);//松手檢測
  392.                          LED=!LED;
  393.                           gCount = 0;
  394.                   }
  395.                     while(!K6);//松手檢測
  396.            }
  397.        
  398.         }
  399.   
  400. }


  401. /*結(jié)束----------------------------------------------------------------------*/
復(fù)制代碼




相關(guān)帖子

回復(fù)

使用道具 舉報

ID:741842 發(fā)表于 2020-4-30 16:58 | 顯示全部樓層
你好,有硬件電路圖嗎?
回復(fù)

使用道具 舉報

ID:741842 發(fā)表于 2020-5-25 22:07 來自手機 | 顯示全部樓層
soarw 發(fā)表于 2020-4-30 16:58
你好,有硬件電路圖嗎?

硬件電路圖就是購買單片機開發(fā)板的電路圖,我沒有改變原設(shè)計,這應(yīng)該都是標準通用的。開發(fā)版留有12864的插排接口,直接把20針的顯示屏LCD插上去就行了。
回復(fù)

使用道具 舉報

ID:138443 發(fā)表于 2020-5-27 21:12 | 顯示全部樓層
支持51hei論壇,謝謝
回復(fù)

使用道具 舉報

ID:753283 發(fā)表于 2020-5-31 21:53 來自手機 | 顯示全部樓層
soarw 發(fā)表于 2020-5-25 22:07
硬件電路圖就是購買單片機開發(fā)板的電路圖,我沒有改變原設(shè)計,這應(yīng)該都是標準通用的。開發(fā)版留有12864的 ...

樓主,可以把電路圖發(fā)出來嗎?
回復(fù)

使用道具 舉報

ID:755390 發(fā)表于 2020-6-7 13:16 | 顯示全部樓層
樓主 電路圖可以上傳嗎?
回復(fù)

使用道具 舉報

ID:753283 發(fā)表于 2020-6-8 19:29 來自手機 | 顯示全部樓層
樓主可以發(fā)下電路圖嗎
回復(fù)

使用道具 舉報

ID:611988 發(fā)表于 2024-8-31 09:19 | 顯示全部樓層
樓主 電路圖可以上傳嗎?
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表