娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年10月10日(星期四)

正在發生

2019年10月10日 | MSP430 ADC12模塊應用范例(2)

發布者:溫暖擁抱 來源: eefocus關鍵字:MSP430  ADC12模塊  應用范例 手機看文章 掃描二維碼
隨時隨地手機看文章

1-簡介

簡介MSP430單片機ADC12模塊 序列單次采集的 應用范例。


2-例程


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

//MSP430F149 ADC12模塊+串行通訊的實驗程序

//使用ADC12采集實驗,將采集到數據送向PC.(序列單次采集)

//P3.4為發送,P3.5為接收 晶體使32768HZ/8MHZ. 串行波特率B/S

//使用SMCLK作為波特率發器時,不能使用LPM2,LPM3!

//以下程序已驗證通過,初學者可直接使用.由時間倉促和水平有限,請讀者批評指正.

//編寫:www.Microcontrol.cn/DC

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


#include


#define ADCOK 0x01 //B0為ADC12完成轉換標志.


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

//表區

unsigned char number_table[]={'0','1','2','3','4','5','6','7','8','9'};

unsigned char display_buffer[]={0x00,0x00,0x00,0x00,0xff};


//*******************波特率***********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;

//變量區

unsigned int ADC0 ;

//子程序聲明

void init (void);                     //初始化

void ADC12setup(void);                //ADC12初始化

void BaudrateSetup(unsigned char U0); //UART0初始化

void data_converter(unsigned char *p,unsigned int vaule); //數據變換

void send_data(unsigned char *p);                         //串行口發送數組

void send_adc12_data(unsigned int *p,unsigned int adcn);  //發送ADC12數據 

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


void main(void)

{

 init();

//主循環

for (;;) 

  {

   LPM0;

   ADC12CTL0 |= ADC12SC;                     //sampling open,AD轉換完成后(ADC12BUSY=0),ADC12SC自動復位;

   while((ADC12IFG & BIT0) == 0);            //等轉換結束

   gbit &= ~ADCOK; //清轉換完成標志

   send_adc12_data(ADC,2);                   //發送數據

  }

}


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

void init(void)

{

 P1DIR=0x01;P1OUT=0x0f;      //LED設置

 BaudrateSetup(6);

 ADC12setup();

 gbit=0x00;

 _EINT();                    // 全局中斷使能

}


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

//串口接收中斷,退出LPM0模式.

#pragma vector=USART0RX_VECTOR

__interrupt void usart0_rx (void)

{

 LPM0_EXIT;

}


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

//ADC12初始化

void ADC12setup(void)

{

 //ADC12設置**************************

 P6SEL |= 0x03;                   //使用A/D通道 A0,A1

 ADC12CTL0 = ADC12ON+MSC+SHT0_2 ; //開ADC12內核,設SHT0=2 (N=4) 

 ADC12CTL1 = SHP+CONSEQ_1 ;       //SAMPCON信號選為采樣定時器輸出,序列單次


 //ADC12內部參考電壓設置

 ADC12CTL0 |= REF2_5V;            //選用內部參考電壓為2.5V

 ADC12CTL0 |= REFON;              //內部參考電壓打開

 ADC12MCTL0 |= SREF_1+INCH_0;     //R+=2.5V R-=VSS,A0輸入


 ADC12CTL1 |= REF2_5V;            //選用內部參考電壓為2.5V

 ADC12CTL1 |= REFON;              //內部參考電壓打開

 ADC12MCTL1 |= SREF_1+INCH_1+EOS; //R+=2.5V R-=VSS,A1輸入,結束位


 //轉換允許

 ADC12IE =0x02;                   //使能中斷ADC12IFG A1

 ADC12CTL0 |= ENC ;               //轉換允許(上升沿)

}


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

//UART0初始化

void BaudrateSetup(unsigned char U0) 

 unsigned int i;

 if(U0>5)                    //當U0>5時,啟用XT2

 {

  BCSCTL1 &= ~XT2OFF;        //啟動XT2,

  do

   { IFG1 &= ~OFIFG;         //清OSCFault標志

    for(i=0xFF;i>0;i--);     //延時等待

   }

 while((IFG1 & OFIFG) != 0); //查OSCFault,為0時轉換完成

 BCSCTL2 |= SELS;            //SMCLK為XT2

 }

