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

歷史上的今天

今天是:2025年02月03日(星期一)

2020年02月03日 | MSP430學習筆記4-兩個定時器產生步進單頻音

發布者:fuehrd努力的 來源: eefocus關鍵字:MSP430  定時器  步進單頻音 手機看文章 掃描二維碼
隨時隨地手機看文章

這個程序是開發板中用來產生不同頻率聲音的程序,整體程序較為簡單,主要是兩個定時器的使用,代碼及我的注釋如下。


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

程序功能:用固定頻率的方波驅動蜂鳴器,共16種音調;在蜂鳴器

          發出不同音調的同時,LED發光以二進制數字形式指示

          當前音調的編號(1~16)

----------------------------------------------------------

撥碼開關設置:將BUZZER位撥至ON,其余位撥至OFF

測試說明:聆聽蜂鳴器發聲的音調變化。同時led也有對應的指示

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

#include


typedef unsigned char uchar;


uchar step = 0xff;


/************************主函數************************/

void main( void )

{

    uchar i;

    

    WDTCTL = WDTPW + WDTHOLD;           //關狗

   

    /*下面六行程序關閉所有的IO口*/

    P1DIR = 0XFF;P1OUT = 0XFF;

    P2DIR = 0XFF;P2OUT = 0XFF;

    P3DIR = 0XFF;P3OUT = 0XFF;

    P4DIR = 0XFF;P4OUT = 0XFF;

    P5DIR = 0XFF;P5OUT = 0XFF;

    P6DIR = 0XFF;P6OUT = 0XFF;

    P6DIR |= BIT2;P6OUT |= BIT2;         //關閉電平轉換

    

    /*------選擇系統主時鐘為8MHz-------*/

    BCSCTL1 &= ~XT2OFF;                 //打開XT2高頻晶體振蕩器

    do

    {

        IFG1 &= ~OFIFG;                 //清除晶振失敗標志

        //IFG1是中斷寄存器 OFIFG是晶振啟動失敗中斷標志位

        for (i = 0xFF; i > 0; i--);     //等待8MHz晶體起振

    }

    while ((IFG1 & OFIFG));             //晶振失效標志仍然存在?

    //上面這一步主要是等待晶振正常工作

    BCSCTL2 |= SELM_2 + SELS;           //MCLK和SMCLK選擇高頻晶振

    

    TACCTL0 |= CCIE;                    //使能比較中斷

    TACTL |= TASSEL_2 + ID_3 ;          //計數時鐘選擇SMLK=8MHz,1/8分頻后為1MHz

    

    TBCCR0 = 4096*2 - 1;                //周期兩秒

    //時間計算:32768/8*2+1注意使用的是手表晶振

    TBCCTL0 |= CCIE;

    TBCTL |= TBSSEL_1 + ID_3 + MC_1;    //時鐘源ACLK/8,up mode

    

    P6DIR |= BIT7;                      //蜂鳴器對應IO為6.7設置為輸出

    P2DIR = 0xff;                       //指示對應的狀態

    P2OUT = 0xff;

    

    _EINT();

    

    LPM1;

}

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

函數名稱:Timer_A

功    能:定時器A的中斷服務函數,在這里驅動

          蜂鳴器發聲

參    數:無

返回值  :無

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

#pragma vector=TIMERA0_VECTOR

__interrupt void Timer_A (void)

{

  P6OUT ^= BIT7;                            // Toggle P6.7

}

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

函數名稱:Timer_B

功    能:定時器B的中斷服務函數,在這里更改

          蜂鳴器發聲頻率

參    數:無

返回值  :無

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

#pragma vector=TIMERB0_VECTOR

__interrupt void Timer_B (void)

{

    if(step == 0xff)                        //step的初值就是0xff,

      TACTL |= MC_1;//需要將TimerA設置為增計數模式,可以在初始化的時候設置,不明白為什么放在這個地方。   

    step++;

    switch(step)

    {  

    case    0:  TACCR0 = 5000;  P2OUT = ~1;   break;      // 100Hz

    //P2OUT使用led顯示對應的數值,只是為了便于演示,沒實際意義

    case    1:  TACCR0 = 2500;  P2OUT = ~2;   break;      // 200Hz

    case    2:  TACCR0 = 1250;  P2OUT = ~3;   break;      // 400Hz

    case    3:  TACCR0 = 625;   P2OUT = ~4;   break;      // 800Hz

    case    4:  TACCR0 = 500;   P2OUT = ~5;   break;      // 1KHz

    case    5:  TACCR0 = 250;   P2OUT = ~6;   break;      // 2KHz

    case    6:  TACCR0 = 167;   P2OUT = ~7;   break;      // 3KHz

    case    7:  TACCR0 = 125;   P2OUT = ~8;   break;      // 4KHz

    case    8:  TACCR0 = 100;   P2OUT = ~9;   break;      // 5KHz

    case    9:  TACCR0 = 83;    P2OUT = ~10;   break;      // 6KHz

    case    10:  TACCR0 = 71;   P2OUT = ~11;   break;      // 7KHz

    case    11:  TACCR0 = 63;   P2OUT = ~12;   break;      // 8KHz

    case    12:  TACCR0 = 56;   P2OUT = ~13;   break;      // 9KHz

    case    13:  TACCR0 = 50;   P2OUT = ~14;   break;      // 10KHz

    case    14:  TACCR0 = 33;   P2OUT = ~15;   break;      // 15KHz

    case    15:  TACCR0 = 25;   P2OUT = ~16;   break;      // 20KHz

    case    16:  step = 0xff;               // 接著往上加,和清零的效果一樣,循環播放

    }

}



