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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于51單片機(jī)的智能散熱系統(tǒng)設(shè)計(jì) PWM+1602液晶顯示

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:380534 發(fā)表于 2018-11-9 11:08 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
智能散熱系統(tǒng)設(shè)計(jì)
1.1設(shè)計(jì)目的
        本設(shè)計(jì)是為了幫助學(xué)生掌握單片機(jī)I/O口、中斷等功能部件及直流電機(jī)等一些常見外圍設(shè)備的使用,建立綜合應(yīng)用編程的基本能力,訓(xùn)練學(xué)生綜合運(yùn)用所學(xué)知識(shí)解決實(shí)際問題而創(chuàng)建較完整的簡單應(yīng)用程序的獨(dú)立編程能力。
1.2設(shè)計(jì)要求
基本要求:系統(tǒng)能采集當(dāng)前環(huán)境溫度,當(dāng)溫度達(dá)到一定值時(shí)觸發(fā)直流風(fēng)扇的轉(zhuǎn)動(dòng)進(jìn)行主動(dòng)散熱,而且隨著溫度的變化,散熱風(fēng)扇的轉(zhuǎn)速有明顯區(qū)別,達(dá)到溫度高風(fēng)力強(qiáng),溫度低風(fēng)力弱的效果。要求溫度值可以顯示。
擴(kuò)展部分:可以設(shè)計(jì)三檔風(fēng)力及對(duì)應(yīng)的觸發(fā)條件。
1.3學(xué)習(xí)要點(diǎn)
l 單片機(jī)I/O使用
l PWM脈寬調(diào)制
l 中斷
l 定時(shí)器控制

