新聞中心

        EEPW首頁 > 光電顯示 > 設計應用 > 基于AT89C2051串口的LED數碼管顯示電路

        基于AT89C2051串口的LED數碼管顯示電路

        作者: 時間:2010-02-24 來源:網絡 收藏

        單片機內有一個串行I/O端口,通過引腳RXD[P3.0]和TXD[P3.1]可與外部進行全雙工的串行異步通信,發送數據時由TXD端送出,接收時數據由RXD端輸入。有四種工作方式,通過編程設置,可以使其工作在任一方式以滿足不同的場合。其中,方式0是8位移位寄存器輸入/輸出方式,多用與外接移位寄存器以擴展I/O端口。的工作方式可以參看相關的書籍,此處不做詳細介紹。方式 0的輸出是8位串行數據,通過移位寄存器可將8位串行數據變成8位并行數據輸出,也可以將外部的8位并行數據變成8位串行數據輸入。因此外接一個移位寄存器就可擴展一個8位的并行輸入/輸出接口,如果想多擴展幾個并口就需要在外部級連幾個移位寄存器。但是這種擴展也不是無限的,因為的數據是一位一位串行輸入/輸出的。如果外接的移位寄存器比較多的話那么是必影響數據輸入/輸出的速度。

        本文引用地址:http://www.104case.com/article/169366.htm



        串口外接的移位寄存器有兩種,一種是“串行輸入/并行輸出移位寄存器”(如:741一S164),另一種是“并行輸入/串行輸出”移位寄存器(如: 74LS165)。通過寄存器的名稱就可以看出“串行輸入/并行輸出移位寄存器”是用于串口擴展并行輸出接口,“并行輸入/串行輸出”是用于串口擴展并行輸入接口。

        圖1(a)是串行輸入/并行輸出移位寄存器74LS164的管腳排列圖。其功能表見表1所示。74LS164有兩個串行數據A、B輸入端,使用時一般把它們連在一起;麗為清零輸入端,低電平有效,當該端加入低電平時,寄存器輸出Q0~Q7全為低電平。在正常情況下,清零輸入端接高電平,當CP信號上升沿到來時,數據從A、B端輸入并右移一位; Q0~Q7為并行數據輸出端,同時Q7端也是串行數據輸出端,對于串行輸入的數據,最先輸入的從Q7輸出,最后進入的從Q0輸出。CP為移位脈沖。

        圖1(b)是另一種常用的“并行(串行)輸入/串行輸出”移位寄存器74LS165的管腳排列圖。該器件的功能表見表2。該器件能在一個信號的控制下并行置入一個8位數據,然后在時鐘脈沖的作用下逐位移出,也能使數據從另外一個引腳串行輸入。在圖1(b)中,DO~D7是并行數據輸入端。S/L端是控制信號輸入端,當為高電平時,具有移位功能;當為低電平時,將DO~D7端的數據置入到內部的移位寄存器保存。CP端為時鐘(即移位脈沖)輸入端,當S/L= 1時,CP端的每一次正跳變,都會使已存入內部的數據DO~D7從Q7端移出一位,移位的順序是D7最先從Q7端移出,Q0最后從Q7端移出。CI端為時鐘脈沖禁止端,當該端為低電平時,時鐘信號(移位脈沖)不能進入,正常工作時必須接高電平。S1為串行數據輸入端,在S/L=1時,SI端的數據在CP脈沖上升沿作用下置入Q0,因此,當CP脈沖上升沿到來時內部的數據DO~D7從Q7端移出一位同時外部數據通過SI移入一位,當經過8次CP上升沿后 DO~D7這8個數據就全部通過Q7輸出,而內部的DO~D7全部更新為通過SI的輸入的信號。例如:如果SI外接電源電壓,那么當CP上升沿到來時,Q7會移出一位數據,而S1會移入一個“1”,當經過8個上升沿后,原先置入的DO~D7全被移出,內部的Q0~Q7全被更新為 “1”。如果CP上升沿再次到來時,輸出的就是“1”。因此當8個輸入數據都通過Q7輸出后,如果還想輸入就再次必須置入新的數據。

        通過對兩種移位寄存器的分析可以得出。通過串口擴展單片機的I/O口的具體如圖2所示:

        圖2(a)是通過串口擴展的并行輸出接口。RXD作為數據輸出線,TXD作為移位時鐘脈沖。每一個時鐘信號的上升沿加到74LS164的CP端時,移位寄存器將串口輸出的數據移入一位,8個時鐘脈沖過后串口輸出的8位二進制數全部移入74LS164,通過Q0-Q7并行輸出。

        DIY機械鍵盤相關社區:機械鍵盤DIY



        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 九台市| 九龙城区| 延津县| 炎陵县| 博兴县| 全南县| 泽州县| 浦城县| 贵港市| 伊宁市| 喀喇沁旗| 周口市| 都江堰市| 中江县| 湖南省| 信阳市| 龙门县| 辉县市| 梁平县| 田林县| 孝昌县| 江西省| 沽源县| 和田市| 远安县| 万全县| 建水县| 饶河县| 陇南市| 绍兴市| 贡山| 东阿县| 三原县| 章丘市| 横山县| 曲周县| 稷山县| 正镶白旗| 田林县| 泽普县| 呼图壁县|