at89c2051制作的超声波测距源程序
关键词: 超声波测距
at89c2051制作的超声波测距源程序
#include <REG2051.H>
#define k1 P3_4
#define csbout P3_5 //超声波发送
#define csbint P3_7 //超声波接收
#define csbc=0.034
#define bg P3_3
unsigned char csbds,opto,digit,buffer[3],xm1,xm2,xm0,key,jpjs;//显示标识
unsigned char convert[10]={0x3F,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0~9段码
unsigned int s,t,i, xx,j,sj1,sj2,sj3,mqs,sx1;
bit cl;
void csbcj();
void delay(j); //延时函数
void scanLED(); //显示函数
void timeToBuffer(); //显示转换函数
void keyscan();
void k1cl();
void k2cl();
void k3cl();
void k4cl();
void offmsd();
void main() //主函数
{
EA=1; //开中断
TMOD=0x11; //设定时器0为计数,设定时器1定时
ET0=1; //定时器0中断允许
ET1=1; //定时器1中断允许
TH0=0x00;
TL0=0x00;
TH1=0x9E;
TL1=0x57;
csbds=0;
csbint=1;
csbout=1;
cl=0;
ōpto=0xff;
jpjs=0;
sj1=45;
sj2=200;
sj3=400;
k4cl();
TR1=1;
while(1)
{
keyscan();
if(jpjs<1)
{
csbcj();
if(s>sj3)
{
buffer[2]=0x76;
buffer[1]=0x76;
buffer[0]=0x76;