//UART0 

 P1OUT=0x00;

 if(U0>5){UTCTL0=SSEL1;}      // 時鐘源:SMCLK

 else{UTCTL0=SSEL0;}          // 時鐘源:ACLK

 UCTL0 &= ~SWRST;             // SWRST復位, USART允許

 UCTL0=CHAR;                  // 8bit

 ME1|=UTXE0 + URXE0;          // Enable Tx0,Rx0

 IE1|=URXIE0;                 // RX使能

 UBR00=BaudrateUBR0[U0];      // 低位分頻器因子

 UBR10=BaudrateUBR1[U0];      // 高位分頻器因子 

 UMCTL0=BaudrateUMCTL[U0];    // 波特率調整因子

 P3SEL |= 0x30;               // 將P3.4,5使用外圍模塊 = USART0 TXD/RXD

 P3DIR |= 0x10;               // 將P3.4設為輸出(發),P3.5默認為輸入(收)

}


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

//數據變換

void data_converter(unsigned char *p,unsigned int value) 

{

 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];

}


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

//串行口發送數組

void send_data(unsigned char *p)

{unsigned int n; 

 timp=RXBUF0;

 for(n=0;p[n]!=0xff;n++)

 {

  while ((IFG1 & UTXIFG0) == 0); // USART0發送UTXIFG0=1,表示UTXBUF準備好發送一下字符

  TXBUF0 = p[n]; 

 } 

}


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

//發送ADC12數據

//*p為數據區,adcn為數量

void send_adc12_data(unsigned int *p,unsigned int adcn)

