仪器网(yiqi.com)欢迎您!

| 注册 登录
网站首页-资讯-专题- 微头条-话题-产品- 品牌库-搜索-供应商- 展会-招标-采购- 社区-知识-技术-资料库-方案-直播- 视频

问答社区

谁有基于AVR atmega16超声波测距程序 发给我

kings6680 2011-04-03 04:30:42 283  浏览
  •  

参与评论

全部评论(1条)

  • Liuwei20080866 2011-04-04 00:00:00
    我有。用外部中断0做输入。 #include <mega16.h> #include <delay.h> #define uchar unsigned char unsigned char ge,shi,bai,qian,flag,x,cont; unsigned int temp,temp_1,temp_2,y; flash unsigned char duan[]={0x3f,0x06,0x5b,0x4f,
    0x66,0x6d,0x7d,0x07,
    0x7f,0x6f,0x77,0x7c,
    0x39,0x5e,0x79,0x71}; void dis() { DDRA=0X0F; DDRB=0XFF; PORTA=0XFF; PORTB=duan[qian]; PORTA.0=0; delay_ms(1); PORTA.0=1; PORTB=duan[bai]; PORTA.1=0; delay_ms(1); PORTA.1=1; PORTB=duan[shi]; PORTA.2=0; delay_ms(1); PORTA.2=1; PORTB=duan[ge]; PORTA.3=0; delay_ms(1); PORTA.3=1; } void jisuan() { temp_1=temp; temp_1=temp_1*17; temp_1=temp_1/100; ge=temp_1 % 10; temp_1=temp_1 / 10; shi=temp_1 % 10; temp_1=temp_1 / 10; bai=temp_1 % 10; qian=temp_1 / 10; flag=0; temp=0; } void init() { temp=0; DDRD.2=0; DDRD.5=1; PORTD.2=1; GICR=0X00; //,先不允许中断 GICR=0X40; //INT0中断允许 MCUCR=0X0A; //下降沿触发 GIFR=0XC0; //清中断INT0中断标志位 DDRC=0XFF; TCCR2=0X09; //不分频 TCNT2=0; OCR2=119; //10US; TIMSK=0X80; SREG|=0X80; } interrupt [2] one_INT0() { x++; if(x>=2) { TCCR2=0; //收到回波,停止计时。 GICR=0; //关INT0中断。 x=0; PORTC=temp; jisuan(); flag=0; } delay_us(20); } interrupt [4] two_T2() //T2定时器溢出中断,计时。 { temp++; } void send40k() { DDRD.5=1; //CTC模式 TCCR1A=0X40; TCCR1B=0X09; OCR1A=149; } void close40k() { TCCR1B=0; } void main(void) { init(); flag=1; DDRC=0XFF; PORTC=0XFF; DDRD.2=0; PORTD.2=1; while(flag) { GICR=0X00; TCNT2=0; temp=0; send40k(); while(1); TCCR2=0X09; //开始计时 delay_us(125); close40k(); // PORTD.5=1; delay_us(1500); GICR=0X40; //开INT0中断。 while(!(temp>=6000)&&flag) //等待外部中断 防止卡死。 temp=5000,50ms,17米 { } if(temp>=6000) { GICR=0X00; TCCR2=0X00; ge=shi=bai=qian=0; delay_ms(500); } y=700; while(y--)dis(); flag=1; } }

    赞(16)

    回复(0)

    评论

获取验证码
我已经阅读并接受《仪器网服务协议》

热门问答

谁有基于AVR atmega16超声波测距程序 发给我
 
2011-04-03 04:30:42 283 1
基于89C52单片机的HC-SR04超声波测距系统程序
 
2018-12-09 01:37:42 286 0
超声波测距程序问题
#include #define uchar unsigned char #define uint unsigned int #define ulong unsigned long sbit Tx = P3^3; //产生脉冲引脚 sbit Rx = P3^2; //回波引脚 uchar code SEG7[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0...
2012-07-17 06:51:21 502 2
求一份如图 基于单片机超声波倒车测距的程序
2016-08-01 00:14:58 559 1
谁有三菱PLC仿真软件。发给我
 
2018-06-28 05:17:16 399 2
请问基于atmega16 ,利用霍尔传感器设计一个测速仪,求原理图跟设计程序
 
2011-10-22 21:40:33 209 2
求一份verilog的超声波测距程序
基本要求: 1) 测量距离不低于0.5m,测量精度优于0.1m。 2) 数字显示测量结果,并能动态更新,更新周期约为0.5s。 拓展要求: 1) 测量距离大于1m,测量精度优于0.05m,显示精度为0.01m,显示要求同上。 2) 数字显示测量结果的更新周期可调,显示... 基本要求: 1) 测量距离不低于0.5m,测量精度优于0.1m。 2) 数字显示测量结果,并能动态更新,更新周期约为0.5s。 拓展要求: 1) 测量距离大于1m,测量精度优于0.05m,显示精度为0.01m,显示要求同上。 2) 数字显示测量结果的更新周期可调,显示稳定。当距离小于0.5m时,通过蜂鸣器给出间歇式的“滴-滴”声响告警;当距离小于0.3m时,告警声响变得更加急促。 3) 其它功能(如使用多个超声波传感器实现汽车倒车雷达的功能)。 拓展要求可要可不要,求做过的大佬给份程序谢谢。 展开
2018-07-02 06:15:24 225 1
谁有1000L的发酵罐剖面图,发给我吧,谢谢。。。
 
