基于A(yíng)T89C5131的接口設計
引 言
本文引用地址:http://dyxdggzs.com/article/273498.htmAT89C5131是一個(gè)基于52內核的單片機。在存儲器方面,其內部集成了32 KB的FLASH存儲器用于代碼的存儲;l KB的E2PROM存儲器用于用戶(hù)數據的存儲;用戶(hù)可以使用片上的Bootloader或FLASHAPI,通過(guò)USB接口或其他接口(如UART和I2C總線(xiàn))對FLASH存儲器和E2PROM存儲器進(jìn)行ISP或者IAP編程。AT89C5131支持USB 1.1和USB 2.0協(xié)議,擁有1個(gè)控制端口和6個(gè)普通可編程端口,支持控制、批量、中斷和同步傳輸4種傳輸方式,還支持串行I/O接口模式及Master和Slave的SPI接口模式。
1 系統硬件設計
基于AT89C5131的通信和控制模塊主要完成以下功能:在通信方面,通過(guò)USB實(shí)現與計算機的通信,接收計算機對設備的控制命令和計算機發(fā)送的數據,并將設備的工作狀態(tài)發(fā)送給計算機,同時(shí)將計算機傳來(lái)的控制命令和數據通過(guò)SPI接口傳送到其他設備模塊,并收集其他設備模塊的狀態(tài)信息;在控制方面,AT89C5131負責收集設備控制顯示面板的控制命令,更新設備顯示狀態(tài)等。由于采用USB通信系統,AT89C5131除了能夠根據控制面板控制設備的運行,也能根據計算機的命令控制設備的運行,實(shí)現了對設備的雙重控制。該系統中AT89C5131的外圍連接如圖1所示。

1.1 AT89C5131的鍵盤(pán)端口特性及鍵盤(pán)設計
AT89C5131擁有一個(gè)允許與8×n矩陣鍵盤(pán)連接的鍵盤(pán)接口,其輸入均具有高或低電平可編程中斷能力。鍵盤(pán)接口與C51內核的通信通過(guò)3個(gè)特殊功能寄存器實(shí)現,分別是鍵盤(pán)電平選擇寄存器(KBLS)、鍵盤(pán)中斷使能寄存器(KBE)和鍵盤(pán)標志寄存器(KBF)。
AT89C5131的鍵盤(pán)輸入被設計為分享同一個(gè)中斷向量的8個(gè)獨立的中斷源,寄存器IEN1中的中斷使能位KBD允許鍵盤(pán)中斷全局的使能及不使能,根據KBLS每一位的值,每一個(gè)鍵盤(pán)輸入都有檢測出可編程電平的能力,然后鍵盤(pán)檢測就被反應到KBF中,而通過(guò)軟件使用KBE可以屏蔽中斷標志KBF。正是這樣的結構使得鍵盤(pán)排列可以從1×n延伸至8×n的矩陣,同時(shí)還使得P1輸入用于其他用途。
在該設計中,將4個(gè)鍵盤(pán)端口(P1.O,P1.2,P1.3,P1.4)及2個(gè)外部中斷端口(P3.2,P3.3)與控制面板上的6個(gè)按鍵相連;實(shí)現系統的內外、啟停、暫停繼續控制及參數組的選擇等功能。這6個(gè)端口都采用低電平觸發(fā)產(chǎn)生中斷。
1.2 USB各端口的特性及USB通信設計
AT89C5131的控制端口O總是默認為控制類(lèi)型,用于控制傳輸,有32字節的FIFO;而其他6個(gè)可編程端口可以通過(guò)設置UEPTYPE的值配置為控制、批量、中斷和同步類(lèi)型;Ping-pong模式的端口可以配置成批量、中斷和同步類(lèi)型,對于批量、中斷和同步類(lèi)型的端口,其方向可以通過(guò)設置UEPCONX的值配置為輸入或者輸出。端口1~端口3有32字節的FIFO;端口4,端口5有2個(gè)64 B的FIFO;端口6有2個(gè)512 B的FIFO,并且后三個(gè)端口均可工作于Ping-pong模式。
在該設計中,PC機將數據通過(guò)USB傳給AT89C5131,傳輸完一次后AT89C5131向PC機回傳數據傳輸正確與否的標志,PC機可以根據收到的標志進(jìn)行相應的操作。PC機向AT89C5131傳輸的數據主要是參數和控制命令兩種類(lèi)型。為將其區分開(kāi)來(lái),使用USB的端口4和端口6接收這兩種數據。其中,端口4用來(lái)接收控制命令;端口6用來(lái)接收參數。相應地,控制命令的回傳使用端口5;參數的回傳使用端口3。為簡(jiǎn)單起見(jiàn),端口3~端口6均被配置為批量類(lèi)型;端口3、端口5為IN端口;端口4、端口6為OUT端口。
51單片機相關(guān)文章:51單片機教程
存儲器相關(guān)文章:存儲器原理
評論