999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2018-09-28 07:24:30隋杰峰
中國信息技術(shù)教育 2018年17期

隋杰峰

流水燈項(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(下面簡稱SH)、STCP(下面簡稱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è)輸出),此引腳不用可以空置。

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

電路連接

電路連接如下頁圖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亮滅的所有情形。

主站蜘蛛池模板: 55夜色66夜色国产精品视频| 无码专区第一页| 精品伊人久久大香线蕉网站| 一级毛片在线播放免费| 凹凸精品免费精品视频| 中文字幕日韩欧美| 一区二区三区四区日韩| 无码一区二区波多野结衣播放搜索| 666精品国产精品亚洲| 国内精品久久久久久久久久影视 | 国产精品毛片一区视频播| 久久青草免费91线频观看不卡| 国产97色在线| 亚洲AV无码久久精品色欲| 色综合久久久久8天国| 国产真实乱子伦精品视手机观看| 伊人久久大香线蕉影院| 国产免费人成视频网| 在线精品亚洲一区二区古装| 日本尹人综合香蕉在线观看| 日韩在线永久免费播放| 99久久国产综合精品2020| 97视频精品全国在线观看| 亚洲色无码专线精品观看| 国产视频大全| 国产综合欧美| 高清不卡一区二区三区香蕉| 亚洲成人网在线播放| 精品久久久久久成人AV| 中文字幕永久在线看| 亚洲动漫h| 欧美激情视频一区二区三区免费| 亚洲区一区| 欧美成人亚洲综合精品欧美激情 | 九色在线观看视频| 亚洲国产清纯| 亚洲AV成人一区国产精品| 2020国产精品视频| 欧美第二区| 亚洲啪啪网| 丰满人妻久久中文字幕| 人禽伦免费交视频网页播放| 久久综合色天堂av| 亚洲永久色| 欧美在线天堂| 中文字幕色站| 成年女人18毛片毛片免费| 国产精品久久自在自线观看| 熟妇无码人妻| 亚洲一级毛片免费观看| 国产成人福利在线| 国产在线观看精品| av无码一区二区三区在线| 国产精品第5页| 日本尹人综合香蕉在线观看| 亚洲第一黄色网址| 国产精品嫩草影院av| 免费无码网站| 亚洲天堂精品视频| 欧美国产精品不卡在线观看 | 一本色道久久88| 成人国产一区二区三区| 久久久精品国产亚洲AV日韩| 91色爱欧美精品www| 97成人在线视频| 亚洲熟女偷拍| 国产精品极品美女自在线网站| 99精品视频播放| 午夜免费小视频| 国产黄在线免费观看| 国产无遮挡猛进猛出免费软件| 免费一级毛片完整版在线看| 国产成人一区| 99精品福利视频| 欧美在线三级| 国产91成人| 亚洲精品成人7777在线观看| 欧美在线三级| 夜夜爽免费视频| 99久久精品免费观看国产| 国产自无码视频在线观看| 久久久久无码精品国产免费|