2018-11-17 19:08:09 240 0
求US-100(模块)超声波测距的C语言程序,基于51单片机的,3Q哦~
求基于51单片机的US-100超声波测距C语言程序。需要详细点的具体设计程序,O(∩_∩)O~ US-100模块参考资料:http://wenku.baidu.com/view/65e63e35a32d7375a41780ce.html 性能要求:实现2--150cm的测距,测得结果保留4位有效数字(取整数),单位:mm。 哪... 求基于51单片机的US-100超声波测距C语言程序。需要详细点的具体设计程序,O(∩_∩)O~ US-100模块参考资料:http://wenku.baidu.com/view/65e63e35a32d7375a41780ce.html 性能要求:实现2--150cm的测距,测得结果保留4位有效数字(取整数),单位:mm。 哪位大神帮帮忙喽,急啊!!!真心谢谢大神了~ 展开
2017-05-17 15:16:00 512 1
求一个cc2530 超声波模块测距的程序
 
2013-08-02 21:14:16 321 2
求基于STC89c52单片机做超声波测距仪程序
 
2015-04-11 11:12:58 359 1
谁有PLC运动控制控制实例的 发份给我 谢谢 525259034@qq.com
要求精度的大功率的伺服... 要求精度的 大功率的伺服 展开
2011-08-31 02:09:42 393 2
谁有机器视觉图像处理软件,发一份给我。谢谢啊 QQ:349284951
 
2011-07-25 10:42:17 305 2
这个51单片机HC-SR04超声波测距程序哪里错了
//晶振11.0592MHz #include #define uchar unsigned char #define uint unsigned int sbit trig=P0^2; sbit echo=P3^3; float dis=0; uint irtime=0; void delay_20us() { uchar bt ; for(bt=0;bt<100;bt++); } void TI... //晶振11.0592MHz #include #define uchar unsigned char #define uint unsigned int sbit trig=P0^2; sbit echo=P3^3; float dis=0; uint irtime=0; void delay_20us() { uchar bt ; for(bt=0;bt<100;bt++); } void TIM1init(void)//定时器1初始化 { TMOD=0x22;//定时器1工作方式2,TH1是重装值,TL1是初值 TH1=0xd2; //重载值 溢出一次约50us TL1=0xd2; //初始化值 ET1=1; //开中断 } void EX1init(void) //外部中断1初始化 { IT1 = 1; //指定外部中断0下降沿触发,INT1 (P3.3) EA = 1; //开总中断 } /*------------------------------------------------ 定时器1中断处理 ------------------------------------------------*/ void tim1_isr (void) interrupt 3 { irtime++; //用于计数2个下降沿之间的时间 } /*------------------------------------------------ 外部中断1中断处理 ------------------------------------------------*/ void EX1_ISR (void) interrupt 2 //外部中断1服务函数 { dis=340*(irtime/2.0)*50/10000; irtime=0; TR1=0; EX1=0; } void test(void) { trig=1; delay_20us(); trig=0; EX1=1; while(!echo); TR1=1; } void main(void) { TIM1init(); EX1init(); while(1) { test(); display(dis); } } 主函数调用test,然后在数码管上显示(显示函数略过),测试的时候,在数码管上显示的距离明显不对,还各种不稳定,有时就个位数上显示一个1或2,不知道怎么回事 展开
2016-01-25 09:17:10 334 2
基于单片机的超声波测距系统的答辩有什么问题
 
2017-06-07 04:45:19 555 1
求一个基于stm32和us-100的超声波测距原理图
 
2018-06-17 12:43:03 624 1
超声波测距
time=timeH*256+timeL; distance=time*0.0172; //厘米 0.0172怎么来的 , distance怎么来的 求具体转换过程,只要真心,一定采纳
2013-11-23 11:03:17 359 1
DHT11 温湿度传感器 avr nega 16 c程序
用4个共阳的数码管显示的mega16avr单片机的c程序... 用4个共阳的数码管显示的 mega 16 avr单片机的 c程序 展开
2018-11-28 15:47:44 302 0
谁有真空镀膜机操作规程和维修保养计划表?有的发一份给我,谢谢!
 
2018-12-02 00:08:44 307 0
帮帮忙 帮我解释详细下 这个程序 超声波测距的
void Conut(void) { time=TH0*256+TL0; TH0=0; TL0=0; S=(time*1.72)/100; //算出来是CM
2013-06-17 03:22:24 401 1

9月突出贡献榜

推荐主页

最新话题