久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 10727|回復(fù): 13
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)全自動(dòng)洗衣機(jī)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
本帖最后由 51黑mcu 于 2016-6-3 19:56 編輯

51單片機(jī)制作的全自動(dòng)洗衣機(jī)全部資料。


單片機(jī)全自動(dòng)洗衣機(jī)仿真圖


單片機(jī)全自動(dòng)洗衣機(jī)程序:
  1. #include<reg51.h>                                  //定義頭文件
  2. #define uint unsigned int                  //定義字符uint
  3. #define uchar unsigned char                  //定義字符uchar
  4. #define TIME0H 0xff                                  //定時(shí)器0計(jì)數(shù)器高位
  5. #define TIME0L 0x9c                                  //定時(shí)器0計(jì)數(shù)器低位
  6. #define TIME1H 0x3c                                  //定時(shí)器1計(jì)數(shù)器高位
  7. #define TIME1L 0xb0                                  //定時(shí)器1計(jì)數(shù)器低位
  8. #define MOTOR_COUNT 100                          //PWM波輸出周期計(jì)數(shù)
  9.                                                                                 
  10. #define sol 0x6c                                 //將"so"宏定義為低音"5"的頻率 784Hz
  11. #define Dol 0x44                                 //將"Do"宏定義為中音"1"的頻率 523Hz
  12. #define Rel 0xac                                 //將"Re"宏定義為中音"2"的頻率 587Hz
  13. #define Mil 0x09                                 //將"Mi"宏定義為中音"3"的頻率 659Hz
  14. #define Fal 0x34                                 //將"Fa"宏定義為中音"4"的頻率 698Hz
  15. #define Sol 0x82                                 //將"So"宏定義為中音"5"的頻率 784Hz
  16. #define Lal 0xc8                                 //將"La"宏定義為中音"6"的頻率 880Hz
  17. #define Sil 0x05                                 //將"Si"宏定義為中音"7"的頻率 523H

  18. #define soh 0xfc                                 //將"so"宏定義為低音"5"的頻率 784Hz
  19. #define Doh 0xfc                                 //將"Do"宏定義為中音"1"的頻率 523Hz
  20. #define Reh 0xfc                                 //將"Re"宏定義為中音"2"的頻率 587Hz
  21. #define Mih 0xfd                                 //將"Mi"宏定義為中音"3"的頻率 659Hz
  22. #define Fah 0xfd                                 //將"Fa"宏定義為中音"4"的頻率 698Hz
  23. #define Soh 0xfd                                 //將"So"宏定義為中音"5"的頻率 784Hz
  24. #define Lah 0xfd                                 //將"La"宏定義為中音"6"的頻率 880Hz
  25. #define Sih 0xfe                                 //將"Si"宏定義為中音"7"的頻率 523H
  26.                                                                   //定義宏變量
  27. sbit speaker =P2^6;                            //蜂鳴器控制引腳
  28. sbit RS=P1^5;                                    //LCD RS引腳
  29. sbit R_W=P1^6;                                    //LCD 讀寫信號(hào)
  30. sbit EN=P1^7;                                    //LCD 使能引腳
  31. sbit motor_high=P1^0;                    //PWM輸出高電平引腳
  32. sbit motor_low=P1^1;                    //PWM輸出低電平引腳
  33. sbit motor_1_en=P1^2;                    //進(jìn)水閥門引腳
  34. sbit motor_2_en=P1^3;                    //出水閥門引腳
  35. sbit motor_3_en=P1^4;                    //洗衣機(jī)電動(dòng)使能引腳
  36. sbit EOC=P2^4;                                    //AD EOC
  37. sbit START=P2^5;                            //AD START
  38. sbit con=P3^5;                                    //AD CON
  39. sbit add_A=P3^0;                            //位選信號(hào)A
  40. sbit lock_OE=P3^1;                            //74ls373鎖存控制引腳

  41.                                                             //定義全局變量
  42. uchar process;                                    //當(dāng)前洗衣機(jī)運(yùn)行狀態(tài)全局變量
  43. uchar method;                                    //當(dāng)前洗衣機(jī)運(yùn)行方式全局變量
  44. uchar speed;                                    //當(dāng)前電動(dòng)機(jī)速度全局變量
  45. uchar flag;                                                //標(biāo)志位
  46. uchar state;                                        //洗衣機(jī)運(yùn)行狀態(tài)選擇
  47. uint ad_level;                                    //水位采樣全局變量
  48. uint ad_voltage;                            //電壓采樣全局變量
  49. uint time_count;                            //定時(shí)器0中斷次數(shù)全局變量
  50. uint time_count1;                            //定時(shí)器1中斷次數(shù)全局變量
  51. uint MOTOR_ON,MOTOR_NOW;            //電動(dòng)機(jī)pwm控制計(jì)數(shù),高電平脈沖數(shù)和當(dāng)前脈沖數(shù)
  52. uchar st_pau;                                    //當(dāng)前洗衣機(jī)運(yùn)行全局變量
  53. uchar step;                                            //當(dāng)前洗衣機(jī)運(yùn)行步驟全局變量

  54. uint Cl=0;                                                //
  55. uint Ch=0;                                                //
  56. uchar close=0;
  57.                                                             //聲明子函數(shù)
  58. void init_LCM();                            //lcd初始化函數(shù)
  59. void clearLCD();                            //lcd清屏函數(shù)
  60. void write_data(char date);            //lcd寫數(shù)據(jù)函數(shù)
  61. void write_com(char command);   //lcd寫指令函數(shù)
  62. void display()reentrant;                //lcd顯示函數(shù)
  63. void check_BF();                            //lcd檢查忙碌函數(shù)
  64. void fangshi1();                            //洗衣機(jī)運(yùn)行方式1
  65. void fangshi2();                            //洗衣機(jī)運(yùn)行方式2
  66. void fangshi3();                            //洗衣機(jī)運(yùn)行方式3
  67. void fangshi4();                            //洗衣機(jī)運(yùn)行方式4
  68. void translate(int keycode);    //按鍵值釋放函數(shù)
  69. void clrpara();                                    //復(fù)位所有參數(shù)
  70. void speaker_on();                                //蜂鳴器
  71. void delay();                                         //80ms延時(shí)程序
  72.                                 
  73. unsigned char f_TAB[][2]={ /**/{Sol,Soh},{Lal,Lah},{Sol,Soh},{Fal,Fah},{Mil,Mih},{Dol,Doh},//,                                                                 //音調(diào)
  74.                                                           /**/{Sol,Soh},{Lal,Lah},{Sol,Soh},{Fal,Fah},{Mil,Mih},{Dol,Doh},/**/{Dol,Doh},{sol,soh},{Dol,Doh},
  75.                                                         /**/{Dol,Doh},{sol,soh},{Dol,Doh},/**/{0xff,0xff}};                                                                                                
  76. uchar time_TAB[]={3,1,3,1,4,4,/**/3,1,3,1,4,4,/**/4,4,4,8,/**/4,4,4,8};        //節(jié)拍
  77.                                                          
  78. /*****************************80ms延時(shí)*****************************/
  79. void delay()                                                                                                                                                                                         
  80. {                                                                                                                                                                                                                                                
  81.         uchar i,j;                                         //定義變量i,j
  82.         for(i=0;i<100;i++)                        //外循環(huán)
  83.         for(j=0;j<250;j++);                        //內(nèi)循環(huán)
  84. }
  85. /***************************按鍵信息翻譯***************************/                                                         
  86. void translate(int keycode)                                
  87. {
  88.         int key;                                                         //定義臨時(shí)變量key,用來判斷(開始/暫停)按鍵次數(shù)
  89.         switch(keycode)                                                //根據(jù)不同傳入的keycode值,進(jìn)行全局變量賦值
  90.         {
  91.                 case 0:                                                        //方式一                        
  92.                         method = '1';                                //將方式全局變量賦值為‘1’
  93.                         //return '0';                                //返回‘0’結(jié)果
  94.                         break;                                                 //跳出分支判斷
  95.                 case 1:                                                 //方式三
  96.                         method = '3';                                //將方式全局變量賦值為‘3’
  97.                         //return '1';                                //返回‘1’結(jié)果
  98.                         break;                                                 //跳出分支判斷
  99.                 case 2:                                                 //速度1/4
  100.                         speed = '1';                                //賦值速度全局變量為1
  101.                         MOTOR_ON = 25;                                //設(shè)置PWM占空比為25/100
  102.                         //return '2';                                //返回‘2’結(jié)果
  103.                         break;                                                 //跳出分支判斷
  104.                 case 3:                                                 //速度3/4
  105.                         speed = '3';                                //賦值速度全局變量為3
  106.                         MOTOR_ON = 75;                                //設(shè)置PWM占空比為75/100
  107.                         //return '3';                                //返回‘3’結(jié)果
  108.                         break;                                                 //跳出分支判斷
  109.                 case 4:                                                 //方式二
  110.                         method = '2';                                //將方式全局變量賦值為‘2’
  111.                         //return '4';                                //返回‘4’結(jié)果
  112.                         break;                                                 //跳出分支判斷
  113.                 case 5:                                                 //方式四
  114.                         method = '4';                                //將方式全局變量賦值為‘4’
  115.                         //return '5';                                //返回‘5’結(jié)果
  116.                         break;                                                //跳出分支判斷
  117.                 case 6:                                                 //速度2/4
  118.                         speed = '2';                                //賦值速度全局變量為2
  119.                         MOTOR_ON = 50;                                //設(shè)置PWM占空比為50/100
  120.                         //return '6';                                //返回‘6’結(jié)果
  121.                         break;                                                //跳出分支判斷
  122.                 case 7:                                                 //速度4/4
  123.                         speed = '4';                                //賦值速度全局變量為4
  124.                         MOTOR_ON = 100;                                //設(shè)置PWM占空比為100/100
  125.                         //return '7';                                //返回‘7’結(jié)果
  126.                         break;                                                //跳出分支判斷
  127.                 case 8:                                                 //ON
  128.                         state =1;                                        //賦值洗衣機(jī)運(yùn)行狀態(tài)選擇1
  129.                         //return '8';                                //返回‘8’結(jié)果
  130.                         break;                                                //跳出分支判斷
  131.                 case 9:                                                 //OFF
  132.                         state = 0;                                        //賦值洗衣機(jī)運(yùn)行狀態(tài)選擇0
  133.                         //return '9';                                //返回‘9’結(jié)果
  134.                         break;                                                //跳出分支判斷
  135.                 case 10:                                                //START/PAUSE
  136.                 {                                                        
  137.                         if(key==0)                                        //判斷開始/暫停鍵是否按下,是繼續(xù)
  138.                         {        
  139.                                 st_pau=1;                                //賦值洗衣機(jī)運(yùn)行全局變量為1
  140.                                 key++;                                        //key自加1
  141.                         }
  142.                         else                                                
  143.                         {
  144.                                 st_pau=2;                                //當(dāng)前洗衣機(jī)運(yùn)行全局變量為2
  145.                                 key--;                                        //key自減1
  146.                         }
  147.                         //return 'A';                                //返回‘A’結(jié)果
  148.                         break;                                                //跳出分支判斷
  149.                  }
  150.         }
  151. }

  152. /*****************************LCD顯示******************************/                                                         
  153. void display()reentrant
  154. {
  155.   int level_1,level_2,level_3,voltage_1,voltage_2,voltage_3;
  156.   //定義水位、電壓顯示百位、十位、各位。由于顯示直接采用返回AD轉(zhuǎn)換值,所以需要按照百、十、個(gè)位進(jìn)行顯示
  157.   clearLCD();                                                                //LCD清屏
  158.   //process: 1浸泡,2脫水,3洗滌,4進(jìn)水,5漂洗,
  159.   //method:1方式一,2方式二,3方式三,4方式四
  160.   //speed:1速度1/4,2速度2/4,3速度3/4,4速度4/4
  161.   level_1 = ad_level / 100 + 48;                        //獲得水位檢測(cè)百位,同時(shí)轉(zhuǎn)化為ASCII碼
  162.   level_2 = (ad_level %100 ) /10 + 48;                //獲得水位檢測(cè)值十位,同時(shí)轉(zhuǎn)化為ASCII碼
  163.   level_3 = (ad_level %10 ) + 48;                    //獲得水位檢測(cè)值個(gè)位,同時(shí)轉(zhuǎn)化為ASCII碼
  164.   voltage_1 = ad_voltage / 100 + 48;            //獲得電壓轉(zhuǎn)換值百位,轉(zhuǎn)化為ASCII碼
  165.   voltage_2 = (ad_voltage %100 ) /10 + 48;        //獲得電壓轉(zhuǎn)換值十位,轉(zhuǎn)化為ASCII碼
  166.   voltage_3 = (ad_voltage %10 ) + 48;                //獲得電壓轉(zhuǎn)換值個(gè)位,轉(zhuǎn)化為ASCII碼
  167.   if (state == 1)                                                        //如果洗衣機(jī)當(dāng)前運(yùn)行狀態(tài)為on開啟狀態(tài)
  168.   {                                
  169.           switch(process)                                            //根據(jù)不同的運(yùn)行狀態(tài),在LCD第一行顯示運(yùn)行狀態(tài)信息
  170.           {
  171.                   case '1':                                                          //進(jìn)水
  172.                   write_data('J');                                        //顯示字符‘J’
  173.                   write_data('I');                                        //顯示字符‘I’
  174.                   write_data('N');                                        //顯示字符‘N’
  175.                   write_data('S');                                        //顯示字符‘S’
  176.                   write_data('H');                                        //顯示字符‘H’
  177.                   write_data('U');                                        //顯示字符‘U’
  178.                   write_data('I');                                        //顯示字符‘I’
  179.                   write_data(' ');                                    //顯示空字符
  180.                   write_data(' ');                                    //顯示空字符
  181.                   write_data(' ');                                    //顯示空字符
  182.                   write_data(' ');                                        //顯示空字符
  183.                   write_data('L');                                        //顯示字符‘L’
  184.                   write_data(level_1);                                //顯示水位檢測(cè)百位值
  185.                   write_data(level_2);                                //顯示水位檢測(cè)十位值
  186.                   write_data(level_3);                                //顯示水位檢測(cè)個(gè)位值
  187.                   write_data(' ');                                        //顯示空字符
  188.                   write_data('V');                                        //顯示字符‘V’
  189.                   write_data(voltage_1);                        //顯示電壓檢測(cè)百位值
  190.                   write_data(voltage_2);                        //顯示電壓檢測(cè)十位值
  191.                   write_data(voltage_3);                        //顯示電壓檢測(cè)個(gè)位值
  192.                   motor_1_en = 1;                                        //進(jìn)水閥電動(dòng)機(jī)驅(qū)動(dòng)打開
  193.                   motor_2_en = 0;                                        //排水閥電動(dòng)機(jī)驅(qū)動(dòng)關(guān)閉
  194.                   motor_3_en = 0;                                        //洗衣機(jī)電動(dòng)機(jī)驅(qū)動(dòng)關(guān)閉
  195.                   break;                                                        //跳出分支判斷

  196.                 case '2':                                                          //浸泡        
  197.                   write_data('J');                                        //顯示字符‘J’
  198.                   write_data('I');                                        //顯示字符‘I’
  199.                   write_data('N');                                        //顯示字符‘N’
  200.                   write_data('P');                                        //顯示字符‘P’
  201.                   write_data('A');                                        //顯示字符‘A’
  202.                   write_data('O');                                        //顯示字符‘O’
  203.                   write_data(' ');                                        //顯示空字符
  204.                   write_data(' ');                                        //顯示空字符
  205.                   write_data(' ');                                        //顯示空字符
  206.                   write_data(' ');                                        //顯示空字符
  207.                   write_data(' ');                                        //顯示空字符
  208.                   write_data('L');                                        //顯示字符‘L’
  209.                   write_data(level_1);                                //顯示水位檢測(cè)百位值
  210.                   write_data(level_2);                                //顯示水位檢測(cè)十位值
  211.                   write_data(level_3);                                //顯示水位檢測(cè)個(gè)位值
  212.                   write_data(' ');                                        //顯示空字符
  213.                   write_data('V');                                        //顯示字符‘V’
  214.                   write_data(voltage_1);                        //顯示電壓檢測(cè)百位值
  215.                   write_data(voltage_2);                        //顯示電壓檢測(cè)十位值
  216.                   write_data(voltage_3);                        //顯示電壓檢測(cè)個(gè)位值
  217.                   motor_1_en = 0;                                        //進(jìn)水閥電動(dòng)機(jī)驅(qū)動(dòng)關(guān)閉
  218.                       motor_2_en = 0;                                        //排水閥電動(dòng)機(jī)驅(qū)動(dòng)關(guān)閉
  219.                     motor_3_en = 0;                                    //洗衣機(jī)電動(dòng)機(jī)驅(qū)動(dòng)關(guān)閉
  220.                   break;                                                        //跳出分支判斷

  221.                 case '3':                                                          //洗滌
  222.                   write_data('X');                                        //顯示字符‘X’
  223.                   write_data('I');                                        //顯示字符‘I’
  224.                   write_data('D');                                    //顯示字符‘D’
  225.                   write_data('I');                                        //顯示字符‘I’
  226.                   write_data(' ');                                        //顯示空字符
  227.                   write_data(' ');                                        //顯示空字符
  228.                   write_data(' ');                                        //顯示空字符
  229.                   write_data(' ');                                        //顯示空字符
  230.                   write_data(' ');                                    //顯示空字符
  231.                   write_data(' ');                                    //顯示空字符
  232.                   write_data(' ');                                        //顯示空字符
  233.                   write_data('L');                                        //顯示字符‘’
  234.                   write_data(level_1);                            //顯示水位檢測(cè)百位值
  235.                   write_data(level_2);                                //顯示水位檢測(cè)十位值
  236.                   write_data(level_3);                                //顯示水位檢測(cè)個(gè)位值
  237.                   write_data(' ');                                        //顯示空字符
  238.                   write_data('V');                                        //顯示字符‘V’
  239.                   write_data(voltage_1);                        //顯示電壓檢測(cè)百位值
  240.                   write_data(voltage_2);                        //顯示電壓檢測(cè)十位值
  241.                   write_data(voltage_3);                        //顯示電壓檢測(cè)個(gè)位值
  242.                   motor_3_en = 1;                                        //洗衣機(jī)電動(dòng)機(jī)驅(qū)動(dòng)打開
  243.                   motor_1_en = 0;                                        //進(jìn)水閥電動(dòng)機(jī)驅(qū)動(dòng)關(guān)閉
  244.                   motor_2_en = 0;                                        //排水閥電動(dòng)機(jī)驅(qū)動(dòng)關(guān)閉
  245.                   break;                                                        //跳出分支判斷

  246.                  case '4':                                                          //漂洗
  247.                   write_data('P');                                        //顯示字符‘P’
  248.                   write_data('I');                                        //顯示字符‘I’
  249.                   write_data('A');                                        //顯示字符‘A’
  250.                   write_data('O');                                        //顯示字符‘O’
  251.                   write_data('X');                                        //顯示字符‘X’
  252.                   write_data('I');                                        //顯示字符‘I’
  253.                   write_data(' ');                                        //顯示空字符
  254.                   write_data(' ');                                        //顯示空字符
  255.                   write_data(' ');                                        //顯示空字符
  256.                   write_data(' ');                                        //顯示空字符
  257.                   write_data(' ');                                        //顯示空字符
  258.                   write_data('L');                                        //顯示字符‘L’
  259.                   write_data(level_1);                                //顯示水位檢測(cè)百位值
  260.                   write_data(level_2);                                //顯示水位檢測(cè)十位值
  261.                   write_data(level_3);                                //顯示水位檢測(cè)個(gè)位值
  262.                   write_data(' ');                                        //顯示空字符
  263.                   write_data('V');                                        //顯示字符‘V’
  264.                   write_data(voltage_1);                        //顯示電壓檢測(cè)百位值
  265.                   write_data(voltage_2);                        //顯示電壓檢測(cè)十位值
  266.                   write_data(voltage_3);                        //顯示電壓檢測(cè)個(gè)位值
  267.                   motor_3_en = 1;                                        //洗衣機(jī)電動(dòng)機(jī)驅(qū)動(dòng)打開
  268.                   motor_1_en = 0;                                        //進(jìn)水閥電動(dòng)機(jī)驅(qū)動(dòng)關(guān)閉
  269.                   motor_2_en = 0;                                    //排水閥電動(dòng)機(jī)驅(qū)動(dòng)關(guān)閉
  270.                   break;                                                        //跳出分支判斷

  271.                 case '5':                                                          //脫水
  272.                   write_data('T');                                        //顯示字符‘T’
  273.                   write_data('U');                                        //顯示字符‘U’
  274.                   write_data('O');                                        //顯示字符‘O’
  275.                   write_data('S');                                        //顯示字符‘S’
  276.                   write_data('H');                                        //顯示字符‘H’
  277.                   write_data('U');                                        //顯示字符‘U’
  278.                   write_data('I');                                        //顯示字符‘I’
  279.                   write_data(' ');                                        //顯示空字符
  280.                   write_data(' ');                                        //顯示空字符
  281.                   write_data(' ');                                        //顯示空字符
  282.                   write_data(' ');                                        //顯示空字符
  283.                   write_data('L');                                        //顯示字符‘L’
  284.                   write_data(level_1);                                //顯示水位檢測(cè)百位值
  285.                   write_data(level_2);                                //顯示水位檢測(cè)十位值
  286.                   write_data(level_3);                                //顯示水位檢測(cè)個(gè)位值
  287.                   write_data(' ');                                        //顯示空字符
  288.                   write_data('V');                                        //顯示字符‘V’
  289.                   write_data(voltage_1);                        //顯示電壓檢測(cè)百位值
  290.                   write_data(voltage_2);                        //顯示電壓檢測(cè)十位值
  291.                   write_data(voltage_3);                        //顯示電壓檢測(cè)個(gè)位值
  292.                   motor_1_en = 0;                                        //進(jìn)水閥電動(dòng)機(jī)驅(qū)動(dòng)關(guān)閉
  293.                   motor_2_en = 1;                                        //排水閥電動(dòng)機(jī)驅(qū)動(dòng)打開
  294.                   motor_3_en = 0;                                        //洗衣機(jī)電動(dòng)機(jī)驅(qū)動(dòng)關(guān)閉
  295.                   break;                                                        //跳出分支判斷
  296.                 }
  297.                 if(st_pau==2)                                                //當(dāng)前洗衣機(jī)運(yùn)行全局變量為2
  298.                 {
  299.               write_data(' ');                                //顯示空字符
  300.                           write_data(' ');                                //顯示空字符
  301.                           write_data(' ');                                //顯示空字符
  302.                           write_data(' ');                                //顯示空字符
  303.                           write_data(' ');                                //顯示空字符
  304.                           write_data(' ');                                //顯示空字符
  305.                           write_data(' ');                            //顯示空字符
  306.                           write_data('P');                                //顯示字符‘P’
  307.                           write_data('A');                                //顯示字符‘A’
  308.                           write_data('U');                                //顯示字符‘U’
  309.                           write_data('S');                                //顯示字符‘S’
  310.                           write_data('E');                            //顯示字符‘E’
  311.                 }
  312.                 else                                                               
  313.                 {                                
  314.                         switch(method)                                        //判斷方式全局變量
  315.                         {
  316.                             case '1':                                         //方式一
  317.                                   write_data('M');                        //顯示字符‘M’
  318.                                   write_data('E');                        //顯示字符‘E’
  319.                                   write_data('T');                        //顯示字符‘T’
  320.                                   write_data('H');                        //顯示字符‘H’
  321.                                   write_data('O');                        //顯示字符‘O’
  322.                                   write_data('D');                        //顯示字符‘D’
  323.                                   write_data(':');                        //顯示字符‘:’
  324.                                   write_data('1');                        //顯示字符‘1’
  325.                                   write_data(' ');                        //顯示空字符
  326.                                   break;                                        //跳出分支判斷
  327.                             case '2':                                         //方式二
  328.                                   write_data('M');                        //顯示字符‘M’
  329.                                   write_data('E');                        //顯示字符‘E’
  330.                                   write_data('T');                        //顯示字符‘T’
  331.                                   write_data('H');                        //顯示字符‘H’
  332.                                   write_data('O');                        //顯示字符‘O’
  333.                                   write_data('D');                        //顯示字符‘D’
  334.                                   write_data(':');                        //顯示字符‘:’
  335.                                   write_data('2');                        //顯示字符‘2’
  336.                                   write_data(' ');                        //顯示空字符
  337.                                   break;                                        //跳出分支判斷
  338.                             case '3':                                         //方式三
  339.                                   write_data('M');                        //顯示字符‘M’
  340.                                   write_data('E');                        //顯示字符‘E’
  341.                                   write_data('T');                        //顯示字符‘T’
  342.                                   write_data('H');                        //顯示字符‘H’
  343.                                   write_data('O');                        //顯示字符‘O’
  344.                                   write_data('D');                        //顯示字符‘D’
  345.                                   write_data(':');                        //顯示字符‘:’
  346.                                   write_data('3');                        //顯示字符‘3’
  347.                                   write_data(' ');                        //顯示空字符
  348.                                   break;                                        //跳出分支判斷
  349.                             case '4':                                         //方式四
  350.                                   write_data('M');                        //顯示字符‘M’
  351.                                   write_data('E');                        //顯示字符‘E’
  352.                                   write_data('T');                        //顯示字符‘T’
  353.                                   write_data('H');                        //顯示字符‘H’
  354.                                   write_data('O');                        //顯示字符‘O’
  355.                                   write_data('D');                        //顯示字符‘D’
  356.                                   write_data(':');                        //顯示字符‘:’
  357.                                   write_data('4');                    //顯示字符‘4’
  358.                                   write_data(' ');                        //顯示空字符
  359.                                   break;                                        //跳出分支判斷
  360.                           }
  361.                           switch(speed)                                        //判斷速度全局變量
  362.                           {
  363.                             case '1':                                         //速度一
  364.                                   write_data('S');                        //顯示字符‘S’
  365.                                   write_data('P');                        //顯示字符‘P’
  366.                                   write_data('E');                        //顯示字符‘E’
  367.                                   write_data('E');                        //顯示字符‘E’
  368.                                   write_data('D');                        //顯示字符‘D’
  369.                                   write_data(':');                        //顯示字符‘:’
  370.                                   write_data('1');                        //顯示字符‘1’
  371.                                   break;                                        //跳出分支判斷
  372.                             case '2':                                         //速度二
  373.                                   write_data('S');                        //顯示字符‘S’
  374.                                   write_data('P');                        //顯示字符‘P’
  375.                                   write_data('E');                        //顯示字符‘E’
  376.                                   write_data('E');                        //顯示字符‘E’
  377.                                   write_data('D');                        //顯示字符‘D’
  378.                                   write_data(':');                        //顯示字符‘:’
  379.                                   write_data('2');                    //顯示字符‘2’
  380.                                   break;                                        //跳出分支判斷
  381.                             case '3':                                         //速度三
  382.                                   write_data('S');                        //顯示字符‘S’
  383.                                   write_data('P');                        //顯示字符‘P’
  384.                                   write_data('E');                        //顯示字符‘E’
  385.                                   write_data('E');                        //顯示字符‘E’
  386.                                   write_data('D');                        //顯示字符‘D’
  387.                                   write_data(':');                        //顯示字符‘:’
  388.                                   write_data('3');                    //顯示字符‘3’
  389.                                   break;                                        //跳出分支判斷
  390.                             case '4':                                         //速度四
  391.                                   write_data('S');                    //顯示字符‘S’
  392.                                   write_data('P');                    //顯示字符‘P’
  393.                                   write_data('E');                        //顯示字符‘E’
  394.                                   write_data('E');                        //顯示字符‘E’
  395.                                   write_data('D');                        //顯示字符‘D’
  396.                                   write_data(':');                        //顯示字符‘:’
  397.                                   write_data('4');                        //顯示字符‘4’
  398.                                   break;                                        //跳出分支判斷
  399.                                 }                          
  400.                    }
  401.         }
  402.         else
  403.         {
  404.                   write_data('N');                                        //顯示字符‘N’
  405.                   write_data('O');                                        //顯示字符‘O’
  406.                   write_data('W');                                        //顯示字符‘W’
  407.                   write_data(' ');                                        //顯示空字符
  408.                   write_data('M');                                        //顯示字符‘M’
  409.                   write_data('A');                                        //顯示字符‘A’
  410.                   write_data('C');                                        //顯示字符‘C’
  411.                   write_data('H');                                        //顯示字符‘H’
  412.                   write_data('I');                                        //顯示字符‘I’
  413.                   write_data('N');                                        //顯示字符‘N’
  414.                   write_data('E');                                        //顯示字符‘E’
  415.                   write_data(' ');                                        //顯示空字符
  416.                   write_data('I');                                    //顯示字符‘I’
  417.                   write_data('S');                                        //顯示字符‘S’
  418.                   write_data(' ');                                        //顯示空字符
  419.                   write_data('O');                                        //顯示字符‘O’
  420.                   write_data('F');                                        //顯示字符‘F’
  421.                   write_data('F');                                        //顯示字符‘F’
  422.                   write_data(' ');                                        //顯示空字符
  423.                   write_data(' ');                                           //顯示空字符
  424.         }
  425.   //P0 = 0XFF;
  426. }

  427. /****************************LCD初始化*****************************/                                                         
  428. void init_LCM()                                                
  429. {
  430.         write_com(0x30);                                //發(fā)送控制命令0x30
  431.         write_com(0x30);                                //發(fā)送控制命令0x30
  432.         write_com(0x30);                                //發(fā)送控制命令0x30,做一個(gè)延時(shí)
  433.         write_com(0x38);                                //發(fā)送控制命令0x38
  434.         write_com(0x08);                                //發(fā)送控制命令0x08
  435.         write_com(0x01);                                //發(fā)送控制命令0x01
  436.         write_com(0x06);                                //發(fā)送控制命令0x06
  437.         write_com(0x0e);                                //發(fā)送控制命令0x0e
  438. }

  439. /***************************LCD寫數(shù)據(jù)函數(shù)**************************/
  440. void write_data(char date)
  441. {
  442.         RS=1;                                                        //寫指令電平置為高,進(jìn)入寫數(shù)據(jù)狀態(tài)
  443.         R_W=0;                                                        //讀指令電平置為低,無效
  444.         EN=1;                                                        //使能信號(hào)開
  445.         P0=date;                                                //將數(shù)據(jù)送入p0口
  446.         EN=0;                                                        //使能信號(hào)關(guān)
  447.         check_BF();                                                //等待LCD繁忙狀態(tài)結(jié)束
  448. }

  449. /***************************LCD寫指令函數(shù)**************************/
  450. void write_com(char command)               
  451. {               
  452.    
  453.         RS=0;                                                        //寫指令電平置為低,進(jìn)入寫指令狀態(tài)
  454.         R_W=0;                                                        //讀寫指令命令置為低電平
  455.         EN=1;                                                        //使能信號(hào)開
  456.         P0=command;                                                //將數(shù)據(jù)送入p0口
  457.         EN=0;                                                        //使能信號(hào)關(guān)
  458.         check_BF();                                                //等待LCD繁忙狀態(tài)結(jié)束
  459. }                                                                                         

  460. /**************************LCD檢查忙碌函數(shù)*************************/
  461. void check_BF()
  462. {
  463.         char i,x=0x80;                                        //定義字符變量i,x                                       
  464.         P0=0xff;                                                //P0口輸出高電平,使得P0口電平輸入允許
  465.         while(x&0x80)                                        //當(dāng)LCD還是處于繁忙狀態(tài)時(shí),進(jìn)入循環(huán)
  466.         {                                                               
  467.           RS=0;                                                        //寫指令置為1,讀取指令狀態(tài)
  468.           R_W=1;                                                //讀引腳電平置為高,為讀取信息狀態(tài)
  469.           EN=1;                                                        //LCD使能信號(hào)開
  470.           P0=0XFF;                                                //P0口輸出高電平,使得P0口電平輸入允許
  471.           x=P0;                                                        //將P0口電平信息賦給x
  472.           EN=0;                                                        //LCD使能信號(hào)關(guān)閉
  473.           for (i=0;i<10;i++);                        //循環(huán)等待
  474.         }
  475.         EN=0;                                                        //關(guān)閉使能信號(hào)
  476. }

  477. /****************************LCD清屏函數(shù)***************************/
  478. void clearLCD()
  479. {
  480.   write_com(0x01);                                        //寫入LCD清屏指令
  481. }

  482. /******************************方式一******************************/                                                         
  483. void fangshi1()
  484. {
  485.         switch(step)                                        //判斷洗衣機(jī)當(dāng)前運(yùn)行步驟
  486.         {
  487.                 case 0:                                                //步驟0
  488.                         process = '1';                        //進(jìn)水
  489.                         break;                                        //跳出分支判斷
  490.                 case 1:                                                //步驟1
  491.                         process = '2';                        //浸泡
  492.                         break;                                        //跳出分支判斷
  493.                 case 2:                                                //步驟2
  494.                         process = '3';                        //洗滌
  495.                         break;                                        //跳出分支判斷
  496.                 case 3:                                                //步驟3
  497.                         process = '5';                        //脫水
  498.                         break;                                        //跳出分支判斷
  499.                 case 4:                                                //步驟4
  500.                         process = '1';                        //進(jìn)水
  501.                         break;                                        //跳出分支判斷
  502.                 case 5:                                                //步驟5
  503.                         process = '4';                        //漂洗
  504.                         break;                                        //跳出分支判斷
  505.                 case 6:                                                //步驟6
  506.                         process = '5';                        //脫水
  507.                         break;                                        //跳出分支判斷
  508.                 case 7:                                                //步驟7
  509.                         process = '1';                        //進(jìn)水
  510.                         break;                                        //跳出分支判斷
  511.                 case 8:                                                //步驟8
  512.                         process = '4';                        //漂洗
  513.                         break;                                        //跳出分支判斷
  514.                 case 9:                                                //步驟9
  515.                         process = '5';                        //脫水
  516.                         break;                                        //跳出分支判斷
  517.                 case 10:                                        //步驟10
  518.                         clrpara();                                //復(fù)位所有參數(shù)
  519.                         break;                                        //跳出分支判斷
  520.         }
  521. }

  522. /******************************方式二******************************/                                                         
  523. void fangshi2()
  524. {
  525.         switch(step)                                        //判斷洗衣機(jī)當(dāng)前運(yùn)行步驟
  526.         {
  527.                 case 0:                                                //步驟0
  528.                         process = '1';                        //進(jìn)水
  529.                         break;                                          //跳出分支判斷
  530.                 case 1:                                                //步驟1
  531.                         process = '3';                        //洗滌
  532.                         break;                                        //跳出分支判斷
  533.                 case 2:                                                //步驟2
  534.                         process = '5';                        //脫水
  535.                         break;                                        //跳出分支判斷
  536.                 case 3:                                                //步驟3
  537.                         process = '1';                        //進(jìn)水
  538.                         break;                                        //跳出分支判斷
  539.                 case 4:                                                //步驟4
  540.                         process = '4';                        //漂洗
  541.                         break;                                        //跳出分支判斷
  542.                 case 5:                                            //步驟5
  543.                         process = '5';                        //脫水
  544.                         break;                                        //跳出分支判斷
  545.                 case 6:                                                //步驟6
  546.                         process = '1';                        //進(jìn)水
  547.                         break;                                        //跳出分支判斷
  548.                 case 7:                                                //步驟7
  549.                         process = '4';                        //漂洗
  550.                         break;                                        //跳出分支判斷
  551.                 case 8:                                                //步驟8
  552.                         process = '5';                        //脫水
  553.                         break;                                        //跳出分支判斷
  554.                 case 9:                                                //步驟9
  555.                         clrpara();                                //復(fù)位所有參數(shù)
  556.                         break;                                        //跳出分支判斷
  557.                         
  558.         }
  559. }

  560. /******************************方式三******************************/                                                         
  561. void fangshi3()
  562. {
  563.         switch(step)                                        //判斷洗衣機(jī)當(dāng)前運(yùn)行步驟
  564.         {
  565.                 case 0:                                                //步驟0
  566.                         process = '1';                        //進(jìn)水
  567.                         break;                                        //跳出分支判斷
  568.                 case 1:                                                //步驟1
  569.                         process = '3';                        //洗滌
  570.                         break;                                        //跳出分支判斷
  571.                 case 2:                                                //步驟2
  572.                         process = '5';                        //脫水
  573.                         break;                                        //跳出分支判斷
  574.                 case 3:                                                //步驟3
  575.                         process = '1';                        //進(jìn)水
  576.                         break;                                        //跳出分支判斷
  577.                 case 4:                                                //步驟4
  578.                         process = '4';                        //漂洗
  579.                         break;                                        //跳出分支判斷
  580.                 case 5:                                                //步驟5
  581.                         process = '5';                        //脫水
  582.                         break;                                        //跳出分支判斷
  583.                 case 6:                                                //步驟6
  584.                         clrpara();                                //復(fù)位所有參數(shù)
  585.                         break;                                        //跳出分支判斷
  586.         }
  587. }

  588. /******************************方式四******************************/                                                         
  589. void fangshi4()
  590. {
  591.         switch(step)                                        //判斷洗衣機(jī)當(dāng)前運(yùn)行步驟
  592.         {
  593.                 case 0:                                                //步驟0
  594.                         process = '5';                        //脫水
  595.                         break;                                        //跳出分支判斷
  596.                 case 1:                                                //步驟1
  597.                         clrpara();                                //復(fù)位所有參數(shù)
  598.                         break;                                        //跳出分支判斷
  599.         }
  600. }

  601. /*******************************復(fù)位*******************************/                                                         
  602. void clrpara()
  603. {
  604.         EX0=0;                                         
  605.         TR0=0;
  606.         st_pau=2;                                                //洗衣機(jī)是否運(yùn)行全局變量為2
  607.         step=0;                                                        //洗衣機(jī)運(yùn)行步驟全局變量為0
  608.         //P2=0xff;                                                //P0輸出0xff信息
  609.         state=0;                                                //洗衣機(jī)運(yùn)行狀態(tài)設(shè)置為OFF狀態(tài)
  610.         process='1';                                        //洗衣機(jī)過程全局變量為1
  611.         method='1';                                                //洗衣機(jī)方式全局變量為1
  612.         speed='1';                                                //電動(dòng)機(jī)速度全局變量為1
  613.         ad_level=0;                                                //水位AD監(jiān)測(cè)值為0
  614.         ad_voltage=0;                                        //電壓AD檢測(cè)值為0
  615.         motor_1_en = 0;                                        //進(jìn)水閥驅(qū)動(dòng)機(jī)關(guān)閉
  616.           motor_2_en = 0;                                        //排水閥驅(qū)動(dòng)機(jī)關(guān)閉
  617.         motor_3_en = 0;                                        //洗衣機(jī)電動(dòng)機(jī)關(guān)閉
  618.         TR1=0;
  619.         flag=1;                                                        //標(biāo)志位為1,開始播放音樂
  620.         //TR1=1;                                                        //啟動(dòng)定時(shí)器0
  621.         init_LCM();                                                //LCD初始化程序
  622.         display();                                                //LCD刷新顯示
  623.         //speaker_on();                                        //音樂播放程序
  624. }

  625. /***************************音樂播放程序***************************/
  626. void speaker_on()
  627. {
  628.         uchar i,j;                                                //定義變量i,j
  629.     i=0;                                        //變量i賦值為0
  630.         while(f_TAB[i][0]!=0xff)//判斷
  631.         {
  632.                 Ch=f_TAB[i][1];                //TH0賦值
  633.                 Cl=f_TAB[i][0];                //TL0賦值
  634.                 TH1=Ch;                                //TH0賦值
  635.                 TL1=Cl;                                //TL0賦值
  636.                 TR1=1;
  637.                 for(j=0;j<time_TAB[i];j++)                          //控制節(jié)拍數(shù)
  638.                 delay();                                                          //延時(shí) 1 個(gè)節(jié)拍單位
  639.                 TR1=0;                                                                  //關(guān)閉定時(shí)器 T0
  640.                 i++;                                                                  //播放下一個(gè)音符  
  641.         }

  642. }
  643. /****************************主程序入口****************************/                                                         
  644. void main()
  645. {

  646.         //中斷0按鍵
  647.         IT0 = 1;                                                //中斷方式為下降沿
  648.         EX0 = 1;                                                //開啟外部中斷
  649.         
  650.         //定時(shí)器0、1,定時(shí)器0、1中斷,用于狀態(tài)改變計(jì)數(shù),pwm調(diào)制計(jì)數(shù)
  651.         TMOD = 0x11;                                        //定時(shí)器為定時(shí)中斷模式1
  652.         TH0 = TIME0H;                                        //定時(shí)器0計(jì)數(shù)高位加載
  653.         TL0 = TIME0L;                                        //定時(shí)器0計(jì)數(shù)低位加載
  654.         TH1 = TIME1H;                                        //定時(shí)器1計(jì)數(shù)高位加載
  655.         TL1 = TIME1L;                                        //定時(shí)器1計(jì)數(shù)低位加載
  656.         ET0 = 1;                                                //定時(shí)器0中斷允許
  657.         ET1 = 1;                                                //定時(shí)器1中斷允許
  658.         TR0 = 1;                                                //定時(shí)器0計(jì)數(shù)器啟動(dòng)
  659.         TR1 = 1;                                                //定時(shí)器1計(jì)數(shù)器啟動(dòng)
  660.         P2 = 0xff;                                                //P0輸出0xff信息
  661.         state = 0;                                                //洗衣機(jī)運(yùn)行狀態(tài)設(shè)置為OFF狀態(tài)
  662.         process = '1';                                        //洗衣機(jī)過程全局變量為‘1’
  663.         method = '1';                                        //洗衣機(jī)方式全局變量為‘1’
  664.         speed = '1';                                        //電動(dòng)機(jī)速度全局變量為‘1’
  665.         st_pau = '0';                                        //洗衣機(jī)是否運(yùn)行全局變量為‘0’
  666.         step = 0 ;                                          //洗衣機(jī)運(yùn)行步驟全局變量為‘0’
  667.         MOTOR_ON = 25;                                        //電動(dòng)機(jī)PWM控制計(jì)數(shù)為25
  668.         ad_level = 0;                                        //水位AD監(jiān)測(cè)值為0
  669.         ad_voltage = 0;                                        //電壓AD檢車值為0
  670.         time_count = 0;                                        //定時(shí)0中斷計(jì)數(shù)器全局變量為0
  671.         time_count1 = 0;                                //定時(shí)1中斷計(jì)數(shù)器全局變量為0
  672.         flag=0;                                                        //標(biāo)志位為0
  673.         speaker = 0;                                        //蜂鳴器關(guān)閉
  674.         init_LCM();                                                //初始化LCD
  675.         display();                                                //刷新顯示
  676.         EA = 1;                                                        //開啟單片機(jī)中斷允許位,允許中斷開始
  677.         P0 = 0xff;                                                //P0輸出高電平,使得可以進(jìn)行外部電壓信號(hào)輸入

  678.         while(1)                                
  679.         {
  680.                 //測(cè)試水位
  681.                 while(flag==0)
  682.                 {
  683.                         con = 0;                                        //AD轉(zhuǎn)換輸出關(guān)閉
  684.                         add_A = 0;                                        //選擇水位模擬信號(hào)進(jìn)行AD轉(zhuǎn)換
  685.                         START = 1;                                        //設(shè)置START引腳為高電平
  686.                         START = 0;                                        //設(shè)置START引腳為低電平,得到下降沿,啟動(dòng)AD檢測(cè)
  687.                                                         
  688.                         while(!EOC);                                //等待AD轉(zhuǎn)換結(jié)束
  689.                         lock_OE = 0;                                //74ls373鎖存信號(hào)為低,通道開啟
  690.                         P0 = 0xff;                                        //P0引腳輸出高電平,允許引腳電平的讀入
  691.                         con = 1;                                        //AD轉(zhuǎn)換芯片輸出使能
  692.                         ad_level = P0;                                //將AD轉(zhuǎn)換賦值為AD_LEVEL全局變量
  693.                         con = 0;                                        //AD轉(zhuǎn)換芯片輸出禁止
  694.                         lock_OE = 1;                                //74ls373鎖存信號(hào)開啟,進(jìn)行電平鎖存
  695.                         add_A = 1;                                        //選擇AD模塊為1號(hào)通道信號(hào)進(jìn)行模數(shù)轉(zhuǎn)換,即電壓信號(hào)
  696.                         START = 1;                                        //START引腳輸出高電平
  697.                         START = 0;                                        //START引腳輸出低電平,開始AD轉(zhuǎn)換
  698.                         while(!EOC);                                //等待AD轉(zhuǎn)換結(jié)束
  699.                         lock_OE = 0;                                //74ls373鎖存信號(hào)關(guān)閉,AD轉(zhuǎn)換信號(hào)可以輸出
  700.                         P0 = 0xff;                                        //P0輸出高電平,使得外部電壓可以進(jìn)行輸入
  701.                         con = 1;                                        //AD轉(zhuǎn)換結(jié)果使能
  702.                         ad_voltage = P0;                        //將P0引腳的AD轉(zhuǎn)換結(jié)果賦值給電壓檢測(cè)全局變量
  703.                         con = 0;                                        //AD轉(zhuǎn)化結(jié)果輸出關(guān)閉
  704.                         lock_OE = 1;                                //74ls373鎖存信號(hào)開啟,使得P0口與AD轉(zhuǎn)換引腳隔離
  705.                 }
  706.                 if(flag==1)
  707.                 {
  708.                         speaker_on();
  709.                         flag=0;
  710.                 }
  711.                         
  712.         }

  713. }

  714. /**************************外部中斷0子程序*************************/                                                         
  715. void int_0() interrupt 0
  716. {
  717.         uint temp;                                                //定義變量temp,用來讀取P2信息
  718.         temp = P2;                                                //temp讀取P2信息
  719.         translate(temp&0x0f);                        //與0x0f相與,得到低四位電平信號(hào),并傳入translate()函數(shù)        
  720.         display();                                                //LCD顯示刷新
  721. }

  722. /***************************定時(shí)0中斷入口**************************/                                                         
  723. void time_0() interrupt 1
  724. {
  725.         time_count1 ++;                                        //全局定時(shí)中斷計(jì)數(shù)自加1
  726.         if (time_count1 > 6)                        //如果全局定時(shí)中斷次數(shù)大于6,則
  727.         {
  728.           time_count1 = 0;                                //全局定時(shí)中斷次數(shù)置零
  729.         }
  730.         //只考慮正轉(zhuǎn)
  731.         if(st_pau==1)                                        //如果洗衣機(jī)處于運(yùn)行狀態(tài),則
  732.         {
  733.                 MOTOR_NOW++;                                //PWM計(jì)數(shù)次數(shù)自加1
  734.                 if (MOTOR_NOW > MOTOR_ON)   //如果PWM計(jì)數(shù)次數(shù)大于高電平計(jì)數(shù)值
  735.                 {
  736.                   motor_high = 0;                        //PWM高電平引腳輸出低電平
  737.                  }
  738.                 else
  739.                 {
  740.                   motor_high = 1;                        //PWM高電平輸出高電壓
  741.                 }
  742.                 if (MOTOR_NOW >  MOTOR_COUNT) //如果PWM計(jì)數(shù)值大于PWM計(jì)數(shù)周期
  743.                 {
  744.                   MOTOR_NOW = 0;                        //PWM計(jì)數(shù)值置零
  745.                 }
  746.                 motor_low = 0;                                //PWM低電平輸出低電平
  747.         }
  748.         TH0=TIME0H;                                                //定時(shí)器0高位計(jì)數(shù)載入
  749.         TL0=TIME0L;                                                //定時(shí)器低位計(jì)數(shù)載入
  750.         
  751. }

  752. /***************************定時(shí)1中斷入口**************************/                                                         
  753. void vTimer0() interrupt 3
  754. {
  755.         if(flag==0)
  756.         {
  757.                 TR1=0;
  758.                 if(st_pau==1)
  759.                 {
  760.                         time_count++;
  761.                         if(time_count> 5)
  762.                         {
  763.                                 time_count=0;
  764.                                 step++;
  765.                                 display();
  766.                         }
  767.                 }
  768.                 switch(method)
  769.                 {
  770.                         case '1':                                 //方式一
  771.                                 fangshi1();
  772.                                 break;                        
  773.                         case '2':                                 //方式二
  774.                                 fangshi2();
  775.                                 break;
  776.                         case '3':                                 //方式三
  777.                                 fangshi3();
  778.                                 break;        
  779.                         case '4': //方式四
  780.                                 fangshi4();        
  781.                                 break;
  782.                 }                                                                                                
  783.                 TH1=TIME1H;
  784.                 TL1=TIME1L;
  785.                 TR1=1;
  786.         }
  787.         else
  788.         {
  789.                         speaker=~speaker;                                                  //取反
  790.                         TH1=Ch;                                                         //TH1賦值
  791.                         TL1=Cl;                                                         //TL1賦值
  792.         }
  793.         
  794. }
