色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    文章

    3251

    瀏覽量

    115009
  • 蜂鳴器
    +關注

    關注

    12

    文章

    892

    瀏覽量

    46003
收藏 人收藏

    評論

    相關推薦

    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 ?2363次閱讀
    基于<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 ?2805次閱讀
    基于<b class='flag-5'>兩個</b>555<b class='flag-5'>定時器</b>構建的警笛電路

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

    STM32的定時器功能強大,**STM32的定時器可以同時控制兩個燈以不同頻率閃爍** 。
    的頭像 發表于 12-13 10:43 ?2250次閱讀
    主站蜘蛛池模板: 一品道门在线观看免费视频| 一区三区不卡高清影视| 羞羞答答影院在线| 大胸美女洗澡扒奶衣挤奶| 久久99热这里只有精品66| 雪恋电影完整版免费观看| 东京热 百度影音| 啪啪漫画无遮挡全彩h网站| 97国产成人精品视频| 老师的丝袜脚| 97国产揄拍国产精品人妻| 奶头从情趣内衣下露了出来AV| 2021久久精品免费观看| 蜜桃传媒在线播放| cctv网站| 亚洲haose在线观看| 久久精品热只有精品| 3DNagoonimation动漫| 男人J桶进男人屁股过程| 超碰国产视频免费播放| 色婷婷粉嫩AV精品综合在线| 国产伦子沙发午休系列资源曝光| 亚洲精品久久久午夜麻豆| 久久久久久久久a免费| CHINA篮球体育飞机2022网站| 日本另类xxxx| 花蝴蝶免费观看影视| 99re热精品视频国产免费| 日韩欧美中文字幕在线| 果冻传媒9CM在线观看| 99re6久久热在线视频| 三级在线观看网站| 久久伊人草| 国产av在在免费线观看美女| 伊人久久大线蕉香港三级| 人妻换人妻AA视频| 精品熟女少妇AV久久免费A片| 成人网络电视破解版| 最懂男人心论坛| 亚洲欧美综合视频| 全文都是肉高h文|