单片机系统扩展与接口技术课件.ppt
7.4.2LED顯示器介面1.LED顯示器結構與原理圖7.277段LED數碼顯示器各段碼位的對應關係如下:表7.8十六進制數及空白與P的顯示段碼2.LED顯示器介面電路圖7.286位動態顯示器介面圖7.29顯示副程式流程圖程式清單如下:DIR:MOVR0,#79H;顯示緩衝區首址送R0 MOVR3,#01H;使顯示器最右邊位亮 MOVA,R3LD0:MOVDPTR,#0101H;掃描值送PA口 MOVX@DPTR,A INCDPTR;指向PB口 MOVA,@R0;取顯示數據 ADDA,#12H;加上偏移量 MOVXA,@A+PC;取出字形 MOVX@DPTR,A;送出顯示ACALLDL1 ;延時INCR0 ;緩衝區地址加1MOVA,R3;JBACC.5,LD1 ;掃到第6個顯示位了嗎?RLA ;沒有,R3左環移一位,掃描下一個顯示位MOVR3,AAJMPLD0LD1:RETDSEG:DB3FH,06H,5BH,4FH,66H,6DH;顯示段碼表DSEG1:DB7DH,07H,7FH,6FH,77H,7CH表7.22864A工作方式圖7.92864A與8031的介面電路7.2.2外部數據記憶體的擴展1.外部數據記憶體的擴展方法及時序圖7.10MCS-51數據記憶體的擴展示意圖圖2-9讀外部數據RAM時序2.靜態RAM晶片圖7.116264管腳圖I/O0~7:數據線A0~A12:地址線CE、CE:片選線OE:輸出使能WE:寫入使能VCC、GND:電源NC:未使用表7.36264的工作方式圖7.12擴展6264靜態RAM6264的8KB地址範圍不唯一(因為A14A13可為任意值),6000H~7FFFH是一種地址範圍。當向該片6000H單元寫一個數據DATA時,可用如下指令:MOVA,#DATAMOVDPTA,#6000HMOVX@DPTR,A從7FFFH單元讀一個數據時,可用如下指令:MOVDPTR,#7FFFHMOVXA,@DPTR7.2.3多片記憶體晶片的擴展1.線選法尋址線選法使用P2、P0口的低位地址線對每個晶片內的統一存儲單元進行尋址,稱為字選。所需地址線數由每片的存儲單元數決定,對於8K×8容量的晶片需要13根地址線A12~A0。然後將餘下的高位地址線分別接到個存儲晶片的片選端CS,稱為線選。圖7.13用線選法實現片選下圖是利用線選法,用3片2746A擴展24K×8位EPROM的電路圖:各晶片的地址範圍如下:2.解碼法尋址解碼法尋址就是利用地址解碼器對系統的片外高位地址進行解碼,以其解碼輸出作為記憶體晶片的片選信號,將地址劃分為連續的地址空間塊,避免了地址的間斷。解碼法仍用低位地址線對每片內的存儲單元進行尋址,而高位地址線經過解碼器解碼後輸出作為各晶片的片選信號。常用的地址解碼器是3/8解碼器74LS138。解碼法又分為完全解碼和部分解碼兩種。完全解碼:解碼器使用全部地址線,地址與存儲單元一一對應;部份解碼:解碼器使用部份地址線,地址與存儲單元不是一一對應。部份解碼會大量浪費尋址空間,對於要求記憶體空間大的微機系統,一般不採用。但對於單片機系統,由於實際需要的存儲容量不大,採用部份解碼可簡化解碼電路。例要求用2764晶片擴展8031的片外程式記憶體空間,分配的地址範圍為0000H~3FFFH。本例採用完全解碼方法。(1)確定片數。因0000H~3FFFH的存儲空間為16KB,則所需晶片數=實際要求的存儲容量/單個晶片的存儲容量 =16KB/8KB