当前位置:首页 > 单片机 > 单片机
[导读]在做超声模块时用到1 //捕获上升沿2 void Capture_Pos(void)3 {4 P2SEL |= Echo; //选择P23作为捕捉的输入端子 Timer1_A56 //TA1CCTL1 |=CM_3+SCS+CAP+CCIE; //上下沿都触发捕捉,用于测脉宽,同步模式、时能

在做超声模块时用到



1 //捕获上升沿

2 void Capture_Pos(void)

3 {

4 P2SEL |= Echo; //选择P23作为捕捉的输入端子 Timer1_A

5

6 //TA1CCTL1 |=CM_3+SCS+CAP+CCIE; //上下沿都触发捕捉,用于测脉宽,同步模式、时能中断 CCI1A

7

8 TA1CCTL1 |=CM_1+SCS+CAP+CCIE; //上升沿触发捕捉,同步模式、时能中断 CCI1A

9

10 TA1CTL |= TASSEL1+MC_2; //选择SMCLK时钟作为计数时钟源,不分频 增计数模式不行,必须连续计数模式

11

12 }


1 //捕获下降沿

2 void Capture_Neg(void)

3 {

4 P2SEL |= Echo; //选择P23作为捕捉的输入端子 Timer1_A

5

6 TA1CCTL1 |=CM_2+SCS+CAP+CCIE; //下降沿触发捕捉,同步模式、时能中断 CCI1A

7

8 TA1CTL |= TASSEL1+MC_2; //选择SMCLK时钟作为计数时钟源,不分频 增计数模式不行,必须连续计数模式

9

10 // TA1R=0;

11

12 }


1 #pragma vector=TIMER1_A1_VECTOR //Timer1_A CC1 的中断向量

2

3 __interrupt void Timer_A1(void)

4

5 {

6 unsigned int count;

7 char countH,countL;

8 float mile;

9 UCHAR shi[2];

10 //的方法进行判断是哪一个中断源产生的中断

11

12 switch(TA1IV) //如果是Timer1_A CC1产生的中断

13

14 {

15

16 case 2: // CCR1 not used 捕获/比较器1

17

18 {

19 if(CaptureFlag==0)

20 {

21 // uart_send_ch('H');

22 CaptureFlag=1;

23 Capture_Neg();

24 }

25 else if(CaptureFlag==1)

26 {

27 /*

28 * 声速340m/s = 34cm/ms;

29 * distance = 34/2*time

30 * time=count/1000 (ms) 认为频率为1Mhz

31 * */

32 // uart_send_ch('L');

33 count=TA1CCR1;

34 // countL=(char)(count&0xff);

35 // countH=(char)(count>>8);

36 mile=(float)count;

37 mile=mile/1000*17;

38 distance=(char)mile;

39 P1OUT ^= GRN_LED;

40 uart_send_ch(distance);

41 // shi[0]=distance/10+0x30;

42 // shi[1]=distance%10+0x30;

43 // OLED_SSD1306_Display8x16Str(0,80,&shi[0]);

44 // OLED_SSD1306_Display8x16Str(0,96, "cm");

45 CaptureFlag=2;

46 // uart_send_ch(distance);

47 // uart_send_ch(shi[0]);

48 // uart_send_ch(shi[1]);

49 // CaptureFlag=0;

50 // Capture_Pos();

51

52 }

53

54

55 break;

56

57 }

58

59 case 4:break; // CCR2 not used 捕获/比较器2

60

61 case 10:break; // overflow 定时器溢出

62

63 }



中断处理只需要记住结果,内部逻辑代码跟模块有关


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