完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
超声波则距是很多电子制作爱好者比较喜欢的制作项目,下面的这款超声波测距C语言程序,超声波测距发送用的是反相器推挽输出,这样可以加大发射功率,超声波测距接收端用的CX20106A这个红外芯片接收40KHZ的方波,这是网上比较经典的模式,按照这个电路是挺容易成功的测量误差的问题 1m内应为mm级、2m内1cm左右、5m的时候3cm左右。下面的这款超声波测距C语言程序程序也挺简单的,用的定时器和外部中断,接收到回波的时候触发外部中断,在中断服务程序中进行处理,不用加注释应该能看懂吧,这款超声波测距C语言程序程序肯定还有很多不足,给初学者用用应该也可以吧。 #include #define unit unsigned int #define uchar unsigned char ***it fs=P3^0; //发送端; ***it h=P2^0; ***it l=P2^1; ***it m=P2^2;//数码管位选端; ***it jieshou=P3^2; uchar tab[16]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x8e}; uchar u[3]; //显示数组; unit count,b,outcomeH,outcomeL,textover; void delay(unit a) //延时; { 昆明看癫痫病最好的医院 unit m; for(m=0;m } void delayms(uchar z) { uchar x,y; for(x=0;x for(y=110;y>0;y--); } 云南哪家医院治疗癫痫病 void tx() //从P3.0发出40KHz的脉冲 { 郑州癫痫病医院 uchar n,p; for(n=0;n<40;n++) { fs=1; for(p=0;p<3;p++); fs=0; for(p=0;p<2;p++); fs=0; } } void display(void) //显示; { for(b=0;b<3000;b++) { l=1;m=1;h=1; P1=tab[u[0]]; m=0; delay(10); m=1; P1=tab[u[1]]; l=0; delay(10); l=1; P1=tab[u[2]]; h=0; delay(10); h=1; } } voi***nterrupt 0 //外部中断0,接收信号 { TR0=0; outcomeH=TH0; outcomeL=TL0; count=outcomeH; count<<=8; count=count|outcomeL; count/=59; if(count>=10) { u[0]=count; u[1]=(count/10); u[2]=(count/100); display(); } TH0=0; TL0=0; //textover=1; } void over()interrupt 1 //T0溢出为无效测量显示FFF; { u[0]=10; u[1]=10; u[2]=10; display(); TR0=0; } void main() { fs=0; delay(8600); TH0=0; TL0=0; TMOD=0x01; EA=1; ET0=1; PT0=1; IT0=1; IE=0x83; while(1) { delayms(50); fs=0; jieshou=1; tx(); TR0=1; } } |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
3012个成员聚集在这个小组
加入小组2892 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3407 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2322 浏览 1 评论
4781 浏览 1 评论
2556 浏览 1 评论
1294浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3407浏览 2评论
2894浏览 1评论
1454浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 14:43 , Processed in 1.144094 second(s), Total 75, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号