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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3719|回復: 3
收起左側(cè)

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

[復制鏈接]
ID:94133 發(fā)表于 2017-11-7 20:03 | 顯示全部樓層 |閱讀模式
自己做的,不太完整。超聲波很準


所有資料51hei提供下載:
1號水情板.rar (321.52 KB, 下載次數(shù): 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的計數(shù)頻率,計數(shù)到5000為500ms
  30.         UltrasonicWave_Configuration();               //對超聲波模塊初始化
  31.         Adc_Init();
  32.         LCD_init();
  33.         LCD_Putstring(1,2,"水情檢測系統(tǒng)");
  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();                //開始測距,發(fā)送一個>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. }

復制代碼



回復

使用道具 舉報

ID:186936 發(fā)表于 2017-11-12 01:04 | 顯示全部樓層
借鑒借鑒
回復

使用道具 舉報

ID:252495 發(fā)表于 2017-11-22 22:53 | 顯示全部樓層
這個是什么意思啊
回復

使用道具 舉報

ID:252800 發(fā)表于 2017-11-23 19:28 | 顯示全部樓層
感謝樓主!
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线不卡视频 | 国产精品成人久久久久 | 亚洲一区二区三区视频 | 精品成人在线 | 91免费观看国产 | 一二三四在线视频观看社区 | 亚洲自拍偷拍视频 | 欧美日韩在线免费 | 久久久久久久久综合 | 日韩欧美在线一区二区 | 日韩精品亚洲专区在线观看 | 在线观看av网站永久 | 中文字幕在线一区二区三区 | 免费在线观看一区二区三区 | 国产精品1区 | 亚洲小视频在线观看 | 毛片久久久| 老牛嫩草一区二区三区av | 国产情侣在线看 | 国产高清一二三区 | 国产精品夜夜夜一区二区三区尤 | 一区欧美 | 香蕉一区 | 国产超碰人人爽人人做人人爱 | 亚洲欧美网站 | 欧美日韩电影一区二区 | 欧美精品一区在线 | 99视频免费看 | 春色av| 日本亚洲精品 | www.天天操.com | 国产成在线观看免费视频 | 久久一区视频 | av网站在线播放 | 在线看av网址 | 日韩免费福利视频 | 久视频在线观看 | 欧美成人h版在线观看 | 在线播放中文字幕 | 免费污视频 | 国产精品99久久久久久久久久久久 |