{

 unsigned int j;

 for(j=0;j {

   data_converter(display_buffer,p[j]); //數據變換

   send_data(display_buffer);           //發送數據

 }

}

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

//ADC12模塊例程(2)結速


關鍵字:MSP430  ADC12模塊  應用范例 引用地址:MSP430 ADC12模塊應用范例(2)

上一篇:MSP430學習筆記(2)定時器A
下一篇:使用Energia開發MSP430 LAUNCHPAD學習筆記1--LED閃爍

推薦閱讀

對于人工智能,此前科幻作家阿西莫夫曾制定一套“機器人三定律”,這可以說是一套通用定律。而自去年開始,一些公司從自身出發,制定了適用于本身的人工智能準則,比如微軟,提出了人工智能安全6大準則,又比如谷歌,提出不利用人工智能作惡等多項標準。緊跟其后的,據外媒報道,索尼也制定了自己的一套人工智能倫理準則。“索尼必須在這項技術上表明明確...
恩智浦半導體公司日前宣布第一批K32 L系列MCU全球上市——K32 L3 MCU系列。本次發布之后,恩智浦很快還將推出本產品線的第二個系列——優化成本和功率的K32 L2 MCU系列。這一新的MCU系列基于Arm? Cortex?-M0+,面向功率敏感性終端節點,能夠實現廣泛的通用型工業和物聯網(IoT)應用。 K32 L2 MCU的動態功耗較早期KL系列提高20%,采用高精度混合信...
10月6日,高通正式發布邀請函,宣布12月1日-2日將以線上的形式舉辦2020驍龍技術峰會。據悉,此次峰會高通將發布兩枚5nm制的芯片或為驍龍875與驍龍775。行業人士表示,高通驍龍875極有可能成為高通最快、最強大、最節能的5G芯片組,很有可能在2021年2月推出的三星 Galaxy S21 系列智能手機中亮相。據了解,今年9月份,三星電子獲得為高通生產下一代5G高...
近日,據MacRumors報道,部分iPhone 13用戶反映,其新設備出現了間歇性的觸控失靈問題,具體表現為iPhone對用戶的觸控輸入沒有反應,有時需強制重啟解決,或者反復點擊才能觸發系統反應。同時,在國外論壇上也相繼出現用戶對iPhone 13系列手機出現觸控失靈問題的反應,還有用戶指出輕觸屏幕喚醒后,iPhone 沒有反應,以及其他全系統和應用內觸控輸入沒...

史海拾趣

問答坊 | AI 解惑

既然Cyclone IV出來了,大家討論討論吧

Cyclone IV FPGA系列包括兩種型號Cyclone IV GX以及Cyclone IV E。Cyclone IV GX具有150K邏輯單元(LE)、6.5-Mbit RAM、360個乘法器,以及8個支持主流協議的集成3.125-Gbps收發器,支持協議包括千兆以太網(GbE)、SDI、CPRI、V-by-One。Cyclone IV GX ...…

查看全部問答∨

內核為什么寫不進flash??

pxa255的開發板,4.2的內核,編譯后可以下載,但就是不能寫進flash,每次都是寫到一個地方就停下來了。但如果下載時設成不寫進flash系統是可以正常啟動的,這樣每次重啟都要重新下載內核,好麻煩啊。…

查看全部問答∨

問個關于位操作的問題?

問題比較簡單,讓大家見笑了 、! #define GPB5_out (1…

查看全部問答∨

誰有51單片機的資料

小生塵世中奮斗的小書童 正在學習單片機,想找點資料,比如編程實例 剛找的兩個下載太慢太慢 誰有好的學習資料與我分享,拜托最好下載速度些 時間到,要上課去了 還請好心的大哥大姐多指點…

查看全部問答∨

Windows2003中沒有PsGetProcessImageFileName嗎?

NTKERNELAPI UCHAR * PsGetProcessImageFileName(                                                   PEP ...…

查看全部問答∨

ADS編譯文件出問題了,求教

   ADS編譯NBOOT1st文件出問題了,ADS提示無法打開文件錯誤   G:\\...\\bootsrc\\NBOOT1st\\nboot_Data\\DebugRel\\ObjecCode\\nand_s.o;    疑點一:    我的nand_s.o文件位于: C:\\Documents and Set ...…

查看全部問答∨

wice LCD驅動的問題

At91sam9261的BSP+WINCE5.0,LED有時候顯示不正常,右邊的到左邊,下面的跑到上面去了,顏色也有時候錯亂,R變G.G變R等,但整個屏幕畫面完整,看網頁時容易出現,特別是用Remote Zoom-in時屏幕劇烈閃動,最后穩定為前面所說的狀態.我估計為LCD Controller內 ...…

查看全部問答∨

tornado shell 找不到符號表

問題描述: 寫了一個run()函數供vxworks中usrAppInit()函數調用,里面的代碼是從ftp下載應用程序文件,然后用loadModuleAt加載符號表,找到用戶程序入口,調用入口函數執行應用代碼。現在問題是加載都成功了,但是在tornado shell 下敲用戶程序 ...…

查看全部問答∨

收到莫恩的開發板,繼續TFT實驗,硬件測試成功,并附測試代碼

之前提到過我的開發板有問題,發現是2.5V電源與1.2V核電壓串在一起了,莫恩將他的那一塊寄給了我。    這次先檢查開發板,下載了了控制面板的程序,并打開上位機程序測試了一遍,都正常,不過把FLASH擦除了,不該!  &nbs ...…

查看全部問答∨

關于usb中MassStorage例子的問題

把官方Mass Storage例子的程序燒了進去PC端能識別出u 盤可是去不能打開,顯示大小也為0,這是怎么回事?…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 房山区| 诸暨市| 西青区| 黄龙县| 察哈| 公安县| 镇巴县| 天津市| 东乌珠穆沁旗| 黔江区| 信宜市| 玛沁县| 和平区| 吉安市| 武冈市| 竹北市| 恭城| 保亭| 城固县| 兴宁市| 广安市| 沙雅县| 承德县| 包头市| 临漳县| 宁晋县| 钟山县| 思南县| 施秉县| 尤溪县| 穆棱市| 清徐县| 藁城市| 谷城县| 鲁山县| 德兴市| 海宁市| 肇东市| 图片| 绥德县| 吴川市|