Iba't ibang Mga Uri ng Rehistro na ginamit sa 8051 Microcontroller

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema





Ang rehistro ang pangunahing bahagi ng mga microcontroller at processor na nagbibigay ng isang mabilis na paraan upang mangolekta at mag-imbak ng data. Kung nais naming manipulahin ang data sa isang controller o processor sa pamamagitan ng pagsasagawa ng karagdagan, pagbabawas, at iba pa, hindi namin iyon maaaring direktang gawin sa memorya, ngunit kailangan nito ng mga pagrehistro upang maproseso at maiimbak ang data. Naglalaman ang mga microcontroller ng maraming uri ng mga rehistro na maaaring maiuri ayon sa kanilang nilalaman o mga tagubilin na nagpapatakbo sa kanila.

Iba't ibang Mga Uri ng Rehistro sa 8051 Microcontroller

Magparehistro




Ang isang rehistro ay isang maliit na lugar sa isang CPU na maaaring mag-imbak ng maliit na halaga ng data na ginamit para sa pagsasagawa ng iba't ibang mga operasyon tulad ng pagdaragdag at pagpaparami at naglo-load ng nagresultang data sa pangunahing memorya. Naglalaman ang mga rehistro ng address ng lokasyon ng memorya kung saan itatago ang data. Ang laki ng rehistro ay napakahalaga para sa modernong mga kumokontrol . Halimbawa, para sa isang 64-bit na pagrehistro, sinusubukan ng isang CPU na magdagdag ng dalawang mga 32-bit na numero at nagbibigay ng isang 64-bit na resulta.

Mga Uri ng Rehistro

Ang 8051 microcontroller ay naglalaman ng pangunahin sa dalawang uri ng rehistro:



  • Mga rehistro para sa pangkalahatang layunin (Maipapakita ang mga rehistro sa Byte)
  • Mga espesyal na pagrehistro ng pag-andar (Mga bit address na maaaring address)
8051 RAM Memory

8051 RAM Memory

Ang 8051 microcontroller binubuo ng 256 bytes ng RAM, na nahahati sa dalawang paraan, tulad ng 128 bytes para sa pangkalahatang layunin at 128 bytes para sa memorya ng mga espesyal na pag-andar (SFR). Ang memorya na ginagamit para sa pangkalahatang layunin ay tinawag bilang RAM, at ang memorya na ginamit para sa SFR ay naglalaman ng lahat ng mga peripheral na nauugnay na rehistro tulad ng Accumulator, rehistro ng 'B', Timers o Counters, at makagambala na nauugnay na mga rehistro.

Pangkalahatang Mga Rehistro sa Layunin

Memorya ng Pangkalahatang Pakay

Memorya ng Pangkalahatang Pakay

Ang memorya ng pangkalahatang-layunin ay tinawag bilang RAM ng 8051 microcontrollers, na nahahati sa 3 mga lugar tulad ng mga bangko, bit na madaling tugunan na lugar, at lugar ng gasgas. Naglalaman ang mga bangko ng magkakaibang mga rehistro ng pangkalahatang layunin tulad ng R0-R7, at lahat ng mga naturang rehistro ay byte-addressable na mga rehistro na nag-iimbak o nag-aalis lamang ng 1-byte ng data.


Mga Bangko at Rehistro

Ang B0, B1, B2, at B3 ay nangangahulugang para sa mga bangko, at ang bawat bangko ay naglalaman ng walong mga rehistradong pangkalahatang layunin mula sa 'R0' hanggang 'R7'. Ang lahat ng mga pagrehistro ay byte-addressable. Ang paglilipat ng data sa pagitan ng mga rehistro ng pangkalahatang layunin ay hindi posible. Ang mga bangko na ito ay pinili ng rehistro ng Status ng Salita ng Program (PSW).

Pangkalahatang Mga Rehistro sa Layunin

Pangkalahatang Mga Rehistro sa Layunin

Pagrehistro ng PSW (Program Status Word)

Ang rehistro ng PSW ay kaunti at byte-addressable register. Ang rehistro na ito ay sumasalamin sa katayuan ng pagpapatakbo na isinasagawa sa controller. Tinutukoy ng rehistro ng PSW ang pagpili ng bangko ng isang RS1 at RS0, tulad ng ipinakita sa ibaba. Ang pisikal na address ng PSW ay nagsisimula mula sa D0h at ang mga indibidwal na piraso ay na-access sa D0h hanggang D7h.

Mga Rehistro ng PSW

Mga Rehistro ng PSW

Magdala ng Bandila (C) : Ang Address ng watawat ng Carry ay D7. Ang pagdadala ng watawat na ito ay apektado kapag ang bit ay nabuo mula sa ika-7 posisyon.
Kapag ang C = 0 ay nagdadala ng pag-reset
C = 1 bitbit na mga set

Magdala ng Bandila

Magdala ng Bandila

