wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

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

QQ登錄

只需一步,快速開始

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

智能溫控風(fēng)扇單片機(jī)源程序+實(shí)物圖+原理圖

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
51單片機(jī)做的溫控風(fēng)扇實(shí)物圖:


智能溫控風(fēng)扇原理圖:


單片機(jī)源程序如下:
  1. #include <reg52.h>                 //調(diào)用單片機(jī)頭文件
  2. #define uchar unsigned char  //無符號(hào)字符型 宏定義        變量范圍0~255
  3. #define uint  unsigned int         //無符號(hào)整型 宏定義        變量范圍0~65535
  4. #include <intrins.h>
  5. #define RdCommand 0x01 //定義ISP的操作命令
  6. #define PrgCommand 0x02
  7. #define EraseCommand 0x03  
  8. #define Error 1
  9. #define Ok 0
  10. #define WaitTime 0x01 //定義CPU的等待時(shí)間
  11. sfr ISP_DATA=0xe2;        //Flash數(shù)據(jù)寄存器地址(E2h)
  12. sfr ISP_ADDRH=0xe3;         //Flash高字節(jié)寄存器地址(E3h)
  13. sfr ISP_ADDRL=0xe4;        //Flash低字節(jié)寄存器地址(E4h)
  14. sfr ISP_CMD=0xe5;  //Flash命令模式寄存器地址(E5h)
  15. sfr ISP_TRIG=0xe6;        //Flash命令觸發(fā)寄存器地址(E6h)
  16. sfr ISP_CONTR=0xe7;        //ISP/IAP控制寄存器地址(E2h)
  17. sbit dula=P2^6;//U1鎖存器的鎖存端                   000001111111     顯示函數(shù)   11111100000
  18. sbit wela=P2^7;//申明U2鎖存器的鎖存
  19. uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,
  20. 0x39,0x5e,0x79,0x71};                                          
  21. uchar num;//定時(shí)器要用到
  22. void ISP_IAP_enable(void);        /* ================ 打開 ISP,IAP 功能 ================= */
  23. void ISP_IAP_disable(void);        /* =============== 關(guān)閉 ISP,IAP 功能 ================== */
  24. void ISPgoon(void);                        /* ================ 公用的觸發(fā)代碼 ==================== */
  25. uchar byte_read(unsigned int byte_addr);   /* ========= 字節(jié)讀 ============= */
  26. void SectorErase(unsigned int sector_addr);        /* =========== 扇區(qū)擦除 ============ */
  27. void byte_write(unsigned int byte_addr, unsigned char original_data);  /* ==== 字節(jié)寫 ==== */
  28. void display(); //000033333    顯示函數(shù)  3333300000//

  29. //數(shù)碼管段選定義      0     1    2    3    4    5        6         7          8           9        
  30. uchar code smg_du[]={0x28,0xee,0x32,0xa2,0xe4,0xa1,0x21,0xea,0x20,0xa0,
  31.                                            0x60,0x25,0x39,0x26,0x31,0x71,0xff};         //斷碼
  32. //數(shù)碼管位選定義
  33. uchar code smg_we[]={0xef,0xdf,0xbf,0x7f};
  34. uchar dis_smg[8] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};        
  35. uchar smg_i = 3;    //顯示數(shù)碼管的個(gè)位數(shù)
  36. sbit dq   = P2^4;        //18b20 IO口的定義
  37. sbit pwm = P2^3;   //蜂鳴器IO口定義

  38. bit flag_lj_en;                 //按鍵連加使能
  39. bit flag_lj_3_en;         //按鍵連3次連加后使能  加的數(shù)就越大了
  40. uchar key_time,key_value;      //用做連加的中間變量
  41. bit key_500ms  ;

  42. uchar f_pwm_l ;          //越小越暗
  43. uint temperature ;  //
  44. bit flag_300ms ;
  45. uchar menu_1,a_a ;       //菜單設(shè)計(jì)的變量
  46. uint t_high ,t_low;           //溫度上下限報(bào)警值

  47. /***********************1ms延時(shí)函數(shù)*****************************/
  48. void delay_1ms(uint q)
  49. {
  50.         uint i,j;
  51.         for(i=0;i<q;i++)
  52.                 for(j=0;j<120;j++);
  53. }

  54. /***********************小延時(shí)函數(shù)*****************************/
  55. void delay_uint(uint q)
  56. {
  57.         while(q--);
  58. }  


  59. /***********************數(shù)碼顯示函數(shù)*****************************/
  60. void display()
  61. {
  62.         static uchar i;   
  63.         i++;
  64.         if(i >= smg_i)
  65.                 i = 0;        
  66.         P1 = 0xff;                         //消隱
  67.         P3 = smg_we[i];                          //位選
  68.         P1 = dis_smg[i];                 //段選               

  69. }


  70. /***********************18b20初始化函數(shù)*****************************/
  71. void init_18b20()
  72. {
  73.         bit q;
  74.         dq = 1;                                //把總線拿高
  75.         delay_uint(1);            //15us
  76.         dq = 0;                                //給復(fù)位脈沖
  77.         delay_uint(80);                //750us
  78.         dq = 1;                                //把總線拿高 等待
  79.         delay_uint(10);                //110us
  80.         q = dq;                                //讀取18b20初始化信號(hào)
  81.         delay_uint(20);                //200us
  82.         dq = 1;                                //把總線拿高 釋放總線
  83. }

  84. /*************寫18b20內(nèi)的數(shù)據(jù)***************/
  85. void write_18b20(uchar dat)
  86. {
  87.         uchar i;
  88.         for(i=0;i<8;i++)
  89.         {                                         //寫數(shù)據(jù)是低位開始
  90.                 dq = 0;                         //把總線拿低寫時(shí)間隙開始
  91.                 dq = dat & 0x01; //向18b20總線寫數(shù)據(jù)了
  92.                 delay_uint(5);         // 60us
  93.                 dq = 1;                         //釋放總線
  94.                 dat >>= 1;
  95.         }        
  96. }

  97. /*************讀取18b20內(nèi)的數(shù)據(jù)***************/
  98. uchar read_18b20()
  99. {
  100.         uchar i,value;
  101.         for(i=0;i<8;i++)
  102.         {
  103.                 dq = 0;                         //把總線拿低讀時(shí)間隙開始
  104.                 value >>= 1;         //讀數(shù)據(jù)是低位開始
  105.                 dq = 1;                         //釋放總線
  106.                 if(dq == 1)                 //開始讀寫數(shù)據(jù)
  107.                         value |= 0x80;
  108.                 delay_uint(5);         //60us        讀一個(gè)時(shí)間隙最少要保持60us的時(shí)間
  109.         }
  110.         return value;                 //返回?cái)?shù)據(jù)
  111. }

  112. /*************讀取溫度的值 讀出來的是小數(shù)***************/
  113. uint read_temp()
  114. {
  115.         uint value;
  116.         uchar low;                           //在讀取溫度的時(shí)候如果中斷的太頻繁了,就應(yīng)該把中斷給關(guān)了,否則會(huì)影響到18b20的時(shí)序

  117.         TR1=0;                                   //關(guān)掉中斷
  118.         init_18b20();                   //初始化18b20
  119.         write_18b20(0xcc);           //跳過64位ROM
  120.         write_18b20(0x44);           //啟動(dòng)一次溫度轉(zhuǎn)換命令
  121.         delay_uint(50);                   //500us

  122.         init_18b20();                   //初始化18b20
  123.         
  124.         write_18b20(0xcc);           //跳過64位ROM
  125.         write_18b20(0xbe);           //發(fā)出讀取暫存器命令
  126.         
  127.         EA = 0;
  128.         low = read_18b20();           //讀溫度低字節(jié)
  129.         value = read_18b20();  //讀溫度高字節(jié)
  130.         EA = 1;
  131.         value <<= 8;                   //把溫度的高位左移8位
  132.         value |= low;                   //把讀出的溫度低位放到value的低八位中
  133.         value *= 0.625;               //轉(zhuǎn)換到溫度值 小數(shù)
  134.         return value;                   //返回讀出的溫度 帶小數(shù)
  135. }

  136. /*************定時(shí)器0初始化程序***************/
  137. void time_init()         
  138. {
  139.         EA   = 1;                   //開總中斷
  140.         TMOD = 0X01;          //定時(shí)器0、定時(shí)器1工作方式1
  141.         ET0  = 1;                  //開定時(shí)器0中斷
  142.         TR0  = 1;                  //允許定時(shí)器0定時(shí)
  143.         menu_1 = 0 ;
  144.         ET1  = 1;                  //開定時(shí)器0中斷
  145.         TR1  = 1;                  //允許定時(shí)器0定時(shí)
  146. }

  147. /********************獨(dú)立按鍵程序*****************/
  148. uchar key_can;         //按鍵值

  149. void key()         //獨(dú)立按鍵程序
  150. {
  151.         static uchar key_new;
  152.         key_can = 20;                   //按鍵值還原
  153.         P2 |= 0x07;
  154.         if((P2 & 0x07) != 0x07)                //按鍵按下
  155.         {
  156.                 if(key_500ms == 1)        //連加
  157.                 {
  158.                         key_500ms = 0;
  159.                         key_new = 1;
  160.                 }
  161.                 delay_1ms(1);                     //按鍵消抖動(dòng)
  162.                 if(((P2 & 0x07) != 0x07) && (key_new == 1))
  163.                 {                                                //確認(rèn)是按鍵按下
  164.                         key_new = 0;
  165.                         switch(P2 & 0x07)
  166.                         {
  167.                                 case 0x06: key_can = 3; break;           //得到k2鍵值
  168.                                 case 0x05: key_can = 2; break;           //得到k3鍵值
  169.                                 case 0x03: key_can = 1; break;           //得到k4鍵值
  170.                         }
  171.                         flag_lj_en = 1;         //連加使能
  172.                 }                        
  173.         }
  174.         else
  175.         {
  176.                 if(key_new == 0)
  177.                 {
  178.                         key_new = 1;
  179.                          SectorErase(0x2e00);//擦除扇區(qū)命令                  擦2
  180.                            byte_write(0x2e00,t_high%256);//重新寫入數(shù)據(jù)命令  把t_high(溫度上限)寫入扇區(qū)
  181.                      byte_write(0x2e01,t_high/256);
  182.                
  183.                         byte_write(0x2e20,t_low%256);  //                                 把t_low(溫度下限)寫入扇區(qū)
  184.                         byte_write(0x2e21,t_low/256);
  185.                         
  186.                          byte_write(0x2e55,a_a);  //                                 把a(bǔ)-a的值寫入扇區(qū)
  187.                         flag_lj_en = 0;                //關(guān)閉連加使能
  188.                         flag_lj_3_en = 0;        //關(guān)閉3秒后使能
  189.                         key_value = 0;                //清零
  190.                         key_time = 0;
  191.                         key_500ms = 0;
  192.                 }
  193.         }        
  194. }

  195. /****************按鍵處理數(shù)碼管顯示函數(shù)***************/
  196. void key_with()
  197. {
  198.         if(key_can == 1)          //設(shè)置鍵
  199.         {
  200.                 menu_1 ++;
  201.                 if(menu_1 >= 3)
  202.                 {
  203.                         menu_1 = 0;
  204.                         smg_i = 3;                  //數(shù)碼管顯示3位
  205.                 }
  206.         }
  207.         if(menu_1 == 1)                        //設(shè)置高溫標(biāo)志位
  208.         {
  209.                 smg_i = 4;                  //數(shù)碼管顯示4位
  210.                 if(key_can == 2)
  211.                 {
  212.                         if(flag_lj_3_en == 0)
  213.                                 t_high ++ ;                //按鍵按下未松開自動(dòng)加三次        
  214.                         else
  215.                                 t_high += 10;        //按鍵按下未松開自動(dòng)加三次之后每次自動(dòng)加10
  216.                         if(t_high > 990)
  217.                                 t_high = 990;
  218.                 }
  219.                 if(key_can == 3)
  220.                 {
  221.                         if(flag_lj_3_en == 0)
  222.                                 t_high -- ;                //按鍵按下未松開自動(dòng)減三次        
  223.                         else
  224.                                 t_high -= 10;        //按鍵按下未松開自動(dòng)減三次之后每次自動(dòng)減10
  225.                         if(t_high <= t_low)
  226.                                 t_high = t_low + 1;
  227.                 }
  228.                 dis_smg[0] = smg_du[t_high % 10];                   //取小數(shù)顯示
  229.                 dis_smg[1] = smg_du[t_high/ 10 % 10] & 0xdf;  //取個(gè)位顯示
  230.                 dis_smg[2] = smg_du[t_high / 100 % 10] ;           //取十位顯示
  231.                 dis_smg[3] = 0x64;         //H
  232.         }        
  233.         if(menu_1 == 2)                        //設(shè)置低溫標(biāo)志位
  234.         {
  235.                 smg_i = 4;                  //數(shù)碼管顯示4位
  236.                 if(key_can == 2)
  237.                 {
  238.                         if(flag_lj_3_en == 0)
  239.                                 t_low ++ ;                        //按鍵按下未松開自動(dòng)加三次        
  240.                         else
  241.                                 t_low += 10;                //按鍵按下未松開自動(dòng)加三次之后每次自動(dòng)加10
  242.                         if(t_low >= t_high)
  243.                                 t_low = t_high - 1;
  244.                 }
  245.                 if(key_can == 3)
  246.                 {
  247.                         if(flag_lj_3_en == 0)
  248.                                 t_low -- ;                        //按鍵按下未松開自動(dòng)減三次        
  249.                         else
  250.                                 t_low -= 10;                //按鍵按下未松開自動(dòng)加三次之后每次自動(dòng)加10
  251.                         if(t_low <= 10)
  252.                                 t_low = 10;
  253.                 }
  254.                 dis_smg[0] = smg_du[t_low% 10];                   //取小數(shù)顯示
  255.                 dis_smg[1] = smg_du[t_low/ 10 % 10] & 0xdf;   //取個(gè)位顯示
  256.                 dis_smg[2] = smg_du[t_low/ 100 % 10] ;               //取十位顯示
  257.                 dis_smg[3] = 0x3D;          //L
  258.         }        
  259. }  

  260. //****************風(fēng)扇控制函數(shù)***************/
  261. void fengshan_kz()
  262. {
  263.         if(temperature >= t_high)          //風(fēng)扇全開
  264.         {        
  265.                 TR1 = 0;
  266.                 pwm = 0;
  267.         }
  268.         else if((temperature < t_high)        && (temperature >= t_low))                   //風(fēng)扇緩慢
  269.         {
  270.                 f_pwm_l = 60;         
  271.                 TR1 = 1;
  272.         }
  273.         else if(temperature < t_low)         //關(guān)閉風(fēng)扇
  274.         {
  275.                 TR1 = 0;
  276.                 pwm = 1;
  277.         }                        
  278. }

  279. /****************主函數(shù)***************/
  280. void main()
  281. {

  282.         t_high=byte_read(0x2e01);//程序開始時(shí)讀取EEPROM中的數(shù)據(jù)(讀取上限)
  283.         t_high <<= 8;
  284.         t_high  |= byte_read(0x2e00);
  285.         t_low=byte_read(0x2e21);//        程序開始時(shí)讀取EEPROM中的數(shù)據(jù)(讀取下限)        
  286.         t_low <<= 8;
  287.         t_low   |= byte_read(0x2e20);
  288.         a_a=byte_read(0x2e55);//        程序開始時(shí)讀取EEPROM中的數(shù)據(jù)(讀取下限)
  289.         if(a_a!=22) //防止首次上電時(shí)讀取出錯(cuò)
  290.           {
  291.            
  292.           t_high=150;            //第一次上電溫度上限為15.C
  293.            
  294.           t_low=120;         ////第一次上電溫度下限為12.C
  295.           a_a=22;

  296.           }         

  297.         delay_1ms(150);
  298.         P0 = P1 = P2 = P3 = 0xff;
  299.         temperature = read_temp();                //先讀出溫度的值        
  300.         delay_1ms(650);                                
  301.         temperature = read_temp();                         //先讀出溫度的值
  302.         dis_smg[0] = smg_du[temperature % 10];         //取溫度的小數(shù)顯示
  303.         dis_smg[1] = smg_du[temperature / 10 % 10] & 0xdf; //取溫度的個(gè)位顯示
  304.         dis_smg[2] = smg_du[temperature / 100 % 10] ;           //取溫度的十位顯示
  305.         time_init();                    //初始化定時(shí)器
  306.         while(1)
  307.         {               
  308.                 key();                                        //按鍵程序
  309.                 if(key_can < 10)
  310.                 {
  311.                         key_with();                        //設(shè)置溫度上下限        
  312.                           
  313.                 }
  314.                 if(flag_300ms == 1)            //300ms 處理一次溫度程序
  315.                 {           
  316.                         flag_300ms = 0;        
  317.                         temperature = read_temp();        //先讀出溫度的值

  318.                         if(menu_1 == 0)
  319.                         {        
  320.                                 smg_i = 3;
  321.                                 dis_smg[0] = smg_du[temperature % 10];         //取溫度的小數(shù)顯示
  322.                                 dis_smg[1] = smg_du[temperature / 10 % 10] & 0xdf; //取溫度的個(gè)位顯示
  323.                                 dis_smg[2] = smg_du[temperature / 100 % 10] ;           //取溫度的十位顯示
  324.                         }
  325.                 }
  326.                 fengshan_kz();        //風(fēng)扇控制函數(shù)
  327.         }
  328. }
  329. void ISP_IAP_enable(void) /* ================ 打開 ISP,IAP 功能 ================= */
  330. {
  331. EA = 0;       /* 關(guān)中斷   */
  332. ISP_CONTR = ISP_CONTR & 0x18;       /* (0001,1000) **ISP/IAP 控制寄存器復(fù)位*/
  333. ISP_CONTR = ISP_CONTR | WaitTime; /* 寫入硬件延時(shí) */
  334. ISP_CONTR = ISP_CONTR | 0x80;       /*(10000000) ISPEN=1 在ISPEN(ISP_CONTR.7) =1時(shí),
  335.                                                                                  (解釋當(dāng)ISPCONTR的最高位=1時(shí)有效,)
  336.                                                                                  對(duì)ISP_TRIG (命令觸發(fā)寄存器)先寫入46h,再寫入B9h,ISP/IAP命令才會(huì)生效。 */
  337. }
  338. void ISP_IAP_disable(void) /* =============== 關(guān)閉 ISP,IAP 功能 ================== */
  339. {
  340. ISP_CONTR = ISP_CONTR & 0x7f; /* ISPEN = 0 */
  341. ISP_TRIG = 0x00;
  342. EA   =   1;   /* 開中斷 */
  343. }
  344. void ISPgoon(void) /* ================ 公用的觸發(fā)代碼 ==================== */
  345. {
  346. ISP_IAP_enable();   /* 打開 ISP,IAP 功能 第47行有定義*/
  347. ISP_TRIG = 0x46;  /* 觸發(fā)ISP_IAP命令字節(jié)1      (解釋)在ISPEN(ISP_CONTR.7) =1時(shí),
  348.                                                                                  (解釋當(dāng)ISPCONTR的最高位=1時(shí)有效,)
  349.                                                                                  對(duì)ISP_TRIG (命令觸發(fā)寄存器)先寫入46h,
  350.                                                                                 再寫入B9h,ISP/IAP命令才會(huì)生效。 */
  351. ISP_TRIG = 0xb9;  /* 觸發(fā)ISP_IAP命令字節(jié)2 */
  352. _nop_();
  353. }
  354. unsigned char byte_read(unsigned int byte_addr) /* ========= 字節(jié)讀 ============= */
  355. {
  356. ISP_ADDRH = (unsigned char)(byte_addr >> 8);/* 讀出byte_addr的高八位;
  357.                                                                                                  如果byte_addr是16位的,就是把byte_addr的高八位
  358.                                                                                                 賦值給一個(gè)unsigned char類型的變量:ISP_ADDRH*/
  359. ISP_ADDRL = (unsigned char)(byte_addr & 0x00ff); /* 讀出byte_addr的低八位;*/
  360. ISP_CMD   = ISP_CMD & 0xf8;   /* (11111000)清除低3位  */
  361. ISP_CMD   = ISP_CMD | RdCommand; /* 寫入讀命令 */
  362. ISPgoon();       /* 觸發(fā)執(zhí)行  */
  363. ISP_IAP_disable();    /* 關(guān)閉ISP,IAP功能 */
  364. return (ISP_DATA);    /* 返回讀到的數(shù)據(jù) */
  365. }
  366. void SectorErase(unsigned int sector_addr) /* =========== 扇區(qū)擦除 ============ */
  367. {
  368. unsigned int iSectorAddr;
  369. iSectorAddr = (sector_addr & 0xfe00); /* 取扇區(qū)地址 */
  370. ISP_ADDRH = (unsigned char)(iSectorAddr >> 8);
  371. ISP_ADDRL = 0x00;
  372. ISP_CMD = ISP_CMD & 0xf8;   /* 清空低3位 (注釋)清楚后待機(jī)模式,無ISP操作 */
  373. ISP_CMD = ISP_CMD | EraseCommand; /* 擦除命令3  前面定義過#define EraseCommand 0x03
  374.                                                                                  (00000011)對(duì)用戶的應(yīng)用程序flash區(qū)及數(shù)據(jù)flash
  375.                                                                                 區(qū)扇區(qū)擦除*/
  376. ISPgoon();       /* 觸發(fā)執(zhí)行  */
  377. ISP_IAP_disable();    /* 關(guān)閉ISP,IAP功能 */
  378. }
  379. void byte_write(unsigned int byte_addr, unsigned char original_data) /* ==== 字節(jié)寫 ==== */
  380. {
  381. ISP_ADDRH = (unsigned char)(byte_addr >> 8);  /* 取出高八位  */
  382. ISP_ADDRL = (unsigned char)(byte_addr & 0x00ff); /*取出低八位*/
  383. ISP_CMD  = ISP_CMD & 0xf8;    /* 清低3位 意思就是將第三位全部清0再在下邊的prgcommand(00000010)
  384.                                                                          進(jìn)行或運(yùn)算得(*****010)*/
  385. ISP_CMD  = ISP_CMD | PrgCommand;  /* 寫命令2 (注釋)(*****010)對(duì)用戶的應(yīng)用程序flash
  386.                                                                                                                          區(qū)及數(shù)據(jù)flash區(qū)字節(jié)編程*/
  387. ISP_DATA = original_data;   /* 寫入數(shù)據(jù)準(zhǔn)備 注釋:DATA為數(shù)據(jù)寄存器*/
  388. ISPgoon();       /* 觸發(fā)執(zhí)行  */
  389. ISP_IAP_disable();     /* 關(guān)閉IAP功能 */
  390. }
  391. /*************定時(shí)器0中斷服務(wù)程序***************/
  392. void time0_int() interrupt 1
  393. {        
  394.         static uchar value;                         //定時(shí)2ms中斷一次
  395.         TH0 = 0xf8;
  396.         TL0 = 0x30;     //2ms
  397.         display();                //數(shù)碼管顯示函數(shù)
  398.         value++;         
  399.         if(value >= 150)
  400.         {
  401.                 value = 0;         
  402.                 flag_300ms = 1;
  403.         }
  404.         if(flag_lj_en == 1)           //按下按鍵使能
  405.         {
  406.                 key_time ++;
  407.                 if(key_time >= 250) //500ms
  408.                 {
  409.                         key_time = 0;
  410.                         key_500ms = 1; //500ms
  411.                         key_value ++;
  412.                         if(key_value > 3)
  413.                         {
  414.                                 key_value = 10;
  415.                                 flag_lj_3_en = 1; //3次后1.5秒連加大些
  416.                         }                                                
  417.                 }
  418.         }
  419. }
  420. /*******************定時(shí)器1用做單片機(jī)模擬PWM 調(diào)節(jié)***********************/
  421. void Timer1() interrupt 3  //調(diào)用定時(shí)器1
  422. {
  423.         static uchar value_l;
  424.         TH1=0xff;    //    定時(shí)中斷一次
  425.         TL1=0xec;         //


  426. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………

復(fù)制代碼

溫控風(fēng)扇的全部源碼下載:
風(fēng)扇.rar (4.78 KB, 下載次數(shù): 785)

評(píng)分

參與人數(shù) 3黑幣 +110 收起 理由
hasaakei + 5 很給力!
lzbbb + 5 很給力!
admin + 100 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:191052 發(fā)表于 2017-4-18 23:23 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

板凳
ID:185267 發(fā)表于 2017-5-20 16:20 | 只看該作者
仿真可以用  可不知道為什么  我的實(shí)物風(fēng)扇多少度都不轉(zhuǎn)
回復(fù)

使用道具 舉報(bào)

地板
ID:94068 發(fā)表于 2017-5-24 17:45 | 只看該作者
原理圖跟程序?qū)?yīng)不起來呢
回復(fù)

