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

        ?

        Mixly開源項目設(shè)計28:秒懂74HC595移位寄存器(三)

        2018-11-23 06:32:04隋杰峰
        中國信息技術(shù)教育 2018年21期
        關(guān)鍵詞:元組管腳二進制

        隋杰峰

        在秒懂74HC595移位寄存器(一)的最后,我們提到,我們輸入的數(shù)值盡量不要超過255,0到255這總共256個數(shù)值就已經(jīng)能全部體現(xiàn)出8個LED燈亮滅的所有情形。

        如果我們一定要輸入一個大于255的數(shù)值可不可以呢?接下來,我們就實驗一下。

        需要的元件(如下表)

        輸入一個大于255的數(shù)值會發(fā)生什么

        電路連接(沿用上兩期的電路圖)如圖1所示。

        檢查電路連接沒有錯誤后,我們開始編寫程序,回到上面的問題——我們輸入一個大于255的數(shù)值會發(fā)生什么,如我們輸入259,程序如圖2所示。上傳程序后,結(jié)果如圖3所示。

        從運行結(jié)果可以看出,輸入數(shù)值259,程序的運行結(jié)果和輸入數(shù)值3是一樣的,我們將259轉(zhuǎn)換為二進制數(shù)為100000011,這是個9位的二進制數(shù),已經(jīng)超出了8位,實際上,這時候只有右面的8位,即00000011,能進入移位寄存器,所以Q6和Q7兩個腳連的LED是亮的。

        同樣,程序改為高位先入,也是右面的8位(00000011),能進入移位寄存器,這時是左邊高位的0開始進入,所以最終Q0和Q1連的LED(左邊的2個LED)是亮的,也就是說,最高位的1始終進不了移位寄存器,所以無論我們輸入的數(shù)值有多大(也不要無限大),將它轉(zhuǎn)換為二進制,進入移位寄存器的始終是從最低位開始的8位(最右邊的8位)。為什么會這樣呢?這是因為shiftOut()函數(shù)(在Mixly就是我們用的這個shiftOut模塊)一次只能送一個位元組(概念請參考下面的注釋),所以程序4,我們只用了一個shiftOut模塊,因此也只能向移位寄存器里送一個位元組,從結(jié)果來看,送往移位寄存器的位元組只能是從二進制最低位開始的8位。

        注:位元組一般指字節(jié),字節(jié)(Byte)是計算機信息技術(shù)用于計量存儲容量的一種計量單位,通常情況下一字節(jié)等于有8位。(這是來自百度百科的解釋)

        位元組是計算機的一個記憶單元。位元是電腦最小的記憶單元,一個位元只能儲存0或1的資料,將8個位元組合起來稱為位元組。(這是來自互動百科的解釋)

        如果我們一定要讓二進制100000011最高位的這個1進入移位寄存器,需要怎么辦呢?

        這就需要將它加0補足16位,即0000000100000011,然后,把它拆分成2個位元組即00000001(高位元組)和00000011(低位元組),第一次shiftOut,讓00000011進入移位寄存器,然后再一次shiftOut,讓00000001進入移位寄存器,之前進入移位寄存器的數(shù)據(jù)00000011,就會丟失(不是一個一個丟失,是整個8位一起丟失,這很關(guān)鍵),這樣我們就會發(fā)現(xiàn),只有一個LED亮了(如果是低位先入,Q7連的LED會亮,如圖4所示)。當然,如果再級聯(lián)一片74HC595,之前的數(shù)據(jù)會通過Q7S進入級聯(lián)的這片74HC595,這就是74HC595串行輸出的功能。

        兩片74HC595級聯(lián)

        通過上面的案例,我們知道74HC595有串行輸出的功能,也就是串行輸出引腳Q7S接下一片74HC595的DS,將兩片74HC595的SH和ST連在一起,即兩者共用一個串行時鐘輸入和鎖存,這就是74HC595的級聯(lián),通過兩片74HC595的級聯(lián),我們可以只用UNO的3個管腳即可控制16個LED的亮滅,下面我們就通過一個實驗來了解一下兩片74HC595級聯(lián)。電路連接如圖5所示。

        電路連接沒有問題,我們就來設(shè)計一下輸入259的程序,在上面的分析中,我們知道259轉(zhuǎn)換為二進制100000011,這是個9位的二進制數(shù),而每次shiftOut只能將低位的8位二進制送入移位寄存器(這里是00000011),所以,需要將它補足16位,即0000000100000011,然后,把它拆分成2個位元組即00000001(高位元組)和00000011(低位元組),分兩次shiftOut,將它們送入移位寄存器,第一次shiftOut送入的是00000011(低位元組),由于我們采用了級聯(lián),第二次shiftOut后,00000011(低位元組)會從第一片74HC595的Q7S串行輸出后進入第二片74HC595,00000001(高位元組)則被送入第一片74HC595。

        但我們在Mixly中沒有找到把一個數(shù)字拆分成2個位元組的模塊,在這里,我們采用了移位的辦法(上期最后一個流水燈程序采用的就是移位)。由于shiftOut只能將低位的8位二進制送入移位寄存器,所以低位元組可以直接進入移位寄存器,不存在問題。關(guān)鍵在于高位元組,我們可以讓輸入的數(shù)值向右移(低位方向,符號>>)8位,低位元組的數(shù)據(jù)將會移出而永遠丟失,高位元組右移后將成為新的低位元組,新的高位元組將補0。我們還是以259為例,0000000100000011右移8位后,00000011直接丟失,00000001成為低位元組,左邊缺少的高位元組通過0補充,即右移的結(jié)果為0000000000000001。由此,我們可以設(shè)計如圖6所示的程序。上傳程序后,結(jié)果如圖7所示,與理論上的結(jié)果一致。

        設(shè)計16位二進制計數(shù)器

        電路連接與上面相同,程序設(shè)計如圖8所示。這個程序需要注意的是,16位二進制最大的數(shù)位1111111111111111,即十進制的65535,因此,變量i的取值范圍為0-65535。

        設(shè)計16位流水燈

        如同上期的8位流水燈程序,用數(shù)組的16位流水燈程序比較容易設(shè)計,這里就不再提供,感興趣的小伙伴可以自行設(shè)計。下面,我們依然采用移位的方式設(shè)計程序,如圖9所示。同樣,通過改變需要移位的數(shù)值(上面移位的是1),也可以設(shè)計出更多的流水燈效果。

        在本期的內(nèi)容中,我們僅用了UNO的3個管腳就控制了16個LED,通過74HC595或者多片74HC595級聯(lián),僅需要少量管腳就可控制更多輸出,可以大大節(jié)省UNO的管腳使用數(shù)量,這對于設(shè)計更多功能的作品,非常有利。

        實際上,74HC595的用途非常廣泛,如通過它驅(qū)動7段數(shù)碼管、4位數(shù)碼管、8×8點陣LED燈,也可以通過它控制更多的LED,制作出效果更炫的流水燈,也可以制作光立方等,至于它的更多的用途,還需要感興趣的小伙伴們自己去開發(fā)。

        猜你喜歡
        元組管腳二進制
        用二進制解一道高中數(shù)學聯(lián)賽數(shù)論題
        Python核心語法
        電腦報(2021年14期)2021-06-28 10:46:22
        有趣的進度
        二進制在競賽題中的應用
        海量數(shù)據(jù)上有效的top-kSkyline查詢算法*
        基于減少檢索的負表約束優(yōu)化算法
        基于圖像處理的異型電子元器件管腳偏移誤差檢測方法研究
        CMOS數(shù)字IC管腳電容的估算與測量
        HC08芯片JVT測試方法的探究
        電子測試(2013年22期)2013-09-26 06:03:52
        面向數(shù)據(jù)流處理的元組跟蹤方法
        電信科學(2013年10期)2013-08-10 03:41:54
        亚洲av无码乱码国产精品久久| 亚洲精品成人片在线观看精品字幕| 影视av久久久噜噜噜噜噜三级| 4hu四虎永久在线观看| 国产av无码专区亚洲av毛网站| 亚洲欧美激情精品一区二区| 八区精品色欲人妻综合网| 国产精品麻花传媒二三区别| 国产精品青草视频免费播放| 中国一级免费毛片| 在线视频青青草猎艳自拍69| 亚洲一区二区女优av| 最大色网男人的av天堂| 日本女优五十路中文字幕| 久久国产精品国语对白| 日本人妻97中文字幕| 国产三区二区一区久久| 免费a级毛片18禁网站| 国产综合无码一区二区辣椒| 国产老熟女狂叫对白| 人人爽人人爽人人爽| 日韩成人精品在线| 91精品国产色综合久久不| 亚洲乱码中文字幕一线区| 老师开裆丝袜喷水视频| 国产日韩精品中文字幕| 中文字幕日韩有码在线| 亚洲综合网站久久久| 纯爱无遮挡h肉动漫在线播放| 免费成人毛片| 亚洲一区二区三区美女av| 亚洲熟女一区二区三区250p| 丰满少妇人妻久久久久久| 明星性猛交ⅹxxx乱大交| 亚洲区小说区图片区qvod伊| 91情侣视频| 蜜桃成人精品一区二区三区| 麻豆视频av在线观看| 97色伦图片97综合影院| 亚洲欧美一区二区三区在线| 麻豆一区二区99久久久久|