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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dac8831.c

?? 449的程序430Interfacing the DAC8831EVM to MSP430 Processors
?? C
字號:
/****************************************************************/
/* FILENAME: main.c                            		        */
/* DESCRIPTION: This program uses the MSP430F449 to write 256 	*/
/*    samples to the DAC8531 EVM board.                         */  
/*    The samples are generated by sine/cosine functions        */  
/*    AUTHOR: T. Hendrick, Data Acquisition Products,           */  
/*            Dallas Texas                                      */
/*    CREATED 2005(C) BY TEXAS INSTRUMENTS INCORPORATED.  	*/
/*    VERSION: 01 						*/
/* Compiled on IAR Embedded Workbench V 3.0B; IAR C-Compiler    */
/* for MSP430 V2.21B-P1/W32 [Kickstart]                         */
/****************************************************************/
#include <msp430x44x.h>
#include <math.h>
#include "SBLCDA2.h"

/**************** Function prototypes ***********************************/
/*                                                                      */
void init_sys(void);                /* MSP430 Initialisation routine    */
void setupClock(int);
void delay(int);                   /* Software delay                   */
void dac_convert(int);             /* Do the adc conversion            */
void display(void);                 /* Indicate Program complete        */
void InitializeLCD( void );
void clearDisplay( void );
void sortMajor( unsigned int );
void displaySpecial( long int );
void displayMinor( int, int );
void displayHPA449(void);
void displayTest(void);	
void InitTables(int);

/************************************************************************/
/*                                                                      */
/* HPA449 variable declarations                                         */
/*                                                                      */            
/************************************************************************/
#define DAC_CS       0x20  //p3.5
#define Resonator (0)
  
/************************************************************************/
/*                                                                      */
/* main() variable declarations                                         */
/*                                                                      */
/************************************************************************/
#define BLOCK_SZ  256/* size of data buffer */
#define TABLE_SIZE       256

int sinetable[TABLE_SIZE], costable[TABLE_SIZE], byte0, byte1;
int i, y;

/******************************************************************************\
* Function: InitTables()
* Description: Initializes Sine and Cosine Values 
\******************************************************************************/
void main(void)
{

  setupClock(Resonator);
  init_sys();                   	// Initialise the MSP430       
  InitializeLCD();       
  clearDisplay();
  displaySpecial(SoftBaugh|AL|AR|AU|AD);
  InitTables(4);                                
         displayTest();
         displaySpecial(SoftBaugh|AR);  
      do {
           for(i=0; i<BLOCK_SZ; i++)
           {
            dac_convert(sinetable[i]);  // Send sine values to the DAC
           }
         } 
       while (1);              // Endless Loop
}			      	

void InitTables(int period)
{         
	int y;
	for (y = 0; y < TABLE_SIZE; y++)
	{
	  sinetable[y] = (unsigned int)((sin(2 * 3.141593659 * period * y / TABLE_SIZE) + 1.0) * 32767);
	  costable[y] = (unsigned int)((cos(2 * 3.141593659 * period * y / TABLE_SIZE) + 1.0) * 32767);
	}
}

/************************************************************/
/* Prototype - init_sys                                     */
/*                                                          */
/*  Description                                             */
/*  This prototype initialises the MSP430F149               */
/************************************************************/
void init_sys(void)
{
void setupports(void);  /* Local function prototype         */
void setupSPI(void);    /* Local function prototype         */    

setupports();
setupSPI();
  _EINT();                              // Enable interrupts
}

/************************************************************/
/* Prototype - setupClock                                     */
/*                                                          */
/*  Description                                             */
/*  This prototype sets-up the XT2 oscillator and tests     */
/*  that it has settled before moving on                    */
/************************************************************/      
void setupClock (int RES)
{
    switch (RES)
    {
        case  0:
          { WDTCTL = WDTPW + WDTHOLD;
            /* D=2, N=121, no mod */
            SCFQCTL=121;
            // SCFI0 = 0100 0100
            SCFI0=0x44;
            // DCOPLUS=1, XTS_FLL=0
            // XCAPXPF=00
            FLL_CTL0=0x80;
            // SMCLK=0, XT2OFF=1, SELMX=00, SELS=0, FLL_DIVX=10
            // FLL_CTL1= 0010 0010
            FLL_CTL1=0x22;
          }
          break;        
        case  1:
          { WDTCTL = WDTPW + WDTHOLD;           // Stop watchdog timer  
            FLL_CTL0&=XT2OFF;                    // Switch on the XT2 osc.
            FLL_CTL1|=SELM_XT2+SELS;                // Select XT2 osc. for 
            // Test the osc. flag bit
            do {
                IFG1 &= ~OFIFG;            // Clear the OFIFG bit
                } while (OFIFG&IFG1);      //
          }
          break;
    }    
}                           

