• 大小: 50KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: 其他
  • 标签:

资源简介

使用MSP430G2553单片机控制HC-SR04超声波模块,将测得的距离在Nokia-5110显示屏上显示出来。完整的CCS编译器下的工程文件,已经测试过,可以使用

资源截图

代码片段和文件信息

//IAR Assembler for MSP430
//  5.30.1 (5.30.1.50284)
//
// BY: Elitezhe
// Southeast University
// School of Instrument and Engineering
// Launchpad + HCSR04超声模块  测距离
// 连接图:
//  ACLK = n/a MCLK = SMCLK = 1MHZ
//
//              MSP430F5438
//            -----------------
//        /|\|              XIN|-
//         | |                 |
//         --|RST          XOUT|-
//           |                 |
//           |P1.4         P2.5|-->LCD_RST
//           |             P2.4|-->LCD_CE
//           |             P2.3|-->LCD_DC
//           |             P2.2|-->LCD_DIN
//           |             P2.1|-->LCD_CLK
//           |                 |
//           |             P1.4|-->Trig
//           |             P1.2|-->Echo
//           |                 |
//           |                 |


#include “msp430g2553.h“
#include “5110/nokia_5110.h“
#include “stdio.h“

#define    TRIG          BIT4
#define    ECHO          BIT2   //P1.1 DIR.0=0 + SEL.1=1 + SEL2.1=0 --> TA0.CCI0A
#define    USOUND_DIR    P1DIR
#define    USONUD_OUT    P1OUT
#define    USOUND_IE     P1IE
#define    USOUND_IES    P1IES
#define    USOUND_SEL    P1SEL

unsigned int capV = 0;
float        distance;

void BCSplus_init(void);

char str[100];
int main( void )
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  
  BCSplus_init();
  
  LCD_init();
  LCD_clear();
  LCD_write_english_string(00“USONIC DIS MEASURE“);
  //sprintf(str “%x“ 255);
  LCD_write_english_string(01“EliteZhe“);
  LCD_write_english_string(02“-----------------“);
  LCD_write_english_string(03“TIME:“);
  LCD_write_english_string(04“DIST:“);
  
  USONUD_OUT |= TRIG;
  USOUND_DIR |= TRIG;
  //USOUND_IES |= ECHO;
  USOUND_SEL |= ECHO ; //CCI0A
  while(1)
  {
    TA0CTL |= MC_2 + TASSEL_2 + TACLR; //计数 SMCLK 清计数
    TA0CCTL1 |= CM_1 + CAP + SCS + CCIE + CCIS_0;//上升沿捕获  捕获模式  同步模式  使能中断 CCI0A
    
    USONUD_OUT |= TRIG;
//    _NOP();_NOP();_NOP();_NOP();_NOP();
//    _NOP();_NOP();_NOP();_NOP();_NOP();
//    _NOP();_NOP();_NOP();_NOP();_NOP();
    __delay_cycles(200);
    USONUD_OUT &= ~TRIG;
    //_BIS_SR(LPM4_bits + GIE);                 // Enter LPM4 w/interrupt
    
    while((TA0CCTL1 & CCIFG) ==0); //等待上升沿
    TA0CTL &= ~MC_3; //清除MC_的两位否则 CM_1 | CM_2 = CM_3
    TA0CTL |= MC_2 + TACLR; //连续计数 清除TA的计数值
    TA0CCTL1 &= ~CCIFG; //清中断标志
    TA0CCTL1 |= CM_2; //下降沿捕捉
    
    while((TA0CCTL1 & CCIFG) ==0); //等待下降沿
    capV = TA0CCR1;  //得到计数器的值
    distance = 1.12826e-3 * capV ;//计算距离
    sprintf(str“%4x“capV);
    LCD_write_english_string(303str);
    sprintf(str“%.3f“distance);
    LCD_write_english_string(304str);
    
    TA0CCTL1 &= ~CCIFG; //清中断标志
    
    unsigned int xy;
    for(x=5000;x>0;x--)
      for(y=500;y>0;y--);
  }
  return 0;
}


/****************************************
*  ======== BCSplus_init ========
*  Initialize MSP430 Basic Clock System

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-05-15 16:13  2553_超声测距\
     文件        4292  2012-08-07 14:28  2553_超声测距\2553.dep
     文件       20124  2012-08-04 09:39  2553_超声测距\2553.ewd
     文件       50800  2012-08-04 09:43  2553_超声测距\2553.ewp
     文件         158  2012-08-04 09:39  2553_超声测距\2553.eww
     目录           0  2018-05-15 16:13  2553_超声测距\5110\
     文件         480  2012-08-04 10:03  2553_超声测距\5110\demo.c
     文件       18013  2012-08-04 10:01  2553_超声测距\5110\nokia_5110.c
     文件        1107  2012-08-07 08:43  2553_超声测距\5110\nokia_5110.h
     目录           0  2018-05-15 16:13  2553_超声测距\Debug\
     目录           0  2018-05-15 16:13  2553_超声测距\Debug\Exe\
     文件       37892  2012-08-07 14:19  2553_超声测距\Debug\Exe\2553.d43
     目录           0  2012-08-04 09:38  2553_超声测距\Debug\List\
     目录           0  2018-05-15 16:13  2553_超声测距\Debug\Obj\
     文件         231  2012-08-07 14:18  2553_超声测距\Debug\Obj\2553.pbd
     文件        4112  2012-08-07 09:46  2553_超声测距\Debug\Obj\demo.r43
     文件       16445  2012-08-07 14:19  2553_超声测距\Debug\Obj\main.r43
     文件       29971  2012-08-07 09:46  2553_超声测距\Debug\Obj\nokia_5110.r43
     文件        4421  2012-08-07 15:06  2553_超声测距\main.c
     文件           0  2012-08-07 14:19  2553_超声测距\path.txt
     目录           0  2018-05-15 16:13  2553_超声测距\settings\
     文件        1068  2012-08-07 14:26  2553_超声测距\settings\2553.cspy.bat
     文件        5030  2012-08-07 14:28  2553_超声测距\settings\2553.dbgdt
     文件        1313  2012-08-07 14:28  2553_超声测距\settings\2553.dni
     文件        3571  2012-08-07 14:28  2553_超声测距\settings\2553.wsdt

评论

共有 条评论