chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機(jī)存儲(chǔ)擴(kuò)展方法與程序控制案例

GReq_mcu168 ? 來(lái)源:CSDN技術(shù)社區(qū) ? 作者:倪里 ? 2021-04-03 10:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

單片機(jī)內(nèi)部存儲(chǔ)器和I/o口資源有限,多數(shù)情況下需要外部擴(kuò)展。

一、擴(kuò)展方法和內(nèi)容

276466cc-90fa-11eb-8b86-12bb97331649.png

二、總線(xiàn)介紹單片機(jī)并行擴(kuò)展的典型結(jié)構(gòu)是總線(xiàn)結(jié)構(gòu)。

各擴(kuò)展部件通過(guò)總線(xiàn)與單片機(jī)連接起來(lái),相當(dāng)于系統(tǒng)中各部件掛在總線(xiàn)上,分時(shí)利用總線(xiàn)與CPU通訊。

當(dāng)選中某部件時(shí),可對(duì)該部件進(jìn)行讀寫(xiě)及控制,而其它部件與總線(xiàn)間處于“高阻態(tài)”,相當(dāng)于與總線(xiàn)斷開(kāi)。

281a20e8-90fa-11eb-8b86-12bb97331649.png

單片機(jī)系統(tǒng)的三總線(xiàn)構(gòu)造方法如下:

以P0口線(xiàn)作數(shù)據(jù)總線(xiàn)/低位地址總線(xiàn)4以P2口線(xiàn)作高位地址總線(xiàn)

采用功能引腳形成控制總線(xiàn)

28531c22-90fa-11eb-8b86-12bb97331649.png

以P0口線(xiàn)作數(shù)據(jù)總線(xiàn)/低位地址總線(xiàn):先由P0口線(xiàn)作地址總線(xiàn),把低8位地址送鎖存器,由鎖存器提供給系統(tǒng);然后再將P0口線(xiàn)作數(shù)據(jù)總線(xiàn)讀寫(xiě)數(shù)據(jù),從而實(shí)現(xiàn)地址總線(xiàn)的低8位地址信號(hào)和數(shù)據(jù)總線(xiàn)共用P0口線(xiàn)而不產(chǎn)生沖突。

以P2口線(xiàn)作高位地址總線(xiàn):P2口線(xiàn)最多可提供8位高位地址,加上P0口線(xiàn)提供的低8位地址,最多可提供16位地址,可使單片機(jī)系統(tǒng)的尋址范圍最大達(dá)到64KB。

采用功能引腳形成控制總線(xiàn):由 RD(P3.6引腳)和 WR(P3.7引腳)作為讀寫(xiě)選通信號(hào)線(xiàn);由ALE作為地址鎖存信號(hào)線(xiàn),以配合P0口實(shí)現(xiàn)分時(shí)復(fù)用;PSEN以作為片外程序存儲(chǔ)器讀選通信號(hào)線(xiàn);以EA作為片內(nèi)和片外程序存儲(chǔ)器的選擇信號(hào)。

存儲(chǔ)器的基本操作控制包括片選控制和讀寫(xiě)操作控制。

線(xiàn)選法:地位地址線(xiàn)(A0~A10)實(shí)現(xiàn)片內(nèi)尋址,高位地址線(xiàn)線(xiàn)(A11~A13)實(shí)現(xiàn)片選。線(xiàn)選法連線(xiàn)簡(jiǎn)單,但地址空間不連續(xù),適用于擴(kuò)展容量較小且芯片數(shù)目較少的情況。

28c17406-90fa-11eb-8b86-12bb97331649.png

譯碼法:通過(guò)譯碼器將高位地址線(xiàn)轉(zhuǎn)換為片選信號(hào)。譯碼法能有效利用存儲(chǔ)空間,且地址連續(xù),適用于多芯片下的擴(kuò)展。常用譯碼器芯片有74138等。

2915fb2a-90fa-11eb-8b86-12bb97331649.png

三、儲(chǔ)存擴(kuò)展

地址線(xiàn):地址是由P0和P2口提供的。ROM的地址線(xiàn)(A0~A15)中,低8位A0~A7通過(guò)鎖存器74LS373與P0口連接,高8位A8~A11直接與P2口的P2.0~P2.7連接。

