亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ads7871a.c

?? 文件是msp430單片機(jī)的ADS7871的程序
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/****************************************************************/
/* FILENAME: main.c                            		        */
/* DESCRIPTION: This program uses the MSP430F449 to read 500 	*/
/*    samples from the ADS7871 14-bit 41KSPS ADC.               */  
/*    The samples are stored in the buffer adc_data.            */
/*    Refer to the .map file created by the compiler for the    */  
/*    address in memory for adc_data.  The LCD displays         */
/*    decimal values based on converted input/digital code      */
/*    AUTHOR: Tom Hendrick, Data Acquisition Products,          */  
/*            Dallas Texas                                      */
/*    CREATED 2003(C) BY TEXAS INSTRUMENTS INCORPORATED.  	*/
/*    VERSION: 2.1 						*/
/****************************************************************/
#include <msp430x44x.h>
#include "SBLCDA2.h"
#include "ADS787x.h"

#define ADS7870 (0)
#define ADS7871 (1)

#define HPA449 (1)
#define SITE1 (1)
#define EXT_CLK (1)  //Open W7 if set to zero
#define HDW_RST (1)
#define DIRECTMODE (0)

/**************** Function prototypes ***********************************/
/*                                                                      */
void init_sys(void);                /* MSP430 Initialisation routine    */
void init_adc(void);                /* adc initialisation routine       */  
void delay(int);                   /* Software delay                    */
void adc_convert(void);             /* Do the adc conversion             */
void adc_read(int);                /* Read the adc conversion           */

void RESET_ADC(void);
void SET_R3(int);
void SET_R6(int);
void SET_R7(int);
void SET_R24(int);
void SET_R31(void);
void Read_REG(int);
/**************** HPA449 Function prototypes ****************************/
/*                                                                      */
void timer(void);
void display(void);                 
void InitializeLCD( void );
void clearDisplay( void );
void clearMajor( void );
void sortMajor( unsigned int );
void displayMinor( int, int);
void displaySpecial( long int );
void displayMinor( int, int );
void displayHPA449(void);
void TX_complete(void);                /* Transmit ready         */
void RX_complete(void);                /* Receive ready         */

/*                                                                      */            
/************************************************************************/

/************************************************************************/
/*                                                                      */
/* Global variable declarations                                         */
/*                                                                      */
/************************************************************************/

unsigned int    adc_data[500];        // Storage for converted data
unsigned int    hi_byte, lo_byte, adc_hi;  
int i, j;
/************************************************************************/
/*                                                                      */
/* main() variable declarations                                         */
/*                                                                      */
/************************************************************************/
#if (SITE1)
  #define   CONVERT           0x20   //p3.5
  #define   ADC_CS            0x80   //p3.7
  #define   CONV_CLK          0x0F   //p1.2
  #define   ADC_RST           0x01   //p3.0
  #define   OSC_ENA           0x20   //p3.5
#else 
  #define   CONVERT           0x20   //p3.5
  #define   ADC_CS            0x80   //p3.7
  #define   CONV_CLK          0x04   //p1.2
  #define   ADC_RST           0x01   //p3.0
  #define   OSC_ENA           0x20   //p3.5
#endif    

void main(void)
{
//  int test; 
  init_sys();                     // Initialise the MSP430       
  init_adc();                     // Initialise the adc

  if (HPA449)
     { InitializeLCD();       
       clearDisplay();
       }                                
      do {
       clearDisplay();
       for(i=0; i<50; i++)
        {
         adc_convert();            // Do conversions from each channel
         //delay(10);
         adc_read(i);              // Do conversions from each channel

         sortMajor( adc_data[i] );  //Display CODES as Decimal
         //displaySpecial(SoftBaugh);
        if (ADS7871){
                displayMinor( 5, UL_SEVEN );
                displayMinor( 4, UL_EIGHT );
                displayMinor( 3, UR_SEVEN ); 
                displayMinor( 2, UR_ZERO );
              }

        if (ADS7870){         
                displayMinor( 5, UL_SEVEN );
                displayMinor( 4, UL_EIGHT );
                displayMinor( 3, UR_SEVEN ); 
                displayMinor( 2, UR_ONE );
              }
         delay(50);
        }
     } while (1);              // 

}			      	

