與UART的復雜相比,用微控制器的單一輸入引腳來(lái)輸入多個(gè)信息比特更簡(jiǎn)單,事實(shí)證明這很有用。這種方案允許掃描鍵盤(pán)、模式開(kāi)關(guān)或任何變化較慢的數字數據。參考文獻1詳細說(shuō)明了一種用單一引腳輸出信號的方法。來(lái)自開(kāi)關(guān)組S1的數據首先到達IC3,后者是NXP Semiconductors公司的74HC165并串轉換器(圖1)。把數據加載到移位寄存器中,這需要PL線(xiàn)路上的一個(gè)脈沖(引腳1)。線(xiàn)路CK在微控制器引腳線(xiàn)路上把一個(gè)長(cháng)脈沖作為輸出發(fā)送出去,由此完成上述脈沖。R2和C2引入延時(shí),并且一旦脈沖超過(guò)該延時(shí),PL線(xiàn)路就變?yōu)榈碗娖,數據被加載。 PL信號上升后,微控制器的I/O端口上的較短脈沖在移位寄存器的時(shí)鐘輸入端CP(不是在PL輸入端)產(chǎn)生脈沖。這些時(shí)鐘脈沖的持續時(shí)間必須足夠長(cháng),應超過(guò)延時(shí)R1C1,但不能超過(guò)R2C2。這些時(shí)鐘脈沖使數據移位,使得8比特在移位寄存器輸出端QQ順序出現。 如果微控制器的數據方向短暫地改變,以便借助高阻抗輸入,那么上述移位寄存器數據會(huì )占支配地位,這是由于R1、R2、R3的相對值所致,R3值低得多。高阻抗狀態(tài)存在的時(shí)間必須短于R1C1時(shí)間常數(圖2)。微控制器現在讀取單一數據比特。三個(gè)不同周期的作用產(chǎn)生了三種功能:加載、時(shí)鐘、數據讀取。微控制器改變端口方向、讀取引腳數據、把引腳方向重設為輸出所需的時(shí)間決定了時(shí)序。例如,1ms微控制器需要10ms。 為避免假CP脈沖,該時(shí)間常數必須低于0.33R1C1,因此R1C1可以是30ms,而R2C2可以是200ms。這些設置允許在大約1ms內完成一次8比特讀取。為實(shí)現更快操作,可把RC繼電器換成精密可再觸發(fā)單穩多頻振蕩器(如NXP公司的74HC123)和邏輯門(mén)?捎酶嘁莆患拇嫫鲾U充此方案,來(lái)讀取數十個(gè)信號。 請注意:74HC165移位寄存器中的內部邏輯阻止CP信號在LD處于有效狀態(tài)時(shí)使數據移位。電阻器R4確保LD和CP的正確順序。二極管D1和D2使每個(gè)電容迅速放電,來(lái)“復位”R1C1和R2C2的延時(shí)功能。 |