標(biāo)題: 基于51單片機(jī)的門鈴程序 [打印本頁]

作者: kobe1    時(shí)間: 2018-5-22 17:15
標(biāo)題: 基于51單片機(jī)的門鈴程序
#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()          //定時(shí)器0初始化
{
        TMOD=0X01;         //定時(shí)器0 方式1
        TH0=0Xff;
        TL0=0X06; //定時(shí)250us
//        TR0=1;
        EA=1;
        ET0=1;
}
void biaohaoinit()           //各個(gè)標(biāo)號(hào)初始化
{
        ding=0;                //叮聲音  計(jì)數(shù)標(biāo)志
        dong=0;                //咚聲音  計(jì)數(shù)標(biāo)志
        n=0;                //定時(shí)0.5s標(biāo)志
        flag=0;
        stop=0;           //結(jié)束標(biāo)志
}
void main()
{
        time0init();
        biaohaoinit();
        while(1)
        {
                if(k1==0)           //判斷按鍵是否按下
                {
                        delay(1000);  //消抖
                        if(k1==0)
                        {
                                TR0=1;        //打開定時(shí)器0
                                while(!stop);
                        }
                }       
        }       
}
void time0() interrupt 1
{
        n++;
        TH0=0Xff;
        TL0=0X06; //250us
        if(n==2000)                //定時(shí)0.5s  叮響0.5秒,咚響0.5秒
        {
                n=0;
                if(flag==0)
                {
                        flag=~flag;
                }
                else
                {
                        flag=0;
                        stop=1;
                        TR0=0;          //關(guān)閉定時(shí)器0
                }
        }
        if(flag==0)
        {                                           //通過改變定時(shí)計(jì)數(shù)時(shí)間可以改變門鈴的聲音
                ding++;                          //叮
                if(ding==1)
                {
                        ding=0;
                        beep=~beep;
                }
        }
        else
        {
                dong++;
                if(dong==2)                  //咚
                {
                        dong=0;
                        beep=~beep;
                }       
        }
}


作者: 愛書的人    時(shí)間: 2018-12-28 01:45
flat在程序中有什么用呀
這個(gè)的流程圖有嗎





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1