欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 第三章 硬件基礎(chǔ)知識(shí)學(xué)習(xí)3.4 3.5 3.6 [打印本頁(yè)]

作者: 卓然塵世間    時(shí)間: 2026-3-18 10:08
標(biāo)題: 第三章 硬件基礎(chǔ)知識(shí)學(xué)習(xí)3.4 3.5 3.6
3.4  74HC138三八譯碼器的應(yīng)用
在設(shè)計(jì)單片機(jī)電路的時(shí)候,單片機(jī)的I/O口數(shù)量是有限的,有時(shí)滿足不了產(chǎn)品需求,比如STC89C52一共有32個(gè)I/O口,但是為了控制更多的器件,就可以使用一些外圍的數(shù)字芯片,這類數(shù)字芯片由簡(jiǎn)單的輸入邏輯來控制輸出邏輯,比如74HC138這個(gè)三八譯碼器,圖3-1174HC138Kingst51開發(fā)板上的一個(gè)應(yīng)用。

         圖3-11  74HC138應(yīng)用原理圖
從名字來分析,三八譯碼器就是把3種輸入狀態(tài)翻譯成8種輸出狀態(tài)。從圖3-11能看出,74HC13816一共是6個(gè)輸入引腳,但是其中456這三個(gè)引腳是使能引腳。這三個(gè)引腳如果不符合芯片規(guī)定的輸入要求,不管輸入的123引腳是什么電平狀態(tài),715引腳總是輸出高電平。所以根據(jù)器件使用手冊(cè)說明,要想讓74HC138正常工作,ENLED接的4腳和5必須輸入低電平,ADDR3接的6必須輸入高電平,這兩個(gè)位置都是使能控制端口。不知道是否記得前邊點(diǎn)亮LED程序有這么兩條控制74HC138使能的語(yǔ)句:
ENLED = 0ADDR3 = 1
這類邏輯芯片,大多都是有使能引腳的,使能符合要求的前提下,就可以研究控制邏輯了。對(duì)于數(shù)字器件的引腳,如果一個(gè)引腳輸入的時(shí)候,有01兩種狀態(tài);對(duì)于兩個(gè)引腳輸入的時(shí)候,就會(huì)有00011011這四種狀態(tài)了,那么對(duì)于3個(gè)輸入的時(shí)候,就會(huì)出現(xiàn)8種狀態(tài)了,大家可以看下邊的這個(gè)真值表——圖3-12,其中輸入是A2A1A0的順序,輸出是從Y7Y6……Y0的順序。

         圖3-12  74HC138真值表
從圖3-12可以看出,任一輸入狀態(tài)下,只有一個(gè)輸出引腳是低電平,其他的引腳都是高電平。在前面的電路中已經(jīng)看到,8個(gè)LED小燈的總開關(guān)三極管Q16基極的控制端是LEDS6,也就是Y6輸出一個(gè)低電平的時(shí)候,可以開通三極管Q16,從右側(cè)的希望LEDS5輸出低電平這樣的結(jié)果,可以推導(dǎo)出左側(cè)輸入端A2A1A0的輸入狀態(tài)應(yīng)該是110,如圖3-13

        圖3-13  LED小燈整體電路圖
那么再整體捋一遍點(diǎn)亮LED小燈的過程,首先看74HC138,要讓LEDS6為低電平才能導(dǎo)通三極管Q16,所以
ENLED = 0;ADDR3 = 1;        保證74HC138使能。
ADDR2 = 1; ADDR1 = 1; ADDR0 = 0;     保證了三極管Q16這個(gè)開關(guān)開通,5V電源加到LED上。
通過P0口控制,讓P0.0引腳等于0,就是DB0等于0,那么這樣在這一排共8個(gè)LED小燈當(dāng)中,只有最右側(cè)的小燈和5V之間有壓差,有壓差就會(huì)有電流通過,LED2就會(huì)發(fā)光了。
從原理圖左上角P0口總線可以看出,74HC138ADDR0 ADDR1ADDR2 ADDR3ENLED接在P1.0P1.3引腳上,如圖3-14所示。

             圖3-14  單片機(jī)引腳圖
3.5  LED閃爍程序
點(diǎn)亮LED小燈的程序就是LED = 0。熄滅小燈的程序是LED = 1。點(diǎn)亮和熄滅都會(huì)了,那么如果在亮和滅中間加個(gè)延時(shí),反復(fù)不停的點(diǎn)亮和熄滅小燈,就成了閃爍了。
首先復(fù)習(xí)一下Keil寫程序的過程,建立工程-->保存工程-->建立文件-->添加文件到工程-->編寫程序-->編譯-->下載程序。
LED閃爍程序如下所示。
#include<reg52.h>
sbit LED = P0^0;
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
void main()  //void即函數(shù)類型
{
    //以下為聲明語(yǔ)句部分
    unsigned int i = 0;  //定義一個(gè)無(wú)符號(hào)整型變量i,并賦初值0
   
    //以下為執(zhí)行語(yǔ)句部分
    ENLED = 0;   //U3U4兩片74HC138總使能
    ADDR3 = 1;   //使能U3使之正常輸出
    ADDR2 = 1;   //經(jīng)U3Y6輸出開啟三極管Q16
    ADDR1 = 1;
    ADDR0 = 0;
    while (1)
    {
        LED = 0;                     //點(diǎn)亮小燈
        for (i=0; i<30000; i++);  //延時(shí)一段時(shí)間
        LED = 1;                     //熄滅小燈
        for (i=0; i<30000; i++);  //延時(shí)一段時(shí)間
    }
}
把這個(gè)程序編譯一下,下載到單片機(jī)里,就會(huì)發(fā)現(xiàn)LED2這個(gè)小燈會(huì)閃爍了。
3.6  練習(xí)題
1、深刻理解電容的意義,并且在今后的學(xué)習(xí)電路過程中要多多注意并且參考別人電路中所用到的去耦電路,積累經(jīng)驗(yàn)。
2、完全背過三極管的導(dǎo)通原理,并且可以熟練掌握NPNPNP這兩種三極管在開關(guān)特性下的應(yīng)用方法。
3、學(xué)習(xí)并且掌握74HC138的應(yīng)用原理,能夠在設(shè)計(jì)電路中正確應(yīng)用。
4、能夠獨(dú)立實(shí)現(xiàn)點(diǎn)亮開發(fā)板上的每一個(gè)小燈,并且可以實(shí)現(xiàn)小燈點(diǎn)亮和滅以及閃爍功能。






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