• 大小: 8.56MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-08
  • 语言: 其他
  • 标签: 超声波  

资源简介

us100超声波测温测距模块介绍及程序。原理图及使用方法 超声波P89LPC932A1FDH串口测温

资源截图

代码片段和文件信息


#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;

unsigned char LastRcvData;
unsigned char GLengthHigh GLengthLow GTempera;
unsigned char RcvIndex;

void UART_ISR(void) interrupt 4
{
RI = 0; // clear receive interrupt flag
LastRcvData=SBUF; // copy input bufffer to ch
if(RcvIndex == 0)
{
GLengthHigh = LastRcvData;
RcvIndex++;
}
else if(RcvIndex == 1)
{
GLengthLow = LastRcvData;
RcvIndex = 150;
}
else if(RcvIndex == 100)
{
GTempera = LastRcvData;
RcvIndex++;
}
}

void UARTSnd(unsigned char dat)
{

TI=0; // clear transmit interrupt flag
SBUF=dat; // start sending one byte
while (!TI); // wait until sent

}

 
void UART_init()
{
SCON=0x50; // select BRG as UART Baud Rate Gen
SSTAT=0x60; // separate Rx / Tx interrupts
BRGR0=0xF0; // setup BRG for 9600 baud @ 7.373MHz internal RC oscillator
BRGR1=0x02;
//BRGR0=0x70; // setup BRG for 9600 baud @ 12MHz external Crystal
// BRGR1=0x04;
BRGCON = 0x03;      // enable BRG

P1M1 = 0x00;     //push pull except RX
P1M2 = 0xFD;
ES = 1; // enable UART interrupt
EA = 1;

RcvIndex = 0;
}


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 DisplayTemperature(unsigned char tempa)
{
unsigned char Decade Unit;
unsigned char FlagPosi;
if(tempa >= 45)
{
tempa -= 45;
FlagPosi = 1;
}
else
{
tempa = 45-tempa;
FlagPosi = 0;
}

if(tempa > 99)
tempa = 0;

Decade = tempa/10;
Unit = tempa%10;

if(FlagPosi == 0)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-05-24 16:18  US100\
     目录           0  2011-03-06 14:56  US100\US-100产品\
     文件      682581  2011-03-06 06:37  US100\US-100产品\201103061127.jpg
     文件      667839  2011-03-06 06:38  US100\US-100产品\201103061128.jpg
     文件      753888  2011-03-06 06:39  US100\US-100产品\201103061129.jpg
     文件      769373  2011-03-06 06:39  US100\US-100产品\201103061130.jpg
     文件      727764  2011-03-06 06:40  US100\US-100产品\201103061131.jpg
     文件      668040  2011-03-06 06:40  US100\US-100产品\201103061132.jpg
     文件      697536  2011-03-06 06:40  US100\US-100产品\201103061133.jpg
     文件      625973  2011-03-06 06:41  US100\US-100产品\201103061134.jpg
     文件      613360  2011-03-06 06:41  US100\US-100产品\201103061135.jpg
     文件      679765  2011-03-06 06:42  US100\US-100产品\201103061136.jpg
     文件      686600  2011-05-14 11:30  US100\US-100超声波模块测试板使用说明V1.pdf
     文件      337356  2011-05-14 11:26  US100\US100产品介绍V2.01.pdf
     文件         811  2010-12-27 10:31  US100\使用说明.txt
     目录           0  2011-01-03 14:59  US100\原理图及Datasheet\
     目录           0  2011-01-03 14:59  US100\原理图及Datasheet\datasheet\
     文件      144079  2010-12-12 17:14  US100\原理图及Datasheet\datasheet\74HC_HCT595.pdf
     文件       35226  2010-12-12 17:24  US100\原理图及Datasheet\datasheet\LG3641BH.jpg
     文件     1678896  2010-11-28 18:09  US100\原理图及Datasheet\datasheet\UM_P89LPC932_1.pdf
     文件       39554  2010-12-27 10:58  US100\原理图及Datasheet\US100_使用参考.pdf
     目录           0  2011-01-03 14:59  US100\超声波P89LPC932A1FDH串口测温\
     文件       11683  2002-12-04 09:54  US100\超声波P89LPC932A1FDH串口测温\START900.A51
     文件       22791  2010-12-05 17:11  US100\超声波P89LPC932A1FDH串口测温\START900.lst
     文件        1006  2010-12-05 17:11  US100\超声波P89LPC932A1FDH串口测温\START900.obj
     文件        9922  2010-12-27 10:45  US100\超声波P89LPC932A1FDH串口测温\US-100LPC932
     文件        2274  2010-12-27 10:45  US100\超声波P89LPC932A1FDH串口测温\US-100LPC932.hex
     文件       15879  2010-12-27 10:45  US100\超声波P89LPC932A1FDH串口测温\US-100LPC932.M51
     文件        1876  2010-12-27 10:47  US100\超声波P89LPC932A1FDH串口测温\US-100LPC932.Opt
     文件        3626  2010-12-27 10:47  US100\超声波P89LPC932A1FDH串口测温\US-100LPC932.plg
     文件        2434  2010-11-28 18:13  US100\超声波P89LPC932A1FDH串口测温\US-100LPC932.Uv2
............此处省略58个文件信息

评论

共有 条评论