II.1 Các chế độ hoạt động
MC68HC11 cĩ 2 chế đợ hoạt động cơ bản: single-chip và mở rộng. Mỗi chế đợ hoạt động cĩ một biến thể bình thường và một biến thể đặt biệt. Cĩ 4 chế độ hoạt động khác nhau được lựa chọn bởi hai chân MODA và MODB trong lúc reset.
Ngõ vào Các bit điều khiển trong thanh ghi HPRIO (Chốt khi Reset) MODB MODA
Chế độ hoạt
động RBOOT SMOD MDA IRV
1 0 Single chip 0 0 0 0
1 1 Mở rộng 0 0 1 0
0 0 Boootstrap 1 0 0 1
0 1 Kiểm tra 0 0 1 1
II.1.1 Chế độ đơn chip (single-chip)
Do chế độ đơn chip khơng cần các chức năng bus dự liệu và địa chỉ bên ngồi nên các chân port B, port C, strobe A (STRA), strobe B (STRB) là cĩ sẽ cho xuất nhập song song. Trong chế độ này chương trình điều khiển MCU được chứa ở bộ nhớ trong.
II.1.2 Chế độ mở rộng (expanded)
Chế độ hoạt động này cho phép bộ nhớ và các thiết bị ngoại vi được truy xuất bởi một bus địa chỉ/ dữ liệu, port B và C được sử dụng cho việc giải mã địa chỉ và cung cấp bus mở rộng.
II.1.3 Chế độ Boostrap :
Máy tính chạy chương trình đặc biệt, gọi hệ điều hành, điều khiển vào ra, sử dụng bộ nhớ và chạy chương trình.
II.1.4 Chế độ kiểm tra đặc biệt
Đây là chế độ hoạt động đặc biệt chỉ dùng cho nhà sản xuất để kiểm tra sản phẩm. Nhưng ta cũng cĩ thể sử dụng chế độ này để giả lập và sửa lỗi.
II.2 Các thanh ghi điều khiển
II.2.1 Thanh ghi HPRIO ($103C)
Thanh ghi HPRIO là một thanh ghi 8 bit, 4 bit cao liên quan đến việc lựa chọn mode, 4 bit thấp thì khơng liên qua đến việc lựa chọn mode.
RBOOT SMOD MDA IRV PSEL3 PSEL2 PSEL1 PSEL0
RESET 0 0 0 0 0 1 1 0 Single-chip
0 0 1 0 0 1 1 0 Expanded
1 1 0 0 0 1 1 0 Bootsrap
0 1 1 1 0 1 1 0 Test
RBOOT- Read Bootrap ROM (chỉ cĩ nghĩa khi SMOD=1, khơng thể ghi lại
được sau khi xố).
! RBOOT = 0 khơng thể sử dụng ROM Bootstrap.
SMOD – Special Mode Select.
Cĩ thể xố SMOD bằng phần mềm, do đĩ cĩ thể chuyển xĩa SMOD để chuyển MCU từ chế độ special sang chế độ normal mà khơng cần phải reset lại. Khi đã xố SMOD thì khơng thể đặt lại được.
! SMOD = 0 : chế độ bình thường (normal).
! SMOD = 1 : chế độ đặc biệt (special).
MDA – Mode A select.
MDA phản ánh giá trị mức logic ở chân MODA khi reset. Cĩ thể xố MDA khi SMOD =1, khi SMOD =0 khơng thể ghi xố MDA, muốn thay đổi chế độ hoạt động phải reset lại MCU.
! MDA = 0 : chế độ Single – Chip hoặc Special Bootstrap.
! MDA = 1 : chế độ Expanded hoặc Special Test.
IRV – Internal Real Visibility.
Bit IRV cho phép hay cấm truy xuất dữ liệu trên data bus bên ngồi.
! IRV = 0 : cho phép truy xuất dữ liệu bên trong khi xuất hiện trên data bus bên ngồi.
! IRV = 1 : cho phép truy xuất dữ liệu lên data bus bên ngồi.
PSEL[3:0] – Priority Select 4 bit chọn ngắt cĩ chế độ ưu tiên cao nhất trong tất cả các ngắt che được.
II.2.2 Thanh ghi CONFIG ($103F)
Thanh ghi CONFIG là một byte EEPROM điều khiển cấu hình khi khởi động MCU. Nội dung thanh ghi CONFIG khơng thay đổi khi mất nguồn hay khi reset.
Khi lập trình lại thanh ghi CONFIG cấu hình của máy chỉ thay đổi ở lần reset kế tiếp.
Bit 7 6 5 4 3 2 1 Bit 0
NOSEC NOCOP ROMON EEON
Reset 0 0 0 0 0 0 0 1
Bit[7:4] – khơng sử dụng.
NOSEC – Security disable.
! NOSEC = 0 : cho phép chế độ bảo mật.
! NOSEC = 1 : cấm hệ thống bảo mật.
NOCOP – COP System Disable.
! NOSEC = 1 : cấm hệ thống COP.
ROMON – ROM Enable.
Cho phép hay cấm 12 Kbyte ROM bên trong MCU trong bản đồ bộ nhớ ở chế độ Expanded. Ở chế độ Single – Chip ROMON bị cưỡng bức bằng 1.
! ROMON = 0 : cấm 12 Kbyte ROM nội trong bản đồ bộ nhớ.
! ROMON = 1 : cho phép 12 Kbyte ROM nội trong bản đồ bộ nhớ.
EEON – EEPROM Enable.
Bit này cho phép hay cấm 512 byte EEPROM bên trong MCU.
! EE = 0 : cấm EEPROM trong bản đồ bộ nhớ.
! EEON =1 : cho phép EEPROM trong bản đồ bộ nhớ.
II.2.3 Thanh ghi INIT ($103D)
Thanh ghi này cho phép thay đổi địa chỉ của 512 byte RAM và khối 64 thanh ghi điều khiển trong bản đồ bộ nhớ.
64 Kbyte vùng nhớ của vi xử lý của MC68HC11 chia thành 16 trang, mỗi trang chiếm 4 Kbyte bộ nhớ. Khi lập trình chi thanh ghi INIT chúng ta cĩ thể đặt khối RAM và khối thanh ghi ở bất kỳ vùng nhớ nào.
Sau khi reset thanh ghi INIT cĩ giá trị bằng $01 và chỉ cĩ thề lập trình trong 64 chu kỳ E-clock đầu tiên sau khi reset.
Bit 7 6 5 4 3 2 1 Bit 0
RAM3 RAM2 RAM1 RAM0 REG3 REG2 REG1 REG0
Reset 0 0 0 0 0 0 0 1
INIT – RAM and I/Của Mapping Register.
! RAM[0:3] – Vị trí bắt đầu RAM trong bản đồ bộ nhớ.
! REG[3:0] – Vị trí khối thanh ghi trong bản đồ bộ nhớ.
II.2.4 Thanh ghi OPTION ($1039)
Thanh ghi OPTION dùng để chỉ cấu hình hệ thống bên trong MCU trong quá trình khởi động sau reset.
OPTION – System Configuration Options
Bit 7 6 5 4 3 2 1 Bit 0
ADPU CSEL RIQE DLY CME 0 CR1 CR0
Reset 0 0 0 0 0 0 0 1
ADPU – Analog To Digital Converter Power Up
! ADPU = 1 : cho phép bộ biến đổi A/D.
CSEL –Clock select.
! CSEL = 0 : bộ biến đổi A/D và EEPROM dùng E-clock của hệ thống.
! CSEL = 1 : bộ biến đổi A/D và EEPROM dùng mạch tạo xung clock RC (khơng đồng bộ với xung E-lock) bên trong
IRQE – Configure IRQ for Edge Sensitive Only Operation.
! IRQE = 0 : tác động theo mức thấp.
! IRQE = 1 : tác động theo cạnh xuống.
DLY – Enable Oscillator Startup Delay.
! DLY = 0 : khơng cần thời gian trì hỗn khi thốt khỏi chế độ stop. MCU sẽ hồi phục việc xử lý trong 4 chu kỳ bus.
! DLY = 1 : cho phép hỗn 400 chu kỳ E-lock để bộ dao động ổn định. Khi MCU thốt khỏi chế độ stop. Khi reset DLY = 1 và bit này chỉ cĩ thể lập trình trong 64 chu kỳ E-clock đầu tiên sau reset.
CR[1:0] – COP Timer Rate Select Bits
II.2.5 Thanh ghi BPROT ($103D)
BPROT – Block protect
Bit 7 6 5 4 3 2 1 Bit 0
0 0 0 PTCON BPRT3 BPRT2 BPRT1 BPRT0
Reset 0 0 0 0 0 0 0 0
Thanh ghi này cho phép bảo vệ chống lập trình thanh ghi CONFIG và EEPROM.
Bit[7:5] – khơng được kể đến
PTCON – Protect confit.
! PTCON = 0 : cĩ thể lập trình hoặc xố thanh ghi CONFIG.
! PTCON = 1 : khơng thể lập trình hoặc xĩa thanh ghi CONFIG.
BPRT[3:0] – Block Protect Bits For EEPROM.
Khi các bit này dược đặt bằng 1 thì khơng thể lập trình hay xố khối EEPROM tương ứng, các bit tương ứng với các khối EEPROM như sau :
Các khối EEPROM được bảo vệ bởi BPROT
Bit Name Block Protect Block Size
BTRT0 $B600-$B61F 32 Bytes
BTRT1 $B620-B65F 64 Bytes
BTRT3 $B6E0-$B7FF 288 Bytes
II.2.6 Thanh ghi PPROG ($103B)
Thanh ghi PPROG điều khiển lập trình EEPROM
PPROG – EEPROM Programming Control
Bit 7 6 5 4 3 2 1 Bit 0
ODD EVEN 0 BYTE ROW ERASE EEFLAT EEPGM
Reset 0 0 0 0 0 0 0 0
Bit ODD và EVEN cho phép lập trình nửa chẵn hay lẻ của EEPROM.
ODD – Program Odd Row in Haft of EEPROM.
EVEN – Program Even Row in Haft of EEPROM.
BYTE – Byte Erase Select.
! BYTE = 0 : xố hàng hoặc xố tồn bộ EEPROM.
! BYTE = 1 : xĩa chỉ 1 byte EEPROM.
ROW – Row / All Erase Select.
Nếu BYTE = 1 thì ROW khơng cĩ ý nghĩa.
! ROW = 0 : xố tồn bộ EEPROM.
! ROW = 1 : xố một hàng.
Tác dụng của 2 bit BYTE và ROW đến việc xố EEPROM như sau :
BYTE ROW Tác động
0 0 Xố tồn bộ EEPROM (512 byte)
0 1 Xố hàng (16 byte)
1 0 Xố byte
1 1 Xố byte
ERASE – Erase Mode Select.
! ERASE = 0 : đọc hoặc mod lập trình.
! ERASE = 1 : Mode xố EEPROM.
EELAT – EEPROM Latch Control.
! EELAT = 0 : Bus địa chỉ dữ liệu được cấu hình là đọc khơng thể lập trình được.
! EELAT = 1 : Bus địa chỉ và bus dữ liệu được cấu hình cho lập trình hay xố và khơng thể đọc EEPROM.
EEPRM – EEPROM Program Command.
! EEPGM = 1 : bật nguồn điện lập trình hay xố EEPROM.