Thanh ghi trạng thái(Status register)

Một phần của tài liệu Đề tài Kit thực tập PIC 16F877A (Trang 29 - 35)

CHƯƠNG I CẤU TRÚC PHẦN CỨNG CỦA 16F877A

1.4. Tổ chức bộ nhớ

1.4.3. Các thanh ghi chức năng đặc biệt

1.4.3.1. Thanh ghi trạng thái(Status register)

Thanh ghi trạng thái chứa các trạng thái số học của bộ ALU, trạng thái Reset và các bit chọn Bank của bộ nhớ dữ liệu.

Bit 7 IRP: Bit lựa chọn bank thanh ghi (Sử dụng cho định địa chỉ gián tiếp).

1 = Bank 2, 3 (100h – 1FFh ) 0 = Bank 0, 1 (00h – FFh)

Bit 6 – 5 RP1 – RP0: Bit lựa chọn bank thanh ghi (Dùng trong định điạ chỉ trực tiếp).

11 = Bank 3 ( 180h – 1FFh) 10 = Bank 2 (100h – 17Fh) 01 = Bank 1 (80h – FFh) 00 = Bank 0 (00h – 7Fh) Each bank is 128 bytes

Bit 4 TO: Bit báo hiệu hoạt động của WDT.

1: Lệnh xóa WDT hoặc Sleep xảy ra.

0: WDT hoạt động.

Bit 3 PD: Bit báo công suất thấp ( Power down bit).

1: Sau khi nguồn tăng hoặc có lệnh xóa WDT.

0: Thực thi lệnh Sleep.

Bit 2 Z: bit Zero

1: Khi kết quả của một phép toán bằng 0.

0: Khi kết quả của một phép toán khác 0.

Bit 1 DC: Digit Carry

1: Có một số nhớ được sinh ra bởi phép cộng hoặc phép trừ 4 bit thấp.

0: Không có số nhớ sinh ra.

Bit 0 C: cờ nhớ (Carry Flag)

1: Có một số nhớ sinh ra bởi phép cộng hoặc phép trừ.

0: Không có số nhớ sinh ra.

1.4.3.2 Thanh ghi tùy chọn (Option _Reg Register):

Thanh ghi tùy chọn chứa các bit điều khiển để cấu hình cho các chứa năng như:

ngắt ngoài, Timer 0 chức năng kéo lên Vdd của các chân Port B, và thời gian chờ của WDT

Bit 7 RBPU : Bit cho phép PORTB được kéo lên nguồn.

1: Không cho phép PORTB kéo lên nguồn.

0: Cho phép PORTB kéo lên nguồn.

Bit 6 INTEDG: Bit lựa chọn cạnh tác động ngắt (INTERRUPT EDGE) 1: Ngắt sẽ được tác động bởi cạnh lên của chân RB0/INT 0: Ngắt sẽ được tác động bởi cạnh xuống của chân RB0/INT Bit 5 T0CS: Bit lựa chọn nguồn xung Clock cho Timer 0

1: Xung Clock cung cấp bởi nguồn ngoài qua chân RA4/T0CKI 0: Xung Clock cung cấp bởi nguồn dao động nội.

Bit 4 T0SE: Bit lựa chọn cạnh nào của xung clock tác động lên timer 0 1: Cạnh xuống

0: Cạnh lên

Bit 3 PSA: Bit quyết định tốc độ đếm PS2:PS0 sẽ tác động lên Timer 0 hay WDT 1: Tốc độ đếm PS2:PS0 sẽ tác động lên WDT

0: Tốc độ đếm PS2:PS0 sẽ tác động lên Timer 0

Bit 2-0 PS2:PS0: Dùng để lựa chọn tốc độ đếm của timer hay WDT

Thời gian tràn WDT 18 ms 36ms 72ms 144ms 288ms 576ms 1.1s 2.2s

1.4.3.3 Thanh ghi điều khiển ngắt INTCON (Interrupt Control Register):

Bit 7 GIE: Bit cho phép ngắt toàn cục 1: Cho phép ngắt toàn cục 0: Không cho phép ngắt

Bit 6 PEIE: Bit cho phép ngắt khi ghi vào EEPROM hoàn tất.

1: Cho phép ngắt ghi vào EEPROM hoạt động

0: Không cho phép ngắt ghi vào EEPROM hoạt động

Bit 5 TMR0IE: Bit cho phép ngắt khi timer 0 tràn 1: Cho phép ngắt khi timer 0 tràn

0: Không cho phép ngắt khi timer 0 tràn

Bit 4 INTE: Bit cho phép ngắt ngoại vi trên chân RB0/INT 1: Cho phép ngắt ngoại vi

0: Không cho phép ngắt ngoại vi

Bit 3 RBIE: Cho phép ngắt khi trạng thái PORTB thay đổi

1: Cho phép

0: Không cho phép

Bit 2 TMR0IF: Cờ báo ngắt Timer 0 1: Timer 0 tràn

