標(biāo)題: 如何用89C52單片機(jī)寫脈寬測(cè)量的程序?求思路 [打印本頁(yè)]

作者: small2    時(shí)間: 2021-12-17 22:21
標(biāo)題: 如何用89C52單片機(jī)寫脈寬測(cè)量的程序?求思路
有用89C52寫的脈寬測(cè)量的程序。一定要用普中51學(xué)習(xí)板或相通的。要兩路信號(hào)輸入
1. 被測(cè)信號(hào)從P3.2定為T0和P3.3定為T1入

1. 總體LCD1602顯示界面

a.    第一行高8位顯示T0脈寬,第二行低8位顯示T1脈寬,全用十進(jìn)制顯示
b.    第二行顯示用T1的數(shù)值除以2個(gè)T0的數(shù)值。(此處可能要調(diào)可能是3個(gè)或4個(gè))。N=T1/2T0
c.    如果商結(jié)果大于1999時(shí),顯示千位的 “OL”,(有兩個(gè)板本另外一個(gè)是大于9999時(shí))
也是最大顯示為1999,(或9999),在這要求做3次計(jì)數(shù)相加求平均值再顯示出來(lái),如是9999的要求做5次計(jì)數(shù)再平均顯示出來(lái)

作者: 0x0A    時(shí)間: 2021-12-17 22:56
這是學(xué)校的項(xiàng)目吧,思路在教材里
作者: 陳啟瀧    時(shí)間: 2021-12-18 08:40
自己多動(dòng)手,這個(gè)不難得。網(wǎng)上很多參考
作者: 3125311919    時(shí)間: 2021-12-18 18:10

例如這段程序就是檢測(cè)超聲波高電平脈沖的     檢測(cè)脈沖寬度   可以使用定時(shí)器精確計(jì)時(shí)    類似的
void main(void)
{

         TMOD=0x01;                   //設(shè)T0為方式1,GATE=1;
         TH0=0;
         TL0=0;         
         ET0=1;             //允許T0中斷
         EA=1;                           //開啟總中斷       

        LcdInit();
        LcdShowStr(0,0,PuZh);
        while(1)
        {
                 StartModule();
             while(!Echo);                //當(dāng)RX為零時(shí)等待
             TR0=1;                            //開啟計(jì)數(shù)
             while(Echo);                        //當(dāng)RX為1計(jì)數(shù)并等待
             TR0=0;                                //關(guān)閉計(jì)數(shù)
         Conut();                        //計(jì)算
                 delayms(80);
        }
                       
}


作者: small2    時(shí)間: 2021-12-18 21:25
3125311919 發(fā)表于 2021-12-18 18:10
例如這段程序就是檢測(cè)超聲波高電平脈沖的     檢測(cè)脈沖寬度   可以使用定時(shí)器精確計(jì)時(shí)    類似的
void m ...

有一點(diǎn)思路




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1