數(shù)據(jù)線(xiàn):片外ROM的8位數(shù)據(jù)線(xiàn)直接與單片機(jī)的P0口相連。

29947b80-90fa-11eb-8b86-12bb97331649.png

控制線(xiàn):CPU執(zhí)行ROM中存放的程序指令時(shí),取指階段就是對(duì)ROM進(jìn)行讀操作。讀操作控制線(xiàn)有以下幾條:

地址鎖存信號(hào)ALE、片選信號(hào)CS、讀選通信號(hào)OE、片外程序存儲(chǔ)器的選用控制信號(hào)EA

2a5d7314-90fa-11eb-8b86-12bb97331649.png

地址鎖存信號(hào)ALE:單片機(jī)的ALE管腳與鎖存器的鎖存使能端G相連,用于單片機(jī)從片外ROM在讀指令時(shí)給出低8位地址的鎖存信號(hào)。

片選信號(hào)CS:低電平有效。如果系統(tǒng)中只擴(kuò)展了一片程序存儲(chǔ)器芯片,可將該片選端直接接地,使該芯片一直有效。若同時(shí)擴(kuò)展多片,需通過(guò)線(xiàn)選法或譯碼法來(lái)完成片選工作。

讀選通信號(hào)OE:低電平有效。該引腳接8051的片外ROM讀選通信號(hào)端PSEN。在訪(fǎng)問(wèn)片外程序存儲(chǔ)器時(shí),只要該端出現(xiàn)負(fù)脈沖,即可從ROM中讀出指令或數(shù)據(jù)。

片外程序存儲(chǔ)器的選用控制信號(hào)EA:當(dāng)EA引腳接高電平時(shí),CPU只訪(fǎng)問(wèn)單片機(jī)內(nèi)部的程序存儲(chǔ)器并執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令,但當(dāng)程序存儲(chǔ)量超過(guò)內(nèi)部程序存儲(chǔ)器的最大容量時(shí),將自動(dòng)轉(zhuǎn)去執(zhí)行單片機(jī)外部程序存儲(chǔ)器內(nèi)的程序。當(dāng)輸入信號(hào)引腳接低電平(接地)時(shí),CPU只訪(fǎng)問(wèn)外部程序存儲(chǔ)器并執(zhí)行外部程序存儲(chǔ)器中的指令。

在執(zhí)行片外ROM讀指令時(shí),單片機(jī)自動(dòng)進(jìn)行的操作時(shí)序:

(1)首先由PO口和P2口給出16位地址,然后ALE出現(xiàn)下降沿通知鎖存器將P0口的低8位地址鎖存;

(2)PSEN出現(xiàn)低電平,使片外ROM有效;

(3)根據(jù)鎖存器和P2口提供的地址取出指令并送P0口,由P0口讀入單片機(jī)執(zhí)行。

在上述過(guò)程中,數(shù)據(jù)存儲(chǔ)器RAM讀寫(xiě)信號(hào)端WR和RD一直處于高電平狀態(tài),使RAM與總線(xiàn)隔離。

四、控制程序

根據(jù)下圖電路編寫(xiě)程序用數(shù)碼管顯示0-9共10個(gè)數(shù)字循環(huán)顯示。

2a82989c-90fa-11eb-8b86-12bb97331649.png

#include 《reg51.h》unsigned char led[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//字型碼

