欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5714|回復: 1
收起左側

單片機按鍵按下觸發蜂鳴器門鈴“叮咚”響的源碼

[復制鏈接]
ID:292495 發表于 2018-3-15 22:10 | 顯示全部樓層 |閱讀模式
/* 下載程序后按鍵K1按下就會觸發蜂鳴器門鈴“叮咚”響  */

#include<reg52.h>
typedef unsigned char u8;
typedef unsigned int u16;
sbit beep=P1^5;
sbit k1=P3^1;
u8 ding,dong,flag,stop;
u16 n;
void delay(u16 i)
{
        while(i--);
}
void time0init()          //定時器0初始化
{
        TMOD=0X01;         //定時器0 方式1
        TH0=0Xff;
        TL0=0X06; //定時250us
//        TR0=1;
        EA=1;
        ET0=1;
}
void biaohaoinit()           //各個標號初始化
{
        ding=0;                //叮聲音  計數標志
        dong=0;                //咚聲音  計數標志
        n=0;                //定時0.5s標志
        flag=0;
        stop=0;           //結束標志
}
void main()
{
        time0init();
        biaohaoinit();
        while(1)
        {
                if(k1==0)           //判斷按鍵是否按下
                {
                        delay(1000);  //消抖
                        if(k1==0)
                        {
                                TR0=1;        //打開定時器0
                                while(!stop);
                        }
                }        
        }        
}
void time0() interrupt 1
{
        n++;
        TH0=0Xff;
        TL0=0X06; //250us
        if(n==2000)                //定時0.5s  叮響0.5秒,咚響0.5秒
        {
                n=0;
                if(flag==0)
                {
                        flag=~flag;
                }
                else
                {
                        flag=0;
                        stop=1;
                        TR0=0;          //關閉定時器0
                }
        }
        if(flag==0)
        {                                           //通過改變定時計數時間可以改變門鈴的聲音
                ding++;                          //叮
                if(ding==1)
                {
                        ding=0;
                        beep=~beep;
                }
        }
        else
        {
                dong++;
                if(dong==2)                  //咚
                {
                        dong=0;
                        beep=~beep;
                }        
        }
}

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:273292 發表于 2018-3-16 08:44 | 顯示全部樓層
你不貼仿真么,電路圖也行啊,
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表