2009-07-01 4094 序列輸出實用範例                   黎煥欣   簡文鵬

前面有提到串列輸出入時, 可以用的方法. 現在因為要做一個 8951 單板控制, 但要接 25 個 Relay, 3 個 7 節顯示器, 8 個輸入按鍵. 8951 原有的 port 根本不夠用. 於是 serial I/O 是必然的選擇. 這裡的 3 個 7 節顯示器及 25 個 Relay 都用 Serial Out. 結構是一樣的. 這裡用 7 seg LED 來測試.

我們用的 Serial Out IC 就是 CD4094, (這裡是 HEF4094)  或是衍生的 74HC4094, 目前的速度都可以到 30MHz 操作以上, 一般應用沒有什麼問題.  下圖是它的實體照片.

它的線路圖如下 (原來的文章 cascade 用的腳是 QS1, 後來才發現正確應該用 QS2 比較正確)

輸出用 ULN2003, 把電壓昇到 12V (24V) 去驅動 4 吋的 LED, 結果如下圖.

;-----------------------------------------------------------------------------------------------------------------------------

當然要顯示 7 seg 碼, 要把 BCD 數字變成對應的 a ~ g 七個段的顯示與否. 在8951 裡的表格如下

 

而序列輸出用的 pin, serial clock 用 P3.5, serial data 用 P2.7, 下面的程式碼將 8951 的 reg A 的資料內容傳送出去 (LSB 先送出去)

 high pulse strobe 是各自定義, 在這裡是用 P2.0, 輸出再接一個 INV GATE, 所以在程式裡是用 low pulse. 又因為這裡接了三個 LED, 所以用上面的 SOUT 程式 3 次. 最後才送出 strobe pulse.

在輸出入要求很多的情況下, 串列操作是真的很方便.

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 huanhsin 的頭像
    huanhsin

    黎煥欣的工作部落格

    huanhsin 發表在 痞客邦 留言(0) 人氣()