亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

使用UART與PC通信實現msp430g2553單片機超聲波測距示例

2020-01-26 15:31:06
字體:
來源:轉載
供稿:網友

適用于msp430g2553單片機  使用到了hc-sr04超聲測距模塊,使用UART與PC通信。

復制代碼 代碼如下:

#include <msp430.h>
long current_time;//最近一次測得時間
/*MyPro*/
#define LED_1 BIT0                     
#define SW_2 BIT3                      
#define TA1_1 BIT2                      //TA0.1 HC-SR04 Echo
#define TRIG BIT4                       //HC-SR04 Trig
#define ACCU_GRD 7   //Accuracy Grade "xxx.x"+'/0'                   
#define MIN_UNIT_TO1M 1000  //1 m to 1 mm

/*TIMER0*/
#define SOUR_CLK  1045000
#define DIV_CLK_1  1
#define SYS_CLK_SIG_1  SOUR_CLK/DIV_CLK_1
#define DISTANCE 45//dm
#define TIMER_RIG_MAX 0xffff
#define MAX_TIME_1 DISTANCE*2/34*SYS_CLK_SIG_1
#ifdef  MAX_TIME_1
#define SYS_CLK SYS_CLK_SIG_1
#endif
#define UART_TXD BIT2 

void init_timer1()                     
{
  P2SEL |= TA1_1;                       //TA1.1 CCI1B be used                         
  P2DIR &= ~TA1_1;
  TA1CTL = MC_0 + TASSEL_2;             //TimerA_0 stop mode,clock=1Mhz                    
  TA1CCTL1 = CCIE + SCCI + CCIS_1 + SCS + CAP + CM_2; //TA0CC1 capture mode + down edge
}
/*UART*/
void init_uart()                        //USCI 初始化函數
{
  UCA0CTL1 |= UCSWRST;                  //初始化串口寄存器                   
  UCA0CTL1 |= UCSSEL_2;                 //選擇子系統時鐘 1.045MHz
  UCA0BR0 = 0x6d;                       //波特率為9600
  UCA0BR1 = 0x00;
  P1SEL |= UART_TXD;
  P1SEL2 |= UART_TXD;
  P1DIR |= UART_TXD;                    //將P1.2設為第二功能
  UCA0CTL1 &= ~UCSWRST;                 //初始化結束
}
long cal_distance()                     //通過測得時間計算距離
{
 return (long)((340*(0.5000*current_time/SYS_CLK)*MIN_UNIT_TO1M));
}
void delay()    //粗略延遲
{
 unsigned char i,j;
 for(i=124;i>0;i--)
  for(j=8;j>0;j--);
}
static char * translater(long distance)  //將測得的距離以字符串形式存儲
{
  static char trans[ACCU_GRD];
  int i;
  long f;
  trans[0]=' ';
  if(distance)
  for(i=1,f=MIN_UNIT_TO1M;i<ACCU_GRD-1;i++)            //轉化核心算法
  {
    if(i==4)
    {
      trans[i] = '.';                  
      continue;
    }
    trans[i] = '0'+ distance/f;
    distance %= f;
    f /= 10;
  }
  trans[ACCU_GRD-1] = '/0';                   
  return trans;
}
void once_pro()                         //發一次超聲波
{
 if(TA1CCTL1 & COV)
  TA1CCTL1 &= ~COV;
 if(!(P1IN & BIT3))                   
 {
   TA1R = 0;
   P1OUT |= TRIG;                       //Trig 10 us 高電平

   _EINT();
   TA1CTL |= MC_2;   //continue mode
   P1OUT &= ~TRIG;
   P1OUT |= LED_1;
   while(TA1CCTL1 & CCIFG);          //等待 捕捉中斷結束
 }
 else
 {
   P1OUT &= ~LED_1;
   _DINT();
 }    
}
void uart_txstring(char *string)        //UART_TX 發送一個串
{
  int i=0;
  while(string[i++])
  {
   switch (i)      //過濾無效 '0'
    {
     case 1:if(string[i]=='0') continue;
     case 2:if(string[i]=='0'&&string[i-1]=='0') continue;
    }
    UCA0TXBUF = string[i];
    delay();
  }
}
/*UART_ISR*/
#pragma vector = USCIAB0TX_VECTOR
__interrupt void usci_txdistance()      //向 PC 發送 測得的距離
{
  uart_txstring("/n/r");
  uart_txstring(" Current ");
  uart_txstring(" distance: ");
  uart_txstring(translater(cal_distance()));
  uart_txstring(" cm");
  IE2 &= ~UCA0TXIE;
}
/*TIMER0_INT_ISR*/
#pragma vector = TIMER1_A1_VECTOR
__interrupt void capture()           
{
 current_time = TA1CCR1;
 TA1CTL &= ~MC_2;
 TA1CCTL1 &= ~CCIFG;           //清CC1中斷標志位        
 IE2 |= UCA0TXIE;
}
/*Main*/
void main()
{
  WDTCTL = WDTPW + WDTHOLD;              //關狗
  DCOCTL = 0;                           
  BCSCTL1 = CALBC1_1MHZ;
  DCOCTL  = CALDCO_1MHZ;
  P1OUT = 0;
  P2OUT = 0;
  P1REN |= SW_2;
  P2REN |= TA1_1;
  P1OUT |= SW_2;
  P1DIR &= ~SW_2;                       
  P1DIR = TRIG + LED_1;
  init_timer1();
  init_uart();
  while(1)
  {  
   int c = 8;
   while(c--)
   delay();
   if(TA1CCTL1 & CCIFG)
   TA1CCTL1 &= ~CCIFG;
   once_pro();
  }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品自拍视频| 精品久久久久久亚洲国产300| 亚洲自拍偷拍在线| 久久久91精品国产| 午夜精品久久久久久久男人的天堂| 亚洲精品自拍偷拍| 97碰碰碰免费色视频| 欧美午夜视频一区二区| 中文字幕日韩av| 国产精品久久久久久亚洲影视| 亚洲欧美日韩高清| 亚洲精品欧美日韩| 另类少妇人与禽zozz0性伦| 精品国产一区二区三区久久狼5月| 欧美激情欧美狂野欧美精品| 欧美另类极品videosbest最新版本| 成人黄色免费网站在线观看| 国产精品都在这里| 亚洲第一视频在线观看| 亚洲人成网站在线播| 亚洲精品福利在线观看| 国产精品久久久久9999| 亚洲乱码av中文一区二区| 亚洲人线精品午夜| 欧美日韩色婷婷| 国产精品高精视频免费| 精品久久久久久久久久久久| 理论片在线不卡免费观看| xxx欧美精品| 亚洲男人天堂视频| 亚洲一区免费网站| 日韩av手机在线看| 欧美性资源免费| 欧美视频13p| 欧美极品少妇xxxxⅹ裸体艺术| 亚洲国产精品久久久| 日本精品久久中文字幕佐佐木| 成人欧美一区二区三区黑人| 日韩av在线电影网| 精品国产一区二区三区在线观看| 亚洲男人天堂2023| 国产精品中文字幕在线| 亚洲精品国产精品乱码不99按摩| 麻豆国产精品va在线观看不卡| 精品欧美aⅴ在线网站| 欧美日韩xxxxx| 性金发美女69hd大尺寸| 91精品视频免费观看| 综合网日日天干夜夜久久| 色吧影院999| 91精品国产综合久久香蕉| 欧美日产国产成人免费图片| 不卡av电影院| 国产成人综合精品| 深夜福利91大全| 日韩三级成人av网| 欧美日韩中文字幕在线视频| 91免费在线视频| 国产午夜一区二区| 亚洲欧美日韩精品久久奇米色影视| 18性欧美xxxⅹ性满足| 中文字幕亚洲一区| 亚洲精品一区av在线播放| 欧美日本亚洲视频| 成人在线中文字幕| 国产999精品视频| 97在线视频免费看| 久久成人人人人精品欧| 国产亚洲aⅴaaaaaa毛片| 全亚洲最色的网站在线观看| 欧美日韩在线视频一区二区| 欧美一区二区三区艳史| 欧美性高潮床叫视频| 国产精品中文字幕在线| 亚洲精品suv精品一区二区| 国产精品丝袜高跟| 伊人伊成久久人综合网站| 97在线免费观看视频| 国产日产欧美a一级在线| 亚洲成人av片在线观看| 91在线视频导航| 宅男66日本亚洲欧美视频| 国产日韩欧美一二三区| 国产一区二区丝袜高跟鞋图片| 国内久久久精品| 国产精欧美一区二区三区| 欧美极品少妇与黑人| 国产精品十八以下禁看| 欧美午夜www高清视频| 精品性高朝久久久久久久| 精品国内自产拍在线观看| 日韩av片电影专区| 精品中文字幕在线2019| 国产日韩精品视频| 亚洲国产欧美久久| 国语自产偷拍精品视频偷| 日韩在线视频播放| 国产精品久久久久久久av大片| 国产精品久久久久久久久久三级| 久久91亚洲人成电影网站| 精品国产一区二区三区四区在线观看| 国产精品高潮呻吟久久av黑人| 久久av中文字幕| 成人国产精品日本在线| 91亚洲国产成人精品性色| 91亚洲精华国产精华| 日韩精品极品在线观看| 久久国产精品偷| 亚洲自拍偷拍色图| 一区二区福利视频| 久久精品99无色码中文字幕| 欧美视频精品一区| 91九色视频导航| 日韩电影免费在线观看中文字幕| 欧美福利在线观看| 亚洲xxxx18| 欧美精品成人91久久久久久久| 亚洲人成伊人成综合网久久久| 亚洲男人第一av网站| 欧美午夜性色大片在线观看| 久久99热这里只有精品国产| 国产成人精品国内自产拍免费看| 国产精品九九九| 亚洲乱码av中文一区二区| 久久精品电影网| 国内精品视频久久| 欧美性videos高清精品| 成人动漫网站在线观看| 亚洲福利在线视频| 黄色91在线观看| 日韩一区二区av| 日韩在线播放av| 最近2019中文免费高清视频观看www99| 日韩精品丝袜在线| 91po在线观看91精品国产性色| 日韩欧美大尺度| 欧美人在线视频| 欧美精品在线看| 97超碰蝌蚪网人人做人人爽| 成人av色在线观看| 亚洲码在线观看| 欧美激情精品久久久久久变态| 精品一区二区电影| 欧美激情亚洲视频| www.欧美三级电影.com| 亚洲欧洲一区二区三区在线观看| 九九热最新视频//这里只有精品| 欧美激情精品久久久久久大尺度| 国产精品视频久久久| 狠狠操狠狠色综合网| 国产日本欧美一区二区三区| 国产成人高清激情视频在线观看| 中文字幕国内精品| 日韩精品亚洲元码| 亚洲欧美日韩在线高清直播| 成人免费视频网| 欧美一级大片视频| 日韩成人av在线播放| 成人欧美一区二区三区在线湿哒哒| 亚洲激情自拍图| 日韩在线观看免费av| 欧美极品美女视频网站在线观看免费| 亚洲国产日韩欧美在线图片| 成人黄色在线观看|