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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

基于51單片機(jī)超聲波水位液位控制系統(tǒng)LCD1602顯示資料 含設(shè)計(jì)論文 仿真 源碼等

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
本帖是基于51單片機(jī)超聲波水位液位控制系統(tǒng)LCD1602液晶顯示超全資料,附件里面包含有完整的設(shè)計(jì)論文.
功能說(shuō)明
1
、采用超聲波水位液位,速度快,精度高,精度1毫米。
2、按鍵設(shè)置設(shè)置報(bào)警高度,上限和下限。
3、LCD1602液晶顯示。
4、結(jié)構(gòu)簡(jiǎn)潔,穩(wěn)固,高效。

本系統(tǒng)采用USB電源供電,提供電源線,可以插到電腦、手機(jī)充電器、充電寶上供電,十分方便。
三、按鍵說(shuō)明
系統(tǒng)三個(gè)按鍵,從左往右風(fēng)別是,設(shè)置切換、加、減。






proteus仿真原理圖:


原理圖和pcb文件(附件里面包含工程文件)



附件里面還提供了大量關(guān)于單片機(jī)超聲波水位液位控制系統(tǒng)的相關(guān)論文:


元件清單:
元件
規(guī)格
序號(hào)
數(shù)量
電解電容
47uF
C1
1
瓷片電容
104
C2
1
瓷片電容
22pF
C3, C4
2
發(fā)光二極管
LED
D1, D2
2
電源接頭
PWR2.5
J1
1
開關(guān)
電源開關(guān)
L1
1
蜂鳴器
5V有源
LS1
1
1602液晶(帶座)
1602
P1
1
超聲波模塊
超聲波模塊
P2
1
下載器
程序下載接口
P3
1
三極管
8550
Q1,Q2
2
電阻
3K
R1
1
電阻
10K
R2
1
電阻
1K
R3
1
電阻
100
R4,R5
2
按鍵
6*6*6
S1, S2, S3, S4
4
51單片機(jī)(帶座)
STC89C51
U1
1
晶振
11.0592MHz
Y1
1
水泵
5V水泵
B1
1



產(chǎn)品功能和您要求不相符的,可以適當(dāng)修改,收取少量的費(fèi)用。
為方便客戶的使用和學(xué)習(xí),本產(chǎn)品提供四種套餐可以選擇,拍前請(qǐng)看好套餐,謝謝。
套餐一:萬(wàn)用板成品(萬(wàn)用板/洞洞板焊接制作+資料)
成品供電就可以用,不需要任何焊接調(diào)試。
套餐二:萬(wàn)用板散件(萬(wàn)用板/洞洞板散件全部元件+資料)
   購(gòu)買散件需要有一定的技術(shù)功底,基本的焊接,調(diào)試,萬(wàn)用表等工具的使用,購(gòu)買散件焊接調(diào)試不成功,可以有償維修。
套餐三:腐蝕板成品(單面腐蝕板/PCB板焊接制作+資料)
成品供電就可以用,不需要任何焊接調(diào)試。
套餐四:腐蝕板散件(單面腐蝕板/PCB板散件全部元件+資料)
   購(gòu)買散件需要有一定的技術(shù)功底,基本的焊接,調(diào)試,萬(wàn)用表等工具的使用,購(gòu)買散件焊接調(diào)試不成功,可以有償維修。