/************************************************************/
/* Prototype - setupports                                   */
/*  Description                                             */
/*  This prototype sets-up the GPIO ports as appropriate    */
/************************************************************/      
void setupports (void)
{
// SPI port for ADC
P3SEL = BIT3 + BIT2 + BIT1;                 // Bits 3, 2 & 1 are assigned as SPI specific pins
P3DIR = DAC_CS;                           // Set the ADC_CS bit as an output
P3OUT = DAC_CS;                           // De-assert ADC_CS for the adc - HIGH
P4SEL = BIT5 + BIT3 + BIT2;

//SetupInterrupts
P1IFG |= 0x00;
P1IES |= 0x40;
P1IE |= 0x40;
}

/************************************************************/
/* Prototype - setupSPI                                     */
/*                                                          */
/*  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 - SPI1
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,
U0TCTL |= CKPH + SSEL0 + SSEL1 + STC;      // USART0 Tranmit control register
U0BR0  = 0x02;                      // Divide SMCLK by 2 => transfer clock
U0BR1  = 0x00;                      //
U0MCTL = 0x00;                      // Modulation control - not used. Ensure 
                                    // all these bits are reset
}

/************************************************************/
/* Prototype - delay                                        */
/*  Description                                             */
/*  This prototype gives a delay of around 1 second         */
/************************************************************/

void delay(int time)
      {
      unsigned int i;
      for (i = 0; i < time; i++);
      }  

/************************************************************/
/* Prototype - convert                                      */
/*  Description                                             */
/*  This prototype does the DAC conversion                  */
/************************************************************/      
void dac_convert (value)
{
byte0 = value >>8;
byte1 = value >>0;

P3OUT &= ~(DAC_CS);                // Set DAC /CS low
while ((IFG1 & UTXIFG0) == 0);
      U0TXBUF = byte0;             // Send clocks to the DAC, this shifts 1st byte 
	                           // Wait until all 8 bits have been received.
while ((IFG1 & UTXIFG0) == 0);
      U0TXBUF = byte1 ;            // Send clocks to the DAC, this shifts 2nd byte 
	                           // Wait until all 8 bits have been received.
P3OUT |= (DAC_CS);                 // Set DAC /CS high
}

