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

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

?? 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在线播放| 国产精品美女久久久久久2018| 日韩视频免费直播| 91精品国产乱| 日韩一区二区三区在线视频| 欧美一个色资源| 欧美一级国产精品| 欧美成人午夜电影| www一区二区| 国产欧美日韩久久| 亚洲国产精品二十页| 国产精品色婷婷久久58| 亚洲欧洲精品一区二区精品久久久| 中日韩av电影| 亚洲色图都市小说| 亚洲一区二区三区四区五区黄| 亚洲一区二区三区视频在线| 亚洲成人精品在线观看| 免费久久99精品国产| 国产在线国偷精品免费看| 国产精品资源在线观看| 国产成人综合精品三级| 成人avav在线| 欧美三级乱人伦电影| 在线综合视频播放| 久久精品一区四区| 中文字幕欧美激情| 亚洲一级二级在线| 精品在线免费视频| 成人激情开心网| 欧美日韩亚洲综合在线 | 亚洲免费观看高清在线观看| 一区二区三区**美女毛片| 日日欢夜夜爽一区| 国产一区二区三区在线观看免费 | 日本美女一区二区三区| 国产综合色精品一区二区三区| 成人国产在线观看| 精品污污网站免费看| 精品日韩一区二区| 亚洲欧美日韩国产一区二区三区| 日本视频一区二区三区| 成人自拍视频在线观看| 欧美三级蜜桃2在线观看| 久久综合色一综合色88| 亚洲免费av高清| 国产主播一区二区| 色老汉一区二区三区| 日韩欧美国产午夜精品| 自拍偷拍欧美激情| 免费不卡在线观看| 色综合天天视频在线观看| 欧美电影免费观看高清完整版| 国产精品天干天干在观线| 首页国产欧美久久| 成人教育av在线| 日韩一级片网站| 亚洲免费观看高清在线观看| 国内精品国产三级国产a久久| 在线视频一区二区三| 国产日韩欧美高清| 免费在线看成人av| 色噜噜偷拍精品综合在线| 精品国产免费一区二区三区四区| 亚洲精品老司机| 国产99精品视频| 日韩视频一区二区| 亚洲电影你懂得| gogo大胆日本视频一区| 久久夜色精品一区| 亚洲成av人在线观看| 97久久精品人人做人人爽50路| 久久亚洲一区二区三区明星换脸| 午夜精品爽啪视频| 91尤物视频在线观看| 久久久影院官网| 偷拍与自拍一区| 91丨九色丨蝌蚪丨老版| 国产精品天干天干在线综合| 激情丁香综合五月| 日韩欧美精品三级| 丝袜国产日韩另类美女| 在线看一区二区| 亚洲欧美激情在线| heyzo一本久久综合| 欧美韩国日本不卡| 国产高清一区日本| 精品国产人成亚洲区| 久久精品噜噜噜成人av农村| 欧美人与z0zoxxxx视频| 亚洲一区自拍偷拍| 91在线porny国产在线看| 亚洲视频一区二区免费在线观看| 粉嫩嫩av羞羞动漫久久久 | 午夜日韩在线电影| 欧美在线你懂得| 亚洲伊人伊色伊影伊综合网| 色悠久久久久综合欧美99| 中文字幕一区二区三区av| 成人午夜av影视| 国产欧美一区二区精品婷婷| 国产精品资源在线看| 国产日韩欧美精品一区| 国产91在线观看丝袜| 日本一区二区三区在线观看| 国产69精品久久777的优势| 中文字幕av不卡| 不卡一区在线观看| 亚洲天天做日日做天天谢日日欢| 97久久精品人人爽人人爽蜜臀| 最新欧美精品一区二区三区| 99re热视频精品| 一片黄亚洲嫩模| 欧美日韩成人激情| 玖玖九九国产精品| 国产午夜精品在线观看| proumb性欧美在线观看| 一区二区成人在线视频| 欧美剧情片在线观看| 美女久久久精品| 国产视频一区二区三区在线观看| 成人综合激情网| 一区二区三区日韩欧美精品| 欧美午夜寂寞影院| 日本美女一区二区三区| 久久综合九色欧美综合狠狠| 粉嫩aⅴ一区二区三区四区| 中文字幕一区二区三区不卡在线| 在线亚洲人成电影网站色www| 亚洲国产精品一区二区久久| 日韩一区二区三| 国产福利视频一区二区三区| 亚洲国产精品精华液ab| 欧美性三三影院| 美女视频黄a大片欧美| 亚洲国产高清在线| 在线看日本不卡| 国产又粗又猛又爽又黄91精品| 中文字幕色av一区二区三区| 欧美日韩一区二区电影| 国产美女在线观看一区| 亚洲精品视频免费观看| 91精品午夜视频| 波多野结衣在线一区| 五月婷婷色综合| 国产欧美日产一区| 欧美日韩亚洲综合在线| 国产激情视频一区二区在线观看| 一区二区三区四区中文字幕| 日韩欧美国产不卡| 91麻豆产精品久久久久久| 美美哒免费高清在线观看视频一区二区 | 日韩av电影一区| 国产精品天干天干在观线| 在线播放欧美女士性生活| 国产精品123| 天天综合网 天天综合色| 国产亚洲午夜高清国产拍精品| 欧美三电影在线| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 在线综合视频播放| jvid福利写真一区二区三区| 日本成人在线网站| 亚洲欧美日韩国产手机在线 | 欧美一级片免费看| 9人人澡人人爽人人精品| 蜜桃久久精品一区二区| 一区二区三区在线观看视频| 久久久久久久免费视频了| 欧美中文字幕一区二区三区| 成人深夜福利app| 久久99这里只有精品| 亚洲国产aⅴ天堂久久| 国产精品久久久久精k8| 久久男人中文字幕资源站| 欧美精品久久一区| 91论坛在线播放| 国产成人av一区二区三区在线| 秋霞影院一区二区| 亚洲综合色噜噜狠狠| 欧美激情一区在线| www久久精品| 日韩视频免费直播| 这里只有精品99re| 欧美视频在线一区| 91免费看`日韩一区二区| 国产精品18久久久久久久久久久久| 日韩电影在线免费观看| 亚洲综合色婷婷| 亚洲精品国产一区二区三区四区在线 | 精品久久久久久久久久久久久久久| 欧美午夜不卡在线观看免费| 99re8在线精品视频免费播放| 国产传媒一区在线| 国产精品一区2区| 狠狠色综合日日| 国产在线国偷精品产拍免费yy| 美女mm1313爽爽久久久蜜臀| 免费看欧美女人艹b|