單片機(jī)源程序:
  1. #include<reg52.h>
  2. #include <intrins.h>
  3. #include "LCD1602.h"
  4. #include "STCEEPROM.h"
  5. sbit  RX = P3^6;  //定義超聲波端口
  6. sbit  TX = P3^7;

  7. sbit LED = P2^0;  //LED
  8. sbit SPEAK = P2^1; //蜂鳴器
  9. sbit Motor = P2^2; //水泵

  10. sbit KEY1 = P1^3;  //設(shè)置按鍵
  11. sbit KEY2 = P1^4;  //加按鍵
  12. sbit KEY3 = P1^5;  //減按鍵

  13. unsigned int  time=0;//計(jì)時(shí)變量
  14. unsigned int  timer=0;//計(jì)時(shí)變量
  15. unsigned int S=0;//當(dāng)前值
  16. unsigned int SET_H=100,SET_L=10;//最高值和最低值
  17. bit  flag =0; //測(cè)量標(biāo)志位
  18. unsigned char Table[3],Table1[5];//顯示數(shù)組
  19. unsigned char KEY_flag=0; //按鍵選擇標(biāo)志
  20. //延時(shí)函數(shù)
  21. void Delay_ms(int jj)  //延時(shí)函數(shù)
  22. {
  23.         int ii;        //延時(shí)變量
  24.         while(jj--)//延時(shí)n毫秒
  25.                 for(ii=0;ii<116;ii++);//延時(shí)1毫秒
  26. }
  27. void Conut(void)         //測(cè)量函數(shù)
  28.         {
  29.          time=TH0*256+TL0;         //距離計(jì)數(shù)
  30.          TH0=0;         //定時(shí)器清零
  31.          TL0=0;         //定時(shí)器清零
  32.         
  33.          S=(time*1.87)/10;     //算出來(lái)是CM、轉(zhuǎn)換
  34.          if((S>=700)||flag==1) //超出測(cè)量范圍顯示“-”
  35.          {         
  36.           flag=0; //數(shù)據(jù)無(wú)效標(biāo)志
  37.          }
  38.          else
  39.          {
  40.           Table1[0]= S/1000+0X30;        //顯示當(dāng)前值
  41.           Table1[1]= S/100%10+0X30;        //顯示當(dāng)前值
  42.           Table1[2]= S/10/10+0X30;        //顯示當(dāng)前值
  43.           Table1[3]= '.';                        //顯示當(dāng)前值
  44.           Table1[4]= S%10+0X30;           //顯示當(dāng)前值
  45.           LCD1602_Disp_ZF(0x88,Table1,5); //顯示當(dāng)前值
  46.         }
  47. }
  48. void main(void)        //主函數(shù)
  49. {
  50.     LCD1602_init();//液晶初始化
  51.         //////////////////////0123456789ABCDEF
  52.     LCD1602_Disp_ZF(0x80,"  Now S:     CM ",16);
  53.                                                      //0123456789ABCDEF
  54.     LCD1602_Disp_ZF(0x80+0X40,"Set H:    L:    ",16);
  55.         TMOD=0x11;                   //設(shè)T0為方式1,GATE=1;
  56.         TH0=0;                           //定時(shí)器清零
  57.         TL0=0;             //定時(shí)器清零
  58.         TH1=0xf8;                   //2MS定時(shí)
  59.         TL1=0x30;                   //2MS定時(shí)
  60.         ET0=1;             //允許T0中斷
  61.         ET1=1;                           //允許T1中斷
  62.         TR1=1;                           //開啟定時(shí)器
  63.         EA=1;                           //開啟總中斷
  64.         EA=0;//關(guān)閉中斷
  65.         SET_H = ISP_READ(0x2c00)*256+ISP_READ(0x2c01);//讀取存儲(chǔ)的最大值
  66.         SET_L = ISP_READ(0x2c02)*256+ISP_READ(0x2c03);//讀取存儲(chǔ)的最小值
  67.         EA=1; //開啟總中斷
  68.         while(1)//函數(shù)循環(huán)
  69.         {
  70.                 while(!RX);                    //當(dāng)RX為零時(shí)等待
  71.                 TR0=1;                            //開啟計(jì)數(shù)
  72.                 while(RX);                        //當(dāng)RX為1計(jì)數(shù)并等待
  73.                 TR0=0;                                //關(guān)閉計(jì)數(shù)
  74.                 Conut();  //計(jì)算顯示距離函數(shù)
  75.                 /////////////////////////////////////
  76.                 if((S/10>SET_H)||(S/10>SET_H)) //水位過(guò)低過(guò)高報(bào)警,
  77.                 {
  78.                         LED=0;SPEAK=0; //報(bào)警
  79.                 }
  80.                 else
  81.                 {
  82.                         LED=1;SPEAK=1; //不報(bào)警
  83.                 }
  84.                 ////////////////////////////////
  85.                 if((S/10>SET_H)) //水位過(guò)低打開水泵
  86.                 {
  87.                         Motor; //打開
  88.                 }
  89.                 else
  90.                 {
  91.                         LED=1;SPEAK=1; //關(guān)閉
  92.                 }        
  93.                 if(!KEY1) //切換設(shè)置最大值和最小值
  94.                 {
  95.                         Delay_ms(10);//延時(shí)去抖動(dòng)
  96.                         if(!KEY1)//切換設(shè)置最大值和最小值
  97.                         {
  98.                                 KEY_flag++;        //模式選擇
  99.                                 ISP_ERASE(0x2c00);                //注意:字節(jié)編程時(shí)必須要先要擦除整個(gè)扇區(qū)        
  100.                                 ISP_PROGRAM(0x2c00, SET_H/256);        //記憶存儲(chǔ)
  101.                                 ISP_PROGRAM(0x2c01, SET_H);//記憶存儲(chǔ)
  102.                                 ISP_PROGRAM(0x2c02, SET_L/256);//記憶存儲(chǔ)
  103.                                 ISP_PROGRAM(0x2c03, SET_L);        //記憶存儲(chǔ)
  104.                         }
  105.                         while(!KEY1);//等待按鍵抬起
  106.                 }
  107.                 if(!KEY2)//設(shè)置加
  108.                 {
  109.                         Delay_ms(10);//延時(shí)去抖動(dòng)
  110.                         if(!KEY2) //設(shè)置加
  111.                         {
  112.                                 if(KEY_flag%2==0)SET_H++; //設(shè)置加
  113.                                 if(KEY_flag%2==1)SET_L++; //設(shè)置加
  114.                         }
  115.                 }
  116.                 if(!KEY3) //設(shè)置減
  117.                 {
  118.                         Delay_ms(10);//延時(shí)去抖動(dòng)
  119.                         if(!KEY3) //設(shè)置減
  120.                         {
  121.                                 if(KEY_flag%2==0)SET_H--; //設(shè)置減
  122.                                 if(KEY_flag%2==1)SET_L--;//設(shè)置減
  123.                         }
  124.                 }
  125.           Table[0]= SET_H/100+0X30;//顯示最大值
  126.           Table[1]= SET_H%100/10+0X30;
  127.           Table[2]= SET_H%10+0X30;
  128.           LCD1602_Disp_ZF(0x86+0x40,Table,3);
  129.           Table[0]= SET_L/100+0X30;         //顯示最小值
  130.           Table[1]= SET_L%100/10+0X30;
  131.           Table[2]= SET_L%10+0X30;
  132.           LCD1602_Disp_ZF(0x8C+0x40,Table,3);
  133.         }
  134. }

  135. /********************************************************/
  136.      void zd0() interrupt 1                  //T0中斷用來(lái)計(jì)數(shù)器溢出,超過(guò)測(cè)距范圍
  137.   {
  138.     flag=1;                                                         //中斷溢出標(biāo)志
  139.   }
  140. /********************************************************/
  141.    void  zd3()  interrupt 3         
  142.   {
  143.          TH1=0xf8;//2毫秒定時(shí)初始化
  144.          TL1=0x30;//2毫秒定時(shí)初始化
  145.          timer++;//計(jì)數(shù)
  146.          if(timer>=100)//計(jì)數(shù)100次,200毫秒
  147.          {
  148.           timer=0;
  149.           TX=1;                                        //200MS  啟動(dòng)一次模塊

  150. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料打包下載(仿真 原理圖 pcb 源碼 論文):
基于51單片機(jī)超聲波水位液位控制系統(tǒng)LCD1602資料.zip (6.14 MB, 下載次數(shù): 1033)


評(píng)分

參與人數(shù) 7黑幣 +35 收起 理由
51lcx + 5 很給力!
refus + 3 回帖助人的獎(jiǎng)勵(lì)!
稀世琛寶 + 5 很給力!
心瘋揚(yáng) + 8 很給力!
GROW + 1
新人1 + 5 很給力!
lgjdqm + 8 贊一個(gè)!

查看全部評(píng)分

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

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2017-5-3 23:19 | 只看該作者
好資料,51黑有你更精彩
回復(fù)

使用道具 舉報(bào)

板凳
ID:89286 發(fā)表于 2017-5-4 15:23 | 只看該作者
thanks for sharing
回復(fù)

使用道具 舉報(bào)

地板
ID:201497 發(fā)表于 2017-5-16 19:07 | 只看該作者
感謝分享!
回復(fù)

使用道具 舉報(bào)

5#
ID:226077 發(fā)表于 2017-8-9 13:27 | 只看該作者
感覺(jué)不錯(cuò)
回復(fù)

使用道具 舉報(bào)

6#
ID:262281 發(fā)表于 2017-12-16 11:54 | 只看該作者
超聲波的想法很不錯(cuò),我的想法是用傳感器實(shí)現(xiàn),但沒(méi)這個(gè)好
回復(fù)

使用道具 舉報(bào)

7#
ID:61876 發(fā)表于 2017-12-16 16:16 | 只看該作者
果然是好貼 謝謝樓主!!!
回復(fù)

使用道具 舉報(bào)

8#
ID:264431 發(fā)表于 2017-12-20 20:36 | 只看該作者
這個(gè)是通過(guò)按鍵控制加減水還是自動(dòng)的?
回復(fù)

使用道具 舉報(bào)

9#
ID:264431 發(fā)表于 2017-12-20 20:38 | 只看該作者
此處水泵的作用是什么?
回復(fù)

使用道具 舉報(bào)

10#
ID:282091 發(fā)表于 2018-3-10 12:00 | 只看該作者
正是我須要的!收下了解!
回復(fù)

使用道具 舉報(bào)

11#
ID:273292 發(fā)表于 2018-3-22 08:53 | 只看該作者
我覺(jué)得以后可能會(huì)用到,哈哈
回復(fù)

使用道具 舉報(bào)

12#
ID:295949 發(fā)表于 2018-3-23 15:02 來(lái)自觸屏版 | 只看該作者
樓主好厲害 大神很多啊
回復(fù)

使用道具 舉報(bào)

13#
ID:295949 發(fā)表于 2018-3-25 19:51 來(lái)自觸屏版 | 只看該作者
這個(gè)比我在別的地方看到的好
回復(fù)

使用道具 舉報(bào)

14#
ID:311971 發(fā)表于 2018-4-19 20:59 | 只看該作者
感謝樓主分享  覺(jué)得有用
回復(fù)

使用道具 舉報(bào)

15#
ID:307869 發(fā)表于 2018-5-4 15:04 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

16#
ID:322804 發(fā)表于 2018-5-5 14:55 | 只看該作者
哈哈哈哈哈哈哈哈好厲害
回復(fù)

使用道具 舉報(bào)

17#
ID:329748 發(fā)表于 2018-5-14 17:05 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

18#
ID:321870 發(fā)表于 2018-5-19 15:03 | 只看該作者
謝謝樓主,幫到很多
回復(fù)

使用道具 舉報(bào)

19#
ID:104477 發(fā)表于 2018-6-26 23:47 來(lái)自觸屏版 | 只看該作者
程序是錯(cuò)誤的,過(guò)不了程序
回復(fù)

使用道具 舉報(bào)

20#
ID:104477 發(fā)表于 2018-6-28 04:34 來(lái)自觸屏版 | 只看該作者
一點(diǎn)都沒(méi),1062屏沒(méi)有定義使能,下載了,程序是錯(cuò)誤的,編譯一直不通過(guò)
回復(fù)

使用道具 舉報(bào)

21#
ID:303383 發(fā)表于 2018-6-28 07:21 | 只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
回復(fù)

使用道具 舉報(bào)

22#
ID:104477 發(fā)表于 2018-7-1 01:43 來(lái)自觸屏版 | 只看該作者
小貓貓愛(ài)吃魚 發(fā)表于 2018-6-28 07:21
要看好了,實(shí)驗(yàn)明白了,再做評(píng)論

實(shí)驗(yàn)過(guò)才評(píng)論的,編譯一直錯(cuò)誤,并且程序里沒(méi)有定義1602的RS.RW和E三個(gè)腳


---點(diǎn)評(píng)-----------------------------------------------
在這個(gè)文件里面LCD1602.H

#ifndef __LCD1602_H__
#define __LCD1602_H__

#include<reg52.h>

sbit LCD1602_RS = P1^0;
sbit LCD1602_RW = P1^1;
sbit LCD1602_E  = P1^2;
#define  LCD1602_Data  P0
回復(fù)

使用道具 舉報(bào)

23#
ID:322305 發(fā)表于 2018-7-7 12:12 | 只看該作者
好資料,51黑有你更精彩
回復(fù)

使用道具 舉報(bào)

24#
ID:369118 發(fā)表于 2018-7-12 09:28 | 只看該作者
好東西啊  謝謝分享
回復(fù)

使用道具 舉報(bào)

25#
ID:369118 發(fā)表于 2018-7-12 09:38 | 只看該作者
高人,技術(shù)帝,頂帖
回復(fù)

使用道具 舉報(bào)

26#
ID:280876 發(fā)表于 2018-7-13 16:15 | 只看該作者
你這個(gè)說(shuō)白了是超聲波測(cè)距吧。。
回復(fù)

使用道具 舉報(bào)

27#
ID:425510 發(fā)表于 2018-11-15 22:13 | 只看該作者
wushiye54 發(fā)表于 2018-7-13 16:15
你這個(gè)說(shuō)白了是超聲波測(cè)距吧。。

請(qǐng)問(wèn)你知道S=(time*1.87)/10;  這是怎么轉(zhuǎn)換計(jì)算的,而且現(xiàn)在液晶顯示屏顯示的S是傳感器到液位的距離,怎么填寫C語(yǔ)言轉(zhuǎn)換成為液位的液面高度。急急急
回復(fù)

使用道具 舉報(bào)

28#
ID:446045 發(fā)表于 2018-12-13 22:20 | 只看該作者
非常給力的樓主,對(duì)我目前的課程設(shè)計(jì)很有幫助。
回復(fù)

使用道具 舉報(bào)

29#
ID:260698 發(fā)表于 2019-1-8 12:28 | 只看該作者
你這都對(duì)不上的,pcb設(shè)置了四個(gè)按鍵,萬(wàn)用板用了三個(gè)按鍵。
回復(fù)

使用道具 舉報(bào)

30#
ID:488975 發(fā)表于 2019-4-5 11:24 | 只看該作者
給力哦!!!!
回復(fù)

使用道具 舉報(bào)

31#
ID:506025 發(fā)表于 2019-4-7 00:06 來(lái)自觸屏版 | 只看該作者
新人 搞不懂 碰上資料 先留個(gè)名再說(shuō)
回復(fù)

使用道具 舉報(bào)

32#
ID:259858 發(fā)表于 2019-5-16 09:29 | 只看該作者
學(xué)習(xí)一下,謝謝
回復(fù)

使用道具 舉報(bào)

33#
ID:541104 發(fā)表于 2019-5-19 21:03 | 只看該作者
真的太好了,正好需要。
回復(fù)

使用道具 舉報(bào)

34#
ID:457995 發(fā)表于 2019-12-11 15:33 | 只看該作者
很給力啊!!!
回復(fù)

使用道具 舉報(bào)

35#
ID:457995 發(fā)表于 2019-12-11 15:46 | 只看該作者
給力,很6666!!!!!
回復(fù)

使用道具 舉報(bào)

36#
ID:457995 發(fā)表于 2019-12-11 16:00 | 只看該作者
666很給力!!!!
回復(fù)

使用道具 舉報(bào)

37#
ID:348676 發(fā)表于 2019-12-11 16:26 | 只看該作者
好資料,51黑有你更精彩
回復(fù)

使用道具 舉報(bào)

38#
ID:309919 發(fā)表于 2020-5-9 17:11 | 只看該作者
好東西,收!
回復(fù)

使用道具 舉報(bào)

39#
ID:748312 發(fā)表于 2020-5-10 16:58 | 只看該作者
項(xiàng)目很好的,學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

40#
ID:769092 發(fā)表于 2020-6-4 09:04 | 只看該作者
能不能幫我修改一下,只需要水位顯示就好了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: av网站观看| 久久中文字幕一区 | 日本一卡精品视频免费 | 欧美视频一区二区三区 | 日韩激情视频一区 | 午夜男人天堂 | 在线免费毛片 | 最新中文字幕在线 | 毛片a级| 久久久久网站 | 91九色porny首页最多播放 | 久久国产区 | 麻豆久久久9性大片 | 中文字幕免费视频 | 日韩区| 国产欧美日韩精品在线观看 | 91精品中文字幕一区二区三区 | 福利一区二区在线 | 国产精品久久久久久久久久久久久久 | 成人久久久久久久久 | 午夜小视频免费观看 | 久久综合久久久 | 91精品久久久久久久久久入口 | 精品国产乱码久久久久久久久 | 天天色天天射天天干 | 国产精品国产精品 | 亚洲一区二区三区 | 不卡在线视频 | 中文字幕久久精品 | 国产精品网页 | 一区二区三区四区在线 | 91精品久久久久久久久中文字幕 | 毛片网站在线观看 | 久久国产视频网 | 色综合视频 | 免费在线观看91 | 国产欧美在线视频 | 国产伦精品一区二区三区四区视频 | 一区二区三区国产 | 黄色三级免费网站 | 久久精品中文字幕 |