Bandila ng Auxillary (AC) : Ang address ng pagdadala ng pantulong ay D5. Ang pandiwang pantulong na ito ay apektado kapag medyo nalikha mula sa ika-3 posisyon hanggang sa ika-4 na posisyon.
Ang AC = 0 na auxiliary ay na-reset
Ang AC = 1 na auxiliary ay nakatakda

Auxiliary Carry (AC)

Auxiliary Carry (AC)

Overflow Flag (OV) : Ang address ng overflow flag ay D2. Kapag ang isang bit ay nabuo mula sa ika-6 na posisyon hanggang sa ika-7 na posisyon, pagkatapos ay maapektuhan ang overflow flag.

Ang OV = 0 ay nag-reset muli ng overflow flag
OV = 1 mga overflow na hanay ng flag

Overflow Flag

Overflow Flag

Bandila ng Parity (P) : Ang address ng parity flag ay D0. Habang nagsasagawa ng mga pagpapatakbo ng arithmetic, kung ang resulta ay 1, pagkatapos ay nakatakda ang bandila ng pagkakapareho - kung hindi man, i-reset.
Ang RS1 at RS0
Ang RS1 at RS0, ang mga piraso sa rehistro ng PSW, ay ginagamit upang pumili ng iba't ibang mga lokasyon ng memorya (bank0 hanggang bank4) sa RAM.

Mga Rehistro sa pagpili ng bangko

Mga Rehistro sa pagpili ng bangko

Ang sumusunod ay isang halimbawa ng paggamit ng rehistro na ito.

Ang sumusunod na halimbawa ay nagpapakita ng pagdaragdag ng dalawang numero at pagkatapos ay ang pag-iimbak ng pangwakas na halaga sa rehistro ng Bank1 gamit ang isang programa sa antas ng pagpupulong.

Org 0000h
MOV PSW, # 00h
MOV A, 15
ADD A, 20
MOV 00h, A
WAKAS

Ang programa sa Assembly upang ilipat ang 6 natural na mga numero sa bank0 register R0-R5

Org 0000h (panimulang mga deklarasyon ng mga address)
MOV PSW, # 00h (buksan ang memorya ng bank0)
MOV r0, # 00h (panimulang address ng memorya ng bank0)
MOV r1, # 01h
MOV r2, # 02h
MOV r2, # 03h
MOV r3, # 04h
MOV r4, # 05h
WAKAS

Ang programa ng Assembly upang ilipat ang 6 na natural na numero sa rehistro ng bank1 na R0-R7

Org 0000h (panimulang mga deklarasyon ng mga address)
MOV PSW, # 08h (buksan ang memorya ng bank1)
MOV r0, 00h (halagang ipadala sa memorya ng bank1)
MOV r1, 02h
MOV r2, 02h
MOV r2, 03h
MOV r3, 04h
MOV r4, 05h
MOV r5, 06h
MOV r6, 07h
MOV r7, 08h
WAKAS

Mga Espesyal na Pagrehistro ng Pag-andar (SFR)

Ang mga espesyal na pagrehistro ng pag-andar ay nasa itaas na RAM sa 8051 microcontrollers . Naglalaman ang mga rehistro ng lahat ng mga rehistro na nauugnay sa paligid tulad ng P0, P1, P2, P3, mga timer o counter, serial port, at mga rehistro na nauugnay sa mga nakakagambala. Ang address ng memorya ng SFR ay nagsisimula mula 80h hanggang FFh. Ang rehistro ng SFR ay ipinatupad ng mga rehistro ng bit-address at mga rehistro ng byte-address.

Mga Espesyal na Pagrehistro ng Pag-andar (SFR)


Mga Espesyal na Pagrehistro ng Pag-andar (SFR)

Ang nagtitipon, rehistro ng B, Po, P1, P2, P3, mga rehistro ng IE ay bit-addressable register na natitira lahat ay byte-addressable registro.

Accumulator

Ang nagtitipon na kilala rin bilang ACC o A ay medyo pati na rin isang byte-addressable na rehistro ng isang address ng nagtitipon. Kung nais mong gumamit ng isang bit-addressable register, maaari mong gamitin ang isang solong (E0) ng rehistro at maaari mong gamitin ang isang 8-bit ng nagtitipon bilang isang byte-addressable register. Humahawak ang nagtitipid ng mga resulta ng karamihan sa Arithmetic at lohikal na operasyon.

Magrehistro ng accumulator

Magrehistro ng accumulator

Ang programa ng Assembly para sa pagbabawas na ginamit sa isang Accumulator

Org 0000h
MOV R0, # 09h
MOV A, # 03h (1byte data)
SUBB A, 01h (1byte data)
WAKAS

B-Magrehistro

