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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

2017年電賽水情題目程序 超聲波很準

[復制鏈接]
跳轉到指定樓層
樓主
ID:94133 發表于 2017-11-7 20:03 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
自己做的,不太完整。超聲波很準


所有資料51hei提供下載:
1號水情板.rar (321.52 KB, 下載次數: 26)

單片機源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "key.h"
  5. #include "usart.h"
  6. #include "exti.h"
  7. #include "timer.h"
  8. #include "UltrasonicWave.h"
  9. #include "lcd12864.h"
  10. #include "adc.h"
  11. extern float temp2;
  12. float temp3;
  13. int num1,num2,num3;
  14. ///////////////////////////////////***************************************************//////////////////////////////////////////////////////////
  15. u16 Wtemp,Wtemp1;
  16. float AD,AD1,ad1,PH,fPH,fU;
  17. u16 ph,U,u;
  18. /////////////////////////////////****************************************************///////////////////////////////////////////////////////////
  19. u16 i,j,n;
  20. void PHnum(void);
  21. int main(void)
  22. {
  23. // SystemInit();
  24.         delay_init(72);                  //延時初始化
  25.         NVIC_Configuration();
  26.         uart_init(9600);         //串口初始化
  27.         LED_Init();                            //LED端口初始化
  28.         KEY_Init();               //按鍵端口初始化
  29.         Timerx_Init(0xffff,71);   //10Khz的計數頻率,計數到5000為500ms
  30.         UltrasonicWave_Configuration();               //對超聲波模塊初始化
  31.         Adc_Init();
  32.         LCD_init();
  33.         LCD_Putstring(1,2,"水情檢測系統");
  34.         LCD_Putstring(3,1,"PH  :");
  35.         LCD_Putstring(3,2,"值");
  36.     LCD_Putstring(2,1,"水位:");
  37.     LCD_Putstring(4,1,"輸出電壓:");
  38.         LCD_Putstring(4,8,"V");
  39.         LCD_Putstring(2,6,"mm");
  40.         while(1)
  41.         {
  42.                
  43.          for(n=0;n<10;n++)
  44.          {
  45.                 Wtemp1=Get_Adc_Average(ADC_Channel_1,10);
  46.                 AD1=Wtemp1*3.3/4096;
  47.                 ad1=AD1*2;
  48.                 U=ad1;
  49.                 fU=ad1-U;
  50.                 u=(int)(fU*100);
  51.                 LCD_Setaddress(4,6);
  52.                 LCD_write_dat(0x30+U);
  53.                 LCD_write_dat(0x20+14);
  54.                 LCD_write_dat(0x30+u/10);
  55.                 LCD_write_dat(0x30+u%10);
  56.          }
  57.                 for(i=0;i<100;i++)
  58.                 {
  59.                         UltrasonicWave_StartMeasure();                //開始測距,發送一個>10us的脈沖,然后測量返回的高電平時間
  60.                         temp3=temp2;
  61.                         temp3=2540-temp3;
  62. //                        if((temp3>395)&&(temp3<448))
  63. //                        {
  64. //                                temp3=temp3+50;
  65. //                        }
  66. //                        if((temp3>1288)&&(temp3<1680))
  67. //                        {
  68. //                                temp3=temp3+43;
  69. //                        }
  70.                         num1=temp3;
  71.                         if(num1<0)num1=0;
  72.         //                 num2=(temp3-num1)*100;
  73.                         printf("JU %d\n",num1);
  74.                         LCD_Setaddress(2,4);
  75.                         //delay_ms(1000);               
  76.                         LCD_write_dat(0x30+(int)num1/1000);
  77.                         LCD_write_dat(0x30+(int)num1/100%10);
  78. //                        LCD_write_dat(0x20+14);
  79.                         LCD_write_dat(0x30+(int)num1/10%10);
  80. //                        LCD_write_dat(0x30+(int)num1%10);
  81.                 }
  82.                        
  83.         for(j=0;j<10;j++)
  84.         {               
  85.                         Wtemp=Get_Adc_Average(ADC_Channel_0,40);
  86.                         AD=Wtemp*3.3/4096+0.165;
  87.                          printf("PHad:%f\n",AD*2);
  88.                         AD=(int)(AD*1000);
  89.                         PHnum();              //PH值修正
  90.         //                temp2=2121-AD;
  91.         //                PH=temp2*0.0112721417096;
  92.                         ph=PH;
  93.                         fPH=(PH-ph)*100;
  94.                 printf("-----------PH:%f\n",PH);
  95.                         LCD_Setaddress(3,4);
  96.                         LCD_write_dat(0x30+ph);
  97.                         LCD_write_dat(0x20+14);
  98.                         LCD_write_dat(0x30+(int)fPH/10);

  99.                 }       
  100.        

  101.        
  102. }
  103. }


  104.   void PHnum()
  105. {
  106.                  if((2032.5<AD)&&(AD<2121)){ PH=(2121-AD)*0.0112994350282;}
  107.                 if((1942.5<AD)&&(AD<=2032.5)){ PH=1+(2032.5-AD)*0.0111111111111;}
  108.                 if((1854.9<AD)&&(AD<=1942.5)){ PH=2+(1942.5-AD)*0.0114155251141-0.128;}
  109.                 if((1766.25<AD)&&(AD<=1854.9)){ PH=3+(1854.9-AD)*0.0112803158488-0.151;}
  110.                 if((1677<AD)&&(AD<=1766.25)){ PH=4+(1766.25-AD)*0.0112044817927-0.05;}
  111.                 if((1588.75<AD)&&(AD<=1677)){ PH=5+(1677-AD)*0.0113314447592068+0.135;}
  112.                 if((1500<AD)&&(AD<=1588.75)){ PH=6+(1588.75-AD)*0.0112676056338028+0.278;}
  113.                 if((1411.25<AD)&&(AD<=1500)){ PH=7+(1500-AD)*0.0112676056338028-0.10;}       
  114.                 if((1323<AD)&&(AD<=1411.25)){ PH=8+(1411.25-AD)*0.0113314447592068;}
  115.                 if((1233.75<AD)&&(AD<=1323)){ PH=9+(1323-AD)*0.0112044817927;}       
  116. }

