久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
超聲波測距單片機源碼
[打印本頁]
作者:
jlqiu
時間:
2017-6-2 10:36
標題:
超聲波測距單片機源碼
超聲波測距源碼
超聲波測距源碼.docx
(12.91 KB, 下載次數: 4)
2017-6-2 10:34 上傳
點擊文件名下載附件
源碼
下載積分: 黑幣 -5
/**************************************************************************/
*********采用IO口TRIG觸發測距,給至少10us的高電平信號; (2)模塊自動發送8個40khz
的方波,自動檢測是否有信號返回; (3)有信號返回,通過IO口ECHO輸出一個高電平,
高電平持續的時間就是超聲波從發射到返回的時間。*****************************/
#include"reg52.h"
#include"intrins.h"
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={'0','1','2','3','4','5','6','7','8','9'};// 顯示段碼值0123456789
sbit lcden=P3^4; //定義LCD使能端
sbit lcdrs=P3^5; //定義LCD讀寫端
sbit dula=P2^6; //數碼管段先端
sbit wela=P2^7; //數碼管位先端
/***********************************************/
/**********超聲波檢測引腳和變量定義*******************************/
sbit Trig=P2^4;// 定義HC-SR04發送端
sbit Echo=P2^5;//定義HC-SR04接收端
uint gewei='0'; //測量距離的個位
uint shiwei='0'; // 測量距離的十位
uint baiwei='0'; //測量距離的百位
uint s,time,flag;
/***********************************************/
/**********延時MS函數*******************************/
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
/***********************************************/
/**********延時uS函數*******************************/
void delay_uS(uint z)
{
while(z--);
}
/***********************************************/
/**********寫命令*******************************/
void write_com(uchar com)
{
lcdrs=0; //寫命令信號
P0=com; //寫命令字
delay(5); //延時
lcden=1; //開使能端
delay(5);
lcden=0;
}
/***********************************************/
/**********寫數據*******************************/
void write_data(uchar date)
{
lcdrs=1; //寫數據信號
P0=date; //寫數據
delay(5); //延時
lcden=1; //開使能端
delay(5);
lcden=0;
}
/**********************************************/
/***********************************************/
/**********LCD1602初始化函數*******************************/
void init()
{
dula=0;
wela=0;
lcden=0;
write_com(0x38); //設置16X2顯示,5X7點陣顯示
write_com(0x0c); //開顯示,不顯光標
write_com(0x06); //顯示一個字符后,地址指針加1且光標加1
write_com(0x01); //清屏
write_com(0x80+0x01); //從第一行0X10地址位開始顯示
}
/***********************************************/
/**********計算距離函數*******************************/
void count(void)
{
time=TH0*256+TL0; //檢測所需時間
TH0=0;
TL0=0;
s=time/58;// 計算距離,算出來的單位是CM
gewei=table[s%1000];
shiwei=table[s%1000/100];
baiwei=table[s%1000%100%10];
}
/***********************************************/
/**********T0中斷函數*******************************/
void Time0() interrupt 1 //T0中斷用作計數器溢出,超出測距范圍
{
flag=1; //中斷溢出標志
}
/***********************************************/
/**********啟動模塊函數*******************************/
void startmodle(void) //啟動檢測模塊
{
Trig=1; //啟動一次檢測模塊
delay_uS(20);
Trig=0; //停止向檢測模塊Trig端發送高電平
}
/***********************************************/
/**********中斷初始化函數*******************************/
void InterruptInit(void) //中斷初始化
{
TMOD=0x01; //高T0工作方式為方式1,GATE=1
TH0=0;
TL0=0;
ET0=1; //允許T0中斷
EA=1; // 開啟總中斷
}
/***********************************************/
/**********顯示函數*******************************/
void Display(void)
{
write_com(0x80+0x02);
write_data(baiwei);
write_com(0x80+0x03);
write_data('.');
write_com(0x80+0x04);
write_data(shiwei);
write_com(0x80+0x05);
write_data(gewei);
write_com(0x80+0x06);
write_data('M');
}
/***********************************************/
/**********主函數*******************************/
void main(void)
{
init(); //初始化LCD1602
while(1)
{
InterruptInit(); //中斷初始化
startmodle(); // 啟動檢測模塊
while(!Echo); //當接收為零時等待
TR0=1; //開啟計數
while(Echo); //當接收為1計數并等待
TR0=0; //關閉計數
count(); //計算距離
Display(); // 顯示距離,以M為單位
delay(500); //延時80MS
}
}
復制代碼
作者:
jlqiu
時間:
2017-6-2 13:35
歡迎大家來討論
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
欧美日韩一
|
日韩精品久久久
|
精品一二区
|
成人精品一区亚洲午夜久久久
|
日日摸夜夜添夜夜添精品视频
|
亚洲欧美中文日韩在线v日本
|
91在线视频播放
|
久久成人在线视频
|
国产一区二区精品自拍
|
免费99精品国产自在在线
|
国产精品99久久久久久久久久久久
|
免费一区二区
|
一级全黄视频
|
午夜影院免费体验区
|
毛片黄
|
精品久久电影
|
国产h视频
|
亚洲精品一二区
|
午夜av电影
|
人人插人人
|
一级免费毛片
|
在线日韩欧美
|
精品久久久久久久久久久久久久久久久
|
拍戏被cao翻了h承欢
|
久久久久久999
|
成人一区av
|
久久久久久久久久久一区二区
|
一级毛片网
|
毛片综合
|
不卡一区
|
天天干,夜夜操
|
亚洲欧美在线观看
|
亚洲一区二区三区四区av
|
精精国产xxxx视频在线播放7
|
精品久
|
鸡毛片
|
欧美日韩亚洲国产
|
日本中文字幕一区
|
日韩中文字幕在线观看
|
色婷婷精品久久二区二区蜜臂av
|
久久9999久久
|