下载此文档

msp430f149多路超声波测距程序.doc


文档分类:通信/电子 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
///////////// 文件#include "" #include "" char table[30]; long unsigned int channel[3];// 存放时间 uint channel_count[6]={0};// 存放计数值 uchar channel_flag[3]={0}; uchar yichu_flag=0;// 溢出标志 float distance1=0; float distance2=0; float distance3=0; /************** 变量定义****************/ unsigned char flag=0; long time; /******************************************* 函数名称: void InitSys() 函数功能:时钟初始化入口参数:无返回值:无*******************************************/ void InitSys() { unsigned int iq0; _DINT(); BCSCTL1 &=~XT2OFF; do { IFG1 &= ~OFIFG; //清除振荡器失效标志 for (iq0 = 0xFF; iq0 > 0; iq0--); //延时,等待 XT2 起振} while ((IFG1 & OFIFG) != 0); //判断 XT2 是否起振 BCSCTL2 =SELM1+SELS; //MCLK,SMCLK 时钟为 XT2 } /******************************************* 函数名称: void init_dvice(void) 函数功能:超声波模块初始化入口参数:无返回值:无*******************************************/ void init_dvice(void) { P2DIR|=BIT0+BIT1+BIT2; //输出方向(用来产生大于 10us 的脉冲) P4DIR&=~(BIT1+BIT2+BIT3); //P1 的管脚为输入 P4SEL|=(BIT1+BIT2+BIT3); //CCI0A 输入 TBCTL=TBSSEL_2+TBCLR+ID_3+MC_2; //MCLK, 清除 TAR, 八分频,连续计数模式//CCTL0=IS_0+IE; //上升沿捕捉模式,IxA 作为捕捉事件的输入信号, //工作在捕捉模式,捕获/比较中断使能 TL3 |= CM_1 + SCS + CAP + CCIE;// 捕获模式,同步捕获,中断打开,上降沿捕获 TL1 |= CM_1 + SCS + CAP + CCIE;// 捕获模式,同步捕获,中断打开,上降沿捕获 TL2 |= CM_1 + SCS + CAP + CCIE;// 捕获模式,同步捕获,中断打开,上降沿捕获//TL4 |= CM_1 + SCS + CAP + CCIE;// 捕获模式,同步捕获,中断打开,上降沿捕获// TBCTL|=TASSEL_1+TACLR+ID_1+MC_1; //TIMER_B 工作于增计数方式// TL0|=CCIE; // R0 =4096; _EINT(); //使能 GIE } /******************************************* 函数名称: void start(void) 函数功能:超声波开始信号,产生 10us 的脉冲入口参数:无返回值:无*******************************************/ void start1(void) { Trig_L1; delay_us(10); Trig_H1; delay_us(10); Trig_L1; } void start2(void) { Trig_L2; delay_us(10); Trig_H2; delay_us(10); Trig_L2; } void start3(void) { Trig_L3; delay_us(10); Trig_H3; delay_us(10); Trig_L3; } /******************************************* 函数名称: void count_distance(void) 函数功能:计算距离入口参数:无返回值:无*******************************************/ float count_distance(long unsigned int ti1) { float dist

msp430f149多路超声波测距程序 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人63229029
  • 文件大小48 KB
  • 时间2017-05-19