復制代碼



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

使用道具 舉報

地板
ID:252800 發表于 2017-11-23 19:28 | 只看該作者
感謝樓主!
回復

使用道具 舉報

板凳
ID:252495 發表于 2017-11-22 22:53 | 只看該作者
這個是什么意思啊
回復

使用道具 舉報

沙發
ID:186936 發表于 2017-11-12 01:04 | 只看該作者
借鑒借鑒
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本理论片好看理论片 | 日韩av三区 | 日韩一二三区视频 | 欧美福利 | 成人在线免费视频观看 | 国产视频一区二区在线观看 | 成人精品一区二区 | 国产精品爱久久久久久久 | 成人国产精品久久久 | 午夜免费看视频 | 一级做a爰片性色毛片16美国 | 欧美 日韩 亚洲91麻豆精品 | 亚洲成av人片在线观看无码 | 国产区在线观看 | 国产精品永久免费视频 | 欧美日韩在线精品 | 亚洲第一成年免费网站 | 艹逼网 | 久久久av| 97视频成人| 国产免费看 | 日日夜夜精品视频 | 中文在线一区二区 | 一区二区三区小视频 | 精品无码久久久久久久动漫 | 亚洲国产成人精品女人久久久 | 久久久久国产一区二区三区 | 免费av手机在线观看 | 久久国产精品一区二区 | 免费高潮视频95在线观看网站 | 国产欧美视频一区二区 | 久久久久久艹 | 中文字幕av一区二区三区 | 91久久网站 | 欧美一级淫片免费视频黄 | 99国产精品一区二区三区 | 国产一区二区三区在线 | 久久国产视频一区 | 亚洲人成人一区二区在线观看 | 亚洲国产福利视频 | 国产一区中文字幕 |