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

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

?? a0a1_uart.c

?? IAR編寫的MSP430的A0A1_UART
?? C
字號:
//******************************************************************************
//MSP430F44串口行實驗程序
//使用ADC12采集實驗,將采集到數(shù)據(jù)送向PC.(序列單次采集,采用定時器A作為時鐘源)
//P2.4為發(fā)送,P2.5為接收     晶體使32768HZ/8MHZ.  串行波特率B/S
//使用SMCLK作為波特率發(fā)器時,不能使用LPM2,LPM3!
//編寫:微控設計網(wǎng) DC版主 日期:2008.1.
//編譯環(huán)境:IAR EW430 3.42A
//驗證平臺: www.microcontrol.cn MC430F44開發(fā)板
//聲明:此程序只供微控用戶使用.在未得到DC版主的許可請勿將資料外公開和用于商業(yè)用途.
//******************************************************************************
//  ACLK = LFXT1 = 32768Hz, MCLK = SMCLK = default DCO = 32 x ACLK = 1048576Hz
//  //* An external watch crystal between XIN & XOUT is required for ACLK *//	
#include <msp430x44x.h>
//******************************************************************************
#define ADCOK 0x01           //B0為ADC12完成轉換標志.

#define PwdShdn_Off P5OUT |= BIT0       //SP3220使能
#define PwdShdn_ON P5OUT &= ~BIT0
#define PwdShdn_Dir_OUT P5DIR |= BIT0

//表區(qū)
unsigned char number_table[]={'0','1','2','3','4','5','6','7','8','9'};
unsigned char display_buffer[]={0x00,0x00,0x00,0x00,'\0'};

//*******************波特率***********300  600 1200 2400 4800 9600 19200 38400 76800 115200const 
//************************************[0]**[1]**[2]*[3]**[4]**[5]***[6]***[7]****[8]***[9]*
unsigned char BaudrateUBR0[]       ={0x6D,0x36,0x1B,0x0D,0x06,0x03, 0xA0, 0xD0, 0x68, 0x45};
unsigned const char BaudrateUBR1[] ={0x00,0x00,0x00,0x00,0x00,0x00, 0x01, 0x00, 0x00, 0x00};
unsigned const char BaudrateUMCTL[]={0x22,0xD5,0x03,0x6B,0x6F,0x4A, 0xC0, 0x40, 0x40, 0x4A};  

unsigned char timp;     //全局位變量區(qū)
unsigned char gbit;     //B0為ADC12完成轉換標志.                          
unsigned int ADC[2] ;   //ADC12讀出數(shù)據(jù)數(shù)組

//子程序聲明
void init (void);                                         //初始化
void ADC12setup(void);                                    //ADC12初始化
void BaudrateSetup(unsigned char U0);                     //UART0初始化
void timer_A_setup(void);                                 //timer_A初始化
void data_converter(unsigned char *p,unsigned int vaule); //數(shù)據(jù)變換
void send_data(unsigned char *p);                         //串行口發(fā)送數(shù)組
void send_adc12_data(unsigned int *p,unsigned int adcn); //發(fā)送ADC12數(shù)據(jù)
void timer_A_setup(void);                                 //timer_A設置
//******************************************************************************
void main(void)
{
  init();
// Mainloop
  for (;;)                             
  {
  LPM0;
  ADC12CTL0 |= ADC12SC;                 //sampling open,AD轉換完成后(ADC12BUSY=0),ADC12SC自動復位;
  while((gbit&ADCOK)==0);               //等待序列單次完成
  gbit &= ~ADCOK;                       //清轉換完成標志
  send_adc12_data(ADC,2);
  }
}

//******************************************************************************
//MCU初始化
void init(void)
{
  WDTCTL = WDTPW + WDTHOLD;             // 停止WDT
  PwdShdn_Dir_OUT;
  PwdShdn_ON;                            //SP3220使能
  timer_A_setup();                      //timer_A初始化
  P1DIR=0x01;P1OUT=0x0f;                //LED設置
  BaudrateSetup(5);
  ADC12setup();
  gbit=0x00;
  _EINT();                              // 全局中斷使能
}
//******************************************************************************
//串口接收中斷,退出LPM3模式.
#pragma vector=USART0RX_VECTOR
__interrupt void usart0_rx (void)
{
 LPM0_EXIT;
}