/************************************************************/
/* Prototype - displayTest                                  */
/*  Description                                             */
/*  This function displays "8831" on the LCD Screen         */
/************************************************************/
void displayTest(void)
{
    displayMinor(5,UL_EIGHT);
    displayMinor(4,UL_EIGHT);
    displayMinor(3,UR_THREE);
    displayMinor(2,UR_ONE);
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久免费观看| 国产在线视视频有精品| 波多野结衣91| 精品成人一区二区三区四区| 亚洲国产精品久久久久秋霞影院| 91色porny在线视频| 亚洲男人的天堂在线aⅴ视频| 成人av免费观看| 亚洲素人一区二区| 日本乱人伦aⅴ精品| 亚洲一区二区三区四区在线| 99精品一区二区三区| 亚洲欧洲中文日韩久久av乱码| 91一区在线观看| 偷拍日韩校园综合在线| 制服丝袜亚洲色图| 国产一区在线视频| 国产精品久久久久久久岛一牛影视 | 一区二区三区国产精品| 欧美无乱码久久久免费午夜一区| 亚洲色图视频网| 91精品国产综合久久久久久久久久| 日本一不卡视频| 精品久久久久久久久久久久包黑料| 国产麻豆视频精品| 亚洲另类色综合网站| 欧美一区二区久久久| 暴力调教一区二区三区| 日韩国产在线一| 国产精品护士白丝一区av| 555www色欧美视频| av亚洲精华国产精华| 麻豆国产欧美一区二区三区| 一区二区三区四区亚洲| 欧美精品1区2区3区| 成人av电影在线播放| 免费欧美在线视频| 亚洲午夜久久久久中文字幕久| 精品美女在线播放| 欧美精品久久一区| 91成人看片片| 91麻豆蜜桃一区二区三区| 国产美女精品一区二区三区| 日韩精品视频网站| 日韩电影免费在线观看网站| 亚洲免费视频中文字幕| 中文字幕不卡三区| 久久―日本道色综合久久| 日韩视频一区在线观看| 在线播放国产精品二区一二区四区| 成人sese在线| 不卡在线视频中文字幕| 高清日韩电视剧大全免费| 福利视频网站一区二区三区| 国产黄色91视频| 国产成人一区在线| 成人在线综合网站| 99国产精品99久久久久久| av亚洲产国偷v产偷v自拍| 色噜噜久久综合| 欧美日本国产视频| 亚洲精品一区二区三区四区高清| 精品久久久久久无| 国产精品萝li| 日韩福利电影在线| 国产一区91精品张津瑜| eeuss鲁一区二区三区| 91精品福利在线| 精品国产伦一区二区三区免费| 国产目拍亚洲精品99久久精品| 亚洲欧美在线另类| 日韩精品亚洲专区| 成人网页在线观看| 欧美一区二区三区公司| 日本一区免费视频| 视频在线观看一区| 99麻豆久久久国产精品免费优播| 欧美日韩色一区| 国产精品久久久久久户外露出| 天堂av在线一区| 日日夜夜精品视频天天综合网| 日本在线不卡一区| 制服.丝袜.亚洲.中文.综合| 日本午夜一区二区| 精品一区二区三区久久久| 成人美女在线观看| 亚洲精品免费播放| 欧美丝袜第三区| 免费黄网站欧美| 久久精品水蜜桃av综合天堂| 国产二区国产一区在线观看| 中文字幕五月欧美| 91极品视觉盛宴| 久久超碰97中文字幕| 亚洲国产岛国毛片在线| 欧美在线播放高清精品| 日韩va亚洲va欧美va久久| 久久久高清一区二区三区| 国产99久久久国产精品潘金网站| 精品国产麻豆免费人成网站| 成人黄色片在线观看| 国产精品久久看| 91久久精品一区二区| 日本成人在线看| 久久品道一品道久久精品| 99久久精品国产麻豆演员表| 亚洲欧美电影一区二区| 欧美日韩成人综合| 激情六月婷婷久久| 亚洲色图一区二区| 国产性做久久久久久| 99免费精品在线观看| 五月天网站亚洲| 中文字幕欧美激情一区| 欧美日韩在线电影| 国产a精品视频| 美女一区二区三区在线观看| 欧美高清在线一区| 在线播放中文一区| 成人丝袜18视频在线观看| 亚洲高清在线视频| 国产欧美日韩另类视频免费观看| 色乱码一区二区三区88| 日韩激情中文字幕| 国产精品久久久久毛片软件| 久久男人中文字幕资源站| 日韩一区二区三区视频在线| 欧美一级片在线看| av在线不卡网| av不卡在线播放| 99久免费精品视频在线观看| 国产不卡视频一区| 国产乱子伦视频一区二区三区| 免费成人在线播放| 日韩成人精品视频| 青青草精品视频| 男女男精品网站| 日韩中文字幕亚洲一区二区va在线| 亚洲日本青草视频在线怡红院 | 中文字幕一区二区三中文字幕| 日韩一卡二卡三卡国产欧美| 在线电影一区二区三区| 欧美高清激情brazzers| 欧美高清视频在线高清观看mv色露露十八| 91久久精品网| 欧美剧情电影在线观看完整版免费励志电影 | 亚洲欧美国产77777| 亚洲国产精品国自产拍av| 国产精品欧美一级免费| 亚洲精品欧美综合四区| 亚洲123区在线观看| 久久草av在线| 大胆亚洲人体视频| 91啦中文在线观看| 欧美一区二区啪啪| 日本一区二区电影| 一区二区三区四区视频精品免费| 一区二区三区精品久久久| 蜜桃一区二区三区四区| 99久久久无码国产精品| 日韩色在线观看| 亚洲免费看黄网站| 不卡一区在线观看| 久久一区二区三区国产精品| 久久国产成人午夜av影院| 欧美日韩国产不卡| 亚洲一区二区欧美| 日本电影欧美片| 亚洲精品视频在线观看免费| 91国在线观看| 亚洲激情校园春色| 国产伦精品一区二区三区免费| 精品污污网站免费看| 国产精品久久三| caoporen国产精品视频| 精品动漫一区二区三区在线观看| 亚洲一区在线观看免费| 97aⅴ精品视频一二三区| 中文字幕免费不卡| 麻豆视频一区二区| 91精品国产综合久久小美女| 亚洲成人在线网站| 欧美日韩国产中文| 欧美aa在线视频| 日韩一区二区三区视频在线| 免费看欧美女人艹b| 日韩欧美一级精品久久| 天天av天天翘天天综合网| 在线看国产一区二区| 亚欧色一区w666天堂| 欧美日韩国产一二三| 亚洲福利国产精品| 欧美日韩午夜精品| 香蕉av福利精品导航| 7777精品伊人久久久大香线蕉| 久久精品国产免费看久久精品| 欧美日韩和欧美的一区二区| 99久久精品国产一区二区三区| 久久久99久久| 91丨porny丨首页|