/************************************************************/
/* Prototype - init_sys                                     */
/*                                                          */
/* !NA init_sys                                             */
/* !LA ANSI C                                               */
/* !PI *                                                    */
/* !PO *                                                    */
/* !LV *                                                    */
/*  Description                                             */
/*  This prototype initialises the MSP430F149               */
/************************************************************/
void init_sys(void)
{
void setupXT2(void);    /* Local function prototype         */ 
void setupports(void);  /* Local function prototype         */
void setupSPI(void);    /* Local function prototype         */    

setupXT2();       
setupports();
setupSPI();
}
/************************************************************/
/* Prototype - setupXT2                                     */
/*                                                          */
/* !NA XT2_osc                                              */
/* !LA ANSI C                                               */
/* !PI *                                                    */
/* !PO *                                                    */
/* !LV *                                                    */
/*  Description                                             */
/*  This prototype sets-up the XT2 oscillator and tests     */
/*  that it has settled before moving on                    */
/************************************************************/      
void setupXT2 (void)

{
WDTCTL = WDTPW + WDTHOLD;           // Stop watchdog timer  
FLL_CTL0&=XT2OFF;                   // Switch on the XT2 osc.
FLL_CTL1|=SELM_XT2+SELS;            // Select XT2 osc. for 
                                    // SMCLK & MCLK                                    
                                    // Test the osc. flag bit
      do {
         IFG1 &= ~OFIFG;            // Clear the OFIFG bit
         } while (OFIFG&IFG1);      //        
if EXT_CLK 
  {P3OUT &= ~OSC_ENA;
   timer();
  }
else P3OUT |= OSC_ENA;
}

/************************************************************/
/* Prototype - setupports                                   */
/*                                                          */
/* !NA setupports                                           */
/* !LA ANSI C                                               */
/* !PI *                                                    */
/* !PO *                                                    */
/* !LV *                                                    */
/*  Description                                             */
/*  This prototype sets-up the GPIO ports as appropriate    */
/************************************************************/      
void setupports (void)
{
//SetupPort1
P1DIR = CONV_CLK;
P1SEL = CONV_CLK;

//SetupPort3                                             
P3SEL = BIT3 + BIT2 + BIT1;                     // Bits 3, 2 & 1 are assigned as SPI specific pins
P3DIR |= CONVERT + ADC_CS + ADC_RST + OSC_ENA;                      // Set the ADC_CS bit as an output
P3OUT = CONVERT + ADC_CS + ADC_RST;                       // De-assert ADC_CS for the adc - HIGH
//if EXT_CLK 
//  {P3OUT &= ~OSC_ENA;
//   timer();
//  }
//else P3OUT |= OSC_ENA;  
}

/************************************************************/
/* Prototype - setupSPI                                     */
/*                                                          */
/* !NA setupSPI                                             */
/* !LA ANSI C                                               */
/* !PI *                                                    */
/* !PO *                                                    */
/* !LV *                                                    */
/*  Description                                             */
/*  This prototype sets-up the P3 for communication via SPI */
/************************************************************/      
void setupSPI (void)

/************************************************************/
/* System definitions                                       */
/************************************************************/
#define     SPI0en       0x40
#define     SPI1en       0x10

{    
ME1 |= USPIE0;                      // Module Enable - SPI
                                    // 
U0CTL &= ~SWRST;                    // Make sure the RESET bit is off                                   
U0CTL |= CHAR + SYNC + MM;          // USART0 module operation
                                    // CHAR = 1 => 8-bit data 
                                    // SYNC = 1 => SPI selected
                                    // MM = 1 => master mode,
                                    //     MSP is the master

U0TCTL |= CKPH+SSEL0 + SSEL1 + STC;      // USART0 Tranmit control register
                                    // SSEL0 = 1 & SSEL1 = 1
                                    // => SMCLK is used for baud-rate generation
                                    // STC = 1 => 3-pin SPI mode selected
U0BR0  = 0x02;                      // Divide SMCLK by 4 => transfer clock
U0BR1  = 0x00;                      //
U0MCTL = 0x00;                      // Modulation control - not used. Ensure 
                                    // all these bits are reset
                                    
ME2 |= USPIE1;                      // Module Enable - SPI
                                    // 
U1CTL &= ~SWRST;                    // Make sure the RESET bit is off                                   
U1CTL |= CHAR + SYNC + MM;          // USART1 module operation
                                    // CHAR = 1 => 8-bit data 
                                    // SYNC = 1 => SPI selected
                                    // MM = 1 => master mode,
                                    //     MSP is the master

U1TCTL |= CKPH + SSEL0 + SSEL1 + STC;      // USART1 Tranmit control register
                                    // SSEL0 = 1 & SSEL1 = 1
                                    // => SMCLK is used for baud-rate generation
                                    // STC = 1 => 3-pin SPI mode selected
U1BR0  = 0x04;                      // Divide SMCLK by 4 => transfer clock
U1BR1  = 0x02;                      //
U1MCTL = 0x00;                      // Modulation control - not used. Ensure 
                                    // all these bits are reset                                                                                      
}

