資源描述:
《單片機(jī)c51第8章ppt課件.ppt》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第8章單片機(jī)系統(tǒng)擴(kuò)展§8.1存儲器擴(kuò)展一、數(shù)據(jù)存儲器擴(kuò)展1、數(shù)據(jù)存儲器芯片單片機(jī)片外數(shù)據(jù)存儲器的尋址空間為64KB,一般選用靜態(tài)RAM芯片作為外部數(shù)據(jù)存儲器。常用的靜態(tài)RAM芯片有6264/62128/62256等。AiA0D7D0CEWEOEAi~A0:地址線(i=12、13、14)D7~D0:數(shù)據(jù)線CE:片選信號WE:寫允許信號OE:輸出允許信號626462128622562、單片機(jī)與外部數(shù)據(jù)存儲器的連接P2.6~P2.0P0ALERDWR鎖存器A7~A0A14~A8D7~D0OEWECE62256二、程序存儲器擴(kuò)展1、EPROM芯片常用的EPROM芯片有2764/27128/272
2、56/27512等。AiA0O7O0CEVPPOE27642712827256Ai~A0:地址線(i=12、13、14)O7~O0:數(shù)據(jù)線CE:片選信號VPP:編程電源OE:輸出允許信號2、單片機(jī)與外部EPROM的連接P2.6~P2.0P0ALEPSEN鎖存器A7~A0A14~A8O7~O0OECE27256§8.2串行總線擴(kuò)展一、SPI串行總線1、SPI總線概述SPI總線是Motorola公司推出的一種同步串行外設(shè)接口(SerialPeripheralInterface),用于MCU與各種外圍設(shè)備(EEPROM、ADC、LCD驅(qū)動器、MCU等)以串行方式進(jìn)行通信。SPI總線一般使用4條
3、線:串行時鐘線(SCK)、主機(jī)輸入/從機(jī)輸出數(shù)據(jù)線MISO、主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI和低電平有效的從機(jī)選擇線SS(CS)。由于SPI總線只需3~4根數(shù)據(jù)和控制線即可實(shí)現(xiàn)與具有SPI總線接口功能的各種I/O器件進(jìn)行接口,可以節(jié)省很多I/O口線,簡化電路設(shè)計,提高設(shè)計的可靠性。2、SPI總線組成SPI總線可構(gòu)成各種系統(tǒng)。如1個主MCU和幾個從MCU相互連接構(gòu)成多主機(jī)系統(tǒng)(分布式系統(tǒng))、1個主MCU和1個或幾個從I/O設(shè)備構(gòu)成的系統(tǒng)等。在大多數(shù)應(yīng)用場合,可使用1個MCU作為主控制器來控制數(shù)據(jù)傳輸,并向1個或幾個從外圍器件傳送數(shù)據(jù)。從器件只有在主機(jī)發(fā)命令時才能接收或發(fā)送數(shù)據(jù)。其數(shù)據(jù)的傳輸
4、格式是高位(MSB)在前,低位(LSB)在后。MCU主控器從器件1從器件2從器件nSCKMOSIMISOSS1SS2SSn3、SPI總線時序不同的SPI器件,SPI時序略有不同。允許上升沿輸入數(shù)據(jù)下降沿輸出數(shù)據(jù),也允許上升沿輸出數(shù)據(jù)下降沿輸入數(shù)據(jù)。MSBLSBMSBLSBSCKMOSIMISOSS無定義或上一幀數(shù)據(jù)4、單片機(jī)模擬SPI操作①M(fèi)CU串行輸入子程序SPIINSPIIN:SETBP1.1;使P1.1(時鐘)輸出為1CLRP1.2;選擇從機(jī)MOVR1,#08H;置循環(huán)次數(shù)SPIIN1:CLRP1.1;使P1.1輸出為0NOP;延時NOPMOVC,P1.3;從機(jī)輸出SPISO送進(jìn)位
5、CRLCA;左移至累加器ACCSETBP1.1;使P1.1(時鐘)輸出為1DJNZR1,SPIIN1;判斷是否循環(huán)8次(8位數(shù)據(jù))MOVR0,A;8位數(shù)據(jù)送R0RET單片機(jī)SPI接口EEPROMP1.0P1.1P1.2P1.3SPISISCKSPISOSSMSBLSBMSBLSBP1.1P1.0P1.3P1.2②MCU串行輸出子程序SPIOUTSPIOUT:SETBP1.1;使P1.1(時鐘)輸出為1CLRP1.2;選擇從機(jī)MOVR1,#08H;置循環(huán)次數(shù)MOVA,R0;8位數(shù)據(jù)送累加器ACCSPIOUT1:CLRP1.1;使P1.1(時鐘)輸出為0NOP;延時NOPRLCA;左移至累加
6、器ACC最高位至CMOVP1.0,C;進(jìn)位C送從機(jī)輸入SPISI線上SETBP1.1;使P1.1(時鐘)輸出為1DJNZR1,SPIOUT1;判是否循環(huán)8次(8位數(shù)據(jù))RETMSBLSBMSBLSBP1.1P1.0P1.3P1.2③MCU串行輸入/輸出子程序SPIIOSPIIO:SETBP1.1;使P1.1(時鐘)輸出為1CLRP1.2;選擇從機(jī)MOVR1,#08H;置循環(huán)次數(shù)MOVA,R0;8位數(shù)據(jù)送累加器ACCSPIIO1:CLRP1.1;使P1.1(時鐘)輸出為0NOP;延時NOPMOVC,P1.3;從機(jī)輸出SPISO送進(jìn)位CRLCA;左移至累加器ACC最高位至CMOVP1.0,C
7、;進(jìn)位C送從機(jī)輸入SETBP1.1;使P1.1(時鐘)輸出為1DJNZR1,SPIIO1;判斷是否循環(huán)8次(8位數(shù)據(jù))MOVR0,ARET單片機(jī)SPI接口EEPROMP1.0P1.1P1.2P1.3SPISISCKSPISOSSMSBLSBMSBLSBP1.1P1.0P1.3P1.2附1:AT25C01/02/04SPIEEPROM1、AT25C01/02/04系列EEPROM簡介AT25C01/02/04是ATMEL公司生產(chǎn)的SP