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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3708|回復: 1
打印 上一主題 下一主題
收起左側

單片機+ADC0832電爐絲控制程序+Proteus仿真

[復制鏈接]
跳轉到指定樓層
樓主
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #include <math.h>    //Keil library
  4. #include <stdio.h>         //Keil library
  5. #include "lcd.h"
  6. //#include "DHT111.h"
  7. //#include "DS18B20.h"
  8. #include "ADC0832.h"

  9. #define uchar unsigned char

  10. sbit pwm_out =P1^5;
  11. sbit k1 =P2^3;
  12. sbit k2 =P2^4;

  13. sbit key1 =P3^4;
  14. sbit key2 =P3^5;
  15. sbit key3 =P3^6;
  16. sbit key4 =P3^7;
  17. ////延時函數
  18. void delay(int z)                //z為毫秒數
  19. {
  20.         int x,y;
  21.         for(x=z;x>0;x--)
  22.                 for(y=125;y>0;y--);
  23. }

  24. void delay_us(unsigned int z)                //z為毫秒數
  25. {
  26.         TH1=0X00;
  27.         TL1=0X00;
  28.         TR1=1;
  29.         while((256*TH1+TL1)<z);
  30.   TR1=0;
  31. }

  32. unsigned int tim0_cnt=0;// init=1000,
  33. float zhankong=0.5;

  34. void timer0()interrupt 3{
  35.         
  36. //          tim0_cnt++;
  37. //        if(tim0_cnt>=100) tim0_cnt=0;
  38. //        
  39. //        if(tim0_cnt%2==0)
  40. //        {
  41. //                 pwm_out=0;
  42. //                init=20000;//(int)(zhankong*50000);
  43. //          TH0 = (65536 - init) / 256;
  44. //                TL0 = (65536 - init) % 256;
  45. //        }
  46. //        else
  47. //        {
  48. //                 pwm_out=1;
  49. //                init=30000;//(int)(50000-zhankong*50000);
  50. //          TH0 = (65536 - init) / 256;
  51. //                TL0 = (65536 - init) % 256;
  52. //  }
  53. }

  54. /***********************************************************************************************************************************************************/
  55. //主函數

  56. char set[]="set:",now[]="now:";

  57. void main()
  58. {
  59.         unsigned int cnt=0;
  60.         //value humi_val,temp_val;                //定義兩個共同體,一個用于濕度,一個用于溫度
  61.         float voltage=0,set_voltage=20.0;
  62. ////        float dew_point;                            //用于記錄露點值
  63. //        unsigned char error;                    //用于檢驗是否出現錯誤
  64. //        unsigned char checksum;                        //CRC                        
  65. //        uchar TEMP1[5];                                         //用于記錄溫度
  66. //        uchar HUMI1[5];                                         //用于記錄濕度
  67.         unsigned char set_temp=20,i;
  68.                 LcdInit();               
  69.         for(i=0;i<4;i++)
  70.         {
  71.         LcdWriteCom(0x80+i);
  72.         LcdWriteData(set[i]);        
  73.         }        
  74.                 for(i=0;i<4;i++)
  75.         {
  76.         LcdWriteCom(0x80+0x40+i);
  77.         LcdWriteData(now[i]);        
  78.         }        
  79.         //LCD_Initial();                                           //初始化液晶                  
  80. //           GotoXY(0,0);                                           //選擇溫度顯示位置
  81. //           Print("NOW:      C");                           //5格空格
  82. //         GotoXY(0,1);                                           //選擇濕度顯示位置
  83. //           Print("SET:      C");                           //5格空格
  84.         
  85.         //s_connectionreset();                           //啟動連接復位
  86.          // Init_DS18B20();
  87.            TMOD=0x10;
  88. //          TH0 = (65536 - 50000) / 256;
  89. //                TL0 = (65536 - 50000) % 256;
  90.                 TL1=0X00;
  91.                 TH1=0X00;
  92. //        ET0=1;
  93.           EA=0;
  94.         TR0=0;
  95.         TR1=0;
  96.         
  97.         while(1)
  98.         {
  99.                 cnt++;
  100.                 if(key1==0) { delay(200); if(key1==0) if(set_voltage<99)set_voltage++;}
  101.                 if(key2==0) { delay(200); if(key2==0) if(set_voltage>0)set_voltage--;}
  102.                 if(key3==0) { delay(200); if(key3==0) if(set_voltage<99)set_voltage=set_voltage+0.1;}
  103.                 if(key4==0) { delay(200); if(key4==0) if(set_voltage>1)set_voltage=set_voltage-0.1;}
  104.                
  105.                 voltage =(float)read0832();
  106.                 voltage = 5.0 * voltage/256;
  107.                 voltage=20*voltage;
  108.                
  109.                 if(voltage<=set_voltage){k1=1;k2=0;}
  110.           else if(voltage>set_voltage){k1=0;k2=1;}  //
  111.                                        
  112.                                 //set_voltage=humi_val.f/10;
  113.                         //        if(set_voltage>4.1)set_voltage=4.1;
  114.                                 
  115.                    if(cnt>=10){cnt=0; LCD_display(set_voltage, voltage);}
  116.                                 //temp=(int)(voltage*100);  
  117.                         delay(10);                             //等待足夠長的時間,以進行下一次轉換      
  118.                 }
  119.             
  120.         }
復制代碼

所有資料51hei提供下載:
電爐絲控制.zip (163.08 KB, 下載次數: 66)


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

使用道具 舉報

沙發
ID:751513 發表于 2020-5-14 11:02 | 只看該作者
很有用的資料
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久草视频在 | 中文字幕在线欧美 | 欧美成人h版在线观看 | 91精品国产91久久久久久最新 | 国产探花在线观看视频 | 欧美在线视频a | 夜夜av | 日日天天 | 久草免费在线视频 | 中文字幕在线剧情 | 99九九久久 | 97超碰站 | 一级黄a| 高清国产午夜精品久久久久久 | 亚洲综合在线视频 | 偷拍自拍网站 | 91亚洲一区 | 中文字幕 在线观看 | 夜久久| 玖玖视频免费 | 成人欧美一区二区三区在线观看 | 日韩一级 | 一级黄色毛片免费 | 成人片免费看 | 久久国产精品久久久久久久久久 | 午夜精品一区二区三区在线观看 | 81精品国产乱码久久久久久 | 精品国产一区二区国模嫣然 | 天天操夜夜拍 | 亚洲综合视频 | 国产午夜高清 | 成人精品一区 | 精品国产1区2区3区 一区二区手机在线 | 在线观看不卡av | 久久免费香蕉视频 | 国产精品99视频 | 久久天天 | 午夜a级理论片915影院 | 日韩在线免费 | 国产精品视频在线免费观看 | 在线三级电影 |