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

QQ登錄

只需一步,快速開始

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

做了個(gè)SOS的聲光求救告警程序,蜂鳴器響SOS聲音,數(shù)碼管顯示SOS字符。但是按K3按鍵...

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
做了個(gè)SOS的聲光求救告警程序,蜂鳴器響SOS聲音,數(shù)碼管顯示SOS字符。下載進(jìn)單片機(jī)后,按K3,按鍵,中斷沒反應(yīng),

編譯時(shí):提示警告:
void Int0Configuration()
沒有調(diào)用?

Build target 'Target 1'
compiling beep+key1.c...
linking...

*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?INT0CONFIGURATION?BEEP_KEY1

Program Size: data=15.0 xdata=0 code=383

creating hex file from "SOS"...

"SOS" - 0 Error(s), 1 Warning(s).


下面是我的程序,請(qǐng)大家給看看唄。

/*
說(shuō)明:蜂鳴器占用P1^5。數(shù)碼管占用P0口。
*/
#include<reg51.h>

sbit Beep=P1^5;                                         //蜂鳴器占用P1^5。
sbit K3=P3^2;                                                 //獨(dú)立按鍵
sbit LSA=P2^2;                                         //位選信號(hào)
sbit LSB=P2^3;
sbit LSC=P2^4;
unsigned char SOS[]={0x6d,0x3f,0x6d};        //SOS的顯示碼
unsigned int i;
unsigned char e=0x01;

void delay(unsigned int a)          //
{
unsigned char b;
for(a;a>0;a--)
for(b=155;b>0;b--);
}

void SOSdigital()
{
        unsigned char d,j;
        for(d=0;d<3;d++)
        {
                switch(d)         //位選,選擇點(diǎn)亮的數(shù)碼管,
                {
                        case(0):
                                LSA=0;LSB=0;LSC=0; break;//顯示第0位
                        case(1):
                                LSA=1;LSB=0;LSC=0; break;//顯示第1位
                        case(2):
                                LSA=0;LSB=1;LSC=0; break;//顯示第2位
                }
                P0=SOS[d];//發(fā)送段碼
                j=10;                                                 //掃描間隔時(shí)間設(shè)定
                while(j--);        
                P0=0x00;//消隱
        }
}

void Beepf()
{
Beep=0;
SOSdigital();          //
delay(1);          //
Beep=1;
SOSdigital();
delay(1);
}

void Beep1()
{
i=150;
while(i--)
{
Beepf();
}
}

void Beep2()
{
i=450;
while(i--)
{
Beepf();
}
}

void SOSaudio()                                        //
{         
         unsigned char c;
         for(c=0;c<3;c++)
         {
                 Beep1();
                 delay(200);
         }
         delay(400);
         for(c=0;c<3;c++)
         {
                 Beep2();
                 delay(600);
         }
         for(c=0;c<3;c++)
         {
                 Beep1();
                 delay(200);
         }
         delay(2400);
}


void Int0Configuration()
{
        //設(shè)置INT0
        IT0=1;//跳變沿出發(fā)方式(下降沿)
        EX0=1;//打開INT0的中斷允許。
        EA=1;//打開總中斷        
}
/*******************************************************************************
* 函數(shù)名         : Int0()
* 函數(shù)功能                   : 外部中斷0 中斷函數(shù)
* 輸入           : 無(wú)
* 輸出                  : 無(wú)
*******************************************************************************/

void Int0() interrupt 0                 
{        
        if(K3==0)
        {
                e=~e;
        }
}


void main()
{
while(e)
{
        SOSaudio();
}
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:148552 發(fā)表于 2017-4-9 13:39 | 只看該作者
void Int0Configuration(),你這個(gè)函數(shù)主函數(shù)里要調(diào)用啊,你開頭給出的警告提示不就是這個(gè)?
回復(fù)

使用道具 舉報(bào)

板凳
ID:151348 發(fā)表于 2017-4-9 14:24 | 只看該作者
對(duì),你的main里面沒有調(diào)用Int0Configuration
回復(fù)

使用道具 舉報(bào)

地板
ID:161933 發(fā)表于 2017-4-9 15:07 | 只看該作者
哦,對(duì)了,差點(diǎn)忘了。
回復(fù)

使用道具 舉報(bào)

5#
ID:187728 發(fā)表于 2017-4-9 15:28 | 只看該作者
主函數(shù)需調(diào)用void Int0Configuration(),希望有幫助
回復(fù)

使用道具 舉報(bào)

6#
ID:111634 發(fā)表于 2017-4-9 17:42 | 只看該作者
本帖最后由 zl2168 于 2017-4-9 17:52 編輯

給你個(gè)參考案例,里面有警報(bào)程序,你可在proteus仿真中聽聽警報(bào)聲,若滿意,則下一步。


Proteus仿真一下,確認(rèn)有效
電子密碼鎖1.rar (1.13 MB, 下載次數(shù): 8)

以上摘自張志良編著《80C51單片機(jī)實(shí)用教程——基于Keil C和Proteus》高等教育出版社ISBN 978-7-04-044532-9, 用于學(xué)習(xí)51單片機(jī)原理,程序(c和匯編)語(yǔ)句條條有注解,便于閱讀理解,便于自學(xué)。
80C51單片機(jī)仿真設(shè)計(jì)實(shí)例教程——基于Keil CProteus》清華大學(xué)出版社ISBN 978-7-302-41682-1,內(nèi)有常用的單片機(jī)應(yīng)用100案例,用于仿真實(shí)驗(yàn)操作,電路與程序真實(shí)可靠可信可行。
書中電路和程序設(shè)計(jì)有詳細(xì)說(shuō)明,程序語(yǔ)句條條有注解。









回復(fù)

使用道具 舉報(bào)

7#
ID:187614 發(fā)表于 2017-4-10 12:46 來(lái)自手機(jī) | 只看該作者
主程序中的e沒定義呀,必須是全局的
回復(fù)

使用道具 舉報(bào)

8#
ID:161933 發(fā)表于 2017-4-25 19:19 | 只看該作者
主函數(shù)需調(diào)用void Int0Configuration(),后, 功能 正常了。感謝大家。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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