|
|
QQ圖片20170803174802.jpg (3.88 MB, 下載次數(shù): 55)
下載附件
用尺子靠近
2017-8-3 17:48 上傳
QQ圖片20170803174841.jpg (3.62 MB, 下載次數(shù): 53)
下載附件
2017-8-3 17:49 上傳
無(wú)聊寫的簡(jiǎn)易超聲波C51源程序
#include <reg52.h>
#include <ultrasonic.h>
sbit Trig = P1^1; //RX
sbit Echo = P1^2; //TX
sbit Test = P1^3; //測(cè)試輸出IO
unsigned char flag;
unsigned int Time_sum; //距離轉(zhuǎn)換變量
unsigned int S;
/****************************************/
/**--- 不精準(zhǔn)的延時(shí) ---**/
/****************************************/
void Delay_us(void)
{
unsigned int a = 5550;
while(--a);
}
/*****************************************/
/**--- 發(fā)出脈沖 ---**/
/*****************************************/
void Pulse(void)
{
Trig = 1; //要求10us以上的TTL脈沖
Delay_us();
Trig = 0;
}
/*****************************************/
/**--- 計(jì)算函數(shù) ---**/
/*****************************************/
void Count_num(void)
{
Time_sum = TH0 * 256 + TL0;
TH0 = 0;
TL0 = 0;
S = (Time_sum * 1.56672)/100; //計(jì)算得cm
if(S>200||S<2) {Test = 0; }
else {Test = 1; }
}
/******************************************/
/**--- 回向信號(hào)輸出 ---**/
/******************************************/
void Response(void)
{
Pulse();
while(!Echo);
TR0 = 1;
while(Echo); //等待并計(jì)數(shù)
TR0 = 0;
Count_num(); //計(jì)算測(cè)量結(jié)果
}
/*****************************************/
/**--- 定時(shí)器初始化 ---**/
/*****************************************/
void Time_init(void)
{
TMOD |= 0x01;
TH0 = 0;
TL0 = 0;
EA = 1;
ET0 = 1;
TR0 = 0;
}
/******************************************/
/**--- 中斷服務(wù)函數(shù) ---**/
/******************************************/
void Interrupt_0(void) interrupt 1
{
flag = 1; //中斷溢出標(biāo)志
}
/************************************/
extern unsigned int S;
void Response(void); //回響信號(hào)
void Time_init(void);
/**************************************************************************************/
/* @file main.c
/* @author huahsi
/* @date 2017-2-24
/* @brief 超聲波測(cè)距程序
/**************************************************************************************/
/*
/* 超聲波模塊與單片機(jī)IO連接
/* Trig ----> P1^1
/* Echo ----> P1^2
/*
/* 5110液晶連接IO
/* RST ----> P2^4
/* CE ----> P2^3
/* DC ----> P2^2
/* Din ----> P2^1
/* Clk ----> P2^0
/* Vcc ---->電源VCC
/* Bl ---->電源的VCC
/* Gnd ---->電源GND
/***************************************************************************************/
#include <lcd_5110.h>
#include <ultrasonic.h>
void main(void)
{
Time_init();
LCD5510_Init();
LCD_showsh(0,0,"創(chuàng)新實(shí)驗(yàn)室");
LCD_showsh(0,1,"超聲波檢測(cè)");
while(1)
{
Response();
LCD_clr_row(2,4);
LCD_printn(2,4,S);
}
}
|
評(píng)分
-
查看全部評(píng)分
|