基于51單片機(jī)超聲波測(cè)量報(bào)警LCD1602顯示( proteus仿真+程序+設(shè)計(jì)報(bào)告+講解視頻)
仿真圖proteus8.15(有低版本)
程序編譯器:keil 4/keil 5
編程語言:C語言
設(shè)計(jì)編號(hào):P20
1. 主要功能:
基于51單片機(jī)的超聲波測(cè)距報(bào)警設(shè)計(jì)
具體功能
1、51單片機(jī)驅(qū)動(dòng)超聲波模塊HC-SR04獲取超聲波測(cè)試距離,帶有超聲波精度溫度補(bǔ)償;
2、LCD1602液晶顯示測(cè)量的距離和溫度;
3、可以通過按鍵設(shè)置距離報(bào)警上下限值;
按鍵功能有:距離加鍵,距離減鍵,距離設(shè)置鍵。
4、超過設(shè)定的報(bào)警上下限值則開始蜂鳴器報(bào)警。
(目前僅完全適配普中51-實(shí)驗(yàn)板234,其他普中開發(fā)板型號(hào)可能需要做代碼修改或額外接線)
需注意仿真中51單片機(jī)芯片是兼容的,AT89C51,AT89C52是51單片機(jī)的具體型號(hào),內(nèi)核是一樣的。相同的原理圖里,無論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,芯片可以替換為STC89C52/STC89C51/AT89C52/AT89C51等51單片機(jī)芯片。
以下為本設(shè)計(jì)資料展示圖:
2. 講解視頻:
講解視頻包含仿真運(yùn)行講解和代碼講解
3. 仿真
打開仿真工程,雙擊proteus中的單片機(jī),選擇hex文件路徑,然后開始仿真。
液晶LCD1602顯示測(cè)量溫度和測(cè)量距離值。測(cè)量距離值超過報(bào)警值后蜂鳴器報(bào)警。
按下設(shè)置鍵可以設(shè)置超聲波測(cè)距的報(bào)警上下限值。
4. 程序代碼
使用keil4或者keil5編譯,代碼有注釋,可以結(jié)合視頻理解代碼含義。
//宏定義
#define uchar unsigned char
#define uint unsigned int
#define ULint unsigned long int //溫度零上與零下的標(biāo)志位
char flag=0; //超聲波
char flags=0; //超聲波距離
char flag1s=0; //計(jì)算定時(shí)間
uint time=0; //計(jì)算距離
ULint L_=0; //溫度
int t_=0; //顯示模式 0正常 1最大值調(diào)整 2最小值調(diào)整
uchar mode=0;
uint Max=200;
uint Min=30; //按鍵標(biāo)志
uchar k=0; //數(shù)值有誤
uchar FW=0; //頭函數(shù)
#include <reg51.h>
#include <intrins.h>
#include "key.h" //按鍵
#include "display.h" //顯示頭函數(shù)
#include "ultrasonic_wave.h"http://超聲波頭函數(shù)
#include "DS18B20.h" //溫度傳感器頭函數(shù)
//函數(shù)聲明
void delayms(uint ms);
/*********************************************************/
// 毫秒級(jí)的延時(shí)函數(shù),time是要延時(shí)的毫秒數(shù)
/*********************************************************/
void Delay_Ms(uint time)
{
uint i,j;
for(i=0;i<time;i++)
for(j=0;j<112;j++);
}
//主函數(shù)
void main()
{
uchar time_cnt=0;
Init_ultrasonic_wave();
//屏幕初始化
Init1602();
//溫度初始化
while(tmp() == 850) // 等待溫度傳感器初始化完成
{
Delay_Ms(10);
}
//循環(huán)顯示
while(1)
{
Key();
time_cnt++;
//正常顯示
// Feng_Start();
if(mode==0)
{
if((time_cnt%100)==0){
StartModule();//啟動(dòng)超聲波
while(!RX); //當(dāng)RX為零時(shí)等待
TR0=1; //開啟計(jì)數(shù)
while(RX); //當(dāng)RX為1計(jì)數(shù)并等待
TR0=0; //關(guān)閉計(jì)數(shù)
delayms(1); //1MS
// tmpchange(); //溫度轉(zhuǎn)換
t_=tmp(); //度溫度
Conut(t_/10); //計(jì)算距離
Display_1602(t_/10,L_);
}
if(L_>Max||L_<Min)
{
Feng_Start();
}
else
{
if(FW!=1)
Feng_Stop();
}
}
//調(diào)整顯示
else if(mode!=0)
{
//最大最小值
Init_MaxMin();
while(mode!=0)
{
Key();
if(k==1&&mode==1)
{
Init_MaxMin();
write_com(0x8d);//設(shè)置位置
}
else if(k==1&&mode==2)
{
Init_MaxMin();
write_com(0x8d+0x40);//設(shè)置位置
}
k=0;
}
//界面初始化
Init1602();
}
}
}
void delayms(uint ms)
{
uchar i=100,j;
for(;ms;ms--)
{
while(--i)
{
j=10;
while(--j);
}
}
}
//T0中斷用來計(jì)數(shù)器溢出,超過測(cè)距范圍
void CJ_T0() interrupt 1
{
flags=1; //中斷溢出標(biāo)志
}
5. 設(shè)計(jì)報(bào)告
10877字設(shè)計(jì)報(bào)告,內(nèi)容包括硬件設(shè)計(jì)、軟件設(shè)計(jì)、軟硬件框圖、調(diào)試、結(jié)論等
單片機(jī)技術(shù)的迅速興起與蓬勃發(fā)展,其穩(wěn)定、安全、高效、經(jīng)濟(jì)等優(yōu)點(diǎn)十分突出,所以其應(yīng)用也十分廣泛。單片機(jī)已經(jīng)無處不在、與我們生活息息相關(guān),并且滲透到生活的方方面面,如空調(diào)、VCD機(jī)、手機(jī)、微波爐、自動(dòng)洗衣機(jī)及汽車電子設(shè)備等。
單片機(jī)的特點(diǎn)是體積較小,也就是其集成特性,其內(nèi)部結(jié)構(gòu)是普通計(jì)算機(jī)系統(tǒng)的簡(jiǎn)化,增加一些外圍電路,就能夠組成一個(gè)完整的小系統(tǒng),單片機(jī)具有很強(qiáng)的可擴(kuò)展性。它具有和普通計(jì)算機(jī)類似的、強(qiáng)大的數(shù)據(jù)處理功能,通過使用一些科學(xué)的算法,可以獲得很強(qiáng)的數(shù)據(jù)處理能力。
所以單片機(jī)在工業(yè)應(yīng)用中,可以極大地提高工業(yè)設(shè)備的智能化、數(shù)據(jù)處理能力和處理效率,而且單片機(jī)無需占用很大的空間。
同時(shí),隨著社會(huì)的發(fā)展和進(jìn)步,超聲波測(cè)距系統(tǒng)日益重要,應(yīng)用范圍迅速擴(kuò)大,由于超聲測(cè)距是一種非接觸檢測(cè)技術(shù),不受光線、被測(cè)對(duì)象顏色等的影響,在較惡劣的環(huán)境(如含粉塵)具有一定的適應(yīng)能力,因此用途極度廣泛。在測(cè)繪地形圖,建造房屋、橋梁、道路、開挖礦山、油井等,倒車雷達(dá)、建筑施工工地以及一些工業(yè)現(xiàn)場(chǎng),例如液位、井深、管道長(zhǎng)度等場(chǎng)合應(yīng)用比較普遍。利用超聲波檢測(cè)往往比較迅速、方便、計(jì)算簡(jiǎn)單、易于做到實(shí)時(shí)控制,并且在測(cè)量精度方面能達(dá)到工業(yè)實(shí)用的要求。
6. 下載鏈接
鏈接: https://pan.baidu.com/s/1PcmNvNvHzeBh3VchH_sS5A?pwd=j6h9
提取碼: j6h9
資料設(shè)計(jì)資料包括仿真,程序代碼、講解視頻、功能要求、設(shè)計(jì)報(bào)告、軟硬件設(shè)計(jì)框圖等。
0、常見使用問題及解決方法–必讀?。。?!
1、程序
2、proteus仿真
3、功能要求
4、軟硬件流程圖
5、開題報(bào)告
6、設(shè)計(jì)報(bào)告
7、燒錄工具
8、講解視頻
9、實(shí)物圖
Altium Designer 安裝破解
KEIL+proteus 單片機(jī)仿真設(shè)計(jì)教程
KEIL安裝破解
Proteus安裝
Proteus簡(jiǎn)易使用教程
單片機(jī)學(xué)習(xí)資料
相關(guān)數(shù)據(jù)手冊(cè)
答辯技巧
設(shè)計(jì)報(bào)告常用描述
鼠標(biāo)雙擊打開查找嘉盛單片機(jī)51 STM32單片機(jī)課程畢業(yè)設(shè)計(jì).url