Ang B-register ay medyo at byte-addressable register. Maaari mong ma-access ang 1-bit o lahat ng 8-bit sa pamamagitan ng isang pisikal na address F0h. Ipagpalagay na mag-access ng isang maliit na 1, kailangan nating gumamit ng f1. Ang rehistro ng B ay ginagamit lamang para sa pagpapatakbo ng pagdami at paghahati.

B-Magrehistro

B-Magrehistro

Ang programa ng Assembly para sa pagpaparami na ginamit sa isang B-Rehistro

Org 0000h
MOV A, # 09h
MOV B, # 03h
MUL A, B (Pangwakas na halaga na nakaimbak sa A)
WAKAS
Ang programa ng Assembly para sa Division na ginamit sa isang B-Rehistro
Org 0000h
MOV A, # 09h
MOV B, # 03h
DIC A, B (Pangwakas na halaga na nakaimbak sa A)
WAKAS

Mga Rehistro sa Port

Ang 8051 microcontroller ay binubuo ng 4-input at output port (P0, P1, P2, at P3) o 32-I / O pin. Ang bawat pin ay dinisenyo gamit ang isang transistor at P rehistro. Ang pagsasaayos ng pin Napakahalaga para sa isang microcontroller na nakasalalay sa mga estado ng lohika ng mga rehistro. Ang pagsasaayos ng pin bilang input na ibinigay ng 1 o output 0 ay nakasalalay sa mga estado ng lohika. Kung ang lohika 1 ay inilapat sa kaunting rehistro ng P, ang output transistor ay papatayin ang naaangkop na pin na kumikilos bilang isang input pin.

Mga Rehistro sa Port ng 8051

Mga Rehistro sa Port ng 8051

Ang programa ng Assembly upang i-toggle ang mga LED ng Port0

ORG 0000h
PAGBABALIK: MOV P0, # 00h
ACALL DEL1
MOV P0, # 0FF
ACALL DEL1
Bumalik ang SJMP
DEL1: MOV R2, # 200
FR: DJNZ R0, # 230
DJNZ R2, DEL
TAMA
WAKAS

Mga counter at rehistro

Maraming mga microcontroller ay binubuo ng isa o higit pa timer at counter . Ginagamit ang mga timer upang makabuo ng mahalagang pagkaantala ng oras at ang mapagkukunan para sa mga timer ay isang kristal oscillator. Ginagamit ang mga counter upang mabilang ang bilang ng mga panlabas na kaganapan - halimbawa, ang layunin counter , at ang mapagkukunan para sa mga counter ay panlabas na pulso na inilapat sa counter pin.

Ang 8051 microcontroller ay binubuo ng dalawang 16-bit timer at counter tulad ng timer 0 at timer 1. Parehong ang mga timer ay binubuo ng isang 16-bit register kung saan ang mas mababang byte ay nakaimbak sa TL at ang mas mataas na byte ay nakaimbak sa TH. Ang Timer ay maaaring magamit bilang isang counter pati na rin para sa pagpapatakbo ng tiyempo na nakasalalay sa pinagmulan ng mga pulso ng orasan sa mga counter.

Ang Mga Counter at Timer sa 8051 microcontrollers ay naglalaman ng dalawang espesyal na pagrehistro ng pagpapaandar: TMOD (Timer Mode register) at TCON (Timer Control Register) , na ginagamit para sa pag-aktibo at pag-configure ng mga timer at counter.

Mga uri ng Shift Rehistro

Ang mga rehistro ng shift ay isang uri ng sunud-sunod na mga circuit ng lohika na pangunahing ginagamit para sa pag-iimbak ng digital na data. Ang mga rehistro sa paglilipat ay mga bit-address na rehistro na nag-iimbak lamang ng kaunting data. Ang mga rehistro ng paglilipat ay itinayo na may mga flip-flop - isang pangkat ng mga flip-flop na konektado bilang isang kadena upang ang output mula sa isang flip-flop ay magiging input ng susunod na flip-flop.

Ang lahat ng mga flip-flop ay hinihimok ng mga signal ng orasan na ipinatupad ng D-flip-flap. Pangunahing ginagamit ang mga rehistro sa paglilipat serial komunikasyon .

Ang mga ito ay inuri sa 4 na uri:

  • Serial in Serial out (SISO)
  • Serial in Parallel Out (SIPO)
  • Parallel in Serial out (PISO)
  • Parallel in Parallel Out (PIPO)
D- flipflop magparehistro

D- flipflop magparehistro

Ito ang lahat ng magkakaibang uri ng pagrehistro sa isang 8051 microcontroller. Inaasahan namin na matagumpay naming naibigay sa iyo ang may-katuturang nilalaman na may naaangkop na programa para sa bawat rehistro. Bukod dito, para sa anumang uri ng tulong upang malaman ang pag-coding ng maraming iba pang mga pagrehistro, maaari kang makipag-ugnay sa amin sa pamamagitan ng pagkomento sa ibaba.

Mga Kredito sa Larawan: