历史上的今天
返回首页

历史上的今天

今天是:2025年05月23日(星期五)

正在发生

2020年05月23日 | 51单片机超声波模块数码管程序分享

2020-05-23 来源:elecfans

超声波原理简单测距准确,应用广泛下面贴一个自己写的数码管程序,显示部分需要改,写的是我使用的是慧净开发板,共阴数码管。

51单片机超声波模块数码管程序分享

//超声波模块程序

//Trig = P2^0

//Echo = P3^2

#include

#define uchar unsigned char

#define uint unsigned int

unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,

0x6d,0x7d,0x07,0x7f,0x6f}; //0-9的码表

uinttime = 0;

uintTImeH = 0;

uintTImeL = 0;

uint succeed_flag;

sbit dula=P2^0; //段选信号的锁存器控制

sbit wela=P2^1; //位选信号的锁存器控制

sbit Trig = P2^2;

sbit Echo = P3^2;

//

void delay(uint z)

{

uint x,y;

for(x=z;x》0;x--)

for(y=125;y》0;y--);

}

//

void delay_20us()

{

uchar a ;

for(a=0;a《100;a++);

}

//***************************************************************

//显示数据转换程序

void display(uinttemp)

{

uchar qian,ge,shi,bai;

qian = temp/1000;

bai=temp/100%10;

shi=temp%100/10;

ge=temp%10;

wela=1;

//P0=0xf7;

P0 = 0xfe;

wela=0;

dula=1;

P0=table[qian];

dula=0;

delay(5);

wela=1;

//P0=0xf7;

P0 = 0xfd;

wela=0;

dula=1;

P0=table[bai];

dula=0;

delay(5);

dula=1;

P0=0x00; //关位码

dula=0;

wela=1;

//P0=0xef;

P0 = 0xfb;

wela=0;

dula=1;

P0=table[shi];

dula=0;

delay(5);

dula=1;

P0=0x00; //关位码

dula=0;

dula=1;

P0=table[ge];

dula=0;

wela=1;

//P0=0xdf;

P0 = 0xf7;

wela=0;

delay(5);

dula=1;

P0=0x00; //关位码

dula=0;

}

//***************************************************************

void main()

{

uint distance;

uint test =0;

Trig=0; //首先拉低脉冲输入引脚

EA=1; //打开总中断0

TMOD=0x10; //定时器1,16位工作方式

while(1)

{

EA=0; //关总中断

Trig=1; //超声波输入端

delay_20us(); //延时20us

Trig=0; //产生一个20us的脉冲

while(Echo==0); //等待Echo回波引脚变高电平

succeed_flag=0; //清测量成功标志

EA=1;

EX0=1; //打开外部中断0

TH1=0; //定时器1清零

TL1=0; //定时器1清零

TF1=0; //计数溢出标志

TR1=1; //启动定时器1

delay(20); //等待测量的结果

TR1=0; //关闭定时器1

EX0=0; //关闭外部中断0

if(succeed_flag==1)

{

TIme=TImeH*256+timeL;

distance=time*0.172; //厘米

display(distance);

}

if(succeed_flag==0)

{

distance=0; //没有回波则清零

test = !test; //测试灯变化

}

}

}

//***************************************************************

//外部中断0,用做判断回波电平

void exter() interrupt 0 // 外部中断0是0号

{

timeH =TH1; //取出定时器的值

timeL =TL1; //取出定时器的值

succeed_flag=1;//至成功测量的标志

EX0=0; //关闭外部中断

}

//****************************************************************

//定时器1中断,用做超声波测距计时

void timer1() interrupt 3 //

{

TH1=0;

TL1=0;

}


推荐阅读

史海拾趣

乔光电子(FTR)公司的发展小趣事

Futaba Electric Co., Ltd. 的五个发展故事

故事一:从真空管到VFD的转型

