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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

想讓蜂鳴器只響5秒,怎樣改?

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:113369 發(fā)表于 2016-6-3 17:25 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

#include"reg52.h"
#define uint unsigned int
#define uchar unsigned char


sbit beep=P3^5;
bit flag;
uint x,y;

void init()                              //初始化,開定時(shí)器0
{
         TMOD=0x01;
         TCON=0x10;   
           TH0=(65536-x)/256;     
         TL0=(65536-y)%256;
         IE=0x82;
}

void main()
{
        init();
        while(1)
        {
                while(flag);
                flag=0;
                if(x<50000)
                {
                        y+=500;
                //        x+=50;
                }
                else x=y=100;
        }
}

void timer0() interrupt 1    //定時(shí)器中斷
{
        flag=0;
        beep=!beep;
        TH0=(65536-x)/256;
        TL0=(65536-y)%256;
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:123289 發(fā)表于 2016-6-3 19:31 | 只看該作者
本帖最后由 yzwzfyz 于 2016-6-3 19:33 編輯

1、做一個(gè)時(shí)間中斷并計(jì)時(shí)。
2、在時(shí)間中斷程序中做一個(gè)蜂鳴計(jì)時(shí)器K。
3、設(shè)置一個(gè)標(biāo)記BEEL,當(dāng)BEEL=1時(shí)就起動(dòng)蜂鳴器,=0時(shí)就關(guān)閉蜂鳴器。
4、當(dāng)BEEL=1時(shí)(由你在需要蜂鳴的時(shí)候置1),時(shí)間中斷程序進(jìn)行一次K+1,并判斷K是否>=5秒。是:則關(guān)閉蜂鳴器,并清BELL=0,K=0。不是:則不處理,即保持現(xiàn)狀。
5、主程序MAIN中不需要做什么,只(由你在需要蜂鳴的時(shí)候置1)。
回復(fù)

使用道具 舉報(bào)

板凳
ID:123289 發(fā)表于 2016-6-3 19:33 | 只看該作者
你的程序問題是:中斷程序中缺少一個(gè)計(jì)時(shí)器,對蜂鳴器進(jìn)行計(jì)時(shí)。
回復(fù)

使用道具 舉報(bào)

地板
ID:113369 發(fā)表于 2016-6-3 20:26 | 只看該作者
yzwzfyz 發(fā)表于 2016-6-3 19:31
1、做一個(gè)時(shí)間中斷并計(jì)時(shí)。
2、在時(shí)間中斷程序中做一個(gè)蜂鳴計(jì)時(shí)器K。
3、設(shè)置一個(gè)標(biāo)記BEEL,當(dāng)BEEL=1時(shí)就 ...

可以幫忙修改一下嗎?
回復(fù)

使用道具 舉報(bào)

5#
ID:123289 發(fā)表于 2016-6-3 21:09 | 只看該作者
說到這個(gè)份上了,你應(yīng)當(dāng)自己做了。
回復(fù)

使用道具 舉報(bào)

6#
ID:124970 發(fā)表于 2016-6-3 21:47 | 只看該作者
最簡單的方法,寫個(gè)delay_ms的函數(shù),放在while里,在增加個(gè)計(jì)數(shù)變量,計(jì)數(shù)5000次退出while,這樣比你直接在while計(jì)數(shù),定時(shí)準(zhǔn)確度要高一點(diǎn),就行了!
回復(fù)

使用道具 舉報(bào)

7#
ID:125016 發(fā)表于 2016-6-4 10:34 | 只看該作者
做一個(gè)delay延遲函數(shù)
5秒就是5000ms
void delay(uint x)
{
    uint i,j;
    for(i=x;i>0;i--)
        for(j=110;j>0;--);
}
定義蜂鳴器為fmq=
void fmq0()
{
    fmq=0;
    delay(5000);
    fmq=1;
}
回復(fù)

使用道具 舉報(bào)

8#
ID:125038 發(fā)表于 2016-6-4 11:04 | 只看該作者
本帖最后由 TIMEKILLER 于 2016-6-4 11:20 編輯

因?yàn)槎〞r(shí)器0的定時(shí)時(shí)間是不斷變化的,所以就簡單考慮,你需要再用一個(gè)定時(shí)器1,來對定時(shí)器0的中斷開關(guān)進(jìn)行控制。為了增強(qiáng)實(shí)時(shí)性,可以不用定時(shí)器1中斷,在定時(shí)器0中斷里對定時(shí)器1的TH1/TL1寄存器當(dāng)前值進(jìn)行判斷。int i ;
if(((TH1<<8+TL1)>=50000)&&i<10)
{
    i++;
    TH1=0;
    TL=0;
}
else
{  
    ET0=0;/*時(shí)間到,關(guān)掉定時(shí)器0中斷,蜂鳴器停止*/
    i=0;
    TH1=0;
    TL1=0;
}
回復(fù)

使用道具 舉報(bào)

9#
ID:125115 發(fā)表于 2016-6-4 19:03 | 只看該作者
延時(shí)5s
回復(fù)

使用道具 舉報(bào)

10#
ID:125128 發(fā)表于 2016-6-4 20:34 | 只看該作者
用計(jì)時(shí)器計(jì)數(shù)時(shí)間5s后條件循環(huán)停止
回復(fù)

使用道具 舉報(bào)

11#
ID:125162 發(fā)表于 2016-6-5 00:21 | 只看該作者
需要計(jì)時(shí)器
回復(fù)

使用道具 舉報(bào)

12#
ID:125168 發(fā)表于 2016-6-5 02:33 | 只看該作者
停timer0
回復(fù)

使用道具 舉報(bào)

13#
ID:110895 發(fā)表于 2016-6-5 10:20 | 只看該作者
做個(gè)定時(shí)5S的定時(shí)器,啟動(dòng)定時(shí)器時(shí),讓蜂鳴器響,定時(shí)到時(shí)讓蜂鳴器停,同時(shí)停定時(shí)器。
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品免费视频 | 国产一级特黄视频 | 成人福利在线视频 | 久久乐国产精品 | aaaaa毛片| 国产中文字幕亚洲 | 精品永久 | 成人黄色在线 | 久久国产亚洲 | 中文字幕丁香5月 | 成人影 | 精品国产欧美一区二区三区成人 | 国产精品久久久久久久久久免费看 | 成人精品福利 | www日本在线播放 | a在线观看| 国产精品免费视频一区 | 久久国产精品一区 | 国产精品日韩欧美一区二区三区 | 欧美国产日韩一区二区三区 | 国产欧美日韩一区 | 成人av影院 | 国产99久久久国产精品下药 | 日本涩涩视频 | 久久99精品久久久久久 | 91动漫在线观看 | 一级黄色片在线免费观看 | 91成人免费电影 | 国产成人精品a视频 | 777zyz色资源站在线观看 | 欧美日韩久久 | 日韩在线不卡 | 99久久久无码国产精品 | 91国产视频在线 | 国产精品亚洲一区二区三区在线观看 | 亚洲品质自拍视频 | 嫩草影院网址 | 成年网站在线观看 | 日韩精品久久久久 | 国产亚洲精品精品国产亚洲综合 | 欧美精品福利 |