国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Mixly開源項目設(shè)計27:移位寄存器(二)

2018-10-16 01:24隋杰峰
中國信息技術(shù)教育 2018年19期
關(guān)鍵詞:數(shù)組寄存器二進制

隋杰峰

上一期,我們介紹了通過74HC595移位寄存器只用UNO的3個管腳就可以控制8個LED的亮滅。本期,我們將進一步介紹74HC595的一些應(yīng)用,將分別做一個8位二進制計數(shù)器和一個流水燈項目。

在元件的使用和電路的連接上,依然沿用上一期的元件和電路。

需要的元件(如表1)

電路連接(如圖1)

程序設(shè)計

1.8位二進制計數(shù)器

上一期的文章介紹了在shiftOut模塊中輸入數(shù)值,控制8個LED亮滅的過程,實際上,就是將十進制的數(shù)值轉(zhuǎn)換為8位二進制,依次送入移位寄存器,明白了這個過程,就可以設(shè)計一個程序,來展現(xiàn)二進制進位了,程序如圖2所示。

我們來解釋一下這個程序:

首先聲明一個變量i為整數(shù),并賦值為0;

然后是一個for循環(huán)模塊,讓i依次(步長為1)取從0到255的值,即第一次取值0,第二次取值1,第三次取值2……第256次取值255;

接著就是我們熟悉的模塊,在上一期,我們用它來控制了8個LED的亮滅;

最后延時200毫秒,作用是讓每一次輸入數(shù)值后,LED亮滅的狀態(tài)保持200毫秒。

上傳程序后,我們就可以看到LED從全滅到全亮的過程,LED從右往左開始被點亮,它們每200毫秒變化一下,相當(dāng)于從二進制00000000每次加1,一直加到11111111,再重新開始,如此重復(fù)執(zhí)行。

2.流水燈

如果要設(shè)計一個流水燈,只需要將下面的二進制數(shù)一個個輸入即可,為了方便,我們可以將它們轉(zhuǎn)換成十進制或者十六進制放到數(shù)組里(如表2)。

以十進制為例,流水燈程序如圖3所示。

上面的程序采用了數(shù)組,依次取出數(shù)組mylist中的8個數(shù)值,轉(zhuǎn)換為二進制輸入移位寄存器,就實現(xiàn)了流水燈的效果。以十六進制為例,流水燈程序如圖4所示。

需要注意的是,以上兩個程序,在用數(shù)組時,數(shù)值(或字符)之間是英文狀態(tài)下的“,”,十六進制字符前面要加“0x”。

實際上,我們仔細(xì)觀察上面的8個二進制數(shù),會發(fā)現(xiàn)二進制數(shù)中1的位置是依次從最低位到最高位的,因此,我們也可以用移位的思路設(shè)計程序,程序如圖5所示。

當(dāng)然,我們也可以設(shè)計其他效果的流水燈程序,這里不再一一舉例。

結(jié)束語

74HC595是我非常喜歡的一個芯片,它能幫助我們增加數(shù)字輸出引腳的數(shù)量,因此,可以讓Arduino送出更多的數(shù)字信號,也可以當(dāng)作數(shù)字開關(guān)使用,控制更多的低電壓元件,如LED,甚至可以通過三極管或繼電器模塊控制一些高電壓元件。

猜你喜歡
數(shù)組寄存器二進制
JAVA稀疏矩陣算法
有用的二進制
JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
用Scratch把十進制轉(zhuǎn)為二進制
有趣的進度
飛思卡爾單片機脈寬調(diào)制模塊用法研究
移位寄存器及算術(shù)運算應(yīng)用
更高效用好 Excel的數(shù)組公式
數(shù)字電路環(huán)境下汽車控制電路信號設(shè)計
尋找勾股數(shù)組的歷程
田东县| 石林| 新昌县| 鞍山市| 道孚县| 天镇县| 泸州市| 新乐市| 睢宁县| 衡南县| 邵阳县| 河南省| 天全县| 夏河县| 城市| 阿瓦提县| 杂多县| 三台县| 鹤峰县| 庆安县| 朝阳区| 谢通门县| 景宁| 那坡县| 大田县| 布尔津县| 资溪县| 扎囊县| 海宁市| 共和县| 桐城市| 佛山市| 恭城| 孝昌县| 周至县| 裕民县| 鄂伦春自治旗| 天全县| 明溪县| 黑河市| 鄂托克前旗|