//******************************************************************************
//ADC12中斷程序,將連續(xù)采樣的ADC12結果放入指定變量中.
#pragma vector=ADC_VECTOR
__interrupt void ADC12ISR(void)
{
 ADC[0] = ADC12MEM0;      //采樣結果,對應板上VR電位器.
 ADC[1] = ADC12MEM1;      //對應預留儀表放器電路,此路默認為空.
 gbit |= ADCOK;           //置標志,表示ADC采樣完成.
}

//******************************************************************************
//ADC12初始化
void ADC12setup(void)
{
  //ADC12設置**************************
  P6SEL |= 0x03;                        //使用A/D通道 A0,A1
  ADC12CTL0 = ADC12ON+MSC+SHT0_2 ;      //開ADC12內(nèi)核,設SHT0=2 (N=4) 
  ADC12CTL1 = SHP+CONSEQ_1+SHS_1 ;      //SAMPCON信號選為采樣定時器輸出,序列單次,Timer_A.OUT1采樣時鐘源
  //ADC12內(nèi)部參考電壓設置
  ADC12CTL0 |= REF2_5V;                 //選用內(nèi)部參考電壓為2.5V
  ADC12CTL0 |= REFON;                   //內(nèi)部參考電壓打開
  
  ADC12MCTL0 |= INCH_0;                 //R+=Vcc R-=VSS,A0輸入
  //ADC12CTL1 |= REF2_5V;               //選用內(nèi)部參考電壓為2.5V
  //ADC12CTL1 |= REFON;                 //內(nèi)部參考電壓打開
  ADC12MCTL1 |= INCH_1+EOS;             //R+=Vcc R-=VSS,A1輸入,結束位
  
  //轉換允許
  ADC12IE =0x02;                        //使能中斷ADC12IFG A1
  ADC12CTL0 |= ENC ;                     //轉換允許(上升沿)
}

//******************************************************************************
//UART0初始化                 //8Mhz晶體程序不能用.
void BaudrateSetup(unsigned char U0)      
{   
 unsigned int i;
 if(U0>5)                     //當U0>5時,啟用XT2
 {
  FLL_CTL1 &= ~XT2OFF;           //啟動XT2,
 do
  {IFG1 &= ~OFIFG;            //清OSCFault標志
     for(i=50000;i>0;i--);    //延時等待
  }
  while (IFG1 & OFIFG); //查OSCFault,為0時轉換完成
 FLL_CTL1 = SELS;            //SMCLK為XT2
 }
 //UART0 
 P1OUT=0x00;
 if(U0>5){UTCTL0=SSEL1;}      // Clock Source:SMCLK
 else{UTCTL0=SSEL0;}          // Clock Source:ACLK
 UCTL0 &= ~SWRST;             // SWRST復位, USART允許
 UCTL0=CHAR;                  // 8bit
 ME1|=UTXE0 + URXE0;          // Enable Tx0,Rx0
 IE1|=URXIE0;                 // RX enable
 UBR00=BaudrateUBR0[U0];      // 低位分頻器因子
 UBR10=BaudrateUBR1[U0];      // 高位分頻器因子 	
 UMCTL0=BaudrateUMCTL[U0];    // 波特率調(diào)整因子
 P2SEL |= BIT5+BIT4;          // 將P2.4,5使用外圍模塊 = USART0 TXD/RXD
 P2DIR |= BIT4;               // 將P3.4設為輸出(發(fā)),P3.5默認為輸入(收)
}

//******************************************************************************
//timer_A設置
void timer_A_setup(void)
{ 
  TACTL = TASSEL_2+MC_2;        //Timer A 時鐘源先為SMCLK,增加方式
  TACCTL1 = OUTMOD_3;           //CCR1輸出模式:PWM置位/復位
  TACCR1 = 0x0ffff;             //CCR1比較值
}

