2.1.2.2. Bộ nhớ dữ liệu.
a.Bộ nhớ dữ liệu trên chip.
AT89S52 cĩ 256 bytes Ram nh− baỷng 2.1 ủửụùc phãn chia nhử sau:
- Caực bank thanh ghi coự ủũa chổ tửứ 00H ủeỏn 1FH.
32 byte thaỏp cuỷa boọ nhụự noọi ủửụùc daứnh cho caực bank thanh ghi. Boọ leọnh AT89S52 hoồ trụù 8 thanh ghi coự tẽn laứ R0 -R7 vaứ theo maởc ủũnh sau khi reset heọ thoỏng, caực thanh ghi naứy coự caực ủũa chổ tửứ 00H - 07H.
Caực leọnh duứng caực thanh ghi RO - R7 seừ ngaộn hụn vaứ nhanh hụn so vụựi caực leọnh coự chửực naờng tửụng ửựng duứng kieồu ủũa chổ trửùc tieỏp. Caực dửừ lieọu ủửụùc duứng thửụứng xuyẽn nẽn duứng moọt trong caực thanh ghi naứy.
Do coự 4 bank thanh ghi nẽn tái moọt thụứi ủieồm chổ coự moọt bank thanh ghi ủửụùc truy xuaỏt bụỷi caực thanh ghi RO - R7 ủeồà chuyeồn ủoồi vieọc truy xuaỏt caực bank thanh ghi ta phaỷi thay ủoồi caực bit chón bank trong thanh ghi tráng thaựi.
- RAM ủũa chổ hoựa tửứng bit coự ủũa chổ tửứ 20H ủeỏn 2FH.
AT89S52 coự 128 bit coự chửựa caực byte ủũnh ủũa chổ theo bit tửứ 20H ủeỏn 2FH.
Ý tửụỷng truy xuaỏt tửứng bit baống phần mềm laứ caực ủaờởc tớnh mánh cuỷa caực boọ vi ủiều khieồn noựi chung. Caực bit coự theồ ủửụùc ủaởt, xoựa, AND, OR, ... , vụựi 1 leọnh ủụn.
- RAM ủa dúng tửứ 30H ủeỏn FFH.
Bảng 2.1. Bộ nhớ dữ liệu trên chíp của AT89S52
FF
30
Vuứng RAM ủa dúng
2F 7F 7E 7D 7C 7B 7A 79 78 2E 77 76 75 74 73 72 71 70 2D 6F 6E 6D 6C 6B 6A 69 68 2C 67 66 65 64 63 62 61 60 2B 5F 5E 5D 5C 5B 5A 59 58 2A 57 56 55 54 53 52 51 50 29 4F 4E 4D 4C 4B 4A 49 48 28 47 46 45 44 43 42 41 40 27 3F 3E 3D 3C 3B 3A 39 38 26 37 36 35 34 33 32 31 30 25 2F 2E 2D 2C 2B 2A 29 28 24 27 26 25 24 23 22 21 20 23 1F 1E 1D 1C 1B 1A 19 18 22 17 16 15 14 13 12 11 10 21 0F 0E 0D 0C 0B 0A 09 08 20 07 06 05 04 03 02 01 00 1F Bank 3 18 17 Bank 2 10 0F Bank 1 08 07 Bank thanh ghi 0
00 (maởc ủũnh cho R0 -R7)
FF
80
Daứnh cho caực thanh ghi ủaởc bieọt (SFR)
b. Bộ nhớ dữ liệu ngồi.