久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
Proteus仿真HCSR04超聲波+DS18B20+LCD1602+51單片機集成系統程序
[打印本頁]
作者:
JN0717
時間:
2022-4-25 08:52
標題:
Proteus仿真HCSR04超聲波+DS18B20+LCD1602+51單片機集成系統程序
HCSR04+DS18B20+LCD1602+51單片機集成系統,文件包含keil工程和proteus仿真結果
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.gif
(73.51 KB, 下載次數: 49)
下載附件
2022-4-25 17:37 上傳
單片機源程序如下:
//頭函數
#include <reg52.h>
#include <intrins.h>
//宏定義
#define uchar unsigned char
#define uint unsigned int
#define ULint unsigned long int
//溫度零上與零下的標志位
char flag=0;
//超聲波
char flags=0;
//超聲波距離
char flag1s=1;
//計算定時間
uint time=0;
//計算距離
ULint L_=0;
ULint Mini=20;
//溫度
uint t_=0;
bit xsflag=1;
//按鍵標志
uchar k=0;
//數值有誤
uchar FW=0;
#include "BJ_Key.h" //報警按鍵
#include "display.h" //顯示頭函數
#include "ultrasonic_wave.h"//超聲波頭函數
#include "DS18B20.h" //溫度傳感器頭函數
//函數聲明
void delayms(uint ms);
//主函數
void main()
{
Init_ultrasonic_wave();
//屏幕初始化
Init1602();
//溫度初始化
tmpchange();
t_=tmp();
tmpchange();
t_=tmp();
tmpchange();
t_=tmp();
//循環顯示
while(1)
{
Key();
StartModule();//啟動超聲波
while(!RX); //當RX為零時等待
TR0=1; //開啟計數
while(RX); //當RX為1計數并等待
TR0=0; //關閉計數
delayms(20); //20MS
tmpchange(); //溫度轉換
t_=tmp(); //度溫度
Conut(t_/10); //計算距離
if(L_<Mini && xsflag==1)
{
Feng_Start();
}else{
Feng_Stop();
}
if(L_<5&& xsflag==1)
{
motor_en();
}
else{
motor_off();
}
Display_1602(t_/10,L_,Mini);
}
}
void delayms(uint ms)
{
uchar i=100,j;
for(;ms;ms--)
{
while(--i)
{
j=10;
while(--j);
}
}
}
//T0中斷用來計數器溢出,超過測距范圍
void CJ_T0() interrupt 1
{
flags=1; //中斷溢出標志
}
復制代碼
ULTRASONIC_WAVE.H
//超聲波管腳定義
sbit RX=P1^3;
sbit TX=P1^2;
//超聲波初始化
void Init_ultrasonic_wave()
{
TX=0; //關閉發射
TMOD=0x01; //設T0為方式1,GATE=1;
TH0=0;
TL0=0;
// TH1=0x3c;
// TL0=0xb0;
ET0=1; //允許T0中斷
// ET1=0;
// TR1=0;
EA=1; //開啟總中斷
}
//啟動超聲波
void StartModule() //啟動模塊
{
TX=1; //啟動一次模塊
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
TX=0;
}
//計算不同溫度下的速度
void JS_(uchar WD)
{
//大于-30
if(WD>=30&&flag==1)
{
L_=(time*3.13)/200; //算出來是CM;
}
//大于-20<-30
else if(WD>=20&&WD<30&&flag==1)
{
L_=(time*3.19)/200; //算出來是CM;
}
//大于-10<-20
else if(WD>=10&&WD<20&&flag==1)
{
L_=(time*3.25)/200; //算出來是CM;
}
//大于0<-10
else if(WD>=0&&WD<10&&flag==1)
{
L_=(time*3.23)/200; //算出來是CM;
}
//大于0<10
else if(WD<=10&&WD>0&&flag==0)
{
L_=(time*3.38)/200; //算出來是CM;
}
//大于10<20
else if(WD<=20&&WD>10&&flag==0)
{
L_=(time*3.34)/200; //算出來是CM;
}
//大于20<30
else if(WD<=30&&WD>20&&flag==0)
{
L_=(time*3.49)/200; //算出來是CM;
}
//大于30
else if(WD>30&&flag==0)
{
L_=(time*3.86)/200; //算出來是CM;
}
}
//距離計算 SD為當時的超聲速度
void Conut(uchar WD)
{
time=TH0*256+TL0;
TH0=0;
TL0=0;
JS_(WD);
//距離大于200或者超時
if(L_>500||flags==1)
{
flags=0;
//無效顯示
flag1s=0;
L_=500;
FW=1;
// Feng_Start();
}
//距離小于100
else if(L_<=500)
{
flag1s=1;
FW=0;
// Feng_Stop();
}
}
復制代碼
Keil代碼與Proteus7.5和8.8仿真下載:
HCSR04 DS18B20 LCD1602 51單片機.zip
(310.5 KB, 下載次數: 125)
2022-4-25 08:51 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
469maker
時間:
2022-5-23 18:21
仿真有,但是程序好像不算
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲天天
|
91视频.com
|
自拍 亚洲 欧美 老师 丝袜
|
99视频免费
|
91视频电影
|
国产精品久久久久久妇女
|
中文字幕第49页
|
成人婷婷
|
亚洲欧美日韩在线
|
在线视频 欧美日韩
|
久久久久网站
|
久久久av
|
一区二区三区不卡视频
|
亚洲综合一区二区三区
|
尹人av
|
国产一级在线观看
|
亚洲综合网站
|
夜夜爽99久久国产综合精品女不卡
|
亚洲精品电影网在线观看
|
中文字幕97
|
欧美一区二区激情三区
|
天天干夜夜操视频
|
韩国毛片一区二区三区
|
久久中文字幕一区
|
久久久91精品国产一区二区三区
|
秋霞在线一区二区
|
久久国产视频播放
|
国产午夜三级一区二区三
|
鸳鸯谱在线观看高清
|
亚洲精品9999
|
欧美在线观看一区
|
日韩欧美在线播放
|
亚洲第一天堂
|
在线播放国产一区二区三区
|
国产综合精品一区二区三区
|
h视频在线免费
|
国产精品久久久久久久午夜
|
亚洲欧美日韩中文字幕一区二区三区
|
国产精品久久一区
|
国产午夜精品一区二区三区四区
|
欧美日韩在线观看一区
|