復(fù)制代碼


全部資料下載:
全自動(dòng)洗衣機(jī).rar (71.56 KB, 下載次數(shù): 226)

評(píng)分

參與人數(shù) 1黑幣 +5 收起 理由
我不是我 + 5 共享資料的黑幣獎(jiǎng)勵(lì)!比前面看的更多功能

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏10 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:146892 發(fā)表于 2016-12-27 13:31 | 只看該作者
感謝!分享
回復(fù)

使用道具 舉報(bào)

板凳
ID:161699 發(fā)表于 2017-3-25 08:43 | 只看該作者
多謝分享        
回復(fù)

使用道具 舉報(bào)

地板
ID:207740 發(fā)表于 2017-6-7 17:18 | 只看該作者
樓主我加載程序錯(cuò)了什么情況啊
回復(fù)

使用道具 舉報(bào)

5#
ID:209487 發(fā)表于 2017-6-9 11:29 | 只看該作者
很好啊
回復(fù)

使用道具 舉報(bào)

6#
ID:209608 發(fā)表于 2017-6-9 20:41 | 只看該作者
謝謝樓主,很有幫助
回復(fù)

使用道具 舉報(bào)

7#
ID:196311 發(fā)表于 2017-6-10 23:05 | 只看該作者
很有參考價(jià)值,謝謝樓正
回復(fù)

