在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于51單片機(jī)控制的數(shù)字氣壓計(jì)設(shè)計(jì)與實(shí)現(xiàn)

            基于51單片機(jī)控制的數(shù)字氣壓計(jì)設(shè)計(jì)與實(shí)現(xiàn)

            作者: 時間:2011-12-28 來源:網(wǎng)絡(luò) 收藏

            圖3

            3.3

            實(shí)現(xiàn)方案需使用的P1口和P3口的一部分以及一個中斷源、一個定時器和一個計(jì)數(shù)器。因此,筆者選用了ATMEL的AT89C2051,該器件與89C51兼容,具有2kB的可重復(fù)編程閃存,2.7V~6V的工作電壓范圍,128Byte的內(nèi)部RAM以及兩個I/O口(P1,P3)、2個16位的計(jì)數(shù)器/定時器和6個中斷源,并可直接驅(qū)動LED輸出,同時帶有可編程的串行通訊口。另外,該單片機(jī)還具有體積小,價(jià)格低等特點(diǎn)。

            3.4 LED顯示

            單個LED是由7段發(fā)光二極管構(gòu)成的顯示單元。有10個引腳,對應(yīng)于7個段、一個小數(shù)點(diǎn)和兩個公共端。在顯示電路中,這些發(fā)光二極管有兩種接法:共陽極接法和共陰極接法。本設(shè)計(jì)中需要用4個LED組成顯示單元,并采用動態(tài)顯示方式。基于51單片機(jī)控制的數(shù)字氣壓計(jì)設(shè)計(jì)與實(shí)現(xiàn)由于使用4個單個LED進(jìn)行顯示的連線比較復(fù)雜,同時單片機(jī)的端口驅(qū)動能力也難以保證,而需要加入專門的驅(qū)動芯片。所以,筆者采用了4個LED連體的、內(nèi)部已將其相應(yīng)段接好的共陽極LED,它具有12個引腳,含7個段和4個公共端,為提高數(shù)碼管的亮度,可在位選線上加入一個三極管驅(qū)動電路。

            由AT89C2051控制的顯示電路如圖3所示。該顯示電路需要選取合適的電阻R和Ra,才能保證LED的亮度,過大或者過小都無法讓LED正常顯示。設(shè)計(jì)時?。覟椋矗罚毽?Ra為510Ω比較理想。若考慮印制板布線的方便,可以采用貼片電阻和排阻來節(jié)省空間。另外,也可以用74LS244和74LS06構(gòu)成驅(qū)動顯示電路,但這樣同樣要加限流電阻。因?yàn)椋罚矗蹋樱埃妒情_漏器件,需要在輸出處加上拉電阻。

            4 軟件實(shí)現(xiàn)

            通過以上設(shè)計(jì),便可通過fo來計(jì)算P的大小以得到實(shí)時的氣壓值。硬件電路設(shè)計(jì)完成之后,可使用AEDK5196PH仿真器的仿真環(huán)境進(jìn)行仿真,并可用C51語言來編寫處理程序。其基本程序流程如圖4所示。

            程序設(shè)定:T0為定時器,基本的定時時基為50ms。T1為計(jì)數(shù)器,運(yùn)用內(nèi)部中斷0可保證T0定時滿500 ms后就讀取此時計(jì)數(shù)器的值,以計(jì)算氣壓值。如使T1、T0均工作于方式1,并在P1口送字型碼,同時可用P3.0~P3.3做位選線,那么,其相應(yīng)的函數(shù)如下:

            (1)定時器T0中斷函數(shù):

            void timer0(void) interrupt 1 using 1

            {uint x, y;

            uint count_ pluse;

            ET0=0; //關(guān)閉T/C0中斷

            Tcount++; //中斷次數(shù)

            if?Tcount == 10){

            TR1=0; //停止計(jì)數(shù)器計(jì)數(shù)

            Tcount=0;

            x=TH1;

            y=TL1;

            count_pulse=(x*256+y)*2;

            ph=(uint)(10 * ((float)(count pulse+1520)/105.9? ?? //計(jì)算氣壓值

            TH1 = 0x00;  //重設(shè)計(jì)數(shù)初值

            TL1=0x00;

            }

            TH0 = -50000/256; //重設(shè)50ms初值

            TL0 = -50000%256;

            if(TL0!= 0) TH0--;

            ET0=1;

            TR1=1;

            return;

            }

            脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理


            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