找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2806|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

這個(gè)單片機(jī)門(mén)鈴程序怎么讓他按一下按鈕響兩聲?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:826420 發(fā)表于 2020-10-16 14:10 來(lái)自手機(jī) | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
單片機(jī)源程序如下:
#include <AT89X51.H>
unsigned char t5hz;
unsigned char t7hz;
unsigned int tcnt;

bit stop;
bit flag;

void main(void)
{
        unsigned char i,j;
        
        TMOD=0x02;
        TH0=0x06;
        TL0=0x06;
        ET0=1;
        EA=1;
        
        while(1)
        {
                if(P3_3==0)
                {
                        for(i=10;i>0;i--)
                        for(j=248;j>0;j--);
                        if(P3_3==0)
                        {
                                t5hz=0;
                                t7hz=0;
                                tcnt=0;
                                flag=0;
                                stop=0;
                                TR0=1;
                                while(stop==0);
                        }
                }
        }//...while(1)
}//...main

void t0(void) interrupt 1 using 0
{
        tcnt++;
        if(tcnt==2000)
        {
                tcnt=0;
                if(flag==0)
                {
                        flag=~flag;
                }
                else
                {
                        stop=1;
                        TR0=0;
                }
        }
        
        if(flag==0)
        {
                t7hz++;
                if(t7hz==3)
                {
                t7hz=0;
                P3_2=~P3_2;
                }
        }
        else
        {
                t5hz++;
                if(t5hz==4)
                {
                t5hz=0;
                P3_2=~P3_2;
                }
        }
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:654028 發(fā)表于 2020-10-16 16:54 | 只看該作者
把門(mén)鈴響一下寫(xiě)成一個(gè)函數(shù)不就好了
回復(fù)

使用道具 舉報(bào)

板凳
ID:826420 發(fā)表于 2020-10-16 23:06 來(lái)自手機(jī) | 只看該作者
心有浮生 發(fā)表于 2020-10-16 16:54
把門(mén)鈴響一下寫(xiě)成一個(gè)函數(shù)不就好了

請(qǐng)問(wèn)具體該怎么操作?
回復(fù)

使用道具 舉報(bào)

地板
ID:383832 發(fā)表于 2020-10-17 05:22 | 只看該作者
326406920 發(fā)表于 2020-10-16 23:06
請(qǐng)問(wèn)具體該怎么操作?

寫(xiě)成子涵數(shù)
一個(gè)時(shí)間延遲函數(shù),一個(gè)響鈴函數(shù)
main 函數(shù)調(diào)用就行了。會(huì)比較簡(jiǎn)潔
回復(fù)

使用道具 舉報(bào)

5#
ID:123289 發(fā)表于 2020-10-17 14:37 | 只看該作者
1、做一個(gè)定時(shí)器,每間隔一個(gè)時(shí)間(如0.5秒)中斷一次。
2、做一個(gè)變量A,每次中斷檢查A=?。分三種情況處理。
2.1 A=0,不處理,退出;
2.2 A=偶數(shù),打開(kāi)蜂鳴器,再將A-1,退出;
2.2 A=奇數(shù),關(guān)閉蜂鳴器,再將A-1,退出;
想一下,如果你給A置個(gè)4,接下來(lái)蜂鳴器會(huì)如何動(dòng)作呢?
如此當(dāng)按鍵按下后,只要你給A送個(gè)數(shù),你讓它叫必聲,都可以。

寫(xiě)程序關(guān)鍵再于構(gòu)成方案,寫(xiě)代碼不重要。
回復(fù)

使用道具 舉報(bào)

6#
ID:826420 發(fā)表于 2020-10-17 17:36 來(lái)自手機(jī) | 只看該作者
yzwzfyz 發(fā)表于 2020-10-17 14:37
1、做一個(gè)定時(shí)器,每間隔一個(gè)時(shí)間(如0.5秒)中斷一次。
2、做一個(gè)變量A,每次中斷檢查A=?。分三種情況處 ...

太感謝了,受教
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表