簡單的RC低通濾波器允許微處理器單輸出端口擴展輸出位數 摩爾定律形成一個幾乎必然的推論——下一年,微處理器將會擁有更多的功能,而軟件團隊則會提出更多創意。然而不幸的是,微處理器輸出端口仍保持原樣。找到一個用作測試、調試或是標準I/O口的空閑輸出端是件相當困難的事。外加簡單硬件,如圖1所示電路實現單端口“總線”,提供無限量的并行輸出端。 圖1 HC164外圍電路圖 帶RC低通濾波器的微處理器輸出端控制串并轉換器HC164。為了數據輸入到串并轉換器,每位都要由1-0-1的轉換組成,這種轉換數據低電平狀態長度是變化的。如果低電平狀態超出了低通濾波器的時間常數,一個零移進寄存器;如果低電平狀態短,一個1就移進寄存器。這樣,時鐘信號和數據信號就合并成為一個信號。低通濾波器可以分離時鐘信號和數據信號(如圖2)。 圖2 時鐘信號與數據信號合并成一個信號 表1 whip程序輸出功能 如表1所示,一個簡單的“whip”程序實現8位輸出功能。假定低通濾波器時間常數為3μs,使用4MHz或更高頻率晶振時,指令時間應該為1μs或更短。程序使用My_Port端口的My_ Bit輸出的位操作。 如圖1中電路可以控制一些低速設備,例如繼電器或LCD,但是電路用于發光二極管時,HC164進行寫操作會產生令人討厭的閃爍。為解決這個問題,圖3電路使用另一款串入并出寄存器4096,這種芯片有濾波輸入功能,允許全部沒有達到臨時水準的輸出同時更新。兩個單穩態電路提供數據和濾波信號。這個電路可以用來控制并行設備,例如基于HD44780的顯示模塊。 圖3 串行輸入/并行輸出芯片4096外圍電路圖 |