使用道具 舉報(bào)

5#
ID:199814 發(fā)表于 2017-5-27 23:18 | 只看該作者
為什么用 protues 仿真 數(shù)碼全亮 888
回復(fù)

使用道具 舉報(bào)

6#
ID:206031 發(fā)表于 2017-5-30 12:19 | 只看該作者
不錯(cuò)
支持看看
回復(fù)

使用道具 舉報(bào)

7#
ID:208067 發(fā)表于 2017-6-6 21:31 | 只看該作者
666
回復(fù)

使用道具 舉報(bào)

8#
ID:159139 發(fā)表于 2017-6-8 07:48 來自觸屏版 | 只看該作者
學(xué)習(xí)學(xué)習(xí),謝謝樓主的分享。
回復(fù)

使用道具 舉報(bào)

9#
ID:84584 發(fā)表于 2017-6-25 15:25 | 只看該作者
想知可不可以接風(fēng)扇的PWM控制速度?
回復(fù)

使用道具 舉報(bào)

10#
ID:194014 發(fā)表于 2017-7-3 22:02 | 只看該作者
程序是能用的可惜差了一個(gè)熱釋電模塊不然就完美了
回復(fù)

使用道具 舉報(bào)

11#
ID:55655 發(fā)表于 2017-7-7 10:26 | 只看該作者
怎么才能掉電保存。謝謝
回復(fù)