Futaba Electric Co., Ltd.(原名双叶电子)成立于1948年,最初以生产收音机收讯真空管起家。然而,随着技术的飞速发展和市场需求的变迁,公司在1970年做出了关键的战略调整,决定放弃真空管业务,转而专注于萤光表示管(VFD)的研发与生产。这一决定极具前瞻性,因为VFD以其高清晰度、广视角和出色亮度等独特优势,迅速赢得了市场的青睐。Futaba凭借在VFD领域的持续创新和卓越品质,逐渐确立了其在全球市场的领先地位,市场份额超过60%,成为行业内的佼佼者。

故事二:无线电控制技术的突破

进入1960年代,Futaba在电子领域不断拓宽其技术边界。1962年,公司推出了无线电控制设备和冲压金属模用部件,旨在提升工业生产的品质和效率。这一创新不仅解决了工业控制领域中长期存在的供应商品质和交货期问题,还引领了模具制造行业的标准提升。Futaba的无线电控制技术逐渐在模具制造、工业自动化等领域得到广泛应用,为公司后续在无线遥控领域的深入发展奠定了坚实基础。

故事三:无线遥控技术的领导者

随着技术的不断积累和市场的日益扩大,Futaba在无线遥控领域取得了显著成就。特别是在1990年,公司成功研发出高频无线展频通讯技术,该技术以其高可靠性和抗干扰性,在卫星通讯、工业用机器人和工业控制设备等领域展现出巨大潜力。Futaba的无线遥控产品如遥控飞机、车、船等,在休闲娱乐市场也广受欢迎,进一步巩固了公司在无线遥控技术领域的领先地位。

故事四:VFD在汽车行业的广泛应用

Futaba的VFD产品凭借其卓越的性能和稳定的品质,赢得了众多汽车制造商的信赖。自1983年Futaba的VFD产品被福特汽车公司采用以来,其在美国三大汽车厂的市场占有率迅速攀升至100%。这一成就不仅证明了Futaba产品在汽车行业的广泛应用和市场认可度,也为其在高端消费性电子设备市场的进一步拓展提供了有力支持。

故事五:中国市场的深入布局

为了更好地服务于中国市场,Futaba成立了双叶电子科技开发(北京)有限公司,专营日本双叶(Futaba)的全线产品。这家公司在北京设立,不仅负责Futaba真空荧光显示管及模组、RC遥控器等产品的生产和销售,还积极开拓中国市场,参与行业交流和合作。双叶电子科技开发(北京)有限公司的成立,标志着Futaba在全球化战略中对中国市场的高度重视和深入布局。通过不断提升产品质量和服务水平,Futaba在中国市场也取得了显著成绩,为公司的持续发展注入了新的动力。

Accetek公司的发展小趣事

随着产品质量的不断提升和市场口碑的积累,Accetek公司开始积极拓展国内外市场。公司参加了多个国际电子展览和交流活动,与全球多家知名企业建立了合作关系。同时,公司还加强了品牌建设和市场推广工作,通过广告宣传、媒体合作等方式提高品牌知名度和美誉度。这些举措有效地提升了公司的市场竞争力,为公司的快速发展提供了有力支持。

Gold Peak Group公司的发展小趣事
确保所有元件的接线正确无误,避免出现接错线或短路的情况。
中科芯(CKS)公司的发展小趣事

作为电子行业的领军企业,中科芯承担着众多国家重点科研任务。多年来,公司积极参与国家重大科研项目,涉及通信、计算机、航空航天等多个领域。通过不断的技术攻关和创新,中科芯成功完成了500多项国家重点科研任务,获得了国家奖18项、省部级奖近200项。这些成果的取得不仅提升了公司的技术实力,也为中国电子行业的发展做出了巨大贡献。

Crowd_Supply__Inc.公司的发展小趣事

在国内市场取得一定成绩后,Crowd Supply Inc.开始将目光投向更广阔的国际市场。公司通过与国外合作伙伴建立战略合作关系、参加国际电子展会等方式,积极拓展海外市场。同时,公司还针对不同国家和地区的市场需求,定制化开发符合当地需求的产品和服务。这些举措不仅为公司带来了新的增长点,也进一步提升了公司在国际电子行业的知名度和影响力。

