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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2277|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美v免费 | 国产精品久久一区二区三区 | 久久一 | 91 在线| 欧美8一10sex性hd | 国产91九色 | 日韩视频一区二区三区 | 精品亚洲一区二区三区 | 国产免费xxx | 九九热这里 | 欧美精品在线播放 | 久久国产精品视频免费看 | 久久久久久国产精品 | 久久91| www.中文字幕av | 日韩精品一区二区三区中文字幕 | 美女一级a毛片免费观看97 | 在线免费观看黄a | 国内自拍视频在线观看 | 国产欧美日韩精品一区 | 成人免费xxxxx在线视频 | 久久综合久色欧美综合狠狠 | 欧美精品网站 | 精品国产乱码久久久久久蜜柚 | 一区二区三区视频免费看 | 国产精品高清一区二区 | 亚洲每日更新 | 三级av网址 | 韩日一区二区 | 99爱国产| 在线观看视频福利 | 午夜电影网站 | 久久精品无码一区二区三区 | 欧美中文字幕一区二区三区亚洲 | 久久久精品综合 | 天堂在线网 | 理论片免费在线观看 | 亚洲第一成年免费网站 | 欧美精品一级 | 欧产日产国产精品v | 欧美日韩一区精品 |