使用道具 舉報(bào)

12#
ID:231084 發(fā)表于 2017-9-5 11:05 | 只看該作者
請(qǐng)問可以購買嗎?
回復(fù)

使用道具 舉報(bào)

13#
ID:244184 發(fā)表于 2017-11-6 14:18 | 只看該作者
有沒有硬件下載啊
回復(fù)

使用道具 舉報(bào)

14#
ID:148076 發(fā)表于 2017-11-23 14:03 | 只看該作者
感謝大佬分享
回復(fù)

使用道具 舉報(bào)

15#
ID:259857 發(fā)表于 2017-12-12 16:57 | 只看該作者
下載特別麻煩
回復(fù)

使用道具 舉報(bào)

16#
ID:262845 發(fā)表于 2017-12-26 10:24
下載不了上啊,

17#
ID:278181 發(fā)表于 2018-2-5 11:10 | 只看該作者
好的,學(xué)習(xí)一下。
回復(fù)

使用道具 舉報(bào)

18#
ID:238556 發(fā)表于 2018-3-5 16:15 | 只看該作者
不錯(cuò)的分享
回復(fù)

使用道具 舉報(bào)

19#
ID:234919 發(fā)表于 2018-3-5 20:05 | 只看該作者
6666
回復(fù)

使用道具 舉報(bào)

