网站大量收购独家精品文档,联系QQ:2885784924

超声波全部程序.doc

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

#includeiom16v.h #includemacros.h #includedelay.h #includeBC7281.h #includelcd.h #define uchar unsigned char #define uint unsigned int #define SET(a,b) a|=(1b) //SET(PORTD,PD3)=PORTD|=BIT(3); #define CLR(a,b) a=~(1b) //SET(DDRD,PD3)=DDRD=~BIT(3); #define CPL(a,b) a^=(1b) //CPL(A,B)=A^B,(0^0=0,0^1=0, //1^0=0,1^1=1)异或=与 #define CHK(a,b) (a(1b)) //CHK(DDRD,PD3)=DDRD=BIT(3); //CHK(PORTD,PD3)=PORTD=BIT(3); uint got_num, got_num1[5],temp; uint S1,S2,S3,S4,get_num,d,D,shu,ru,mi,ma; long int Zchang=0,Jshu=0; unsigned long int value=0; uchar Flag=0,m=0,biaozhi=0,T=0; Mima[10]={0,1,2,3,4,5,6,7,8,9}; uchar table[]={0,1,2,3,4,5,6,7,8,9}; //数码,直接调用 /************got_num发送10个脉冲的个数;got_num1[5]把数据从小到大排列数组; temp是got_num1[5]交换式据中间变量*************/ /************Flag,m实现循环*************/ /****************************************************************************/ /*****************************测距离物体长度********************************/ /**************************************************************************/ void PWM40K_style() { DDRD|=BIT(7); TCCR2=0X18; //CTC模式[比较匹配触发OC2(OC2为原OC2的取反)] OCR2=0X0C; } void PWM40K_ON() { TCNT2=0X00; TCCR2=0X1A; //CTC模式,8分频 } void PWM40K_OFF() { TCNT2=0X00; TCCR2=0X00; } void INT1_init() { CLR(DDRD,PD3); //(DDRD=~BIT(3))中断1设为输入 SET(PORTD,PD3); MCUCR=0X08; //(PORTD|=BIT(3)中断1上升沿触发 GICR=~(1INT1); //中断1标志位清零(低电平触发方式不带中断标志位) } void ceju() { PWM40K_ON(); delay_nus(250); //发十个脉冲 PWM40K_OFF(); //停止发脉冲 TCNT1=0X0000; //定时器1初始值为0 TCCR1A=0X00; //发完的同时开始计数 TCCR1B=0X02; //开定时器1 GIFR|=(1INTF1); //清中断标志位 delay_nus(700); GICR|=(1INT1); //外部中断1使能 delay_nms(10); //延时足够的时间,以便下一次使用 66? } void distance() //获得距离值,测5次 { CLI(); INT1_init(); PWM4

文档评论(0)

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

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

1亿VIP精品文档

相关文档