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

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

QQ登錄

只需一步,快速開(kāi)始

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

簡(jiǎn)易散熱風(fēng)扇控制器設(shè)計(jì)STC15F104e單片機(jī)+DS18B20+ULN2003A仿真和源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
stc15f104e+ds18b20+ULN2003A簡(jiǎn)易散熱風(fēng)扇控制器,壓縮包內(nèi)有用C51的仿真和原程序C。新手發(fā)帖,請(qǐng)多指教
下面是風(fēng)扇控制器的仿真原理圖:

F1 40度啟動(dòng)   F2  50度啟動(dòng)
F1 小于35度停止   F2 小于 45度停止
用8051仿真15F104E,用小燈泡代替小風(fēng)扇好看點(diǎn),因?yàn)轱L(fēng)扇停止太慢。


散熱風(fēng)扇控制器的單片機(jī)源程序:

  1. ///朱旭東2017年改 89c52rc 11.0592MHZ
  2. //+99.9~-9.9
  3. // 十位  個(gè)位  小數(shù)   小c   P0.0-P0.7 A-G點(diǎn),使用3位管時(shí)不用小C
  4. //#include<reg52.h>
  5. #include <intrins.h>
  6. #include <STC15Fxxxx.H>
  7. //code unsigned char seg7code[12]={0x3f,0x06,0x5b,0x4f,0x66,
  8.                               //  0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x61}; //顯示段碼0,1,2,3,4,5,6,7,8,9,-.C
  9. unsigned int tem;
  10. sbit led1=P3^4;
  11. sbit led=P3^5;
  12. sbit TMDAT =P3^2; //DS18B20的數(shù)據(jù)輸入/輸出腳DQ,根據(jù)情況設(shè)定
  13. sbit led2=P3^3;
  14. bit  fg=0;        //溫度正負(fù)標(biāo)志
  15. unsigned char k;

  16. //sbit w1=P1^0;
  17. //sbit w2=P1^1;
  18. //sbit w3=P1^2;
  19. //sbit w4=P1^3;

  20. void delay_us(unsigned char n)// STC15系列單片機(jī)延時(shí)1微秒@12MHZ
  21. {
  22.     while (n--)
  23.     {
  24.         _nop_();
  25.         _nop_();
  26.                 _nop_();
  27.                 _nop_();
  28.     }
  29. }        





  30. void Delay(unsigned int tc)     //顯示延時(shí)程序
  31. {while( tc != 0 )
  32.    {unsigned int i;
  33.     for(i=0; i<100; i++);
  34.     tc--;}
  35. }


  36.         
  37. void Init_DS18B20(void)        //發(fā)送復(fù)位
  38.   {                              
  39.   unsigned char i=0;
  40.   //TMDAT=0;   delay_us(240); delay_us(240);//168   for(i=0;i<103;i++); //370us
  41. // TMDAT = 1;delayus(46);//5  for(i=0;i<4;i++); // 16 us
  42. TMDAT = 1;          //DQ復(fù)位
  43. delay_us(80); //稍做延時(shí)
  44. TMDAT = 0;          //單片機(jī)將DQ拉低
  45. delay_us(240); //精確延時(shí) 大于 480us
  46. delay_us(240);
  47. TMDAT = 1;          //拉高總線
  48. delay_us(60);
  49. i=TMDAT;        
  50. delay_us(240);              //等待設(shè)備釋放數(shù)據(jù)線
  51. delay_us(180);

  52.   }   

  53.       
  54. unsigned char ReadOneChar(void){//讀一個(gè)字節(jié)
  55.         unsigned char i=0;
  56.         unsigned char dat = 0;
  57.         for (i=8;i>0;i--){
  58.         TMDAT  = 0; // 給脈沖信號(hào)
  59.                 dat>>=1;
  60.         TMDAT  = 1; // 給脈沖信號(hào)
  61.                 if(TMDAT ==1){
  62.                         dat|=0x80;
  63.                 }
  64.                 delay_us(60);
  65.         }
  66.         return(dat);
  67. }
  68.          
  69. void WriteOneChar(unsigned char dat)//寫(xiě)一個(gè)字節(jié)
  70. {        unsigned char i=0;
  71.         for (i=8; i>0; i--)
  72.         {
  73.                 TMDAT= 0;
  74.                 TMDAT = dat&0x01;
  75.                 delay_us(60);
  76.                 TMDAT = 1;
  77.                 dat>>=1;
  78.         }
  79. }


  80. unsigned int ReadTemperature(void)//讀取溫度
  81. {        unsigned char a=0;
  82.         unsigned char b=0;
  83.         unsigned int t=0;
  84.         float tt=0;
  85.         Init_DS18B20();
  86.         WriteOneChar(0xCC); // 跳過(guò)讀序號(hào)列號(hào)的操作
  87.         WriteOneChar(0x44); // 啟動(dòng)溫度轉(zhuǎn)換
  88.         Init_DS18B20();
  89.         WriteOneChar(0xCC); //跳過(guò)讀序號(hào)列號(hào)的操作
  90.         WriteOneChar(0xBE); //讀取溫度寄存器
  91.         a=ReadOneChar();  //讀低8位
  92.         b=ReadOneChar(); //讀高8位
  93.         t=b;
  94.         t<<=8;
  95.         t=t|a;

  96.    if(t<0x0fff)//前五位為0
  97.    fg=0;          //+溫度時(shí)的標(biāo)志
  98.     else
  99.       {fg=1;
  100.       t=~t+1*10-7;//得到真實(shí)溫度*10 ,為了顯示后一位小數(shù),-7使負(fù)誤差減小為0.1度
  101.            }  //-溫度時(shí)的標(biāo)志


  102.         tt=t*0.0625;
  103.         t= tt*10+0.5; //放大10倍輸出并四舍五入
  104.         tem=t;
  105.         return(t);
  106. }

  107. /*      
  108. void Led()
  109. {
  110.    if(fg==0)   //溫度為正時(shí)顯示的數(shù)據(jù)
  111.    {  
  112.     w1=w2=w3=w4=1;
  113.     w1=0;
  114.     P3=seg7code[tem%1000/100];//輸出十位數(shù)
  115.      Delay(15);      
  116.      w1=1;
  117.      w2=0;
  118.     P3=seg7code[tem%100/10]|0x80; //輸出個(gè)位和小數(shù)點(diǎn)
  119.      Delay(15);
  120.     w2=1;
  121.     w3=0;
  122.     P3=seg7code[tem%10];   //輸出小數(shù)點(diǎn)后第一位
  123.     Delay(15);
  124.     w3=1;
  125.      w4=0;
  126.     P3=seg7code[11];//輸出c
  127.     Delay(15);
  128.     w1=w2=w3=w4=1;
  129.    // P0=seg7code[xiaoshu2];       //輸出小數(shù)點(diǎn)后第二位
  130.    // Delay(4); P2=P2|0xf0;
  131.    }
  132.   

  133.   if(fg==1)  //溫度為負(fù)時(shí)顯示的數(shù)據(jù)
  134.    { w1=w2=w3=w4=1;
  135.    w1=0;
  136.     P3=seg7code[10];           //負(fù)號(hào)
  137.     Delay(15);  
  138.     w1=1;
  139.     w2=0;
  140.     P3=seg7code[tem%100/10]|0x80; //輸出個(gè)位數(shù)和小數(shù)點(diǎn)
  141.     Delay(15);
  142.     w2=1;
  143.     w3=0;
  144.    
  145.     P3=seg7code[tem%10];   //輸出小數(shù)第1位
  146.     Delay(15);
  147.     w3=1;
  148.     w4=0;
  149.    
  150.     P3=seg7code[11];//輸出c
  151.     Delay(15);
  152.    w1=w2=w3=w4=1;
  153.     //P0=seg7code[xiaoshu];       //輸出小數(shù)點(diǎn)后第一位
  154.    // Delay(4); P2=P2|0xf0;
  155.    }
  156. }
  157. */

  158. main()
  159. {fg=0;
  160.   led=0;
  161.   led1=0;
  162.    P3M0=0x00;
  163.    P3M1=0x00;//P3口推挽
  164.   // P1M0=0x00;
  165.   // P1M1=0x00;

  166.   while(1)
  167.    {
  168. for(k=0;k<100;k++)
  169. {Delay(15);
  170.     ReadTemperature();
  171.    // Led();
  172.     Delay(15);
  173.     if(tem>=400)//風(fēng)扇1啟動(dòng)溫度40
  174.      {led=1;
  175.         }
  176.     if(tem>=500)//風(fēng)扇2啟動(dòng)溫度50
  177.      {led1=1;
  178.         }


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

所有資料下載(含仿真與源碼):
1820帶溫度控制104e.rar (98.84 KB, 下載次數(shù): 94)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人妇女免费播放久久久 | 精品一二三区 | 日日夜夜免费精品视频 | 性国产xxxx乳高跟 | caoporn视频| 国产91av视频在线观看 | 天天操夜夜操 | 久久久久久久一区二区 | 视频在线一区二区 | 亚洲欧美另类在线 | 久久久久久黄 | 伊人欧美视频 | 中文在线a在线 | 毛片免费观看 | 不卡一区二区三区四区 | 国产精品.xx视频.xxtv | 久久久久久国产 | 国产精品免费福利 | 免费小视频在线观看 | 欧美极品在线 | 成人免费视频网站在线看 | 日本视频免费观看 | 日本成人在线播放 | 99国内精品久久久久久久 | 久国产精品 | 午夜电影网 | 久久福利网站 | 国产午夜精品一区二区三区四区 | 精品videossex高潮汇编 | 久久久久91 | 99视频在线免费观看 | 国产成人综合在线 | 色资源在线 | 国产精品a久久久久 | 免费成人毛片 | 91美女在线观看 | 欧美一区二区三区四区在线 | 国产精品欧美一区喷水 | 超碰人人人 | 国产中文字幕在线 | 亚洲精品一区国语对白 |