int main(void){ unsigned char i; while(1) { for(i=0;i《10;i++)//循環(huán)顯示10個(gè)數(shù)字 { P1=led[i]; delay();//延時(shí)一段時(shí)間 } }}

void delay()//延時(shí)函數(shù){ int i,j; for(i=0;i《3000;i++) for(j=0;j《5;j++);}

五、數(shù)據(jù)儲(chǔ)存擴(kuò)展

數(shù)據(jù)存儲(chǔ)器RAM的擴(kuò)展主要用到以下3個(gè)控制信號(hào):

ALE:低8位地址鎖存控制信號(hào),通常接地址鎖存器的LE引腳;

WR:外部RAM寫(xiě)信號(hào),低電平有效,接數(shù)據(jù)存儲(chǔ)器的WE引腳;

RD:外部RAM讀信號(hào),低電平有效,接數(shù)據(jù)存儲(chǔ)器的OE引腳。

2ad6ab30-90fa-11eb-8b86-12bb97331649.png

在執(zhí)行片外RAM讀寫(xiě)指令時(shí),單片機(jī)自動(dòng)進(jìn)行的操作時(shí)序與讀ROM相似:

(1)首先由PO口和P2口給出16位地址,然后ALE出現(xiàn)下降沿將P0口的低8位地址鎖存;

(2)在讀數(shù)據(jù)時(shí),RD出現(xiàn)低電平,WR出現(xiàn)高電平,使讀片外RAM有效,并根據(jù)鎖存器和P2口提供的地址取出數(shù)據(jù)并送P0口,由P0口讀入單片機(jī)。

(3)在寫(xiě)數(shù)據(jù)時(shí)首先將數(shù)據(jù)加載到P0口,然后RD引腳出現(xiàn)高電平,WR引腳出現(xiàn)低電平,使寫(xiě)片外RAM有效,并根據(jù)鎖存器和P2口提供的地址將P0口上的數(shù)據(jù)寫(xiě)入片外RAM。

六、程序舉例

根據(jù)圖8-4編寫(xiě)程序?qū)?a target="_blank">數(shù)碼管顯示0-9共10個(gè)數(shù)字的字型碼存儲(chǔ)到6264中,然后從6264中循環(huán)讀出字型碼并送數(shù)碼管顯示。

2b3ddba2-90fa-11eb-8b86-12bb97331649.png

#include 《reg51.h》#include 《absacc.h》unsigned char led[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//字型碼

int main(void){ unsigned char i; for(i=0;i《10;i++)//存儲(chǔ)10個(gè)數(shù)字字型碼 XBYTE[0x8000+i]=led[i]; while(1) { for(i=0;i《10;i++)//循環(huán)顯示10個(gè)數(shù)字 { P1=XBYTE[0x8000+i]; delay();//延時(shí)一段時(shí)間 } } }void delay()//延時(shí)函數(shù){ int i,j; for(i=0;i《30000;i++) for(j=0;j《5;j++);}

對(duì)輸入/輸出口功能的擴(kuò)展,可以利用簡(jiǎn)單的TTL電路或MOS電路,也可以使用結(jié)構(gòu)較為復(fù)雜的可編程接口芯片。

MCS-51單片機(jī)將I/O口與片外RAM統(tǒng)一編址,兩者合在一起使用同一個(gè)64KB的外擴(kuò)展地址空間,因而,I/O口的輸入、輸出指令也就是片外數(shù)據(jù)存儲(chǔ)器的讀/寫(xiě)指令。

2b95aaa8-90fa-11eb-8b86-12bb97331649.png

簡(jiǎn)單輸入擴(kuò)展主要采用三態(tài)數(shù)據(jù)緩沖器實(shí)現(xiàn),目的是使被選通的輸入設(shè)備能獨(dú)占數(shù)據(jù)總線(xiàn)向單片機(jī)輸入數(shù)據(jù),而未被選通的設(shè)備與數(shù)據(jù)總線(xiàn)隔離。常用的三態(tài)數(shù)據(jù)緩沖器芯片有74LS244等。

簡(jiǎn)單輸出擴(kuò)展主要采用三態(tài)數(shù)據(jù)鎖存器實(shí)現(xiàn),目的是使單片機(jī)能通過(guò)數(shù)據(jù)總線(xiàn)向被選通的設(shè)備輸出數(shù)據(jù),而未被選通的設(shè)備與數(shù)據(jù)總線(xiàn)隔離。常用的三態(tài)數(shù)據(jù)鎖存器芯片有74LS273等。

8051單片機(jī)使用74LS373和74LS245展I/O口,分別連接發(fā)光二極管和撥碼開(kāi)關(guān),要求編寫(xiě)控制程序,通過(guò)開(kāi)關(guān)的撥動(dòng)控制發(fā)光二極管的亮滅。

2c09393c-90fa-11eb-8b86-12bb97331649.png

#include 《reg51.h》#include 《absacc.h》 #define PORT XBYTE[0xFFFF] //地址寫(xiě)什么都可以int main(void){ unsigned char temp; while(1) { temp=PORT; //讀存儲(chǔ)單元操作,即通過(guò)74LS245獲取開(kāi)關(guān)數(shù)據(jù) PORT=temp; //寫(xiě)存儲(chǔ)單元操作,即通過(guò)74LS373用開(kāi)關(guān)數(shù)據(jù)控制發(fā)光二極管 }}
編輯:lyn

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6074

    文章

    45322

    瀏覽量

    662927
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    39

    文章

    7713

    瀏覽量

    170784

原文標(biāo)題:?jiǎn)纹瑱C(jī)擴(kuò)展技術(shù)

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    為什么單片機(jī)還在用C語(yǔ)言編程?

    存儲(chǔ)空間。前提是確保程序的規(guī)范性和完整性。 2.我們?cè)谶M(jìn)行單片機(jī)編程時(shí),主要是通過(guò)對(duì)單片機(jī)的端口和內(nèi)部寄存器的操作和配置,這個(gè)需要比較精確的時(shí)序
    發(fā)表于 11-28 07:37

    單片機(jī)原理及應(yīng)用詳解

    單片機(jī)(Microcontroller Unit, MCC) ?是一種集成計(jì)算機(jī)核心功能(CPU、存儲(chǔ)器、I/O接口等)的微型芯片,廣泛應(yīng)用于嵌入式系統(tǒng)中。以下是其原理及應(yīng)用的詳細(xì)介紹: 一、單片機(jī)
    的頭像 發(fā)表于 08-11 13:57 ?1486次閱讀

    單片機(jī)的儲(chǔ)存優(yōu)點(diǎn)是什么

    單片機(jī)作為嵌入式系統(tǒng)的核心,其儲(chǔ)存系統(tǒng)是實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)程序運(yùn)行的關(guān)鍵部分。與獨(dú)立存儲(chǔ)芯片相比,單片機(jī)的儲(chǔ)存單元在集成度、功耗、可靠性等方面具
    的頭像 發(fā)表于 07-31 10:09 ?479次閱讀

    單片機(jī)采用什么電流控制

    單片機(jī)作為電子系統(tǒng)的控制核心,其電流控制涉及自身工作電流管理與外部設(shè)備電流驅(qū)動(dòng)兩個(gè)層面。由于單片機(jī)內(nèi)部電路的特性,其自身工作電流較小,而控制
    的頭像 發(fā)表于 07-30 10:07 ?536次閱讀

    單片機(jī)怎么控制轉(zhuǎn)速

    ? ? ? ?在工業(yè)自動(dòng)化、智能家居、機(jī)器人等領(lǐng)域,單片機(jī)控制電機(jī)轉(zhuǎn)速是實(shí)現(xiàn)精準(zhǔn)運(yùn)動(dòng)控制的核心技術(shù)。通過(guò)結(jié)合硬件電路設(shè)計(jì)與軟件算法優(yōu)化,單片機(jī)可根據(jù)不同應(yīng)用場(chǎng)景靈活調(diào)整電機(jī)轉(zhuǎn)速。以下從
    的頭像 發(fā)表于 07-25 13:58 ?639次閱讀

    怎么測(cè)單片機(jī)系統(tǒng)頻率

    單片機(jī)系統(tǒng)頻率是指單片機(jī)工作時(shí)的時(shí)鐘頻率,它直接影響單片機(jī)的運(yùn)行速度和處理能力,準(zhǔn)確測(cè)量系統(tǒng)頻率對(duì)單片機(jī)應(yīng)用開(kāi)發(fā)、程序調(diào)試和性能優(yōu)化具有重要
    的頭像 發(fā)表于 07-25 11:39 ?441次閱讀

    單片機(jī)怎么驅(qū)動(dòng)電機(jī)?

    在各類(lèi)自動(dòng)化設(shè)備和智能裝置中,電機(jī)是重要的執(zhí)行部件,而單片機(jī)作為控制核心,需要通過(guò)特定的方式驅(qū)動(dòng)電機(jī)運(yùn)轉(zhuǎn)。單片機(jī)驅(qū)動(dòng)電機(jī)并非直接連接即可,而是要根據(jù)電機(jī)類(lèi)型和功率,搭配合適的驅(qū)動(dòng)電路,才能實(shí)現(xiàn)穩(wěn)定
    的頭像 發(fā)表于 07-25 09:31 ?429次閱讀

    單片機(jī)是怎么控制

    單片機(jī)作為電子系統(tǒng)的控制核心,通過(guò)接收外部信號(hào)、執(zhí)行預(yù)設(shè)程序、驅(qū)動(dòng)外部設(shè)備的方式實(shí)現(xiàn)控制功能,其控制過(guò)程涉及信號(hào)輸入、數(shù)據(jù)處理和指令輸出三個(gè)
    的頭像 發(fā)表于 07-23 13:59 ?453次閱讀

    單片機(jī)怎么燒程序

    單片機(jī)程序是將編寫(xiě)好的程序代碼寫(xiě)入單片機(jī)內(nèi)部存儲(chǔ)單元,讓單片機(jī)按照預(yù)設(shè)邏輯工作的過(guò)程,是
    的頭像 發(fā)表于 07-23 11:47 ?629次閱讀

    單片機(jī)直流電機(jī)調(diào)速原理

    在工業(yè)自動(dòng)化、智能設(shè)備等領(lǐng)域,直流電機(jī)的調(diào)速控制至關(guān)重要,而單片機(jī)憑借其靈活的控制能力,成為實(shí)現(xiàn)直流電機(jī)精準(zhǔn)調(diào)速的核心部件。單片機(jī)直流電機(jī)調(diào)速技術(shù)通過(guò)
    的頭像 發(fā)表于 07-17 13:42 ?474次閱讀

    給予單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)

    在工業(yè)生產(chǎn)、智能家居等領(lǐng)域,溫度的穩(wěn)定控制至關(guān)重要,基于單片機(jī)的溫度控制系統(tǒng)憑借靈活、高效的特點(diǎn)被廣泛應(yīng)用,其設(shè)計(jì)原理與實(shí)現(xiàn)方式值得深入探討。 基于單片機(jī)的溫度
    的頭像 發(fā)表于 07-16 10:57 ?443次閱讀

    Linux嵌入式和單片機(jī)嵌入式的區(qū)別?

    較高,需要較大的內(nèi)存和存儲(chǔ)空間來(lái)運(yùn)行Linux系統(tǒng)和應(yīng)用程序。 5. 可擴(kuò)展性 : 單片機(jī)嵌入式 :擴(kuò)展性有限,通常只能通過(guò)增加外設(shè)來(lái)
    發(fā)表于 06-20 09:46

    單片機(jī)原理及應(yīng)用

    本書(shū)全面系統(tǒng)地介紹了 MCS-51 系列單片機(jī)的基本結(jié)構(gòu)、工作原理及應(yīng)用技術(shù)。主要內(nèi)容包括:微型計(jì)算機(jī)的基礎(chǔ)知識(shí)、MCS-51 單片機(jī)的基本結(jié)構(gòu)、匯編語(yǔ)言和 C51 語(yǔ)言程序設(shè)計(jì)方法
    發(fā)表于 06-16 16:58

    STC單片機(jī)范例程序

    電子發(fā)燒友網(wǎng)站提供《STC單片機(jī)范例程序.zip》資料免費(fèi)下載
    發(fā)表于 06-04 16:27 ?8次下載

    扒一扒單片機(jī)存儲(chǔ)器的那些事

    單片機(jī)存儲(chǔ)器的關(guān)系像什么?單片機(jī)里的存儲(chǔ)都是一樣的嗎?為什么有的單片機(jī)既有EEPROM又有Flash?
    的頭像 發(fā)表于 04-10 10:06 ?1315次閱讀
    扒一扒<b class='flag-5'>單片機(jī)</b>與<b class='flag-5'>存儲(chǔ)</b>器的那些事