關鍵字:MSP430  定時器  步進單頻音 引用地址:MSP430學習筆記4-兩個定時器產生步進單頻音

上一篇:在msp430上使用S-100
下一篇:MSP430學習小結3-MSP430基本時鐘模塊

推薦閱讀

印象中,我國的創新更多集中在研發成本低且研發周期短的行業,而在研發成本高且研發周期長的技術領域,我國與歐美、日本相比仍較為薄弱。然而,國家知識產權局近日發布的統計數據顯示,在世界知識產權組織劃分的35個技術領域中,去年,國內發明專利擁有量高于國外來華發明專利擁有量的達30個,比2016年增加1個,僅在光學、醫學技術、發動機、音像技術、運...
據統計,2018年全球機器人產業市場規模達298.2億美元。如果對機器人產業進行細分:工業機器人的市場規模大約168.2億美元,服務機器人的市場規模大約92.5億美元,特種機器人的市場規模大約37.5億美元。隨著第四次工業革命向中國轉移,中國的機器人產業在2018年的市場規模約為87.4億美元。三大領域中,工業機器人的市場規模大約62.3億美元,服務機器人...
示波器是一種能夠直接顯示電壓變化波形的電子儀器,它不僅能夠觀察電信號的變化過程,而且能夠對波形進行測量,如測量電壓的幅值、周期、頻率和相位等。示波器廣泛應用于電氣產品的生產和科研實驗中,更是家用電子產品維修的“萬用儀器”。常用的示波器根據顯示信號的多少,可分為單蹤示波器、雙蹤示波器、多蹤示波器,而實際工作中應用最多的是雙蹤示波器...
Skyworks日前推出SKY66422-11緊湊型高性能RF前端模塊(FEM)系列,該模塊專門為LPWAN設計——支持LoRa,SigFox和其他未許可頻段技術,以及在860-930MHz頻率范圍內運行的大功率工業,科學和醫療(ISM)應用。與現有的SKY66420-11,SKY66421-11和SKY66423-11前端模塊互補,新的SKY66422-11具有更高的靈敏度,并且與獨立的片上系統(SoC)相比,工作范圍擴大...

史海拾趣

問答坊 | AI 解惑

AVR單片機端口操作

AVR端口是真正的雙向端口,不像51偽雙向。這也是AVR的一項優勢,只是操作時大家注意DDRn就可以了。真正雙向端口在模擬時序方面不如偽雙向的方便。   DDRn PORTn PINn 解釋:n為端口號:ABCDE   DDRn:控制端口是輸入還是輸出 ...…

查看全部問答∨

PCB設計接地指導書

簡要目錄: 1. 接地概述 2. 通信局站接地 3.通信設備接地 4.搭接設計 5.單板、背板接地設計 6.終端及附屬設備接地…

查看全部問答∨

WinCE5.0內存映射文件操作的疑惑

WinCE5.0內存映射文件操作的疑惑, 有這么一段程序: // 設定內存映射大小、偏移量等參數 __int64 qwFileSize = 0xD59F80;//文件的最大字節數13.3MB(0xD59F80)/64MB(0x4000000)/128MB(0x8000000) __int64 qwFileOffset = 0;      & ...…

查看全部問答∨

錄音中的噪音怎么去除!

請各位幫忙:     能不能用軟件的方式處理這種噪音! 或者其他的方式! 其他方案! 謝謝!…

查看全部問答∨

wince下 sqlite 無法打開

     我在vs2008上建個了wince的智能設備,在使用sqlite的時候出現字符轉換問題。 bool MySQLite::sqlite_connect( TCHAR filename) {         db=NULL;            zE ...…

查看全部問答∨

FLASH測試求助

最近在調spansion的8M NOR FLASH,本來已測試成功,可昨天再運行的時候,總莫名奇妙的掛住; manufacturerid和deviceid可以正確讀出,跟蹤調試后發現問題出在調用CFI指令的地方。 flash是掛在PCI總線上。 望各位賜教。 …

查看全部問答∨

小程序出現問題啊

0 load p0004             0 1 set    M0001            1 2 LOAD M0001     & ...…

查看全部問答∨

PIC16F690做電容式觸摸按鍵

:carnation:  設計參考了應用筆記AN1101-1104; 使用串口通信來讀取振蕩頻率,通過讀取沒有按下和按下按鍵的不同頻率來確定閥值。 程序運行中也可讀取每個按鍵通道的沒有觸摸時的1/16平均值,通道的掃描時間為10ms循環。   配置字是 ...…

查看全部問答∨

2個FPGA例程,LED流水燈和4位計數器

例程已經在板子上跑過了,附帶詳細解釋 syn_cnter_4.qpf4位計數器led_w.qpfLED流水燈,方向固定…

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

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

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

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 江山市| 丹棱县| 简阳市| 高安市| 鹤峰县| 迁安市| 汉源县| 电白县| 海南省| 大洼县| 皮山县| 同心县| 辉南县| 贵港市| 巴青县| 中西区| 景谷| 溧阳市| 长顺县| 遵化市| 榆树市| 徐汇区| 安丘市| 梁平县| 开平市| 邻水| 双桥区| 兴义市| 大关县| 米易县| 桂林市| 中山市| 远安县| 嘉祥县| 东乌珠穆沁旗| 舟山市| 大连市| 楚雄市| 巴塘县| 随州市| 灌云县|