新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于AT89C5131的接口設計

        基于AT89C5131的接口設計

        作者: 時間:2015-05-03 來源:網絡 收藏

          引 言

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

          是一個基于52內核的單片機。在存儲器方面,其內部集成了32 KB的FLASH存儲器用于代碼的存儲;l KB的E2PROM存儲器用于用戶數據的存儲;用戶可以使用片上的Bootloader或FLASHAPI,通過USB接口或其他接口(如和I2C總線)對FLASH存儲器和E2PROM存儲器進行ISP或者IAP編程。支持USB 1.1和USB 2.0協議,擁有1個控制端口和6個普通可編程端口,支持控制、批量、中斷和同步傳輸4種傳輸方式,還支持串行I/O接口模式及Master和Slave的SPI接口模式。

          1 系統硬件設計

          基于的通信和控制模塊主要完成以下功能:在通信方面,通過USB實現與計算機的通信,接收計算機對設備的控制命令和計算機發送的數據,并將設備的工作狀態發送給計算機,同時將計算機傳來的控制命令和數據通過SPI接口傳送到其他設備模塊,并收集其他設備模塊的狀態信息;在控制方面,AT89C5131負責收集設備控制顯示面板的控制命令,更新設備顯示狀態等。由于采用USB通信系統,AT89C5131除了能夠根據控制面板控制設備的運行,也能根據計算機的命令控制設備的運行,實現了對設備的雙重控制。該系統中AT89C5131的外圍連接如圖1所示。

          

         

          1.1 AT89C5131的鍵盤端口特性及鍵盤設計

          AT89C5131擁有一個允許與8×n矩陣鍵盤連接的鍵盤接口,其輸入均具有高或低電平可編程中斷能力。鍵盤接口與C51內核的通信通過3個特殊功能寄存器實現,分別是鍵盤電平選擇寄存器(KBLS)、鍵盤中斷使能寄存器(KBE)和鍵盤標志寄存器(KBF)。

          AT89C5131的鍵盤輸入被設計為分享同一個中斷向量的8個獨立的中斷源,寄存器IEN1中的中斷使能位KBD允許鍵盤中斷全局的使能及不使能,根據KBLS每一位的值,每一個鍵盤輸入都有檢測出可編程電平的能力,然后鍵盤檢測就被反應到KBF中,而通過軟件使用KBE可以屏蔽中斷標志KBF。正是這樣的結構使得鍵盤排列可以從1×n延伸至8×n的矩陣,同時還使得P1輸入用于其他用途。

          在該設計中,將4個鍵盤端口(P1.O,P1.2,P1.3,P1.4)及2個外部中斷端口(P3.2,P3.3)與控制面板上的6個按鍵相連;實現系統的內外、啟停、暫停繼續控制及參數組的選擇等功能。這6個端口都采用低電平觸發產生中斷。

          1.2 USB各端口的特性及USB通信設計

          AT89C5131的控制端口O總是默認為控制類型,用于控制傳輸,有32字節的FIFO;而其他6個可編程端口可以通過設置UEPTYPE的值配置為控制、批量、中斷和同步類型;Ping-pong模式的端口可以配置成批量、中斷和同步類型,對于批量、中斷和同步類型的端口,其方向可以通過設置UEPCONX的值配置為輸入或者輸出。端口1~端口3有32字節的FIFO;端口4,端口5有2個64 B的FIFO;端口6有2個512 B的FIFO,并且后三個端口均可工作于Ping-pong模式。

          在該設計中,PC機將數據通過USB傳給AT89C5131,傳輸完一次后AT89C5131向PC機回傳數據傳輸正確與否的標志,PC機可以根據收到的標志進行相應的操作。PC機向AT89C5131傳輸的數據主要是參數和控制命令兩種類型。為將其區分開來,使用USB的端口4和端口6接收這兩種數據。其中,端口4用來接收控制命令;端口6用來接收參數。相應地,控制命令的回傳使用端口5;參數的回傳使用端口3。為簡單起見,端口3~端口6均被配置為批量類型;端口3、端口5為IN端口;端口4、端口6為OUT端口。

        51單片機相關文章:51單片機教程


        存儲器相關文章:存儲器原理



        上一頁 1 2 下一頁

        關鍵詞: AT89C5131 UART

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 建瓯市| 文化| 伊川县| 桃园县| 嘉祥县| 阿勒泰市| 萨迦县| 墨脱县| 望江县| 五峰| 靖宇县| 惠东县| 华宁县| 育儿| 龙井市| 凉城县| 资中县| 汕头市| 色达县| 若羌县| 崇礼县| 尚志市| 乌鲁木齐县| 汶川县| 岑巩县| 沁阳市| 鄂州市| 阳新县| 龙口市| 历史| 深圳市| 彰武县| 宜君县| 无棣县| 玉屏| 古田县| 湾仔区| 正镶白旗| 临武县| 赞皇县| 金溪县|