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

標題: 簡易STC15F104E單片機定時報警器制作 附程序 [打印本頁]

作者: aking991    時間: 2020-3-3 14:09
標題: 簡易STC15F104E單片機定時報警器制作 附程序
非常時期,孩子不能上學,大人沒在家,每天早上都睡得十幾點,有點過份,所以作個簡易定時報警器作鬧鐘用,主要是配合小米智能插座的網絡定時功能用,只是自己的小制作,供有需求的人參考用;

制作出來的實物圖如下:


功能:
1.上電時即啟動報警;
2.定時30S后自動停止;
3.報警過程中如有按鍵按下即停止報警;

硬件:
1.P32按一個按鍵,作為取消報警用;
2.P35接蜂鳴器,作為報警聲;


/*/******************************************************************************
-------------------------STC15F104E定時報警器-----------------------------------

功能:
1.上電時即啟動報警;
2.定時30S后自動停止;
3.報警過程中如有按鍵按下即停止報警;

硬件:
1.P32按一個按鍵,作為取消報警用;
2.P35接蜂鳴器,作為報警聲;

說明:此報警器是配合智能插座(例小米智能插座,帶USB那種)用的,主要作用是當鬧鐘用
//******************************************************************************/
        #include <STC15F104E.H>
//        #include <RTX51TNY.H>
        #include "intrins.h"
        #include "stdio.h"


/*/******************************************************************************/


/*/******************************************************************************/
        sbit KEY1   = P3^2;                                //根據原理圖,KEY1對應的IO口

        sbit BUZZ   = P3^5;                                //根據原理圖,CLOCKOUT0

/*/******************************************************************************/
        bit  time0out_flag = 0;                        //定時器0超時標志位
        bit  time1out_flag = 0;                        //定時器0超時標志位

        unsigned char t1_jishu = 0;                //定時1計數變量
        unsigned int t1_jishu2 = 0;                //定時1計數變量2



/*/******************************************************************************/
void Timer1Init(void)                //50毫秒@11.0592MHz
{
        AUXR &= 0xBF;                        //定時器時鐘12T模式
        TMOD &= 0x0F;                        //設置定時器模式
        TL1 = 0x00;                                //設置定時初值
        TH1 = 0x4C;                                //設置定時初值
        TF1 = 0;                                //清除TF1標志
        TR1 = 1;                                //定時器1開始計時
}
/*/******************************************************************************/
void Delay1ms()                //@11.0592MHz
{
        unsigned char i, j;

        _nop_();
        i = 11;
        j = 190;
        do
        {
                while (--j);
        } while (--i);
}
//-----------------------------------------
void delayms(unsigned int t)
{
        while(--t) Delay1ms();
}
/*/******************************************************************************/
/*/*********************************************************************************
/***********************************************************************************
//--------------------------------------初始化------------------------------------*/
void START(void)
{
        P0M0 = 0x00;    P0M1 = 0x00;
    P1M0 = 0x00;    P1M1 = 0x00;
    P2M0 = 0x00;    P2M1 = 0x00;
    P3M0 = 0x00;    P3M1 = 0x00;
    P4M0 = 0x00;    P4M1 = 0x00;
    P5M0 = 0x00;    P5M1 = 0x00;
    P6M0 = 0x00;    P6M1 = 0x00;
    P7M0 = 0x00;    P7M1 = 0x00;

        Timer1Init();                                //50毫秒@11.0592MHz
        ET1 = 1;                                        //使能定時器1中斷

        IT0 = 1;                    //設置INT0的中斷類型 (1:僅下降沿 0:上升沿和下降沿)
        EX0 = 1;                    //使能INT0中斷

    EA = 1;
}

/**********************************************************************************/
/******************************主函數**********************************************/
/**********************************************************************************/
void main(void)
{
        START();                                                                                //初始化
    while(1)
        {
                WDT_CONTR = 0x37;                                               //看門狗定時器

                delayms(1000);
        }
}

//-----------------------------------------
//中斷0服務程序
void exint0() interrupt 0       //INT0中斷入口
{
        delayms(20);                                //中斷按鍵防抖
        if(!KEY1)
        {
                TR1 = 0;                                //定時器1
                t1_jishu = 0;
                t1_jishu2 = 0;
                BUZZ = 1;                                //關閉報警
        }
}

/* Timer1 interrupt routine */
void tm1_isr() interrupt 3 //using 1
{
        t1_jishu ++;
        t1_jishu2 ++;
        if(t1_jishu == 5)
        {
                t1_jishu = 0;
                BUZZ = ~BUZZ;        
        }
        if(t1_jishu2 == 20*30)
        {
                BUZZ = 1;                                //關閉報警
                TR1 = 0;                                //定時器1
                t1_jishu = 0;
                t1_jishu2 = 0;        
        }
}




作者: 51hei團團    時間: 2020-3-3 15:09
好東東,能分享下源碼工程包嗎?
作者: jmkl128    時間: 2020-3-4 08:23
P0M0 = 0x00;    P0M1 = 0x00;
    P1M0 = 0x00;    P1M1 = 0x00;
    P2M0 = 0x00;    P2M1 = 0x00;
    P3M0 = 0x00;    P3M1 = 0x00;
    P4M0 = 0x00;    P4M1 = 0x00;
    P5M0 = 0x00;    P5M1 = 0x00;
    P6M0 = 0x00;    P6M1 = 0x00;
    P7M0 = 0x00;    P7M1 = 0x00;

這些刪掉會咋樣?
作者: chinarenxx    時間: 2020-3-16 01:16
測試后,好像沒聲音,蜂鳴輕響了一下就沒聲了。是不是沒有發聲代碼,樓主用的是有源直流蜂鳴器嗎。
作者: hbcqd    時間: 2020-3-16 12:31
思路很好,沒有實物,不太直觀,謝謝分享!




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久久久久久国产 | 欧美日韩国产一区 | 国产一区二区精华 | av乱码 | 欧美久操网 | 91在线观看视频 | 中文字幕国产视频 | 精品国产乱码一区二区三区 | 一区中文字幕 | 国产日产欧产精品精品推荐蛮挑 | 国产视频中文字幕 | 国产精品免费一区二区 | 精品少妇一区二区三区日产乱码 | 国产一二区视频 | 成人性生交大片 | www狠狠爱com | 久久久夜 | 亚洲精品成人 | 国产精品久久久久久久久久久免费看 | 国产在线播放一区二区三区 | 超碰97免费观看 | 国产女人与拘做受视频 | 亚洲日本免费 | 91性高湖久久久久久久久_久久99 | 久久精品国产一区 | 亚洲综合色站 | 午夜码电影| 成人欧美一区二区三区在线观看 | 日韩久久精品视频 | 成人欧美一区二区三区黑人孕妇 | 欧美激情一区二区三区 | 一呦二呦三呦国产精品 | 337p日本欧洲亚洲大胆鲁鲁 | 9191在线观看 | a在线观看 | 亚洲国产aⅴ成人精品无吗 国产精品永久在线观看 | 国产成人精品999在线观看 | 亚洲福利视频网 | 国产高清视频 | 精品伊人久久 | 国产精品视频久久 |