20#
ID:314946 發(fā)表于 2018-4-23 22:50 | 只看該作者
可以,有需要可以聯(lián)系我。QQ2509463554
回復(fù)

使用道具 舉報(bào)

21#
ID:315890 發(fā)表于 2018-4-25 08:12 | 只看該作者
誰可以把這個(gè)源程序完整的發(fā)給我參考一下嗎
回復(fù)

使用道具 舉報(bào)

22#
ID:317432 發(fā)表于 2018-4-27 10:37 | 只看該作者
cwsinglan 發(fā)表于 2017-6-25 15:25
想知可不可以接風(fēng)扇的PWM控制速度?

可以的,pid現(xiàn)在用得少 而且不好掌握 常用的就是pwm
回復(fù)

使用道具 舉報(bào)

23#
ID:264338 發(fā)表于 2018-4-27 20:03 | 只看該作者
不錯(cuò),我打算做一個(gè)。謝謝
回復(fù)

使用道具 舉報(bào)

24#
ID:218046 發(fā)表于 2018-5-6 10:01 | 只看該作者
資料很全,感謝樓主分享
回復(fù)

使用道具 舉報(bào)

25#
ID:304629 發(fā)表于 2018-6-7 08:55 | 只看該作者
感謝樓主,最近在做pid設(shè)計(jì),很好的資料!
回復(fù)

