一款液晶显示的超声波测距板
源程序:
#include "stdio.h"
#include "math.h"
#include "regx52.h"
#include "binary.h"
#include "intrins.h"
#define VOUT P3_7 //脉冲产生端口
#define DQ P1_0 //ds18b20端口
/******************系统全局变量***************/
typedef unsigned char uchar;
typedef unsigned int uint;
bit Success; //测量成功标志位
bit Done; //测量完成标志位
bit Mode; //测量模式:0--近距离,1---远距离
uint nCount;
uint nResult;
/******************18B20相关函数及变量***************/
bit SignedFlag=0; //符号标志位 ,负为1,正为0
uchar TempInt; //整数部分温度
uint TempDot; //小数部分温度
void ReadTemperature(void); //在程序中调用此函数
void Init_DS18B20(void);
unsigned char ReadOneChar(void);
void WriteOneChar(unsigned char dat);
void delayx(unsigned int i);
#include "18b20.h"
/******************LCD相关函数******************/
sbit SCLK = P2^0; // 串行时钟
sbit SDIN = P2^1; // 串行数据输入
sbit LCD_DC = P2^2; // 数据/命令 选择端
sbit LCD_CE = P2^3; // 片选
sbit LCD_RST = P2^4; // 外部复位
#include "Nokia5110.c"
/***********超声波测量相关函数定义***************/
void StartInit();
void Delay_us(uint i); //微秒级延时:T=7+2*(X-1) us
void StartMeasure();
void DisplayResult();
void ConvertCount();
void Delay_ms(uint x);
评论