Netduino提供串列週邊介面功能(SPI),可原先並列資料傳輸,轉換成用串列資料傳輸方式,這可以節省 Netduino 使用的接腳數,
當控制器的接腳不夠用時,就可以使用SPI功能,將資料傳輸到移位暫存器(例如74HC595),達到擴充腳位的效果
下圖是移位暫存器 74HC595 的工作範例圖,
由圖可看出來自於微控器的序並資料(10010111)由SER接腳進入74HC595,資料會拆散依序放在QA~QH,變成並列資料輸出,
以下是實驗電路圖,
程式如下,可以控制LED產生霹靂燈的效果
namespace T74HC595_TEST02 { public class Program { public static void Main() { SPI.Configuration config = new SPI.Configuration(ChipSelect_Port: Pins.GPIO_PIN_D9, ChipSelect_ActiveState: false, ChipSelect_SetupTime: 0, ChipSelect_HoldTime: 0, Clock_IdleState: true, Clock_Edge: false, Clock_RateKHz: 10000, SPI_mod: SPI.SPI_module.SPI1); SPI _spi = new SPI(config); byte[] data = new byte[1]; // 產生霹靂燈效果 while (true) { data[0] = 1; for (int i=0; i<7; i++) //燈向左移動 { _spi.Write(data); data[0] <<= 1; Thread.Sleep(100); } for (int i = 0; i < 8; i++) //燈向右移動 { _spi.Write(data); data[0] >>= 1; Thread.Sleep(100); } } } } }
|
沒有留言:
張貼留言