III. Các phương pháp điều chỉnh tốc độ động cơ điện một chiều :
2. VI ĐIỀU KHIỂN AT89C
2.4. Các thanh ghi chức năng (SFR-Special Funtion Reisters)
Reisters)
AT89C52 cĩ 26 thanh ghi chức năng được thiết kế như là một thành phần của RAM on-chip. Do đĩ mỗi thanh ghi cĩ một địa chỉ của nĩ, nằm trong vùng từ 80H đến FFH. Tuy nhiên, vùng này cũng là vùng bộ nhớ nên việc truy cập các thanh ghi này thơng qua các lệnh dùng định vị trực tiếp khác với việc truy cập vùng nhớ dùng định vị gián tiếp.
Chú ý là khơng phải tất cả các địa chỉ đều cĩ các thanh ghi, những địa chỉ khơng cĩ thanh ghi này cĩ thể khơng cĩ trên chip. Đọc những địa chỉ này sẽ cĩ những giá trị ngẫu nhiên và ghi những giá triï này cĩ những tác động khơng xác định trước.
Phần mềm của người dùng khơng nên ghi những giá trị 1 đến các vị trí này, bởi vì chúng cĩ thể được dùng trong tương lai. Trong trường hợp đĩ, giá trị của các bit luơn là 0.
Ngồi những thanh ghi tương tự 8051, AT89C52 cĩ thêm :
Các thanh ghi Timer 2 các bit điều khiển và trạng thái chứa trong thanh ghi T2CON và T2MOD cho Timer 2. Cặp thanh ghi RCAP2H và RCAP2L là những thanh ghi Capture/Reload trong chế độ capture 16 bit hay chế độ auto-reload 16 bit.
hiệu
TF2 Cờ tràn Timer 2, set khi Timer 2 tràn và phải được clear
bằng phần mềm. TF2 sẽ khơng set khi RCLK = 1 hoặc TCLK = 1.
EXF2 Cờ ngồi của Timer 2, set khi xảy ra capture hoặc reload
do T2EX xuống thấp và EXEN2 = 1. Nếu ngắt Timer 2 được kích hoạt, EXF2 = 1 sẽ làm CPU trỏ đến ISR của Timer 2. EXF2 phải được xĩa bằng phần mềm. EXF2 khơng gây nên ngắt trong chế độ đếm lên/xuống (DCEN = 1).
RCLK Kích hoạt xung clock bộ thu. Khi set, các xung tràn
Timer 2 sẽ là xung clock cho bộ thu port nối tiếp trong mode 1 và 3. RCLK = 0 thì bộ thu port nối tiếp sẽ dùng các xung tràn của Timer 1.
TCLK Kích hoạt xung clock bộ phát. Khi set, các xung tràn
Timer 2 sẽ là xung clock cho bộ phát port nối tiếp trong mode 1 và 3. TCLK = 0 thì bộ phát port nối tiếp sẽ dùng các xung tràn của Timer 1.
EXEN2 Kích hoạt bên ngồi. Khi set, cho phép capture hay reload khi T2EX xuống thấp (nếu Timer 2 khơng sử dụng cho port nối tiếp). EXEN2 = 0 làm cho Timer 2 bỏ qua các sự kiện trên T2EX.
TR2 Khởi động/Dừng Timer 2. TR2 = 1 làm khởi động Timer
2.
C/T2 Bit lựa chọn timer hay counter. C/T2 = 0 : timer. C/T2 =
1 : counter đếm sự kiện bên ngồi (kích cạnh xuống). CP/RL2 Lựa chọn capture hay reload. CP/RL2 = 1: capture xảy ra
khi T2EX xuống thấp nếu EXEN2 = 1. CP/RL2 = 0 : reload xảy ra khi Timer 2 tràn hoặc khi T2EX xuống thấp nếu EXEN2 = 1. Nếu TCLK hay RCLK = 1, bit này bị bỏ qua và timer bị ép vào chế độ reload khi Timer 2 tràn.
Các thanh ghi ngắt tập các bit riêng lẻ cho phép ngắt chứa trong thanh ghi IE. Thiết lập hai mức ưu tiên cho 6 nguồn ngắt bằng cách set các bit thanh ghi IP.