找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1837|回復(fù): 0
收起左側(cè)

51單片機(jī)超聲波測(cè)距(數(shù)碼管顯示)

[復(fù)制鏈接]
ID:263971 發(fā)表于 2017-12-19 21:40 | 顯示全部樓層 |閱讀模式
#include <reg52.h>

#include<intrins.h>

#define uchar unsigned char

#define uint unsigned int

sbit fa=P1^0;

sbit shou=P1^1;

sbit dula=P2^6;

sbit wela=P2^7;

unsigned int time;

unsigned long distance;

uchar shi,ge,bai,t;

bit flag;

void display();

unsigned char code dx[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

void delay1()

{

unsigned int x,y;

for(x=1;x>0;x--)

for(y=110;y>0;y--);

}

//void delay_20us()

// {

// uchar a ;

// for(a=0;a<100;a++);

// }

void delay10(uint us)

{

while(--us)

{

_nop_();

}

}

void main()

{

TMOD=0x11;

TR0=0;        //1.085us

TF0=0;

TH0=0;

TL0=0;

shou=0;

TH1=0x3c;

TL1=0xb0; //50ms

EA=1;

ET1=1;

TR1=1;

while(1)

{

display();

if(flag)

{        flag=0;

EA=0;

fa=1;

delay10(10);

fa=0;

while(shou==0);

TR0=1;

TF0=0;

while(shou);

TR0=0;

TF0=0;

time=TH0*256+TL0;

TH0=0;

TL0=0;

distance=time*0.0172;

shi=distance%100/10;

ge=distance%10;

bai=distance/100;

EA=1;

}

}

}

void display()

{

//        dula=1;

//        P0=dx[n];

//        dula=0;

//        P0=0xff;

//        wela=1;

//        P0=0xfe;

//        wela=0;

//        delay1();

// 第二位

dula=1;

P0=dx[bai];

dula=0;

P0=0xff;

wela=1;

P0=0xfd;

wela=0;

delay1();

////////第三位//////

dula=1;

P0=dx[shi];

dula=0;

P0=0xff;

wela=1;

P0=0xfb;

wela=0;

delay1();

/////第四位/////

dula=1;

P0=dx[ge];

dula=0;

P0=0xff;

wela=1;

P0=0xf7;

wela=0;

delay1();

}

void timer1() interrupt 3

{

TH1=0x3c;

TL1=0xb0; //50ms

t++;

if(t==10)

{

t=0;

flag=1;

}

}

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表