新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 用一只引腳為微控制器輸入并行數據

        用一只引腳為微控制器輸入并行數據

        作者: 時間:2016-12-02 來源:網絡 收藏
        與UART的復雜相比,用微控制器的單一輸入引腳來輸入多個信息比特更簡單,事實證明這很有用。這種方案允許掃描鍵盤、模式開關或任何變化較慢的數字數據。參考文獻1詳細說明了一種用單一引腳輸出信號的方法。來自開關組S1的數據首先到達IC3,后者是NXPSemiconductors公司的74HC165并串轉換器(圖1)。把數據加載到移位寄存器中,這需要PL線路上的一個脈沖(引腳1)。線路CK在微控制器引腳線路上把一個長脈沖作為輸出發送出去,由此完成上述脈沖。R2和C2引入延時,并且一旦脈沖超過該延時,PL線路就變為低電平,數據被加載。



          PL信號上升后,微控制器的I/O端口上的較短脈沖在移位寄存器的時鐘輸入端CP(不是在PL輸入端)產生脈沖。這些時鐘脈沖的持續時間必須足夠長,應超過延時R1C1,但不能超過R2C2。這些時鐘脈沖使數據移位,使得8比特在移位寄存器輸出端QQ順序出現。



          如果微控制器的數據方向短暫地改變,以便借助高阻抗輸入,那么上述移位寄存器數據會占支配地位,這是由于R1、R2、R3的相對值所致,R3值低得多。高阻抗狀態存在的時間必須短于R1C1時間常數(圖2)。微控制器現在讀取單一數據比特。三個不同周期的作用產生了三種功能:加載、時鐘、數據讀取。微控制器改變端口方向、讀取引腳數據、把引腳方向重設為輸出所需的時間決定了時序。例如,1ms微控制器需要10ms。

          為避免假CP脈沖,該時間常數必須低于0.33R1C1,因此R1C1可以是30ms,而R2C2可以是200ms。這些設置允許在大約1ms內完成一次8比特讀取。為實現更快操作,可把RC繼電器換成精密可再觸發單穩多頻振蕩器(如NXP公司的74HC123)和邏輯門。可用更多移位寄存器擴充此方案,來讀取數十個信號。

          請注意:74HC165移位寄存器中的內部邏輯阻止CP信號在LD處于有效狀態時使數據移位。電阻器R4確保LD和CP的正確順序。二極管D1和D2使每個電容迅速放電,來“復位”R1C1和R2C2的延時功能。


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 绥江县| 黔江区| 山西省| 柞水县| 康平县| 白城市| 固阳县| 阿瓦提县| 巴中市| 隆化县| 兴山县| 黔东| 福清市| 眉山市| 行唐县| 松阳县| 延安市| 万全县| 肥西县| 桓台县| 城固县| 六枝特区| 司法| 高雄县| 阳曲县| 岫岩| 乌鲁木齐县| 个旧市| 甘孜县| 玉林市| 芜湖市| 崇礼县| 惠水县| 集贤县| 迁安市| 齐河县| 固阳县| 自贡市| 阿瓦提县| 武隆县| 宜兰县|