/************************************************************/
/* Prototype - init_adc                                     */
/*                                                          */
/* !NA init_adc                                             */
/* !LA ANSI C                                               */
/* !PI *                                                    */
/* !PO *                                                    */
/* !LV *                                                    */
/*  Description                                             */
/*  This prototype sets-up the TLV2553 ADC                  */
/************************************************************/      
void init_adc (void)
{     
  RESET_ADC();
  SET_R7(REFE+BUFE);
  SET_R3(BIN+MODE0+DIV2); 
  SET_R6(IO3+IO2+IO1+IO0); 
//  SET_R24(TWO_Wire_A);
// Set ADC Configuration
P3OUT &= ~ADC_CS ;      // Assert ADC_CS LOW
     U0TXBUF = (REGISTER+WRITE+REG4);   // Send clocks to the ADC, this shifts
                        //  in the first 8 bits of data.
     TX_complete();       // Wait until all 8 bits have been transmitted.
     U0TXBUF = (GAIN01+DIFF0);   // Send clocks to the ADC, this shifts
                        //  in the first 8 bits of data.
     TX_complete();       // Wait until all 8 bits have been transmitted.
P3OUT |= ADC_CS ;      // Assert ADC_CS HIGH
}

/************************************************************/
/* Prototype - RX_complete                                     */
/*                                                          */
/* !NA complete                                             */
/* !LA ANSI C                                               */
/* !PI *                                                    */
/* !PO *                                                    */
/* !LV i                                                    */
/*  Description                                             */
/*  This prototype checks the URXIFG0-bit. If the receiver  */
/*  is still receiving data the program waits until all bits*/
/*  are received and the URXIFG0 bit is asserted            */
/************************************************************/
void RX_complete(void)
{
#if (SITE1)
      do
      {
      IFG2 &=~ URXIFG1;
      }
      while (URXIFG1 & IFG1);      
#else      
      do
      {
      IFG1 &=~ URXIFG0;
      }
      while (URXIFG0 & IFG1);
#endif
}                                          