使用道具 舉報(bào)

26#
ID:348191 發(fā)表于 2018-6-9 14:27 | 只看該作者
哇哇哇樓主厲害了
回復(fù)

使用道具 舉報(bào)

27#
ID:348234 發(fā)表于 2018-6-9 15:34 來自觸屏版 | 只看該作者
感謝大佬分享
回復(fù)

使用道具 舉報(bào)

28#
ID:349194 發(fā)表于 2018-6-11 09:18 | 只看該作者
很棒,厲害
回復(fù)

使用道具 舉報(bào)

29#
ID:349552 發(fā)表于 2018-6-11 16:00 | 只看該作者
大佬求一個(gè)簡單的溫控風(fēng)扇程序。我是真的不知道咋做
回復(fù)

使用道具 舉報(bào)

30#
ID:349605 發(fā)表于 2018-6-11 16:43 | 只看該作者
很厲害 學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

31#
ID:349194 發(fā)表于 2018-6-17 13:40 | 只看該作者
為什么仿真顯示的一直是8888
回復(fù)

使用道具 舉報(bào)

32#
無效樓層,該帖已經(jīng)被刪除
33#
ID:370318 發(fā)表于 2018-8-16 10:51 | 只看該作者
真的不錯(cuò) 頂
回復(fù)

