TỔ CHỨC BỘ NHỚ CỦA PIC16F877A

Một phần của tài liệu đồ án tốt nghiệp ứng dụng vi điều khiển pic trong đếm sản phẩm (Trang 34 - 40)

PIC16F877A cĩ bộ nhớ chương trình và bộ nhớ dữ liệu cĩ đường truyền độc lập nhau cho nên việc đồng thời truyền dữ liệu cĩ thể thực hiện được.

PIC16F877A cĩ 13 bit đếm chương trình chứa địa chỉ và bộ nhớ chương trình cĩ 8Kword x 14bit.

1. Tổ chức bộ nhớ chương trình và stack:

Hình 1.25: Tổ chức bộ nhớ chương trình PIC 16F877A

Hình 1.26: Tổ chức bộ nhớ dữ liệu PIC16F877A

Bộ nhớ dữ liệu được chia thành nhiều bank (4 bank) gồm các thanh ghi chức năng đặc biệt. Mỗi bank dài đến 7Fh tương ứng với độ lớn 128 byte. Các bit ở vị trí thấp của mối bank dùng để chứa các thanh ghi đặc biệt.SFR (Special Function Register). Đầu thanh ghi đặc biệt là vùng thanh ghi đa mục đích.

Thanh ghi chức năng đặc biệt và hoạt động của chúng:

Thanh ghi chức năng đặc biệt (SFR) dùng cho CPU và các modul ngoại vi, để kiểm sốt hoạt động của thiết bị theo yêu cầu. Các thanh ghi đặc biệt này được thực thi như là RAM.

Thanh ghi chức năng đặc biệt được chia làm hai phần: Phần trung tâm và phần ngoại vi.

a. Thanh ghi STATUS: (địa chỉ bộ nhớ 03h, 83h, 103h và 183h)

Thanh ghi STATUS bao gồm trạng thái số của ALU, trạng thái Reset và các bit chọn bank cho bộ nhớ dữ liệu.

Thanh ghi STATUS cĩ thể là đích tới cho bất cứ chỉ thị nào như các thanh ghi khác.

Hình 5: Thanh ghi STATUS -Bit IRP: bit dùng để chọn bank (chọn gián tiếp)

0: chọn bank 2, 3 1: chọn bank 0, 1

-Bit RP1, RP0: bit dùng để chọn bank (chọn trực tiếp) 00: chọn bank 0

01: chọn bank 1 10: chọn bank 2 11: chọn bank 3

-Bit TO ( time out bit) :cờ báo tràn bộ WDT 1: khơng xảy ra tràn

-Bit PD (Power-down) 1: sau khi bật nguồn

0: khi kích hoạt lệnh SLEEP -Bit Z : cờ zero

1: kết quả bằng 0 0: kết quả bằng 1 -Bit DC (Digit Carry): -Bit C(Carry)

b.Thanh ghi OPTION_REG (địa chỉ bộ nhớ 81h và 181h)

Hình 1.27: Thanh ghi OPTION_REG

-Bit RBPU (Portb pull-up Enable bit) 1 : cho phép điện trở kéo lên ở portb; 0: khơng cho phép điện trở kéo lên

-Bit INTEDG (Interrupt Edge Select Bit): Nếu ngắt ngồi được cho phép, thì bit này xác định ngắt sẽ xảy ra khi tín hiệu ở chân RB0/INT là ở sườn lên hay sườn xuống

1 : sườn lên 0 : sườn xuống

-Bit TOCS (TMR0 Clock Source Select bit ) : bit này cho cho phép bộ định thời tăng giá trị hoặc là từ dao động nội, hoặc là từ dao động ngồi trên chân RA4/TOCKI

1: dao động ngồi 0: dao động nội

-Bit TOSE (TMR0 Source Edge Select bit) : bít này cho phép tín hiệu trên chân RA4/TOCKI tác động vào bộ định thời ở sườn lên hay sườn xuống

1: sườn xuống 0: sườn lên

-Bit PSA (Prescaler Assigment bit): bit này qui định bộ chia tần được gán cho bộ định thời(TMR0) hay bộ watch dog (WDT)

1: gán cho bộ WDT 0: gán cho bộ TMR0 (adsbygoogle = window.adsbygoogle || []).push({});

-Bit PS0, PS1, PS2 (Prescaler Rate Select bit) ba bit này xác định hệ số của bộ chia tần,các tỉ số này như sau:

c. Thanh ghi điều khiển hoạt động ngắt INTCON (địa chỉ bộ nhớ 0Bh, 8Bh, 10Bh và 18Bh)

Hình 1.28: Thanh ghi INTCON

-Bit GIE (global interrupt enable bit): Bit cho phép hay khơng cho phép ngắt tồn cục

1 : cho phép tất cả các ngắt 0 : cấm tất cả các ngắt

-Bit PEIE (Peripheral Interrupt Enable bit) : bit cho phép ngắt ngồi. 1 : cho phép tất cả các ngắt ngồi

0 : cấm tất cả các ngắt ngồi

-Bit TMR0IE (TMR0 Overflow Interrupt Enable): bit này cho phép ngắt khi tràn bộ định thời

0 : cấm ngắt

-Bit INTE (INT External Interrupt Enable): bit cho phép ngắt ngồi trên chân RB0/INT

1 : cho phép ngắt 0 : cấm ngắt

-Bit RBIE (RB Port Change Interrupt Enable): bit cho phép ngắt khi cĩ sự thay đổi trên portb

1 : cho phép ngắt 0 : cấm ngắt

-Bit TMR0IF (TMR0 Overflow Interrupt Flag): cờ ngắt khi tràn bộ định thời 1 : tràn bộ định thời

0 : chưa xảy ra tràn

-Bit INTF (INT External Interrupt Flag): cờ báo hiệu khi cĩ ngắt ngồi 1 : cĩ ngắt ngồi xảy ra

0 : khơng cĩ ngắt ngồi

-Bit RBIF (RB Port Change Interrupt Flag): cờ báo hiệu cĩ sự thay đổi trạng thái trên portb

1 : cĩ thay đổi

0 : khơng cĩ sự thay đổi

Một phần của tài liệu đồ án tốt nghiệp ứng dụng vi điều khiển pic trong đếm sản phẩm (Trang 34 - 40)