亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Mixly開源項(xiàng)目設(shè)計(jì)26: 移位寄存器(一)——將LED點(diǎn)亮

        2018-09-28 07:24:30隋杰峰
        中國(guó)信息技術(shù)教育 2018年17期
        關(guān)鍵詞:凹口管腳二進(jìn)制

        隋杰峰

        流水燈項(xiàng)目是我們?cè)陂_源硬件學(xué)習(xí)項(xiàng)目中很常見的一個(gè)項(xiàng)目。實(shí)驗(yàn)中,我們常用一個(gè)管腳控制一個(gè)LED,這樣我們做一個(gè)8位流水燈,就需要占用8個(gè)管腳,而常用的Arduino UNO R3開發(fā)板只有20個(gè)管腳,如果要做一個(gè)30位流水燈,如果依然讓一個(gè)管腳控制一個(gè)LED,那么UNO上的管腳顯然是不夠的,這時(shí),我們應(yīng)該怎么辦呢?換成管腳更多的Mega2560嗎?同樣,如果我們要做64位流水燈,Mega2560的管腳也是不夠的,所以,我們換個(gè)角度來想,不如想辦法用少量的管腳控制多個(gè)LED,74HC595移位寄存器這個(gè)小小的芯片就能夠幫我們實(shí)現(xiàn)這種想法。

        74HC595是一塊8位串行輸入、并行輸出(也可以串行輸出)的芯片,我們使用它,只需要UNO的3個(gè)管腳即可控制8個(gè)獨(dú)立的LED(如圖1)。

        網(wǎng)絡(luò)上介紹74HC595的文章很多,但采用的全是代碼編程,讓很多不懂代碼的初學(xué)者望而生畏,實(shí)際上,在圖形化編程軟件Mixly中有一個(gè)模塊是與它相關(guān)的。因此,本文中將用Mixly輕松玩轉(zhuǎn)74HC595,力圖讓初學(xué)者也能秒懂。

        如圖2所示,74HC595共有16只腳,下面我們就來認(rèn)識(shí)一下它的各個(gè)引腳。

        在74HC595芯片上有個(gè)小凹口,只要與圖上引腳的小凹口對(duì)應(yīng),即可知道它的各個(gè)引腳。

        VCC和GND自不必說,分別接UNO的5V和GND即可;

        Q0~Q7是并行輸出,本文中我們接8個(gè)LED;

        DS、SHCP(下面簡(jiǎn)稱SH)、STCP(下面簡(jiǎn)稱ST)是輸入端;

        DS是串行數(shù)據(jù)輸入端(一般Arduino的代碼里會(huì)定義一下引腳,74HC595的案例中,dataPin指的是接這個(gè)腳);

        SH是串行時(shí)鐘輸入端(clockPin指的是接這個(gè)腳);

        ST是鎖存端(latchPin指的是接這個(gè)腳);

        OE是輸出使能引腳,低電平時(shí)輸出,高電平時(shí)不輸出,所以,直接接在GND上使其一直保持低電平輸出數(shù)據(jù);

        MR是用來重置內(nèi)部寄存器的引腳,低電平時(shí)重置內(nèi)部寄存器,所以,直接連接在VCC上一直保持高電平;

        Q7S是串行輸出(可以接下一個(gè)74HC595的DS,數(shù)據(jù)可作為串行輸入,這就是74HC595的級(jí)聯(lián),也就是說,此時(shí)3個(gè)輸入控制16個(gè)輸出),此引腳不用可以空置。

        需要的元件(如下頁(yè)表所示)

        電路連接

        電路連接如下頁(yè)圖3所示,8個(gè)LED的負(fù)極(短腳)分別通過一個(gè)220Ω電阻與GND連接;74HC595有小凹口的一面向左,VCC接5V,VCC與GND之間接一個(gè)104電容,GND接GND;DS接管腳2,ST接管腳3,SH接管腳4,OE接GND,MR接VCC,Q7S空置。

        程序設(shè)計(jì)

        應(yīng)用74HC595做流水燈,在Arduino IDE中我們會(huì)用到shiftOut這個(gè)函數(shù),在Mixly中也有對(duì)應(yīng)的模塊,如圖4所示。

        首先,我們通過一個(gè)程序來了解一下74HC595串行輸入、并行輸出的過程。將圖5程序上傳,我們會(huì)發(fā)現(xiàn)Q7腳接的燈是亮的,如圖6所示。

        下面,我們來解釋一下這個(gè)過程:

        首先,管腳3給了鎖存端(ST)一個(gè)低電平,意思是說“嗨,74HC595,開始干活了”,然后,管腳2給了數(shù)據(jù)(DS)一個(gè)十進(jìn)制數(shù)1,關(guān)鍵是74HC595不認(rèn)識(shí)它,所以,就需要轉(zhuǎn)換成8位的二進(jìn)制數(shù)00000001,不足8位的,前面加0補(bǔ)足8位,為啥是8位的?因?yàn)椋?4HC595是8位移位寄存器,有8個(gè)輸出(如圖7)。

        這時(shí)候,時(shí)鐘(SH)開始干活了,管腳4每制造一次上升沿(先拉低電平再拉高電平),這一串?dāng)?shù)就進(jìn)去一個(gè),8次之后,都進(jìn)去了,每個(gè)數(shù)就都有自己的一個(gè)位置了,即每個(gè)動(dòng)作只操作一位數(shù)據(jù),這就叫串行輸入(如圖8)。

        至于誰先進(jìn)去,進(jìn)去之后,每一個(gè)數(shù)字都在哪個(gè)位置,這得看是低位先入還是高位先入,什么意思呢?我們先要弄明白低位和高位,以二進(jìn)制數(shù)00000001為例,左邊0這一端是高位,右邊1這一端是低位,所以,低位先入的意思就是從最右邊的1(低位)開始依次進(jìn)入,直到最左邊的0(高位)進(jìn)去;高位先入的則剛好相反,從最左邊的0(高位)開始依次進(jìn)入,直到最右邊的1(低位)進(jìn)去。

        下面我們以低位先入為例,用上大巴車做個(gè)比方:在二進(jìn)制數(shù)00000001中,低位先入,給SH腳制造一次上升沿(我們可以理解為檢票),那第一個(gè)上大巴車的肯定是最右邊的1,它上去了之后,就占據(jù)了第一排的位置(如圖9)。

        繼續(xù)給SH腳制造一次上升沿之后,1左邊的0,開始上車,然后,它并不是走向第二排座位,而是讓1往后挪一個(gè),它坐第一排(如圖10)。

        繼續(xù)給SH腳制造一次上升沿,已經(jīng)上車的1和0繼續(xù)往后挪,新上車的0占據(jù)第一排座位(如圖11)。

        如此繼續(xù)給SH腳制造上升沿,高位的0,繼續(xù)上車,車上的數(shù)繼續(xù)往后排順延,直到發(fā)生第8次上升沿,所有的數(shù)字都上車了(如圖12)。

        然后,管腳3給了鎖存端(ST)一個(gè)高電平,讓每個(gè)數(shù)都記住自己的位置,在自己的位置坐著(絕對(duì)不允許換座位)(如圖13)。

        最后,每個(gè)數(shù)掌管一個(gè)輸出,即每個(gè)動(dòng)作操作多位(這里是8位)數(shù)據(jù),這就是并行輸出。這樣,Q0~Q6腳都得到了一個(gè)0(低電平),Q7腳得到一個(gè)1(高電平),所以,Q0~Q6腳接的燈都是滅的,Q7腳接的燈是亮的。

        同樣的道理,將數(shù)據(jù)輸入改為3,程序如圖14所示。這時(shí)候,我們把十進(jìn)制數(shù)2變?yōu)?位二進(jìn)制就是00000011,采用低位先入,按照我們上面的推算方法,應(yīng)該是Q6、Q7高電平,其余低電平,Q6腳和Q7腳接的LED亮,實(shí)驗(yàn)結(jié)果也是如此(如圖15)。

        下面,我們?cè)倏锤呶幌热?,輸入?shù)據(jù)1,將程序繼續(xù)改動(dòng)(如圖16),我們會(huì)發(fā)現(xiàn),結(jié)果正好與程序1低位先入相反。這是因?yàn)椋瑢⑹M(jìn)制1轉(zhuǎn)換為8位二進(jìn)制為00000001,高位先入,即從左邊的0依次進(jìn)入移位寄存器。最終,Q0對(duì)應(yīng)的是1,高電平,其他腳對(duì)應(yīng)的是0,低電平,所以,Q0接的LED亮,其他腳接的LED滅(如圖17)。

        同樣,我們也可以繼續(xù)改變輸入的數(shù)值,設(shè)置低位先入或高位先入,控制這8個(gè)LED的亮滅,不過,我們輸入的數(shù)值盡量不要超過255。當(dāng)我們輸入255,上傳程序后,燈是全部都亮的,我們把十進(jìn)制的255轉(zhuǎn)換為二進(jìn)制為11111111,這已經(jīng)是8位二進(jìn)制最大的數(shù)了,所以,0到255這總共256個(gè)數(shù)值就已經(jīng)能全部體現(xiàn)出8個(gè)LED亮滅的所有情形。

        猜你喜歡
        凹口管腳二進(jìn)制
        凹口螺栓斷裂影響分析
        用二進(jìn)制解一道高中數(shù)學(xué)聯(lián)賽數(shù)論題
        有趣的進(jìn)度
        二進(jìn)制在競(jìng)賽題中的應(yīng)用
        看誰玩死誰
        喜劇世界(2017年5期)2017-12-06 04:28:41
        水晶桃
        讓狗聞錢
        喜劇世界(2016年3期)2016-11-26 13:13:01
        基于圖像處理的異型電子元器件管腳偏移誤差檢測(cè)方法研究
        CMOS數(shù)字IC管腳電容的估算與測(cè)量
        HC08芯片JVT測(cè)試方法的探究
        亚洲日产乱码在线中文字幕| 2021久久精品国产99国产| 日韩成人无码v清免费| 波多野结衣一区二区三区免费视频| 亚洲黄片高清在线观看| 最新国产成人自拍视频| 久久精品国产黄片一区| 最新中文字幕日韩精品| 亚洲精品一区二区视频| 亚洲av资源网站手机在线 | 欧洲freexxxx性少妇播放| 国产精品毛片无码| 男人扒开女人双腿猛进女人机机里 | 白色橄榄树在线免费观看| 最新国产精品精品视频| 国产偷国产偷亚洲高清| 日本刺激视频一区二区| 日本精品一区二区三区二人码| 一本丁香综合久久久久不卡网站| 曰欧一片内射vα在线影院| 水蜜桃无码视频在线观看| 亚洲精品国产综合一线久久| 国产在线拍偷自拍偷精品| 日本高清中文字幕二区在线| 精品国产亚洲av高清日韩专区| 午夜被窝精品国产亚洲av香蕉| 亚洲精品欧美精品日韩精品| 51国产黑色丝袜高跟鞋| 内射精品无码中文字幕| www插插插无码视频网站| 国产成人aa在线观看视频| 午夜一区二区三区在线观看| 久久精品女同亚洲女同| 99久久精品免费观看国产| 欧洲成人午夜精品无码区久久 | 国产精品久久久久一区二区三区 | 日韩av在线毛片| 亚洲av粉色一区二区三区| 精品福利一区二区三区| 大地资源网在线观看免费官网| 妺妺窝人体色www聚色窝 |