资源简介
超声波测距模块源代码及上位机调试软件,以及模块原理图
代码片段和文件信息
#include “US100Test.h“
void Delay1Ms(void);
void Delay5Ms(void);
void Delay400Ms(void);
void UART_ISR(void);
void UARTSnd(unsigned char dat);
void UART_init();
void init(void);
sbit RCK_STMM = P2^7;
sbit DIO_DS = P2^6;
sbit SCK_SHBit = P2^5;
sbit Trig_Mode = P2^0;
sbit UART_Mode = P2^1;
sbit UART_TEMP = P2^2;
sbit Trig_Pin = P1^7;
sbit Echo_Pin = P1^6;
void InitIOPort()
{
// P0M1 = 0XFF //p0口设为输入。
P0M1 = 0;//P0口设为双向口,可输入输出
P0M2 = 0;//P0口设为双向口,可输入输出
P2M1 &= 0X0F;//P2口的P2.5,P2.6,P2.7设为双向口,可输入输出
P2M2 &= 0X0F;//P2口的P2.5,P2.6,P2.7设为双向口,可输入输出
}
void DisplayLED(unsigned char LEDid unsigned char Value unsigned char Isdot)
{
unsigned char tempa tempb;
unsigned char tempc tempd;
const unsigned char NumValue[11] = {0X40 0X79 0X24 0X30 0X19 0X12 0X02 0X78 0X00 0X10 0X3F};//0 1 2 3 4 5 6 7 8 9 -.
tempa = 1;
tempa <<= (LEDid-1);
if(Value >= 11)//value should little than 10
Value = 0;
tempb = NumValue[Value];
if(Isdot == 0)
tempb += 0X80;
//begin output
tempd = 0X80;
for(tempc = 0; tempc < 8; tempc++)
{
SCK_SHBit = 0;
SCK_SHBit = 0;
DIO_DS = (tempa&tempd);
SCK_SHBit = 1;
SCK_SHBit = 1;
tempd >>= 1;
}
tempd = 0X80;
for(tempc = 0; tempc < 8; tempc++)
{
SCK_SHBit = 0;
SCK_SHBit = 0;
DIO_DS = (tempb&tempd);
SCK_SHBit = 1;
SCK_SHBit = 1;
tempd >>= 1;
}
RCK_STMM = 0;
RCK_STMM = 0;
RCK_STMM = 0;
RCK_STMM = 0;
RCK_STMM = 1;
RCK_STMM = 1;
RCK_STMM = 1;
RCK_STMM = 1;
//Delay1Ms();
}
void DisplayLength(unsigned long number)
{
unsigned char Thousand Hundred Decade Unit;
if(number > 9999)
number = 0;
Thousand = number/1000;
number = number%1000;
Hundred = number/100;
number = number%100;
Decade = number/10;
Unit = number%10;
DisplayLED(1 Thousand 0);
DisplayLED(2 Hundred 0);
DisplayLED(3 Decade 0);
DisplayLED(4 Unit 0);
}
unsigned long MeterByTrig()
{
unsigned char tempa;
unsigned char IsOverFlow;
unsigned long PresentTime tempb;
IsOverFlow = 0;
//Delay1Ms();
P1M1 &= 0X7F;
P1M2 &= 0X7F;
P1M1 |= 0X40;
P1M2 &= 0XBF;
//Timer Init
TMOD = 0X11;
TAMOD = 0X00;
TCON = 0X00;
TH1 = 0;
TL1 = 0;
Trig_Pin = 0;
for(tempa = 0; tempa < 10; tempa++)
{
Trig_Pin = 1;
}
Trig_Pin = 0;
while(1)
{
if(Echo_Pin == 1)
{//Start Timer;
TCON = 0X40;//start timer
break;
}
if(TCON&0X80)
{
IsOverFlow = 1;
break;//overflow;
}
}
while(1)
{
if(Echo_Pin == 0)
{//Stop Timer;
TCON = 0X00;
break;
}
if(TCON&0X80)
{
IsOverFlow = 1;
break;//overflow;
}
}
// unsigned long PresentTime tempb;
PresentTime = TH1;
PresentTime <<= 0X08;
PresentTime += TL1;
tempb = PresentTime/137;
PresentTime /= 7;//*3
PresentTime -= tempb;//time us
tempb = PresentTime/150;
PresentTime /= 3;
PresentTime += tempb;
//Delay1Ms();
return
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1672 2010-06-20 22:41 超声波测距\超声波PIC单片机C程序.rar
文件 2229 2010-06-20 22:41 超声波测距\超声波测距51C程序.rar
文件 26951 2010-06-20 22:41 超声波测距\超声波测距LC1602显示.rar
文件 32489 2010-06-20 22:41 超声波测距\超声波测距LCD12864显示.rar
文件 79344 2010-06-20 22:41 超声波测距\超声波测距串口显示.rar
文件 76598 2010-06-20 22:41 超声波测距\超声波测距数码管显示.rar
文件 38912 2011-01-19 13:47 超声波测距\SDM-IO超声波测距传感器.doc
文件 228932 2010-03-26 17:35 超声波测距\HC-SR04超声波测距模块.pdf
文件 42496 2011-04-15 16:54 超声波测距\SRF06热卖超声波资料\SRF06-US100改进型产品介绍.doc
文件 11683 2002-12-04 09:54 超声波测距\SRF06热卖超声波资料\超声波P89LPC932A1FDH电平触发测距\START900.A51
文件 22791 2010-12-05 17:11 超声波测距\SRF06热卖超声波资料\超声波P89LPC932A1FDH电平触发测距\START900.lst
文件 1006 2010-12-05 17:11 超声波测距\SRF06热卖超声波资料\超声波P89LPC932A1FDH电平触发测距\START900.obj
文件 10195 2010-12-27 10:35 超声波测距\SRF06热卖超声波资料\超声波P89LPC932A1FDH电平触发测距\US-100LPC932
文件 3894 2010-12-27 10:35 超声波测距\SRF06热卖超声波资料\超声波P89LPC932A1FDH电平触发测距\US-100LPC932.hex
文件 15599 2010-12-27 10:35 超声波测距\SRF06热卖超声波资料\超声波P89LPC932A1FDH电平触发测距\US-100LPC932.M51
文件 4882 2010-12-27 10:37 超声波测距\SRF06热卖超声波资料\超声波P89LPC932A1FDH电平触发测距\US-100LPC932.plg
文件 1876 2010-12-27 10:32 超声波测距\SRF06热卖超声波资料\超声波P89LPC932A1FDH电平触发测距\US-100LPC932_Opt.Bak
文件 0 2010-11-28 17:41 超声波测距\SRF06热卖超声波资料\超声波P89LPC932A1FDH电平触发测距\US-100LPC932_Uv2.Bak
文件 3708 2010-12-27 10:35 超声波测距\SRF06热卖超声波资料\超声波P89LPC932A1FDH电平触发测距\US100Test.c
文件 150 2010-12-27 10:14 超声波测距\SRF06热卖超声波资料\超声波P89LPC932A1FDH电平触发测距\US100Test.h
文件 9220 2010-12-27 10:35 超声波测距\SRF06热卖超声波资料\超声波P89LPC932A1FDH电平触发测距\US100Test.LST
文件 11040 2010-12-27 10:35 超声波测距\SRF06热卖超声波资料\超声波P89LPC932A1FDH电平触发测距\US100Test.OBJ
文件 39 2010-12-27 10:35 超声波测距\SRF06热卖超声波资料\超声波P89LPC932A1FDH电平触发测距\US100Test.__i
....... 2434 2010-11-28 18:13 超声波测距\SRF06热卖超声波资料\超声波P89LPC932A1FDH电平触发测距\US-100LPC932.Uv2.bak
....... 14087 2013-05-14 22:03 超声波测距\SRF06热卖超声波资料\超声波P89LPC932A1FDH电平触发测距\US-100LPC932.uvproj
....... 1876 2010-12-27 10:37 超声波测距\SRF06热卖超声波资料\超声波P89LPC932A1FDH电平触发测距\US-100LPC932.opt.bak
....... 8211 2013-05-14 22:03 超声波测距\SRF06热卖超声波资料\超声波P89LPC932A1FDH电平触发测距\US-100LPC932.uvopt
....... 71070 2013-05-14 22:03 超声波测距\SRF06热卖超声波资料\超声波P89LPC932A1FDH电平触发测距\US-100LPC932.uvgui.Administrator
文件 39554 2010-12-27 10:58 超声波测距\SRF06热卖超声波资料\原理图及Datasheet\US100_使用参考.pdf
文件 144079 2010-12-12 17:14 超声波测距\SRF06热卖超声波资料\原理图及Datasheet\datasheet\74HC_HCT595.pdf
............此处省略9个文件信息
相关资源
- 操作系统课程设计含报告和源代码,
- 倒车雷达超声波测距系统
- 几种经典的Hash算法的实现(源代码)
- 基于小波变换的行波测距式距离保护
- vc编写tcp syn扫描器源代码
- 基于两块430单片机及nrf24l01无线数据传
- Linux下使用UDP协议的点对点聊天程序含
- 2015广工操作系统实验源代码报告
- 任意长整数加法源代码数据结构
- 基于Zigbee的物联网远程控制LED源代码
- 汽车修理管理系统源代码
- OpenCV中cvvImage的头文件和源代码
- ps2鼠标驱动源代码基于凌阳
- zint-源代码.zip
- IEEE754浮点数与整数互转源代码
- VS2010下利用CChartCtrl实现多条曲线绘制
- 经典的光线追踪算法实现的源代码
- windows平台抓屏源代码
- 《计算机原理与设计:Verilog HDL版》
- bmp图像读取源代码
- TMS320C54x_fir滤波器的实现_dsp_包含源代
- 数值计算方法上机实验报告完全版亲
- 数字电压表的源代码及PROTEUS仿真5V
- 使用Processing+Arduino写的类似雷达扫描
- openGL 实现 光线跟踪算法源代码
- 神经网络预测控制程序的源代码
- xcode计算器源代码
- 高斯热源模型 workbench
- ArcEngine 图形编辑源代码
- msp430f149超声波雷达
评论
共有 条评论