使用道具 舉報(bào)

34#
ID:380389 發(fā)表于 2018-8-20 06:28 來自觸屏版 | 只看該作者
謝謝樓主分享
回復(fù)

使用道具 舉報(bào)

35#
ID:243394 發(fā)表于 2018-8-27 13:55 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

36#
ID:392137 發(fā)表于 2018-9-4 13:54 | 只看該作者
可以把這個(gè)源程序完整的發(fā)給我學(xué)習(xí)一下嗎
回復(fù)

使用道具 舉報(bào)

37#
ID:432637 發(fā)表于 2018-11-24 22:45 | 只看該作者
很給力
回復(fù)

使用道具 舉報(bào)

38#
無效樓層,該帖已經(jīng)被刪除
39#
ID:433117 發(fā)表于 2018-11-27 18:07 | 只看該作者
單片機(jī)風(fēng)扇有很多,但這個(gè)真的不錯(cuò)
回復(fù)

使用道具 舉報(bào)

40#
ID:439691 發(fā)表于 2018-12-4 23:24 來自觸屏版 | 只看該作者
怎么下載
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
大地资源网3页在线观看| 日韩视频一区二区在线观看| 三区在线观看| 亚洲成人777777| 五月激情婷婷在线| 免费国产一区二区| 久久999免费视频| 在线看国产日韩| 99re视频精品| 日本不卡免费一区| 唐人社导航福利精品| 最新在线观看av网站| 日韩视频www| 久久一区二区三区视频| 99精品999| 热久久最新网址| 91免费版黄色| 久久久噜噜噜久久久| 欧美变态tickle挠乳网站| 国产精品视频在线看| 久久99热这里只有精品| 伊人久久大香线蕉精品组织观看| 日韩深夜福利网站| 国产在线观看av| 区一区二日本| 国产成人精品18| www三级免费| 国产一区二区99| 最新中文字幕av| 日本精品一区在线| 久久久久久久久久久视频| 欧美精品一区二区视频| 国产精品丝袜白浆摸在线| 精品国产美女在线| 精品国产自在久精品国产| 一本大道久久a久久精二百| 国产清纯美女被跳蛋高潮一区二区久久w| 亚洲欧美日本视频在线观看| 日本黄色精品| 激情久久免费视频| 成人免费公开视频| 毛片在线免费视频| 中文字幕亚洲欧美日韩| 中国老熟女重囗味hdxx| av免费中文字幕| 欧美少妇一区二区三区| 蜜桃传媒一区二区| 97人人模人人爽人人少妇| 欧美精品www| 日韩中文字幕欧美| 亚洲欧美国产视频| 精品国产一区二区三区忘忧草| 欧美性猛交xxxx久久久| 亚洲成人午夜影院| 向日葵视频成人app网址| 四虎影院观看视频在线观看| 超碰在线国产| 在线观看入口黄最新永久免费国产| 四虎免费av| www.色婷婷| 日日干夜夜爽| 免费看又色又爽又黄网站| 91在线资源| 自拍电影在线观看| 色猫视频免费观看| 老太做爰xxxx| eeuss影院www在线观看免费| 被陌生人带去卫生间啪到腿软 | 国产在线免费观看| 国产系列在线观看| 91精彩视频在线观看| www亚洲人| 男女啪啪在线观看| av在线播放国产| 国产探花在线观看| 国产精欧美一区二区三区蓝颜男同| 超碰在线99| 国产亚洲激情视频在线| 91福利视频导航| 亚洲天堂视频在线观看免费| 国内外成人免费视频| 成人免费视频网址| 亚洲最大的免费| 成人黄色在线免费观看| 国产视色精品亚洲一区二区| 九色综合日本| 亚洲国产一区二区在线| 一本色道婷婷久久欧美| 艳母动漫在线观看| 欧美国产日韩激情| 国产 porn| 麻豆精品国产传媒| 免费一级黄色录像| 黄色一级片在线| 圆产精品久久久久久久久久久| 九九九在线观看| 国产毛片一区二区三区va在线| 国产又粗又猛又爽又黄的| 神宫寺奈绪一区二区三区| 亚洲国产成人在人网站天堂| 在线看黄色网| 超碰在线电影| 国产理论在线观看| 成人不卡视频| 日韩理论电影中文字幕| 国产专区一区| 国产麻豆成人传媒免费观看| 国产亚洲欧美色| 亚洲国产成人av好男人在线观看| 欧美午夜片在线免费观看| 91精品在线免费| 中文字幕在线亚洲| 国产精品欧美日韩一区二区| 美女被啪啪一区二区| 激情五月婷婷六月| 一级片免费在线观看视频| 久久久精品人妻无码专区| 欧美日韩在线国产| 精品国产伦一区二区三| www.91| h视频在线看| 日本福利片高清在线观看| missav|免费高清av在线看| 91午夜精品| 国产综合自拍| 不卡欧美aaaaa| 婷婷成人综合网| 亚洲男子天堂网| 国产精品户外野外| 天堂av免费看| 在线中文字日产幕| 久久中文字幕免费| 国产黄色一级片| 酒色婷婷桃色成人免费av网| 日本精品网站| 亚洲成av人电影| 成人99免费视频| 欧美在线不卡一区| 九九精品在线视频| 日本成人三级电影网站| av免费一区二区| 久久精品久久精品久久| 中文字幕国语官网在线视频| 视频在线国产| 国产一区二区三区朝在线观看| 99久久99久久精品国产片桃花| 国产精品自拍一区| 日本福利一区二区| 久久免费高清视频| 手机在线视频你懂的| 91视频在线免费| 亚洲天堂中文字幕在线| 黄色免费电影网站| 日韩三级电影视频| 国产欧美一区二区精品久久久| 国产精品资源站在线| 在线视频综合导航| 久久久久亚洲精品| 日本免费黄色小视频| 性猛交ⅹxxx富婆video | 国产精品影视| 欧美二三四区| 亚洲黄色av| 亚洲免费av高清| 色偷偷av一区二区三区乱| 欧美伦理一区二区| 偷拍女澡堂一区二区三区| 午夜免费福利视频| 在线碰免费视频在线观看| 亚洲在线资源| 老色鬼精品视频在线观看播放| 精品国产乱码久久久久久天美 | 在线观看中文| 91精品一区二区三区综合| 中文在线资源观看网站视频免费不卡| 亚洲第一精品福利| 懂色中文一区二区三区在线视频| 欧美一级视频在线| 91久久国语露脸精品国产高跟| 日本中文字幕电影| 亚洲日本一区二区三区在线| 国产精品中文欧美| 精品少妇一区二区三区| 成人动漫在线视频| 少妇精品无码一区二区三区| a天堂视频在线| 少妇激情av一区二区| 偷拍视屏一区| 国产午夜三级一区二区三| 亚洲国产私拍精品国模在线观看| 国产精品久久久久久免费观看| wwwww在线观看| 天天操天天射天天| 香港伦理在线| 欧美激情在线| 精品久久中文字幕久久av| 538国产精品视频一区二区| 成人综合视频在线| 69xxxx国产| 丝袜+亚洲+另类+欧美+变态| 亚洲国产精品嫩草影院久久av| 久久亚洲综合色| 日韩在线资源网| 日本www在线视频| 中文字幕精品一区二| 亚洲无限乱码一二三四麻| 久久99青青| 亚洲最大的成人av| 国产日本欧美视频| 给我看免费高清在线观看| 欧美色欧美亚洲另类| 中文字幕在线官网| 国产麻豆精品在线| 中文字幕日韩av综合精品| 成人污网站在线观看| chinese国产精品| 肉丝一区二区| 日韩视频精品在线观看| 欧美精品黑人性xxxx| 久久精品国产美女| 久久国产精品波多野结衣| 男男视频在线观看网站| 国产一区二区在线| 精品久久久久久久久久久| 91香蕉亚洲精品| 亚洲一级片在线播放| 成人毛片高清视频观看| 全国精品免费看| 亚洲国产视频直播| 99伊人久久| 丁香花五月激情| 亚洲精品97久久久babes| 欧美日韩p片| 欧美岛国在线观看| 成人毛片100部免费看| 国产人妻精品一区二区三| 超碰在线观看免费版| 久久99精品一区二区三区| 国产一区二区三区免费视频| 1024精品视频| 亚洲精品一区中文字幕电影| 九九久久国产| 日韩毛片精品高清免费| 91青草视频久久| 国产乡下妇女做爰视频| 国内在线精品| 蜜芽一区二区三区| 久久影视电视剧免费网站清宫辞电视 | 亚洲成人av一区二区三区| 亚洲伊人久久大香线蕉av| 午夜黄色福利视频| 啦啦啦中文高清在线视频 | 男人天堂视频在线观看| 99久久99久久综合| 日韩av第一页| 精品一区二区在线观看视频| videoxxxx另类日本极品| 在线日韩av| 亚洲网站视频福利| www.久久com| 天天色天天上天天操| 欧美伊人久久| 亚洲欧美日韩爽爽影院| 999精彩视频| 你懂的网址视频| 欧美日本中文| 中文字幕精品在线视频| 日韩a一级欧美一级| 很黄很黄的网站免费的| 永久亚洲成a人片777777| 亚洲成**性毛茸茸| 孩娇小videos精品| 欧洲一级毛片| 亚洲每日在线| 久久99青青精品免费观看| 亚洲自拍偷拍一区二区| 在线免费视频你懂得| 国产三级精品三级在线观看国产| 日本精品视频一区二区| 免费国产成人看片在线| 亚洲三区在线观看无套内射| 成人香蕉社区| 日韩午夜激情视频| 日韩一区二区三区不卡视频| a级免费观看| 久久精品30| 777精品视频| 免费在线一级片| 不卡av免费观看| 一区二区三区日韩精品| 99视频精品全部免费看| 日韩精品免费一区二区| 久久国产综合| 最近中文字幕日韩精品| 欧美巨胸大乳hitomi| 18免费在线视频| 国产欧美一二三区| 日本视频精品一区| 中文字幕第五页| 国产精品av久久久久久麻豆网| 日韩一区二区福利| 五月天色婷婷丁香| 自拍偷拍亚洲视频| 色激情天天射综合网| 国产亚洲天堂网| 国产va在线观看| av在线不卡电影| 欧美精品一区二区三区在线看午夜 | www.国产二区| 免费大秀视频在线播放| 三级一区在线视频先锋 | 亚洲成人久久久久| 人妻在线日韩免费视频| 欧美尤物美女在线| 亚洲精品中文字幕乱码三区| 热久久最新地址| xxx电影网| 成人性视频免费网站| 国产伦精品一区| 欲求不满中文字幕| 99热在线精品观看| 国产aaa精品| 国产免费福利视频| 国产中文字幕一区二区三区| 自拍偷拍亚洲区| 精品爆乳一区二区三区无码av| 免费高清视频在线一区| 91精品国产乱| 国产jjizz一区二区三区视频| 牛牛在线精品视频| 日本二三区不卡| 亚洲欧美高清在线| 丁香影院在线| 欧美日韩国产精选| 中文字幕乱码在线| 91破解版在线观看| 日韩三级免费观看| 国产精品美女高潮无套| 黑人极品ⅴideos精品欧美棵| 在线观看亚洲一区| 污污免费在线观看| 韩国日本一区| 欧美日韩亚洲综合一区| 日本黄色网址大全| 一区二区三区电影大全| 欧美一区二区视频在线观看| 久久精品—区二区三区舞蹈| 日韩成人亚洲| 亚洲乱亚洲乱妇无码| 国产一区二区视频在线观看免费| 日韩一区二区三区四区五区| 亚洲欧美日韩精品久久亚洲区| 国产一级一片免费播放| 麻豆视频一区| 午夜精品三级视频福利| 日本黄色大片视频| 视频一区二区国产| 日本在线成人一区二区| jizzjizz中文| 日韩一区在线播放| 国产精品自在自线| 丝袜美腿一区| 中文字幕综合在线| 国产av一区二区三区| 亚洲国产黄色| 亚洲二区三区四区| 日韩黄色视屏| 亚洲风情在线资源站| 国产高清自拍视频| 国产精品国产三级在线观看| 久久精品免费播放| 成人毛片在线免费观看| 奇米色一区二区三区四区| 亚洲精品永久www嫩草| 污导航在线观看| 欧美色老头old∨ideo| 黄色激情小视频| 免费观看久久av| 91视频国产一区| 成年女人在线视频| 亚洲精品成人a在线观看| 黄色在线观看av| 国产精品流白浆在线观看| 欧洲中文字幕国产精品| 日本欧美色图| 中文无字幕一区二区三区| 老女人性生活视频| 欧美视频免费看| 欧美亚洲伦理www| 国产男女av| 国产精品理伦片| 自拍偷拍亚洲天堂| 网友自拍一区| 97se亚洲综合| 福利h视频在线| 欧美精品久久久久久久久老牛影院| 伊人国产在线观看| 国产亚洲网站| 日本中文字幕在线视频观看| 少女频道在线观看高清|