Tổ chức bộ nhớ

Một phần của tài liệu [Khóa luận]thiết kế hệ thống thước đo tuyến tính (Trang 25 - 31)

2. Cho điểm của cỏn bộ chấm phản biện (điểm ghi bằng số và chữ).

1.2.5.Tổ chức bộ nhớ

Pic16F877A cú 3 khối bộ nhớ: Bộ nhớ chương trỡnh Flash, bộ nhớ dữ liệu RAM, bộ nhớ EEPROM.

1.2.5.1. Tổ chức bộ nhớ chương trỡnh Flash.

Vi điều khiển Pic16F877A cú bộ nhớ chương trỡnh 13 bit và cú 8Kx14 từ mó của bộ nhớ chương trỡnh Flash, được chia thành 4 trang mỗi trang 2Kx14 từ mó.

Khi Reset địa chỉ bắt đầu thực hiện chạy là 0000h, vector ngắt bắt đầu từ 0004h.

Stack cú 8 mức dựng để lưu địa chỉ lệnh thực hiện tiếp theo sau lệnh CALL và khi xẩy ra ngắt. Xem hỡnh 1.3.

Sinh viờn: Nguyễn Thị Phương Thảo_ĐT901

25 0000H 0004H 0005H 07FFH 0800H 0FFFH 17FFH 1800H 1FFFH PC<12:0> Stack level 1 Stack level 2 Stack level 8 Stack level 8 Reset vector Interput vecto Page0 Page1 Page2 Page3

Đồ Án Tốt Nghiệp Thiết Kế Hệ Thống Thước Đo Tuyến Tớnh

===================================================================

Hỡnh 1.3. Bản đồ bộ nhớ chương trỡnh và cỏc ngăn xếp.

1.2.5.2. Tổ chức bộ nhớ dữ liệu RAM.

RAM là bộ nhớ cú thể đọc/ghi, nú khụng lưu dữ liệu khi mất điện, bộ nhớ RAM của Pic16F877A cú 4 Bank, mỗi Bank cú dải địa chỉ 0-7FH (128 byte)

0000H 0004H 0005H 07FFH 0800H 0FFFH 17FFH 1800H 1FFFH On_chip Program memmory Reset vector Interput vecto Page0 Page1 Page2 Page3

trờn cỏc Bank những thanh ghi đa mục đớch, nú hoạt động như một RAM tĩnh và những thanh ghi chức năng đặc biệt ở vựng địa chỉ thấp.

Cỏc Thanh ghi đa mục đớch (General Purpose Register), cỏc thanh ghi này được truy cập bằng cả hai cỏch trực tiếp hoặc giỏn tiếp qua thanh ghi FSR, tổng cộng cú 368 bytes.

Cỏc thanh ghi chức năng đặc biệt: cỏc thanh ghi này được dựng bởi CPU và cỏc khối ngoại vi để điều khiển sự hoạt động theo yờu cầu của thiết bị. Cỏc thanh ghi này cú thể phõn loại vào bộ phận trung tõm (CPU) và ngoại vi.

Cỏc thanh ghi trạng thỏi STATUS: cú 4 thanh ghi trạng thỏi trờn 4 dóy, tại cỏc địa chỉ 03h, 83h, 103h, 108h. Cỏc thanh này cho biết trạng thỏi của phần tử logic toỏn học ALU, trạng thỏi Reset, trạng thỏi của cỏc bớt lựa chọn dóy thanh ghi cho bộ nhớ dữ liệu.

Hỡnh 1.4. Hỡnh ảnh cỏc Bank.

Thanh ghi trạng thỏi cú thể là kết quả của một số lệnh như là với một số thanh ghi khỏc. Nếu thanh ghi trạng thỏi là kết quả bởi một lệnh mà tỏc động đến cỏc bớt Z, DC, C thỡ việc ghi vào cỏc bit này là khụng thể.

Cỏc thanh ghi lựa chọn OPTION_REG: cú hai thanh ghi lựa chọn tại cỏc địa chỉ 81h và 181h, cỏc thanh ghi này cú thể đọc hoặc ghi, nú chứa đựng nhiều bit điều khiển khỏc nhau để xỏc định hệ số định trước TMR0, hệ số định sau WDT, ngắt ngoài INT, TMR0, cỏc điện ỏp treo cổng B.

Cỏc thanh ghi INTCON: cú 4 thanh ghi INTCON tại địa chỉ 0Bh, 8Bh, 10Bh, 18Bh, cỏc thanh ghi này cú thể đọc và ghi, nú chứa đựng nhiều sự cho phộp và cỏc bit cờ cho việc tràn thanh ghi TMR0, cỏc ngắt thay đổi cổng RB và chõn ngắt ngoài RB0/INT.

