Thiab ARM (lossis tseem x 86) MCU / CPU nrog von Neumann cov qauv, nws qhov chaw nyob yog qhov kev sib koom ua ke thiab txuas ntxiv, tus lej cim xeeb / RAM / CPU cov ntawv sau npe, thiab txawm tias PC video nco yog txhua yam sib xws. Nws' s tsuas yog tias lub cim xeeb nrog cov haujlwm sib txawv nyob txawv chaw nyob sib txawv, thiab lawv ua lawv tus kheej yam.
Okay, cia' s rov qab mus rau MCS-51.
Rau cov programme nco, muaj ob ntu: ntawm-nti thiab tawm-nti. Thiab tsis hais txog lub cim xeeb ntawm lub khoos phis tawm lossis nco-tawm ntawm lub program, lossis lawv cov chaw nyob. Yog tias muaj 4k ROM rau-nti, qhov chaw nyob yog 0x0000-0x0FFF, thiab 0x1000-0xFFFF yog qhov chaw nyob ntawm ROM sab nraud. Seb 0x0000-0x0FFF ib feem ntawm sab nraud ROM siv, nws nyob ntawm qib theem tus nqi ntawm tus PIN EA ntawm microcontroller. Thaum EA=1, qhov no ntawm lub ROM sab hauv yog siv, thiab qhov no ntawm sab nraud ROM siv sij hawm thiab tsis siv; thaum EA=0, qhov no ntawm sab nraud ROM siv, thiab ROM sab hauv yog lub sijhawm siv thiab tsis siv. Txhawm rau nyeem cov ntaub ntawv los ntawm ntu CODE, siv cov kev qhia ntawm MOVC. Lub tshuab hluav taws xob ib leeg yuav txiav txim siab lub cim xeeb twg los nqa cov ntaub ntawv los ntawm raws li MOVC cov lus qhia, EA cov xwm txheej, thiab chaw nyob tus nqi yuav tsum tau nyeem
Rau cov ntaub ntawv nco, nws muab faib ua ob ntu: cov ntaub ntawv sab hauv lub cim xeeb (IDATA / RAM) thiab cov ntaub ntawv sab nraud nco (XDATA), tab sis ob lub cim xeeb no tsis qhia qhov chaw nyob xws li code nco. Qhov dav dav 8051 nti, lub RAM sab hauv tsuas yog 128B, los ntawm 0x00-0x7F, thiab los ntawm 0x80-0xFF yog thaj chaw ntawm SFR (CPU kev ua haujlwm thiab ntau yam peripheral cov ntawv sau npe nyob ntawm no). Txog rau 8052, RAM sab hauv muaj 256B, yog li 0x80-0xFF yog qhov siab 128B RAM hauv kev siv. Tab sis isn' t no ntu rau SFR? Nws' s muaj nplooj siab rau SFR, tab sis nco ntsoov tias SFR nkag tau tsuas yog siv" hais ncaj qha rau" (siv kev qhia ua ke cov lus qhia tshwj xeeb), qhov sib txawv nyob ntawm no. Tsuas yog qhov chaw nyob nkag los ntawm kev xa ncaj qha yog SFR, txwv tsis pub nws yog RAM dog dig. Raws li rau lub ncua RAM (XDATA), qhov chaw nyob kuj yog los ntawm 0x0000-0xFFFF, thiab 0x0000 ntawm no yog txawv ntawm 0x00 ntawm RAM sab hauv, thiab lawv tau ywj siab ntawm ob qhov chaw. Lawv txoj kev nkag mus los kuj yog qhov sib txawv. MCS-51 siv cov kev qhia ntawv MOVX los nyeem thiab sau ntawv qhov chaw XDATA. Ntxiv mus, kev nkag mus rau hauv XDATA thaj chaw xav tau kev pab ntawm DPTR sau npe. Vim tias tsuas yog DPTR tuaj yeem tuav 16-ntsis XDATA chaw nyob tom ntej.
Yog li, MCS-51 muaj qhov nyeem thiab nrawm nrawm ntawm thaj chaw ntawm IDATA thiab cov kev nkag mus siv tau yooj yim tshaj plaws. Qhov ceev ntawm nkag mus rau XDATA cheeb tsam yog qhov qeeb. Cov theem ntawm MCS-51 yuav tsum tau tsim hauv thaj chaw IDATA ua ntej, thiab cov pawg tau qhib hauv thaj chaw IDATA tuaj yeem tswj tau los ntawm pawg ntsuas pointer sau npe SP. Yog tias cov pawg khoom loj heev thiab tsuas yog qhib hauv XDATA thaj chaw, tom qab ntawd cov ntawv SP ntawm CPU yuav nyuaj rau qiv, thiab peb tsuas tuaj yeem tsim tus qauv pawg thiab pawg pointer los ntawm peb tus kheej. Txij li cov phiaj xwm sab nraud thiab qhov chaw cov ntaub ntawv yog ob qho tib si 0-64K (0x0000-0xFFFF), tom qab ntawd Kuv tuaj yeem txuag teeb meem / yooj yim rov sau dua cov kev pab cuam thiab lwm yam, sab nraud CODE thiab DATA tuaj yeem sib koom ua kom rov nco tau (xws li ntau yam RAM tau. muab erased thiab sau tau). Piv txwv, lub kaw lus muaj 64K TXOJ CAI sab nraud. Qhov qis dua 32K yog siv los cawm CODE, thiab microcontroller tuaj yeem nyeem thiab khiav cov haujlwm hauv 32K no, thiab 32K siab dua yog siv los ua qhov chaw khaws cia rau cov neeg siv cov ntaub ntawv. Tab sis lub sijhawm no, lub sijhawm qub kev ywj pheej ntawm CODE thiab DATA chaw, vim tias MEMORY sib koom ntawm kho vajtse nti, lawv yuav cuam tshuam rau ib leeg, thiab qhov program rov tuaj yeem rov ua qhov program rov qab los ntawm nws tus kheej. Piv txwv li, 0x0020 yog kev qhia, thiab kuv sau rov qab 0x0020 los ntawm MOVX, tom qab ntawd siv MOVC nyeem tawm 0x0020, thiab cov ntaub ntawv nws txawv ntawm thawj.
Lub caij muaj kev kub ntxhov tsis sib haum yog tias qhov chaw cia ntawm cov khoom siv ib leeg microcomputer yog lub tswvyim kev xav, uas yog ob qho chaw sib cais uas tau faib dag. MEMORY nti nyob rau ntawm qhov kho vajtse Circuit Court yog lub tswvyim hauv kev muaj tiag. Qhov chaw khaws cia ntawm ib leeg-micro micropputer yuav kawg rau kev siv ntawm cov nti ntawm qib Circuit Court, yog li lub laj thawj qhov chaw yuav sib tshooj vim qhov sib txuas ntawm lub cev. Tab sis ntawm theem tsim nyog, ob qhov chaw no tseem ua ywj siab.
Txuas: Cov Lus Txhais ntawm ntau qhov chaw khaws cia npe:
Cov Ntaub Ntawv: ruaj ruaj xa mus rau 128 RAMs ntawm 0x00-0x7f rau sab pem hauv ntej, uas tuaj yeem nyeem ncaj qha thiab sau los ntawm kev sau npe, ceev tshaj plaws thiab tsawg tshaj plaws tsim code.
Idata: fixedly yog hais txog 256 RAMs ntawm 0x00-0xff nyob rau hauv pem hauv ntej, ntawm uas thawj 128 yog zoo ib yam nkaus li 128 ntawm cov ntaub ntawv, tsuas yog vim cov kev nkag mus sib txawv. idata tau nkag mus siv tus pointer zoo ib yam li C. Cov lus hauv lub rooj sib txoos yog: mov ACC, @ Rx. (tsis muaj qhov tseem ceeb ntxiv: idata hauv c muaj cov txiaj ntsig zoo rau kev siv tau) xdata: sab nraud txuas RAM, feem ntau hais txog sab nraud 0x0000-0xffff chaw, uas nkag los ntawm DPTR. pdata: qis dua 256 bytes ntawm sab nraud ncua RAM, nyeem thiab sau thaum qhov chaw nyob tshwm ntawm A0-A7, siv movx ACC, @Rx nyeem thiab sau. Qhov no yog qhov tshwj xeeb heev, thiab C51 zoo li muaj cov kab no, nws raug nquahu kom siv qis dua. Tab sis kuj muaj nws qhov zoo. Kev siv tshwj xeeb yog ib qho teeb meem nruab nrab, Kuv tsis txhob paub siv nws, yog li kuv yeej' t hais nws ntawm no.








