首页 AT89C2051超声波测距程序范例

AT89C2051超声波测距程序范例

举报
开通vip

AT89C2051超声波测距程序范例AT89C2051超声波测距程序范例 作者:尼士  来源:  时间:2009-1-1 10:50:30  阅读次数:924     超声波测距原理:测出回波和发射脉冲之间的时间间隔,由公式:距离=速度*时间/2计算,输出显示。     AT89C2051通过P1.6输出10个40kHz脉冲,由非门做电流放大,以推挽形式加到变压器的初级,升压后推动超声波换能器。在发射的同时,P1.7输出一个高电平启动,给电容C4充电,。发射结束时高电平翻转为低电平,C4开始对R2、R3组成的分压器放电并输出到比较器的负端。     ...

AT89C2051超声波测距程序范例
AT89C2051超声波测距程序范例 作者:尼士  来源:  时间:2009-1-1 10:50:30  阅读次数:924     超声波测距原理:测出回波和发射脉冲之间的时间间隔,由公式:距离=速度*时间/2计算,输出显示。     AT89C2051通过P1.6输出10个40kHz脉冲,由非门做电流放大,以推挽形式加到变压器的初级,升压后推动超声波换能器。在发射的同时,P1.7输出一个高电平启动,给电容C4充电,。发射结束时高电平翻转为低电平,C4开始对R2、R3组成的分压器放电并输出到比较器的负端。     超声波接收换能器将回波送到放大器进行放大后,送入机内比较器的正输入端。发射时P1.7输出的电平用以抑制比较器的翻转,称为渡越时间,抑制发射器发射的超声波直接辐射到接收器。            超声波测距系统软件 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 采用模块化设计,由主程序、发射子程序、查蟓接收子程序、定时子程序、显示子程序等模块组成。该系统的主程序处于键控循环工作方式,当按下测量键时,主程序开始调用发射子程序、查询接收子程序、定时子程序,并把测量结果用显示子程序在液晶屏上显示出来。 由于液晶要使用同一P3口,所以必须使用位操作,否则将导致LCD不能正常显示。在系统还可以加入温度传感器来监测环境温度,可进行温度被偿。为了增强系统的可靠性,应在软硬件上采用抗干扰措施。     # pragma DB OE CD OT(5,SPEED) ROM(LARGE)IV     /*连接所需要的库*/     #include     #include     #include     /*定义数据类型*/     typedef unsingned char byte;     typedef unsigned int word     #define uchar unsigned char     #define unint unsigned int     #define ulong unsigned long     /*定义系统常数*/     #define TRUE 1     #define FALSE 0     #define C=340 /*声速*/     /*定义功能位*/     sbit bflag=ACC7;     sbit VOLCK=P1^5;     sbit MING=P3^5;     sbit QUIET=P1^3;     sbit BACK=P1^2;     /*定义显示缓冲区*/     uchar idata ON[16]={’,’L’,’E’,’N’,’G’,’T’,’H’,’=’,’8’,’.’,’8 ’8’,’m’,’’,’’,’’};     /*主程序用延时子程序*/     woid main-delay(void)     {     register i;     TRO=1; for(i=0;i<15;i++)     {     TH0=0;     TL0=0;     Do{}while(!TF0);     TF0=0;     }     TR0=0;     }     */通用延时子程序*/     void delay(void)     {     unint i;     for(i=0;i<200;i++){;}     }     /*键盘延时子程序*/     void key-delay(void)     {     unint i;     for(i=0;i<200;i++){;}     }     /*初始化程序*/     void start_main()     {     tegister i;     uchar a[16]={’’,’L’,’E’,’N’,’G’,’T’,’H’,’=,’8’,’.’,’8’,’8 ’,’m’,’’,’’,’’};     for(i=0;<16;i++)     {ON[i]=a[i];}     nitlcd();/*初始化液晶*/     display(ON);/*更新显示*/     }     /*主程序*/     void main()     {     register s,keycode;     long idata t;     start-main();/*初始化*/     main-delay();/*延时*/;     if(keycoed= =true)     {     keycode=key-scan-wait();     /*判断是否有测量键按下*/     t=measure();*/测量*/     S=0.5*t*C;*/换算*/     Decode-bcd(s.0x09);     /*把测量结果置换入显示缓冲区*/     init-lcd();/*初始化液晶*/     display(ON);/*更新显示*/     }     }
本文档为【AT89C2051超声波测距程序范例】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_992470
暂无简介~
格式:doc
大小:48KB
软件:Word
页数:3
分类:互联网
上传时间:2010-12-16
浏览量:217