音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

S51指定時(shí)間內(nèi)判斷計(jì)數(shù)量量的問(wèn)題

作者:liuyeah 欄目:單片機(jī)
S51指定時(shí)間內(nèi)判斷計(jì)數(shù)量量的問(wèn)題
最近在做一個(gè)實(shí)驗(yàn),思路是這樣的:

    我們要判斷在規(guī)定時(shí)間內(nèi)的脈沖數(shù)量。用51單片機(jī)的T0和T1分別作為計(jì)數(shù)器和定時(shí)器,設(shè)定T1循環(huán)每一秒鐘中斷一次,這時(shí)候檢查經(jīng)過(guò)T1口的脈沖數(shù)量,在不同的次數(shù)段內(nèi)執(zhí)行不同的動(dòng)作。比如在1s鐘內(nèi)判斷脈沖是否達(dá)到100~500次,若是,則某個(gè)執(zhí)行動(dòng)作。
    實(shí)驗(yàn)中判斷后的動(dòng)作是拿led簡(jiǎn)單的代替的,而脈沖是用功率函數(shù)發(fā)生器的方波假設(shè)的。
    但是在實(shí)驗(yàn)中信號(hào)發(fā)生器不論調(diào)在那個(gè)頻率上都無(wú)法激發(fā)動(dòng)作。
    請(qǐng)問(wèn),這種方法,尤其用功率發(fā)生器這種模擬是否可行?

2樓: >>參與討論
liuyeah
有解決辦法請(qǐng)加我qq
175978321

3樓: >>參與討論
zhaoyu2005
方法是可行的
不能按你的意愿執(zhí)行是你的程序有問(wèn)題或者你的觸發(fā)信號(hào)有問(wèn)題,你應(yīng)該確認(rèn)(檢查)T1是否能正常計(jì)數(shù),然后再確認(rèn)觸發(fā)信號(hào)是否達(dá)到觸發(fā)條件(電平),本人孤陋寡聞,不知道什么是功率函數(shù)發(fā)生器,建議你用普通的信號(hào)發(fā)生器試一下

4樓: >>參與討論
liuyeah
程序已經(jīng)運(yùn)行,但是還有誤差
程序目前已經(jīng)可以運(yùn)行,可以實(shí)時(shí)根據(jù)輸入脈沖頻率的不同改變動(dòng)作
但是試過(guò)不同頻率信號(hào),根據(jù)調(diào)改if語(yǔ)句中num的范圍值發(fā)現(xiàn)動(dòng)作誤差總在50左右(程序中有具體說(shuō)明)
程序如下
void main(void)
{
    int num;        //計(jì)數(shù)器TC0脈沖數(shù)
    int count;        //定時(shí)器TC1溢出次數(shù)
    P2=0x08;
    TMOD=0x15;        //設(shè)置TC0,TC1工作方式
    TR0=1;
    TR1=1;
    for(;;)
    {
        num=0;
       count=0;
       for(;;)
       {
            TH1=(65536-18432)/256;
            TL1=(65536-18432)%256;    //定時(shí)器TC1溢出時(shí)間,20ms(晶振頻率為11.0592M)
            while(!TF1)
        {
         TH0=0xff;
             TL0=0xff;
         do{} while(!TF0);
         num++;        //每次T0腳有脈沖到,num自加
         TF0=0;
        }
        count++;        //定時(shí)器TC1溢出次數(shù)自加    
        TF1=0;
        if(count>=50)
        break;        //若TC1溢出次數(shù)達(dá)50(表示定時(shí)器完成1s的計(jì)時(shí)),跳出
        }
if(num>=100&&num<=300)
    P2=0x01;
if(num>300&&num<=500)
    P2=0x08;
if(num>500&&num<=1000)
    P2=0x81;
if(num>1000)
    P2=0x89;        //判斷脈沖數(shù)量,作出不同動(dòng)作(這里用led燈代替動(dòng)作發(fā)生)
     }
}

我們以 if(num>500&&num<=1000)P2=0x81;if(num>1000)P2=0x89;這兩個(gè)語(yǔ)句來(lái)判斷誤差次數(shù),發(fā)現(xiàn)改變信號(hào)頻率到1kHz會(huì)有誤動(dòng)作,執(zhí)行的效果為P2=0x89;。如若將兩句改為if(num>500&&num<=1050)P2=0x81;if(num>1050)P2=0x89;,則輸入信號(hào)頻率為1k時(shí),動(dòng)作才能按照預(yù)想的發(fā)生

5樓: >>參與討論
liuyeah
解決了,呵呵
程序中的小問(wèn)題,:)
問(wèn)題出在這兒
if(count>=50)
        break;
要改為
if(count>=50)break;
else num--;
因?yàn)槿缛魶](méi)有num自減,每次循環(huán)是要多加50的

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
除法程序的思路
急求ORCAD 9.2
請(qǐng)問(wèn)誰(shuí)用過(guò)max6317huk46cz?是喂狗周期是25.6s的
關(guān)于c51與匯編的 混合編程問(wèn)題
各位兄弟,知道有什么國(guó)產(chǎn)4*4得鍵盤賣,類似 Grayhill。
免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)