使用道具 舉報(bào)

8#
ID:282879 發(fā)表于 2018-2-7 17:09 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

9#
ID:322404 發(fā)表于 2018-5-4 21:25 | 只看該作者

謝謝分享
回復(fù)

使用道具 舉報(bào)

10#
ID:322404 發(fā)表于 2018-5-4 21:33 | 只看該作者

謝謝分享
回復(fù)

使用道具 舉報(bào)

11#
ID:353363 發(fā)表于 2018-6-19 20:02 來自手機(jī) | 只看該作者
樓主,可以麻煩您說一下下面兩個(gè)芯片用的是哪個(gè)么?
回復(fù)

使用道具 舉報(bào)

12#
ID:354783 發(fā)表于 2018-6-19 23:56 | 只看該作者
很有創(chuàng)意,請(qǐng)問樓主,這個(gè)有產(chǎn)品化的可能沒有
回復(fù)

使用道具 舉報(bào)

13#
ID:19998 發(fā)表于 2018-9-19 11:23 | 只看該作者
OK  分享下來看看。
回復(fù)

使用道具 舉報(bào)

14#
ID:183811 發(fā)表于 2018-10-9 12:44 | 只看該作者
感謝!分享
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品无码久久久久 | 日本中文字幕在线观看 | 中文字幕乱码一区二区三区 | 在线观看国产视频 | 亚洲精品www久久久久久广东 | 亚洲国产精品久久久久婷婷老年 | 一区二区三区播放 | 亚洲国产精品久久久久婷婷老年 | 亚洲第一网站 | 亚洲欧美综合精品久久成人 | 成年人网站免费 | www.久久国产精品 | 欧美综合久久 | 精品久久久久久亚洲综合网 | 欧美一区在线视频 | 久久免费小视频 | 91av在线视频观看 | 成人免费大片黄在线播放 | 国产精品一区二区在线 | 精品日韩一区二区三区 | 久久精品免费一区二区三 | 奇米超碰在线 | 成人午夜精品一区二区三区 | 碰碰视频 | 精品一区二区视频 | 国产精品美女久久久 | 亚洲444kkkk在线观看最新 | 天天拍天天操 | 久久精品一级 | 激情福利视频 | 亚洲一区网站 | 欧美久久久久久久久 | 在线只有精品 | 欧美精品一区二区三区蜜臀 | 精品在线一区 | 欧美日韩国产一区二区 | av在线天堂网 | 黄色一级片在线播放 | 亚洲自拍一区在线观看 | 成人免费久久 | 狠狠草视频|