《SL-SRF-25超声波技术(含图和代码)》.pdf

《SL-SRF-25超声波技术(含图和代码)》.pdf

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《SL-SRF-25超声波技术(含图和代码)》.pdf

SL-SRF-25 超声波技术文档(含图和代码) 这款SL-SRF-25超声波传感器,是多网络是收集的,SL-SRF-25超声波传感器 由3位LED数码管显示障碍物距离, 3位LED数码管采用积木式插装方式,便于调试 检查及使用在不同场合。测量范围10cm-250cm,测距小于100cm时,误差是1~2 cm.,大于100cm时,误差是3~5cm。SL-SRF-25超声波传感器,还可以指定从单片 机I/O端口上输出分段距离检测信号,可以直接装在双龙SL系列机器人上,作为寻 物、避障探测等应用。LED发光二极管显示所测分段距离范围信号,可以用于机 器人控制。 短路插针JD1-2/-3脚功能接地;JD1-1接PC5;短路块插于2,3间,使用LED数码 管显示; 短路块插于1,2间,使用LED发光二极管显示,或超声波传感器输出分段 控制信号。超声波传感器输出分段控制信号对应J1引脚 : 1、J1-1—PD0 避障距离范围5~9cm 2: J1-2—PD1 避障距离范围10~19cm 3: J1-3—PD2 避障距离范围20~29cm 4: J1-4—PD3 避障距离范围30~39cm 5: J1-5—PD4 避障距离范围40~49cm 6: J1-6—PD5 避障距离范围50~99cm 7: J1-7—PD6 避障距离范围100~179cm 8: J1-8—PD7 避障距离范围180~250cm SLSRF-25 电原理图 SL-SRF-25 超声波测距源程序: /********************************************************************* Project : 超声波测距 Chip type : ATMEGA8 Clock frequency: 8.000000MHz *********************************************************************/ #include<iom8v.h> #include<macros.h> #pragma interrupt_handler intt0:10 //T0 溢出中断 #pragma interrupt_handler icp_timer1:6 //T1 捕捉中断 #pragma data:code //设定数据区为程序存储器 const unsigned char tab1[]={0X28,0XEE,0X32,0XA2,0XE4, 0XA1,0X21,0XEA,0X20,0XA0};//七段译码字型表(lm,cm) const unsigned char tab2[]={0X08,0XCE,0X12,0X82,0XC4, 0X81,0X01,0XCA,0X00,0X80};//七段译码字型表(m) #pragma data:data //设定数据区回到数据存储器 unsigned char ledbuff[]={0X08,0X28,0X28};//显示缓冲区 unsigned char count; unsigned char newcount; unsigned char oldcount; void intt0(void)//T0 中断定时程序,定时58US,即测距1CM. { TCNT0=0XC6; count++; } void icp_timer1(void)//ICP1 捕捉中断,捕捉频率38.5~41.6 { if (96<=ICR1<=104) { SREG&=0X7f; newcount=count-13; ICR1=0; TCNT1=0; TCCR1B=0X81; } } void delay_1us(void)//1us { asm("nop"); } void delay_us(unsigned int t)//tus { unsigned int i=0; for(i=0;i<t;i++) delay_1us(); } void delay_1ms(void)//1ms { unsigned int i; for(i=1;i<1142;i++); } void delay_ms(unsigned char t) { unsigned char i=0; for(i=0;i<t;i++) { delay_1ms(); } } void send40kHz(void) //发射40KHz 超

文档评论(0)

mwap + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档