一款液晶顯示的超聲波測(cè)距板
源程序:
#include "stdio.h"
#include "math.h"
#include "regx52.h"
#include "binary.h"
#include "intrins.h"
#define VOUT P3_7 //脈沖產(chǎn)生端口
#define DQ P1_0 //ds18b20端口
/******************系統(tǒng)全局變量***************/
typedef unsigned char uchar;
typedef unsigned int uint;
bit Success; //測(cè)量成功標(biāo)志位
bit Done; //測(cè)量完成標(biāo)志位
bit Mode; //測(cè)量模式:0--近距離,1---遠(yuǎn)距離
uint nCount;
uint nResult;
/******************18B20相關(guān)函數(shù)及變量***************/
bit SignedFlag=0; //符號(hào)標(biāo)志位 ,負(fù)為1,正為0
uchar TempInt; //整數(shù)部分溫度
uint TempDot; //小數(shù)部分溫度
void ReadTemperature(void); //在程序中調(diào)用此函數(shù)
void Init_DS18B20(void);
unsigned char ReadOneChar(void);
void WriteOneChar(unsigned char dat);
void delayx(unsigned int i);
#include "18b20.h"
/******************LCD相關(guān)函數(shù)******************/
sbit SCLK = P2^0; // 串行時(shí)鐘
sbit SDIN = P2^1; // 串行數(shù)據(jù)輸入
sbit LCD_DC = P2^2; // 數(shù)據(jù)/命令 選擇端
sbit LCD_CE = P2^3; // 片選
sbit LCD_RST = P2^4; // 外部復(fù)位
#include "Nokia5110.c"
/***********超聲波測(cè)量相關(guān)函數(shù)定義***************/
void StartInit();
void Delay_us(uint i); //微秒級(jí)延時(shí):T=7+2*(X-1) us
void StartMeasure();
void DisplayResult();
void ConvertCount();
void Delay_ms(uint x);
評(píng)論