/************************************************************/
/* Prototype - TX_complete                                     */
/*                                                          */
/* !NA complete                                             */
/* !LA ANSI C                                               */
/* !PI *                                                    */
/* !PO *                                                    */
/* !LV i                                                    */
/*  Description                                             */
/*  This prototype checks the URXIFG0-bit. If the receiver  */
/*  is still receiving data the program waits until all bits*/
/*  are received and the URXIFG0 bit is asserted            */
/************************************************************/

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品免费播放| 粉嫩一区二区三区在线看| 亚洲精品成人天堂一二三| 中文在线免费一区三区高中清不卡| 久久免费电影网| 国产欧美日本一区视频| 日本一区二区三区四区在线视频 | 中文字幕一区视频| 国产精品网站一区| 亚洲日本乱码在线观看| 亚洲激情第一区| 亚洲成人av电影在线| 日韩黄色片在线观看| 日韩精品福利网| 激情成人综合网| 成人av电影在线| 在线观看精品一区| 欧美一区二区在线播放| 精品处破学生在线二十三| 久久精品视频一区| 1024亚洲合集| 亚洲va中文字幕| 久久99精品视频| 成人爱爱电影网址| 欧美性xxxxxx少妇| 精品成人在线观看| 亚洲欧洲精品一区二区三区| 亚洲国产成人porn| 久久国产视频网| 99久久国产免费看| 欧美日韩国产精品自在自线| 精品久久久久久久久久久久久久久 | av电影天堂一区二区在线| 在线国产亚洲欧美| 欧美精品一区二区三区久久久| 国产丝袜美腿一区二区三区| 亚洲乱码日产精品bd| 美女视频一区二区| 97久久精品人人做人人爽| 69av一区二区三区| 亚洲国产精品成人综合| 亚洲一区二区av在线| 国产一区二区中文字幕| 欧美中文字幕一二三区视频| 欧美一区二区日韩| 亚洲天堂中文字幕| 日产欧产美韩系列久久99| 成人黄色av电影| 欧美丰满少妇xxxxx高潮对白| 国产喷白浆一区二区三区| 亚洲高清视频的网址| 国产91精品精华液一区二区三区| 欧美最新大片在线看| 国产亚洲精品7777| 亚洲超碰97人人做人人爱| 成人夜色视频网站在线观看| 欧美日韩精品高清| 国产欧美一区二区三区鸳鸯浴 | 黄色精品一二区| 欧美午夜寂寞影院| 国产欧美视频一区二区三区| 午夜精品久久久久影视| av一区二区三区四区| wwwwxxxxx欧美| 天堂va蜜桃一区二区三区漫画版| www.成人在线| 26uuu亚洲| 日韩二区三区四区| 日本韩国一区二区| 精品国产一区二区三区忘忧草| 亚洲色图色小说| 国产91清纯白嫩初高中在线观看| 69精品人人人人| 亚洲高清不卡在线观看| 成+人+亚洲+综合天堂| 精品国产亚洲在线| 三级亚洲高清视频| 欧美日韩在线电影| 一区在线观看视频| 成熟亚洲日本毛茸茸凸凹| 日韩欧美在线网站| 视频一区视频二区中文| 99久久久无码国产精品| 久久精品人人做| 麻豆精品精品国产自在97香蕉| 欧美亚洲综合一区| 亚洲精品欧美专区| 色伊人久久综合中文字幕| 国产欧美日韩久久| 国产精品综合久久| 欧美电影免费观看高清完整版在| 亚洲成人av一区二区三区| 欧美影视一区在线| 亚洲一区二区三区国产| 欧洲视频一区二区| 一区二区三区四区高清精品免费观看 | 日本三级亚洲精品| 9191精品国产综合久久久久久 | 国产成人综合视频| 国产亚洲va综合人人澡精品| 国精产品一区一区三区mba视频 | 久久久精品影视| 国产一区二区伦理片| 久久一日本道色综合| 久久99蜜桃精品| 欧美成人乱码一区二区三区| 日本va欧美va瓶| 日韩欧美一区电影| 国产一区二区在线观看视频| 亚洲精品在线观| 国产suv精品一区二区6| 中文字幕一区二区三区视频 | 国产欧美视频在线观看| 成人少妇影院yyyy| 亚洲视频狠狠干| 欧美性猛交一区二区三区精品| 婷婷中文字幕综合| 精品国产一区二区三区四区四| 国产麻豆视频精品| 欧美国产精品一区| 91在线一区二区三区| 亚洲福利视频三区| 日韩欧美在线观看一区二区三区| 狠狠色丁香久久婷婷综合_中 | 日韩精品久久理论片| 久久免费的精品国产v∧| 懂色一区二区三区免费观看| 中文字幕日本不卡| 欧美精品乱码久久久久久按摩| 另类调教123区| 国产精品天天看| 欧亚一区二区三区| 蓝色福利精品导航| 亚洲国产成人一区二区三区| 色婷婷av一区二区三区软件| 日韩中文字幕1| 国产欧美一区二区精品婷婷 | 26uuu另类欧美| 97久久久精品综合88久久| 丝袜美腿成人在线| 国产欧美日韩在线看| 欧美午夜精品电影| 国内精品自线一区二区三区视频| 中文字幕一区日韩精品欧美| 欧美老肥妇做.爰bbww| 国产乱子轮精品视频| 一个色在线综合| 久久久久国产精品厨房| 色屁屁一区二区| 狠狠色丁香久久婷婷综合_中| 亚洲男人都懂的| 日韩一卡二卡三卡国产欧美| 99久久精品久久久久久清纯| 奇米色一区二区三区四区| 亚洲视频资源在线| 欧美videossexotv100| 91成人免费在线视频| 国产精品一级黄| 婷婷综合五月天| 日韩美女视频一区| 日韩欧美一级精品久久| 91免费观看在线| 国产又黄又大久久| 午夜精品视频在线观看| 国产精品视频九色porn| 欧美一区二区视频在线观看2022 | 日韩精品最新网址| 91国产丝袜在线播放| 国产成人亚洲综合a∨婷婷| 日韩国产欧美视频| 亚洲激情图片qvod| 国产精品乱子久久久久| 精品久久久久一区二区国产| 欧美性三三影院| www.亚洲人| 国产成人在线免费观看| 大陆成人av片| 免费成人在线播放| 一区二区三区精品| 亚洲婷婷在线视频| 国产精品视频yy9299一区| 精品sm在线观看| 欧美一级日韩不卡播放免费| 欧美性受极品xxxx喷水| 色偷偷一区二区三区| jizz一区二区| 国产成人一区二区精品非洲| 国模冰冰炮一区二区| 久久se精品一区精品二区| 日韩精品电影在线观看| 亚洲午夜成aⅴ人片| 亚洲激情欧美激情| 亚洲精品国产精华液| |精品福利一区二区三区| 中文字幕乱码亚洲精品一区| 久久久久久久免费视频了| 欧美精品一区二区三区蜜桃视频| 日韩欧美一区二区在线视频| 制服丝袜日韩国产| 91精品国产综合久久久久|