Thanh ghi PIE1: tại địa chỉ 8Ch chứa đựng cỏc bit cho phộp riờng lẻ cho cỏc ngắt ngoại vi CCP2, ngắt xung đột tuyến SSP và EEPROM ghi cỏc hoạt động ngắt.

Thanh ghi PCON (Power Control): chứa bit cờ cho phộp phõn biệt giữa việc Reset hệ thống (POR) để Reset MCLR ngoại với Reset WDT.

Hỡnh 1.5. Hỡnh ảnh nạp PCLATH tới PC.

PLC và PCLATH: chương trỡnh đếm chỉ rừ địa chỉ của lệnh tiếp theo được thực hiện. PC cú độ rộng 13 bit, byte thấp được gọi là thanh ghi PLC, thanh ghi này cú thể đọc hoặc ghi toàn bộ sự cập nhật của nú thụng qua thanh ghi PCLATH.

1.2.5.3 Bộ nhớ dữ liệu EEPROM.

Cỏc bộ nhớ này cú thể đọc và ghi trong khi cỏc hoạt động vẫn diễn ra một cỏch bỡnh thường. Bộ nhớ dữ liệu khụng trực tiếp sắp xếp dữ liệu trờn cỏc thanh

ghi dữ liệu cũn trống. Thay vỡ đú là ghi cỏc địa chỉ giỏn tiếp qua cỏc thanh ghi chức năng đặc biệt. Cú 6 thanh ghi SFR dựng để đọc và ghi bộ nhớ chương trỡnh và bộ nhớ dữ liệu EEPROM đú là cỏc thanh ghi:

EECON 1 EEDATH EECON 2 EEADR EEDATA EEADRH

Bộ nhớ dữ liệu EEPROM cho phộp đọc và ghi cỏc byte. Khi cú tỏc động tới khối bộ nhớ dữ liệu. Thanh ghi EEDATA giữ 8 bớt dữ liệu để đọc/ghi và thanh ghi EEADR giữ địa chỉ vị trớ của EEPROM được truy cập. Cỏc thanh ghi EEDATH và EEADRH khụng được sử dụng để truy cập dữ liệu EEPROM. Cỏc thiết bị này cú tới 256 byte của dữ liệu EEPROM với địa chỉ từ 00h tới FFh.

Bộ nhớ chương trỡnh cho phộp đọc và ghi cỏc ký tự. Khi tỏc động đến khối chương trỡnh nhớ, cỏc thanh ghi EEDATH, EEDATA cú dạng 2 byte ký tự giữa 14 bit dữ liệu để đọc/ghi và cỏc thanh ghi EEADRH, EEADR cú dạng hai bit từ mó với 13 bit địa chỉ của vị trớ EEPROM được truy cập. Nhưng thiết bị này cú thể cú tới 8K từ mó của chương trỡnh EEPROM với một địa chỉ giới hạn từ 0h tới 3FFh. (adsbygoogle = window.adsbygoogle || []).push({});

Thanh ghi địa chỉ cú thể đỏnh địa chỉ lớn nhất là 256 byte của dữ liệu EEPROM hoặc lớn nhất là 8K ký tự của chương trỡnh FLASH. Khi lựa chọn giỏ trị một địa chỉ được ghi tới thanh ghi EEADR.

Cỏc thanh ghi EECON1 và EECON2:

EECON1 là thanh ghi điều khiển cho việc nhập dữ liệu bộ nhớ.

EECON2 khụng phải là thanh ghi vật lý. Khi đọc thanh ghi EECON2 sẽ đọc toàn bộ là 0. Thanh ghi EECON2 được sử dụng dành riờng cho việc ghi một cỏch trỡnh tự vào bộ nhớ.

Bit điều khiển EEPGD xỏc định nếu việc nhập dữ liệu sẽ là nhập một chương trỡnh hoặc nhập một bộ nhớ dữ liệu. Khi xoỏ, một số hoạt động tiếp theo sẽ hoạt động trờn bộ nhớ dữ liệu. Khi đặt, một số hoạt động tiếp theo sẽ hoạt động trờn bộ chương trỡnh.

Cỏc bớt điều khiển RD và RW kớch hoạt cỏc hoạt động đọc và ghi theo thứ tự. Trong phần mềm những bit này khụng thể bị xoỏ, chỉ được đặt. Chỳng bị xoỏ trong phần cứng khi mà hoạt động ghi/đọc được hoàn thành. Việc khụng thể xoỏ bit RW trong phần mềm ngăn ngừa sự kết thỳc bất ngờ hoặc kết thỳc sớm của hoạt động ghi.

Một phần của tài liệu [Khóa luận]thiết kế hệ thống thước đo tuyến tính (Trang 25 - 31)