在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

開發板產生不同頻率聲音的程序(兩個定時器的使用)

算法&編程學院 ? 來源:網絡整理 ? 作者:工程師3 ? 2018-04-20 09:12 ? 次閱讀

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

[cpp] view plain copy/*********************************************************

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

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

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

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

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

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

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

#include 《msp430.h》

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; // 接著往上加,和清零的效果一樣,循環播放

}

}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 定時器
    +關注

    關注

    23

    文章

    3256

    瀏覽量

    115452
  • 蜂鳴器
    +關注

    關注

    12

    文章

    893

    瀏覽量

    46115
收藏 人收藏

    評論

    相關推薦

    STM32G4定時器TIM輸入捕獲頻率測量

    摘要本文章基于國信長天M4開發板,講述了STM32G4 定時器TIM輸入捕獲頻率測量的因通過用,祝各位學生藍橋杯比賽取得好成績!M4開發板 頻率
    發表于 08-16 06:35

    定時器介紹

    同時用兩個定時器控制蜂鳴器發聲, 定時器0控制頻率定時器1控制同
    發表于 02-23 15:56 ?20次下載

    【實驗38】定時器定時

    HL配套C實驗例程100例之定時器定時,配合開發板學習效果更好。
    發表于 04-11 16:09 ?7次下載

    【實驗45】用定時器產生方波0

    HL配套C實驗例程100例之用定時器產生方波0,配合開發板學習效果更好。
    發表于 04-11 16:09 ?6次下載

    stm32定時器中斷程序

    STM32的定時器強大的模塊,定時器使用的頻率也是很高的,定時器可以做一些基本的定時,還可以
    發表于 10-12 16:59 ?1.3w次閱讀

    555定時器產生方波原理(四款555定時器產生方波的電路詳解)

    本文主要介紹了555定時器產生方波原理(五款555定時器產生方波的電路詳解)。555定時器的功能主要由
    發表于 01-22 09:07 ?36.1w次閱讀
    555<b class='flag-5'>定時器</b><b class='flag-5'>產生</b>方波原理(四款555<b class='flag-5'>定時器</b><b class='flag-5'>產生</b>方波的電路詳解)

    如何同時使用兩個定時器控制蜂鳴器發聲詳細單片機程序免費下載

    本文檔的主要內容詳細介紹的是如何同時使用兩個定時器控制蜂鳴器發聲嵌套運用的詳細單片機程序免費下載。
    發表于 11-05 08:00 ?11次下載
    如何同時使用<b class='flag-5'>兩個</b><b class='flag-5'>定時器</b>控制蜂鳴器發聲詳細單片機<b class='flag-5'>程序</b>免費下載

    同時使用兩個定時器控制蜂鳴器發聲的程序代碼免費下載

    本文檔的主要內容詳細介紹的是同時使用兩個定時器控制蜂鳴器發聲的程序代碼免費下載。
    發表于 06-20 17:44 ?6次下載
    同時使用<b class='flag-5'>兩個</b><b class='flag-5'>定時器</b>控制蜂鳴器發聲的<b class='flag-5'>程序</b>代碼免費下載

    使用單片機開發板實現LED流水和定時器程序免費下載

    本文檔的主要內容詳細介紹的是使用單片機開發板實現LED流水和定時器程序免費下載。
    發表于 06-10 17:15 ?2次下載
    使用單片機<b class='flag-5'>開發板</b>實現LED流水和<b class='flag-5'>定時器</b>的<b class='flag-5'>程序</b>免費下載

    MSP430F5529通過定時器A產生兩個反相頻率占空比可調PWM波

    兩個定時器產生兩個反相的PWM波并通過一捕獲比較捕獲其中一
    發表于 11-19 20:36 ?3次下載
    MSP430F5529通過<b class='flag-5'>定時器</b>A<b class='flag-5'>產生</b><b class='flag-5'>兩個</b>反相<b class='flag-5'>頻率</b>占空比可調PWM波

    【國信長天藍橋杯】③ STM32G431 TIM輸入捕獲,定時器輸入捕獲頻率測量使用步驟

    摘要本文章基于國信長天M4開發板,講述了STM32G4 定時器TIM輸入捕獲頻率測量的因通過用,祝各位學生藍橋杯比賽取得好成績!M4開發板 頻率
    發表于 11-30 11:51 ?11次下載
    【國信長天藍橋杯】③ STM32G431 TIM輸入捕獲,<b class='flag-5'>定時器</b>輸入捕獲<b class='flag-5'>頻率</b>測量使用步驟

    基于cubemx的stm32開發之路(使用正點原子戰艦V3開發板)——基本定時器的應用

    1hz的閃爍實驗設備正點原子新戰艦V3 STM32F103ZET6開發板學習st-link燒錄定時器原理F103定時器組成STM32F1
    發表于 12-08 15:21 ?5次下載
    基于cubemx的stm32<b class='flag-5'>開發</b>之路(使用正點原子戰艦V3<b class='flag-5'>開發板</b>)——基本<b class='flag-5'>定時器</b>的應用

    基于兩個NE555定時器的叮咚聲音發生電路圖

    這是基于兩個NE555定時器IC的叮咚聲音發生的電路圖,該電路設計用于在兩個可調頻率之間切換以
    的頭像 發表于 04-02 14:23 ?2486次閱讀
    基于<b class='flag-5'>兩個</b>NE555<b class='flag-5'>定時器</b>的叮咚<b class='flag-5'>聲音</b>發生<b class='flag-5'>器</b>電路圖

    基于兩個555定時器構建的警笛電路

    在本教程中,您將學習如何使用兩個 555定時器 IC 構建 555 警笛電路。
    的頭像 發表于 06-29 14:56 ?2904次閱讀
    基于<b class='flag-5'>兩個</b>555<b class='flag-5'>定時器</b>構建的警笛電路

    stm32一定時器能同時控制兩個燈以不同頻率閃爍嗎?

    STM32的定時器功能強大,**STM32的定時器可以同時控制兩個燈以不同頻率閃爍** 。
    的頭像 發表于 12-13 10:43 ?2378次閱讀
    主站蜘蛛池模板: 69日本xxxxxxxxx18| 色一乱一伦一区一直爽 | 色五月丁香五月综合五月 | 久久精品男人影院 | 中文字幕一精品亚洲无线一区 | 艹逼视频免费观看 | 日本黄页网站在线观看 | 来啊mm影院亚洲mm影院 | 国产国语videosex另类 | xx性欧美 | 九色综合九色综合色鬼 | 婷婷激情五月 | 国产精品你懂的 | 在线观看国产久青草 | 美国bj69video18 | 天天做天天爱天天做天天吃中 | 美女脱裤子屁屁视频 | 4hc44www四虎永久 | 色多多免费视频观看区一区 | 婷婷亚洲五月 | 欧美一级视频在线观看欧美 | 网站在线观看你懂的 | 亚欧成人乱码一区二区 | 亚洲一区二区三区中文字幕 | 在线观看免费黄视频 | 国产伦精品一区二区三区高清 | 日本美女黄色一级片 | 国产高清免费不卡观看 | 国产成人乱码一区二区三区 | 国产午夜精品一区二区 | 中文字幕va一区二区三区 | 久久性色 | 欧美性猛交xxx嘿人猛交 | 操操操操网| 日日噜噜噜夜夜爽爽狠狠 | 五月天婷婷基地 | 日本特黄特黄刺激大片免费 | 国内精品伊人久久大香线焦 | 亚洲视频一区网站 | 日本三级免费观看 | 午夜精品在线观看 |