5239|4

8

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

超声波HC-SR04,51都整出了,移植到avr就不行 [复制链接]

产品说明:  
一个控制口发一个10US以上的高电平,就可以在接收口等待高电平输出。一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离。
#include"iom128v.h" 
#include"macros.h" 

#define uchar unsigned char 
#define uint unsigned int 



#define a (PIND&0X10) 

long time, flag,S; 

void init(void) 

TCCR1A=0X00;    //非比较匹配.PWM模式,一般模式 
TCCR1B=0X02;
TCNT1H=0; 
 TCNT1L=0;
 DDRB|=BIT(4); 
 DDRD|=BIT(4); 
 PORTD=0; 
 DDRD&=~BIT(4); 
TIMSK|=BIT(2);


void start(void) 
uchar i;
PORTB=0XFF; 
for(i=0;i<100;i++)
{
   asm("nop");	
}
 PORTB=0; 


void Conut(void) 

 time=TCNT1H*256+TCNT1L; 
 TCNT1H=0; 
 TCNT1L=0; 
 S=(time*1.7)/100;     //算出来是CM 

void main(void) 

LCD_init(); 
init(); 
TCNT1H=0; 
TCNT1L=0; 
   while(1) 
  { 
start(); 
while(!(a==0x10)); 
SREG|=BIT(7);;//使能定时器1中断 
while(a==0x10); 
  SREG&=~BIT(7);; 
Conut(); 



#pragma interrupt_handler timer_1:15 
void timer_1(void) 

flag=1; 


啥情况啊!!救命了!!!
此帖出自电子竞赛论坛

最新回复

本帖最后由 paulhyde 于 2014-9-15 03:19 编辑 你现在做出来没有,我现在也写不出来    详情 回复 发表于 2014-8-6 17:13
点赞 关注
 
 

回复
举报

266

帖子

25

TA的资源

纯净的硅(初级)

沙发
 
本帖最后由 paulhyde 于 2014-9-15 03:19 编辑

so easy

 

此帖出自电子竞赛论坛
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

回复 沙发 7leaves 的帖子

本帖最后由 paulhyde 于 2014-9-15 03:19 编辑

简单的话,指教一下吧

 

此帖出自电子竞赛论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(中级)

4
 
本帖最后由 paulhyde 于 2014-9-15 03:19 编辑

告诉你time=TCNT1H*256+TCNT1L;改过来  time=TCNT1L+TCNT1H*256; 实践是检验真理的唯一标准

 

此帖出自电子竞赛论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

5
 
本帖最后由 paulhyde 于 2014-9-15 03:19 编辑

你现在做出来没有,我现在也写不出来

 

此帖出自电子竞赛论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表