單片機(jī)源程序如下:
  1. #include"temp.h"
  2. #include"lcd.h"


  3. //數(shù)碼管位選段選:

  4. unsigned char code weixuan[8] = {
  5. 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//位選控制  
  6. unsigned char code gyduanxuan[17] = {
  7. 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
  8. 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
  9. //0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的顯示碼

  10. unsigned char LCDtemp[6];

  11. sbit beep=P3^0;                 //  P3^5 不能用,會(huì)高低電平一直變換,問老師。
  12. unsigned int value;      //矩陣鍵盤的鍵值
  13. int temp;                 //定義溫度
  14. unsigned int biaozhi;         //定義控制標(biāo)志
  15. unsigned int RTdata;         //定義串口數(shù)據(jù)
  16. sbit fengshan=P2^4;

  17. void xianxiang();
  18. void JZjianpan(void);
  19. void zhongduanInit();
  20. void LCDxianshi();
  21. void chuli();

  22. void main()                                       
  23. {
  24.         unsigned int yanshiCS;
  25.         zhongduanInit();
  26.         biaozhi=0;
  27.         temp=0;
  28.         fengshan=0;
  29.         Delay(50);
  30.         LcdInit();       
  31.         while(1)
  32.         {
  33.                
  34.                 if(biaozhi==0)
  35.                 {
  36.                         temp=Ds18b20ReadTemp();
  37.                         xianxiang();
  38.                         LCDxianshi();
  39.                         chuli();
  40.                         Delay(1);
  41.                 }
  42.                 if(biaozhi==4)
  43.                 {
  44.                        
  45.                         for(yanshiCS=500;yanshiCS>0;yanshiCS--)
  46.                         {
  47.                                 switch(RTdata)
  48.                              {
  49.                                         case('1'):temp=400;break;          //25度
  50.                                         case('2'):temp=480;break;          //30度
  51.                                         case('3'):temp=560;break;          //35度                                                                                                                                                                       
  52.                             }               
  53.                                 xianxiang();
  54.                                 LCDxianshi();
  55.                                 chuli();
  56.                                 Delay(1);
  57.                         }
  58.                         biaozhi=0;
  59.                 }
  60.         }

  61. }


  62. void xianxiang()
  63. {
  64.         float tp;
  65.         if(temp<0)
  66.         {
  67.                 temp--;
  68.                 temp=~temp;
  69.                 tp=temp;
  70.                 temp=tp*0.0625*100+0.5;
  71.                 P0=0x40;
  72.                 LcdWriteCom(0x80);
  73.                 LcdWriteData('-');
  74.         }
  75.         else
  76.         {
  77.                 tp=temp;
  78.                 temp=tp*0.0625*100+0.5;
  79.                 LcdWriteCom(0x80);
  80.                 LcdWriteData('+');
  81.                 Delay(1);
  82.         }
  83.         LCDtemp[0]=temp/10000;
  84.         LCDtemp[1]=temp%10000/1000;
  85.         LCDtemp[2]=(temp%1000/100);
  86.         LCDtemp[3]=('.');
  87.         LCDtemp[4]=temp%100/10;
  88.         LCDtemp[5]=temp%10;               
  89. }


  90. void LCDxianshi()
  91. {
  92.         LcdWriteCom(0x81);
  93.         LcdWriteData('0'+LCDtemp[0]);
  94.         LcdWriteCom(0x82);
  95.         LcdWriteData('0'+LCDtemp[1]);
  96.         LcdWriteCom(0x83);
  97.         LcdWriteData('0'+LCDtemp[2]);
  98.         LcdWriteCom(0x84);
  99.         LcdWriteData(LCDtemp[3]);
  100.         LcdWriteCom(0x85);
  101.         LcdWriteData('0'+LCDtemp[4]);
  102.         LcdWriteCom(0x86);
  103.         LcdWriteData('0'+LCDtemp[5]);
  104.         LcdWriteCom(0x87);
  105.         LcdWriteData('C');       
  106. }
  107. void chuli()
  108. {
  109.         int a=1;
  110.         int q;
  111.         while((temp>=2800)&&(temp<2900)&&a)
  112.                 {       
  113.                         fengshan=1;
  114.                         Delay(30);
  115.                         for(q=0;q<500;q++)
  116.                         {
  117.                                 beep=~beep;
  118.                                 Delay(1);       
  119.                         }
  120.                         a=0;       
  121.                 }
  122.                 fengshan=0;
  123.                 a=1;
  124.                 while((temp>=2900)&&(temp<3000)&&a)
  125.                 {       
  126.                         fengshan=1;
  127.                         Delay(60);
  128.                         for(q=0;q<500;q++)
  129.                         {
  130.                                 beep=~beep;
  131.                                 Delay(1);       
  132.                         }
  133.                         a=0;
  134.                        
  135.                 }
  136.                 fengshan=0;
  137.                 a=1;
  138.                 while((temp>=3000)&&(temp<4000)&&a)
  139.                 {       
  140.                         fengshan=1;
  141.                         Delay(120);
  142.                         for(q=0;q<500;q++)
  143.                         {
  144.                                 beep=~beep;
  145.                                 Delay(1);       
  146.                         }
  147.                         a=0;
  148.                 }
  149.                 fengshan=0;
  150. }



  151. void zhongduanInit()
  152. {
  153.         SCON=0X50;
  154.         PCON=0X80;
  155.         TMOD=0X20;
  156.         TH1=0XF3;
  157.         TL1=0XF3;
  158.         ES=1;
  159.         EA=1;
  160.         TR1=1;
  161. }


  162. void chuankou() interrupt 4
  163. {       
  164.         biaozhi=4;
  165.         RTdata=SBUF;       
  166.         RI=0;
  167.         SBUF=RTdata;
  168.         while(!TI);
  169.         TI=0;               
  170. }
復(fù)制代碼

所有資料51hei提供下載:
散熱器—液晶1602顯示 串口.rar (49.56 KB, 下載次數(shù): 38)



評(píng)分

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

查看全部評(píng)分

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

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:380534 發(fā)表于 2018-11-9 11:10 | 只看該作者
分享學(xué)習(xí)51的時(shí)候做的課設(shè) ,當(dāng)時(shí)的滿分作品。 雖然現(xiàn)在看起來有些稚嫩,但對(duì)于只學(xué)過51的同學(xué)來說是一份很不錯(cuò)的51實(shí)例,可以從中學(xué)到不少東西
回復(fù)

使用道具 舉報(bào)

板凳
ID:423645 發(fā)表于 2018-11-9 16:09 | 只看該作者
剛剛開始學(xué),希望以后可以看懂
回復(fù)

使用道具 舉報(bào)

地板
ID:428727 發(fā)表于 2018-11-18 18:31 | 只看該作者
請問有這個(gè)的仿真圖嗎
回復(fù)

使用道具 舉報(bào)

5#
ID:309707 發(fā)表于 2018-11-26 19:33 | 只看該作者
并沒有仿真圖啊
回復(fù)

使用道具 舉報(bào)

6#
ID:400074 發(fā)表于 2018-11-27 07:14 | 只看該作者
學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品麻豆剧传媒av国产九九九 | 成人欧美一区二区三区黑人孕妇 | 黑人巨大精品 | 国产精品久久影院 | 久久福利电影 | 国产精品18毛片一区二区 | 亚洲精品一区av在线播放 | 国产精品美女久久久久久不卡 | 国产在线观看一区二区 | www.久久| 一级做a爰片性色毛片视频停止 | 国产sm主人调教女m视频 | 精品一区二区三区电影 | 蜜桃av鲁一鲁一鲁一鲁 | 欧美视频区 | 欧美成人高清视频 | 欧美嘿咻| 青青草久久 | 亚洲综合字幕 | 91国在线高清视频 | 在线观看中文字幕视频 | 亚洲精品久久久久avwww潮水 | 精品欧美一区二区在线观看 | 91豆花视频 | 国产免费视频在线 | 亚洲精品电影在线观看 | 91九色porny首页最多播放 | 精品乱码一区二区三四区视频 | 一区二区在线不卡 | 国产在线精品一区二区三区 | 久久美国| 一级黄色夫妻生活 | 欧美黑人巨大videos精品 | 国产精品九九视频 | 在线永久看片免费的视频 | 精品少妇一区二区三区日产乱码 | 91精品国产一区二区三区 | 国产精品久久久久久亚洲调教 | 国产电影一区二区三区爱妃记 | 亚洲精品亚洲人成人网 | 亚洲精品一区在线 |