久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2355|回復: 0
打印 上一主題 下一主題
收起左側

51簡單的蜂鳴器驅動

[復制鏈接]
跳轉到指定樓層
樓主
ID:164629 發表于 2017-2-14 16:46 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/*
*******************************************************************************
*                     《手把手教你學51單片機(C語言版)》
*                    配套 KST-51 單片機開發板 示例源代碼
*
*         (c) 版權所有 2014 金沙灘工作室/清華大學出版社 保留所有權利
*
* 文件名:main.c
* 描  述:第9章 蜂鳴器驅動的基礎示例
* 版本號:v1.0.0
* 備  注:詳情見第9章9.4節
*******************************************************************************
*/

#include <reg52.h>

sbit BUZZ = P1^6;  //蜂鳴器控制引腳
unsigned char T0RH = 0;  //T0重載值的高字節
unsigned char T0RL = 0;  //T0重載值的低字節

void OpenBuzz(unsigned int frequ);
void StopBuzz();

void main()
{
    unsigned int i;

    TMOD = 0x01;  //配置T0工作在模式1,但先不啟動
    EA = 1;       //使能全局中斷

    while (1)
    {
        OpenBuzz(4000);          //以4KHz的頻率啟動蜂鳴器
        for (i=0; i<40000; i++);
        StopBuzz();              //停止蜂鳴器
        for (i=0; i<40000; i++);
        OpenBuzz(1000);          //以1KHz的頻率啟動蜂鳴器
        for (i=0; i<40000; i++);
        StopBuzz();              //停止蜂鳴器
        for (i=0; i<40000; i++);
    }
}
/* 蜂鳴器啟動函數,frequ-工作頻率 */
void OpenBuzz(unsigned int frequ)
{
    unsigned int reload;    //計算所需的定時器重載值

    reload = 65536 - (11059200/12)/(frequ*2);  //由給定頻率計算定時器重載值
    T0RH = (unsigned char)(reload >> 8);  //16位重載值分解為高低兩個字節
    T0RL = (unsigned char)reload;
    TH0  = 0xFF;  //設定一個接近溢出的初值,以使定時器馬上投入工作
    TL0  = 0xFE;
    ET0  = 1;     //使能T0中斷
    TR0  = 1;     //啟動T0
}
/* 蜂鳴器停止函數 */
void StopBuzz()
{
    ET0 = 0;   //禁用T0中斷
    TR0 = 0;   //停止T0
}
/* T0中斷服務函數,用于控制蜂鳴器發聲 */
void InterruptTimer0() interrupt 1
{
    TH0 = T0RH;   //重新加載重載值
    TL0 = T0RL;
    BUZZ = ~BUZZ; //反轉蜂鳴器控制電平
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费看91 | 亚洲成人免费观看 | 免费高清av | 欧美亚洲国语精品一区二区 | 日韩精品色网 | 国产成人jvid在线播放 | 欧美福利视频 | www.久久99 | 亚洲一二三区精品 | 精品av天堂毛片久久久借种 | 青青久久 | 国产精品国产 | 午夜精品一区二区三区在线 | 91一区| 91在线视频播放 | 在线看片网站 | 中国一级特黄视频 | 欧美视频1区 | 99re | 久久久久久久久久久久久久久久久久久久 | 不卡一区二区在线观看 | 亚洲97| 欧美久久久久 | 玖草资源 | 日韩欧美在线观看 | 久久久久久高潮国产精品视 | 污免费网站 | 亚洲在线免费观看 | 精品人伦一区二区三区蜜桃网站 | 久久免费视频在线 | 亚洲欧美中文字幕在线观看 | 伊人伊人伊人 | 亚洲第一中文字幕 | 精品av久久久久电影 | 99精品免费视频 | 国产在线一区二区三区 | 国产欧美日韩综合精品一区二区 | 狠狠av| 欧美日韩国产一区二区三区 | 亚洲一区二区在线视频 | 中文字幕一区二区三 |