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

標題: 溫控系統 [打印本頁]

作者: happy112    時間: 2016-6-4 18:44
標題: 溫控系統
原代碼:
  1. #include<reg51.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義
  2. #include<stdio.h>
  3. #include "LCD12864.h"
  4. #include "18b20.h"
  5. #include "delay.h"

  6. uint count1=70,count2=35;
  7. unsigned char moshicount=1;
  8. unsigned char GNcount=0;
  9. sbit moshi=P1^4;
  10. sbit INC=P1^5;
  11. sbit DEC=P1^6;
  12. sbit gongneng=P1^7;
  13. sbit K1=P1^1;
  14. //閥值設置函數   
  15. void shezhi()
  16. {

  17.    
  18.     moshi=1;
  19.     gongneng=1;
  20.     if(moshi==0)
  21.     {
  22.         DelayMs(10);
  23.         while(moshi==0);
  24.         moshicount++;
  25.     }
  26.     if(gongneng==0)
  27.     {
  28.         DelayMs(10);
  29.         while(gongneng==0);
  30.         GNcount++;
  31.         if(GNcount==3)
  32.             GNcount=0;
  33.     }
  34.     switch(moshicount)
  35.     {
  36.         case 1:
  37.         {
  38.             INC=1;DEC=1;
  39.             if(INC==0)
  40.             {
  41.                 DelayMs(10);
  42.                 while(INC==0);
  43.                 count1++;
  44.             }
  45.             else if(DEC==0)
  46.             {
  47.                 DelayMs(10);
  48.                 while(DEC==0);
  49.                 count1--;
  50.             }
  51.          
  52.         }break;
  53.         case 2:
  54.         {
  55.             
  56.             INC=1;DEC=1;
  57.             if(INC==0)
  58.             {
  59.                 DelayMs(10);
  60.                 while(INC==0);
  61.                 count2++;
  62.             }
  63.             else if(DEC==0)
  64.             {
  65.                 DelayMs(10);
  66.                 while(DEC==0);
  67.                 count2--;
  68.             }
  69.          
  70.         }break;
  71.         case 3:
  72.         {
  73.             moshicount=0;
  74.             
  75.         }break;
  76.     default :break;
  77.     }
  78.    
  79. }



  80. void InitTimer0(void)//定時計數器0初始化
  81. {
  82.     TMOD = 0x01;
  83.     TH0 = 0x0D8;
  84.     TL0 = 0x0F0;
  85.     EA = 1;
  86.     ET0 = 1;
  87.     TR0 = 1;
  88. }



  89. void Timer0Interrupt(void) interrupt 1//定時計數器0中斷服務
  90. {
  91.     TH0 = 0x0D8;
  92.     TL0 = 0x0F0;
  93.     shezhi();
  94.    
  95. }

  96. /*------------------------------------------------
  97.               串口通訊初始化
  98. ------------------------------------------------*/
  99. void UART_Init(void)
  100. {
  101.     SCON  = 0x50;               // SCON: 模式 1, 8-bit UART, 使能接收  
  102.     TMOD |= 0x20;               // TMOD: timer 1, mode 2, 8-bit 重裝
  103.     TH1   = 0xFD;               // TH1:  重裝值 9600 波特率 晶振 11.0592MHz  
  104.     TR1   = 1;                  // TR1:  timer 1 打開                        
  105.     //EA    = 1;                  //打開總中斷
  106.     //ES    = 1;                  //打開串口中斷
  107.     TI =1;
  108. }

  109. void main(void)
  110. {
  111. unsigned int TempH,TempL,temp;
  112. double temperature;
  113. uchar displaytemp[16];//定義顯示區域臨時存儲數組
  114. InitTimer0();
  115. lcd_init();
  116. UART_Init();
  117. DelayMs(10);          //延時有助于穩定
  118. while(1)
  119. {
  120.   temp=ReadTemperature();
  121.   temperature=(double)temp*0.0625;
  122.   if(temp&0x8000)
  123.      {
  124.      temp=~temp;  // 取反加1
  125.      temp +=1;
  126.      }
  127.   else
  128.      TempH=temp>>4;
  129.      TempL=temp&0x0F;
  130.      TempL=TempL*6/10;//小數近似處理
  131.      printf("%d.%d\n",TempH,TempL);
  132.   
  133.   sprintf(displaytemp,"溫度: %7.3f *C",temperature);//打印溫度值(%7.3fbiaoshi)
  134.   lcd_char(1,0,16,displaytemp);
  135.   if(moshicount!=0)
  136.     {
  137.     sprintf(displaytemp,"最高溫度:%3d  *C",count1);
  138.     lcd_char(2,0,16,displaytemp);
  139.     sprintf(displaytemp,"最低溫度:%3d  *C",count2);
  140.     lcd_char(3,0,16,displaytemp);   
  141.    }
  142.    
  143.     if(GNcount==0)
  144.         {   
  145.             uchar c[16]="功能選擇: 關閉  ";
  146.             lcd_char(4,0,16,c);
  147.         }
  148.     if(GNcount==1)  
  149.         {
  150.             uchar c[16]="功能選擇: 保溫  ";
  151.             lcd_char(4,0,16,c);
  152.             K1=1;
  153.         
  154.         }
  155.     if(GNcount==2)  
  156.         {
  157.             uchar c[16]="功能選擇: 加熱  ";
  158.             lcd_char(4,0,16,c);
  159.             K1=1;
  160.         }

  161. }
  162. }
復制代碼



全部資料(壓縮包)下載
溫控系統.rar (175.67 KB, 下載次數: 46)


作者: dzljp    時間: 2016-6-5 02:17
共享資料的黑幣獎勵!
作者: 騰飛的龍    時間: 2016-6-6 10:49
樓主12864顯示用的是串口顯示啊!
作者: MeMine    時間: 2016-6-16 16:16
看看  正需要
作者: MeMine    時間: 2016-6-16 16:17
打不開仿真軟件




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 看一级毛片 | 久久久久久免费毛片精品 | 国产一区二区精品 | 一区二区三区高清在线观看 | 国产精品1区2区 | 久草中文在线观看 | 小视频你懂得 | 成人av一区二区亚洲精 | 亚洲一区电影 | 人人做人人澡人人爽欧美 | 欧洲av一区 | 欧美日韩视频 | 在线亚洲免费视频 | 国产精品一区二区三区久久久 | 亚洲高清视频一区二区 | 三级在线视频 | 无毛av | 91精品国产乱码久久久 | 国产精品不卡视频 | 国产精品久久久爽爽爽麻豆色哟哟 | 欧美日韩国产一区二区三区 | 成人国产精品免费观看 | 黄色国产视频 | 国产精品91视频 | 精品国产视频 | 免费国产一区 | 在线成人一区 | 另类视频区 | 久草青青草| 国产精品亚洲精品日韩已方 | 欧美一级欧美一级在线播放 | 欧美久久久久久 | 99福利视频| 久久小视频 | 精精精精xxxx免费视频 | 久久69精品久久久久久久电影好 | 成人免费一区二区三区视频网站 | 亚洲在线一区二区 | 欧美一级免费 | 亚洲精品一区二区三区中文字幕 | 日本久久www成人免 成人久久久久 |