基于MSP430F149的超声波测距

这篇博客介绍了如何使用MSP430F149微控制器进行超声波测距。通过设置内部看门狗、触发超声波信号并捕获回波时间,计算出距离值,并将其转换为7段码显示。
摘要由CSDN通过智能技术生成

#include <msp430.h>

void ultrasound_trig();
unsigned char segdata[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

#define ComOut() P5OUT|= BIT5
#define ComLatch() P5OUT&= ~BIT5
#define SegmentLatch() P6OUT &= ~BIT6
#define SegmentOut() P6OUT |= BIT6

int main(void)
{
WDTCTL = WDT_ADLY_1_9; // 设置内部看门狗工作在定时器模式,1.9ms中断一次
IE1 |= WDTIE; // 使能看门狗中断

P6DIR |= BIT6 + BIT2;
P6OUT |= BIT2;  //关闭电平转换
P5DIR |= BIT5;
P4DIR = 0xFF;

P1DIR |= BIT0;  //触发信号
P1DIR &= ~BIT1; //P1.1 为输入捕获
P1SEL |= BIT1; //设 P1.1 为 TA1 功能

CCTL0 = CM_3 + SCS + CCIS_0 + CAP + CCIE;
TACTL = TASSEL_1 + MC_2;
_BIS_SR(GIE);
while(1)
{
    ultrasound_trig();
    __delay_cycles(60000);
    __delay_cycles(60000);
    __delay_cycles(60000);
}

return 0;

}

vo

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值