本文將展示單個(gè)微控制器端口如何通過移位寄存器控制多個(gè)輸出線路。在本實(shí)例中,我們使用的是帶選通脈沖控制的移位寄存器,以期達(dá)到完美控制輸出線路的效果。
移位寄存器輸出可驅(qū)動LED和繼電器等器件。換言之,它們可用作(附加的)通用輸出。
如今,移位寄存器可分為僅有數(shù)據(jù)(DATA)和時(shí)鐘(CLOCK)輸入的移位寄存器(如74HC164)以及帶數(shù)據(jù)、時(shí)鐘以及選通脈沖(STROBE)控制輸入的移位寄存器(如74HC4094或74HC595)。由于不帶選通脈沖控制的移位寄存器直連輸出線路,因此在移位時(shí),輸出線路上會出現(xiàn)短期瞬變。為此,此類移位寄存器可用作驅(qū)動不受短期瞬變影響的LED及類似器件——人眼是察覺不到短于10毫秒的LED閃爍的。帶有選通脈沖控制的移位寄存器包括兩個(gè)寄存器。
圖1:帶選通脈沖輸入的移位寄存器邏輯圖(74HC4094)。
8-stage shift register:8級移位寄存器
8-bit storage register:8位存儲寄存器
3-stage outputs:3級輸出
一個(gè)是移位寄存器,另一個(gè)是存儲寄存器。當(dāng)有新數(shù)據(jù)加載至移位寄存器時(shí),存儲寄存器會將其中保存的數(shù)據(jù)凍結(jié)。當(dāng)所有新數(shù)據(jù)移入后,選通脈沖會立即將所有數(shù)據(jù)位移至存儲寄存器。這樣,輸出線路就不會發(fā)生瞬變。這一新特性使該類移位寄存器可以用于驅(qū)動瞬變敏感器件,如雙向晶閘管(TRIAC)和高亮LED等。
目前有多個(gè)僅用少量I/O線路即可驅(qū)動移位寄存器的解決方案。本設(shè)計(jì)實(shí)例中引用的一些方案描述的是不帶選通脈沖控制的移位寄存器的驅(qū)動方法。1, 2
圖2至圖4展示了如何通過單條I/O線路驅(qū)動帶選通脈沖控制的移位寄存器。圖2展示了通過數(shù)據(jù)、時(shí)鐘和選通脈沖三條線路控制的移位寄存器。3
圖2:通過數(shù)據(jù)、時(shí)鐘和選通脈沖三條線路控制的移位寄存器。
DATA:數(shù)據(jù)
CLOCK:時(shí)鐘
STROBE:選通脈沖
如果將選通脈沖控制輸入連接至5V電壓(邏輯1),就可以得到實(shí)際意義上的不帶選通脈沖控制的移位寄存器。這種情況下,我們可采用參考文獻(xiàn)1中的解決方案,使用單條I/O線路驅(qū)動數(shù)據(jù)和時(shí)鐘輸入(見圖3)。
圖3:一個(gè)微控制器端口控制移位寄存器的數(shù)據(jù)和時(shí)鐘輸入。處于未激活狀態(tài)的選通脈沖輸入連接至5V電壓(邏輯1)。
但是,當(dāng)想要使用選通脈沖信號獲得無瞬變輸出信號時(shí),我們需要使用到CLOCK和STROBE端口。此外,我們也可以如參考文獻(xiàn)4所示,增加一個(gè)單穩(wěn)多諧振蕩器電路來進(jìn)一步改善輸出效果。
最后,我們提出的是一種最簡單的方案:通過RCD網(wǎng)絡(luò)控制選通脈沖輸入(見圖4)。
圖4:使用RCD網(wǎng)絡(luò),通過一條I/O線路控制移位寄存器(帶選通脈沖輸入)。
RCD網(wǎng)絡(luò)由分立電阻器Rn(220KΩ)、電容器Cn(47p)和二極管Dn組成。該網(wǎng)絡(luò)能夠使選通脈沖信號迅速降為0,但在10.34微秒內(nèi)(時(shí)間常量Rn×Cn之積)緩慢升至1。