请注意,以上故事是基于一般性的电子行业公司发展历程和模式进行构想的,并非针对Crowd Supply Inc.的实际情况。如果您需要关于Crowd Supply Inc.的具体故事,建议您查阅相关新闻报道、公司官网或行业分析报告等权威渠道获取更准确的信息。

EMCORE公司的发展小趣事

Crowd Supply Inc.深知社区是其发展的核心动力。因此,公司不仅在产品开发上积极吸纳社区意见,还在市场推广、技术支持等方面与社区紧密合作。通过举办线上线下的技术交流活动、设立社区奖励机制等方式,公司成功吸引并留住了一批忠实的社区成员。这些成员不仅为公司带来了稳定的用户基础,还通过口碑传播扩大了公司的品牌影响力。

问答坊 | AI 解惑

关于空气净化器

本帖最后由 jameswangsynnex 于 2015-3-3 19:59 编辑 传统空气净化产品要么是由化学成份组成、要么会有臭氧等毒副作用产生、要么净化效果很弱..... 力天世纪空气净化系统工程有限公司自主研发的等离子室内空气净化器,可以在任何相对封闭的室 ...…

查看全部问答>

WSAWaitForMultipleEvents 87

在WinXP下,调用正常,但是在Wince下执行WSAWaitForMultipleEvents返回错误 87参数不正确。 请教一下,错误在什么地方? 已下代码在线程中执行,pClientSocket->m_hClientEvent是与连接Socket对应的事件, WSAWaitForMultipleEvents等待1000.. ...…

查看全部问答>

招聘嵌入式软件测试人员

招聘2-3名软件测试人员 我部门是隶属于一工厂的研发部,工厂在深圳福永(机场附近)。主要从事GPS的研发工作。 工作地点:深圳市南山区科技园 要求: 1) 计算机软件及相关专业毕业,大专及以上学历 2) 对软件测试有一定的了解和兴趣 3) 有耐心 ...…

查看全部问答>

R3中微软的Silverlight的例子XAMLPERF中的FRM_START,FRM_STOP,FRM_GET_FRAMES_PER_SECOND什么意思?

这三个东西在main.cpp中定义的: class FrameRateManager {     enum FrameRateMonitorMessage        {         FRM_START = 0,         FRM_S ...…

查看全部问答>

求通用开发板和征求开发项目合作

我想找一块使用时间比较长的成熟开发板,带SD卡驱动,USB接口和液晶显示功能就可以了,提供相关PCB制板文件,这是其一 其二,想在上面再扩展个心电采集电路部分,调通该部分功能 如有对以上擅长者,有合作意向请联系本人 QQ:12665590 …

查看全部问答>

pxa270 wince5.0 lan91c111 驱动

移植 lan91c111 for pxa255 wince4.2 驱动 到 pxa270 wince5.0 下,哪位高手做过,需要修改那些地方,指点一下,谢谢!…

查看全部问答>

参加上海09ST巡回演讲回来

问了 2个问题  STM32F107的以太网 用的NICHeLITE 协议栈 主讲的年青帅哥(外)说中文的很溜,可听估计还是差些 也许是我问问题没说清楚 感觉整场会 ADC的主讲比较精彩 交流也很激烈 新的3in1  还有个像游戏机一样的 ...…

查看全部问答>

继电器隔离问题

小弟的板子上用430通过5V电磁继电器控制220v,0.3A的电扇,每次继电器断开的时候干扰很大,单片机死机。在论坛上询问了高人的意见,把给继电器供电的电源和单片机   的电源完全分开,加光耦隔离,问题解决。   我板子上供电是引进220 ...…

查看全部问答>

keil4编译多个源文件怎么设置

为自己写了2个。c文件但是没法链接哦 源文件没问题编译K的 Target not created gpio.axf: Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f10x_cl.o).gpio.axf: Error: L6218E: Undefined symbol RCC_APB2PeriphResetC ...…

查看全部问答>

上海-美资-RF Engineer

上海美资企业招聘射频工程师2位,2年以上相关工作经验(无线、天线行业)。 有想了解的可以站内短我,与我取得联系,谢谢!…

查看全部问答>