久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > DEI1016功能和原理簡介及其與單片機的接口設計

DEI1016功能和原理簡介及其與單片機的接口設計

作者: 時間:2012-06-01 來源:網絡 收藏

本文引用地址:http://www.cqxgywz.com/article/171365.htm

mov a,#d2h ;取字2的高8位

movx @dptr,a ;把字2的高8位鎖入U3

clr p3.4 ;打開U3、U4的輸出

nop

clr p1.4 ;字2數據裝入DEI1016

nop

setb p3.4

setb p1.4

用U1接收數據,應將DR1、DR2及TXR經與門U13接至U1的INT0,在INT0口產生中斷后,U1便執行讀操作,并通過RD和Y5控制U14、U15以讀入DR1、DR2及TXR的狀態。U2接收到數據或發送數據完畢后,即向U1的INT0口申請中斷,并在中斷程序中判斷DR1、DR2及TXR的狀態。TXR為低表明發送完畢,而DR1或DR2為低則表明已收到數據。此時可置P1.2(SEL)為低電平,同時也置P1.0(接DEI1016的OE1)或P1.1 ?接DEI1016的OE2?為低電平,以使字1的數據出現在數據總線上,而使P1.0、P1.1經U11異或后輸出以使U5、U6的G端為高電平,從而把數據鎖入U5、U6。由于RD分別與Y7、Y6相或后的輸出是與U5、U6的OE門相連接的,因此,U1 執行讀操作時,應先后打開U5、U6的OE門來把數據讀入。其接收程序如下:(以接收器1為例)。 DEI1016的兩路接收可能產生同時接收的現象。即在上述兩路共用一個中斷源時,如果某一路申請中斷已進入接收程序,那么另一路同時接收的數據就可能被屏蔽。解決方法是:進入中斷程序后,在接收數據過程中再查詢另一路DR的狀態。當然,如果每路單獨使用一個中斷源,效果將會更好。

clr p1.2 ;置DEI1016的SEL=0,讀字1

clr p1.0 ;置DEI1016的/OE1=0

setb p1.1 ;置DEI1016的/OE2=1

nop

mov dptr,#e000h

movx a,@dptr ;把字1的低8位讀入

mov 10h,a

mov dptr,#c000h

movx a,@dptr ;把字1的高8位讀入

mov 11h,a

setb p1.2 ;置DEI1016的SEL=1,讀字2

nop

mov dptr,#e000h

movx a,@dptr ;把字2的低8位讀入

mov 12h,a

mov dptr,#c000h

movx a,@dptr ;把字2的高8位讀入

mov 13h,a

setb p1.0 ;置DEI1016的/OE1=1

setb p1.1 ;置DEI1016的/OE2=1

setb p1.2 ;置DEI1016的SEL=1

4 結束語

實際上,上述AT89C52與DEI1016的電路經改進也可以應用到其它16位數據總線的電路中,而如果用ISP器件替代鎖存器門電路,還可大大減小電路板的面積。


上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