0: Timer 0 chưa tràn

Bit 1 INTF: Cờ báo ngắt ngoài RB0/INT 1: Có ngắt

0: Không xảy ra ngắt.

Bit 0 RBIF: Cờ báo ngắt khi có thay đổi trạng thái PORTB 1: Có thay đổi

0: Không có thay đổi xảy ra trên PORTB

1.4.3.4 Thanh ghi cho phép ngắt ngoại vi 1(PIE1 Register):

Chú ý: Bit PEIE (INTCON<6>) phải được set để cho phép bất kì ngắt ngọai vi nào xảy ra.

Bit 7 PSPIE: Bit cho phép ngắt đọc/ ghi Port song song

1: Cho phép

0: Không cho phép

Bit 6 ADIE: Bit cho phép ngắt chuyển đổi A/D

1: Cho phép

0: Không cho phép

Bit 5 RCIE: Bit cho phép ngắt nhận USART

1: Cho phép

0: Không cho phép

Bit 4 TXIE: Bit cho phép ngắt truyền USART

1: Cho phép

0: Không cho phép

Bit 3 SSPIE: Bit cho phép ngắt Port nối tiếp đồng bộ

1: Cho phép

0: Không cho phép

Bit 2 CCP1IE: Bit cho phép ngắt module CCP1 1: Cho phép ngắt

0: Không cho phép

Bit 1 TMR2IE: Bit cho phép ngắt xảy ra khi TMR2 bằng thanh ghi PR2

1: Cho phép

0: Không cho phép

Bit 0 TMR1IE: Bit cho phép ngắt tràn TMR1

1: Cho phép

0: Không cho phép

1.4.3.5 Thanh ghi cờ của các ngắt ngoại vi 1:

Bit 7 PSPIF: Cờ ngắt đọc/ ghi của Port song song

1: Một hoạt động đọc/ghi đã diễn ra (phải xóa bằng phần mềm) 0: Không có hoạt động đọc/ghi.

Bit 6 ADIF: Cờ báo ngắt chuyển đổi A/D

1: Một quá trình chuyển đổi A/D đã hoàn thành 0: Chuyển đổi A/D chưa hoàn tất

Bit 5 RCIF: Cờ báo ngắt nhận USART 1: Buffer nhận USART đầy 0: Buffer nhận USART trống.

Bit 4 TXIF: Cờ báo ngắt phát USART 1: Buffer truyền USART trống 0: Buffer truyền USART đầy

Bit 3 SSPIF: Cờ báo ngắt port nối tiếp đồng bộ (ngắt SSP)

1: Ngắt SSP xảy ra và phải được xóa bằng phần mềm trước khi trở lại chương trình chính từ chương trình phục vụ ngắt.

0: Không có ngắt xảy ra Bit 2 CCP1IF: Cờ báo ngắt CCP1

Chế độ Capture (Bắt giữ):

1: Một Capture thanh ghi TMR1 xảy ra( phải được xóa bằng phần mềm) 0: Không xảy ra Capture thanh ghi TMR1

Chế độ Compare ( So sánh):

1: Khi các giá trị so sánh trong thanh ghi TMR1 được thỏa ( phải được xóa bằng phần mềm)

0: Khi các giá trị so sánh trong thanh ghi TMR1 không được thỏa Chế độ PWM: Không sử dụng trong chế độ này

Bit 1 TMR2IF: Cờ báo ngắt xảy ra khi giá trị trong thanh ghi TMR2 bằng trong thanh ghi PR2

1: Giá trị trong thanh ghi TMR2 bằng thanh ghi PR2 (phải được xóa bằng phần mềm)

0: Giá trị trong thanh ghi TMR2 chưa bằng thanh ghi PR2 Bit 0 TMR1IF: Cờ báo tràn thanh ghi TMR1

1: Thanh ghi TMR1 tràn (phải được xóa bắng phần mềm) 0: Thanh ghi TMR1 chưa tràn

1.4.3.6 Thanh ghi cho phép ngắt ngoại vi 2:

Chú ý: Bit PEIE (INTCON<6>) phải được set để cho phép bất kì ngắt ngọai vi nào xảy ra.

Bit 7,5,2,1 Unimplemented : read as ‘0’

Bit 6 CMIE: Bit cho phép ngắt do bộ so sánh điện thế

1: Cho phép

0: Không cho phép

Bit 4 EEIE: Bit cho phép ngắt do ghi EEPROM

1: Cho phép

0: Không cho phép

Bit 3 BCLIE: Bit cho phép ngắt do xung đột bus

1: Cho phép

0: Không cho phép

Bit 0 CCP2IE: Cho phép ngắt module CCP2

1: Cho phép

0: Không cho phép

Một phần của tài liệu Đề tài Kit thực tập PIC 16F877A (Trang 29 - 35)

Tải bản đầy đủ (PDF)

(180 trang)