//******************************************************************************
void data_converter(unsigned char *p,unsigned int value)    //數(shù)據(jù)變換
{
  unsigned int m,n,j=0;
  p[0]=number_table[value/1000];
  m=value%1000;
  p[1]=number_table[m/100];
  n=m%100;
  p[2]=number_table[n/10];
  j=n%10;
  p[3]=number_table[j/1];
}

//******************************************************************************
//串行口發(fā)送數(shù)組
void send_data(unsigned char *p)
{unsigned int n; 
 timp=RXBUF0;
 for(n=0;p[n]!='\0';n++)
   {
    while ((IFG1 & UTXIFG0) == 0); // USART0發(fā)送UTXIFG0=1,表示UTXBUF準備好發(fā)送一下字符
    TXBUF0 = p[n]; 
   } 
}

//******************************************************************************
//發(fā)送ADC12數(shù)據(jù)
//*p為數(shù)據(jù)區(qū),adcn為數(shù)量
void send_adc12_data(unsigned int *p,unsigned int adcn)
{
 unsigned int j;
 for(j=0;j<adcn;j++)
   {
     data_converter(display_buffer,p[j]);  //數(shù)據(jù)變換
     send_data(display_buffer);            //發(fā)送數(shù)據(jù)
    }
}
//******************************************************************************


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩免费不卡视频一区二区三区| 午夜精品久久久久久久久久久| 亚洲激情图片一区| 日日噜噜夜夜狠狠视频欧美人| 九九**精品视频免费播放| 国产超碰在线一区| 日本韩国一区二区三区| 欧美另类久久久品| 欧美国产国产综合| 日产国产高清一区二区三区| 国产99久久久精品| 欧美精品在线视频| 亚洲国产高清aⅴ视频| 中文字幕不卡的av| 亚洲视频你懂的| 日本成人在线看| 国产精品影视网| 日本韩国精品在线| 久久久久久久久久久黄色| 怡红院av一区二区三区| 狠狠色丁香久久婷婷综合丁香| a4yy欧美一区二区三区| 日韩欧美国产综合一区 | 一二三区精品视频| 久久精品99久久久| 91福利国产精品| 国产亲近乱来精品视频 | 欧美电视剧在线观看完整版| 一区视频在线播放| 狠狠色综合日日| 欧美剧在线免费观看网站| 国产日韩av一区| 日韩精品午夜视频| 91美女片黄在线观看91美女| 久久伊99综合婷婷久久伊| 亚洲二区在线观看| 99视频有精品| 国产偷国产偷亚洲高清人白洁| 91在线国内视频| 欧美日韩一区高清| 在线观看视频一区| 亚洲综合免费观看高清完整版在线 | 免费在线观看一区| 色94色欧美sute亚洲线路二| 久久精品一区二区三区四区| 奇米色一区二区三区四区| 在线亚洲+欧美+日本专区| 国产精品久久三区| 国产麻豆9l精品三级站| 日韩女优制服丝袜电影| 亚洲成人av一区二区三区| 一本大道av伊人久久综合| 欧美激情在线看| 国产盗摄女厕一区二区三区| 亚洲精品一区二区三区影院 | 精品日韩一区二区三区| 亚洲成人高清在线| 欧美视频中文字幕| 一区二区高清免费观看影视大全| 99视频精品全部免费在线| 国产婷婷色一区二区三区在线| 黄一区二区三区| 欧美电影免费观看高清完整版在 | 69堂国产成人免费视频| 一区二区三区国产精华| 色综合久久九月婷婷色综合| ...av二区三区久久精品| 中文字幕一区二| 欧美性xxxxx极品少妇| 极品美女销魂一区二区三区 | 亚洲成人一区在线| 色嗨嗨av一区二区三区| 亚洲免费在线电影| 在线免费观看日本一区| 亚洲国产日韩精品| 欧美乱熟臀69xxxxxx| 日韩精品欧美精品| 欧美一级国产精品| 国产在线不卡一区| 中文字幕 久热精品 视频在线 | 中文字幕日韩一区| 97久久久精品综合88久久| 亚洲欧洲日产国码二区| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲视频在线观看三级| 日本电影欧美片| 日韩精品视频网站| 精品国产亚洲一区二区三区在线观看 | 91偷拍与自偷拍精品| 亚洲精选免费视频| 亚洲一区二区影院| 国产清纯白嫩初高生在线观看91 | 国产又黄又大久久| 久久久91精品国产一区二区精品 | 椎名由奈av一区二区三区| 色偷偷一区二区三区| 午夜欧美在线一二页| 日韩欧美国产三级电影视频| 国产黄色精品网站| 亚洲美女少妇撒尿| 91精品免费观看| 国产一区二区三区观看| 亚洲欧洲日产国码二区| 欧美日韩精品欧美日韩精品一| 久久97超碰国产精品超碰| 中文字幕国产一区| 欧美日韩专区在线| 九九**精品视频免费播放| 国产精品日韩成人| 欧美日韩一级片在线观看| 国产综合色视频| 亚洲天堂av老司机| 在线不卡免费欧美| 成人免费毛片片v| 图片区小说区区亚洲影院| 国产欧美一区二区三区网站| 在线观看免费视频综合| 精品一区二区综合| 亚洲欧美电影院| 日韩免费观看2025年上映的电影| 成人av免费在线观看| 日韩精品成人一区二区在线| 国产午夜亚洲精品不卡 | 秋霞午夜鲁丝一区二区老狼| 国产视频一区二区在线观看| 欧美色精品在线视频| 国产精品一品二品| 亚洲一区二区三区爽爽爽爽爽| 久久久亚洲精华液精华液精华液| 91精品福利视频| 国产老女人精品毛片久久| 亚洲永久免费av| 国产女主播视频一区二区| 欧美精品电影在线播放| 成人av在线资源网| 裸体歌舞表演一区二区| 夜色激情一区二区| 国产欧美视频一区二区三区| 欧美久久久久免费| 91丨九色丨黑人外教| 国产激情一区二区三区| 无码av免费一区二区三区试看| ...av二区三区久久精品| 欧美精品一区二区三区蜜桃| 欧美精品 日韩| 99re这里只有精品6| 国产一区二区三区黄视频| 日韩不卡免费视频| 一区二区视频在线| 亚洲国产精品高清| 精品黑人一区二区三区久久| 在线播放中文字幕一区| 在线观看不卡视频| 97久久精品人人做人人爽| 粉嫩绯色av一区二区在线观看| 免费在线成人网| 日韩精品免费专区| 亚洲一区二区在线观看视频| 国产精品国产三级国产| 中文字幕欧美激情| 久久久三级国产网站| 精品国产精品一区二区夜夜嗨| 91精品一区二区三区久久久久久| 91国产精品成人| 色综合av在线| 97精品国产97久久久久久久久久久久| 国产精品18久久久久久久久| 国产原创一区二区| 国产在线国偷精品免费看| 激情深爱一区二区| 久久国产乱子精品免费女| 免费在线观看一区| 蜜臀av一区二区在线观看| 免费高清在线视频一区·| 免费高清在线一区| 久久精品国产第一区二区三区| 日韩国产欧美在线播放| 视频一区在线视频| 麻豆成人91精品二区三区| 秋霞影院一区二区| 精品影院一区二区久久久| 久久99日本精品| 国产精品伊人色| 成人avav在线| 91老师国产黑色丝袜在线| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 日本道免费精品一区二区三区| 色av一区二区| 欧美亚洲愉拍一区二区| 欧美另类变人与禽xxxxx| 7777女厕盗摄久久久| 日韩免费一区二区三区在线播放| 精品福利一二区| 国产亚洲短视频| 亚洲日本在线看| 亚洲国产精品精华液网站| 日日摸夜夜添夜夜添亚洲女人| 免费在线观看视频一区| 国产精品99久| 91网站在线观看视频|