Microcontroller Motorola MC68HC11

Một phần của tài liệu Thiết kế mạng giám sát và điều khiển MC68HC11 dùng RS 485 (Trang 39)

I. GIỚI THIỆU CHUNG VỀ BỘ VI ĐIỀU KHIỂN

I.1 Microcontroller Motorola MC68HC11

I.1.1 Các thành viên thuộc họ MC68HC11

Vào năm 1985, Motorola đã phát triển bộ vi điều khiển 68HC11 tương thích với bộ vi xử lý 6800. Bộ vi điều khiển 68HC11 là đơn vị điều khiển 8 bit sử dụng cơng nghệ bán dẫn đế oxit kim loại mật độ cao HCMOS (High Density Complementary Metal Oxide Semiconductor) cĩ cấu tạo phức tạp với nhiều dạng bộ nhớ và ngoại vi on-chip. Với cơng nghệ cao đĩ, MC68HC11 cĩ kích thước nhỏ bé, tốc độ cao, tiêu thụ năng lượng thấp và khả năng chống nhiễu cao.

I.1.2 Cấu trúc phần cứng và cấu tạo chân của MC68HC11

! Cấu trúc phần cứng:

Họ vi xử lý 68HC11 cĩ nhiều phiên bản khác nhau cĩ cấu trúc phần lớn tương tự nhau chỉ khác nhau ở bộ nhớ ROM,RAM.

• MC68HC11 CPU (đơn vị xử lý trung tâm).

• Cĩ EEPROM on-chip (512byte, 640 byte,2K,4K,8K,12K và 32K tuỳ loại ).

• Cĩ RAM on-chip (0.5-1Kbyte).

• Hệ thống thời gian 16 bit.

• Mạch ngắt quãng thời gian thực (Real-Time Interrupt).

• Hệ thống COP (Computer Operation Property Watchdog).

• Giao tiếp ngoại vi nối tiếp đồng bộ SPI (Sychronous Serial Pripheral Interface).

• Giao tiếp ngoại vi nối tiếp bất đồng bộ SCI (Asynchronous Serial Communication Interface).

• Hệ thống chuyển đổi A/D 8 kênh với độ phân giải 8 bit.

• Các Port xuất nhập đa dụng.

Mơ tả chân

• Chân cấp nguồn (VDD và VSS)

Nguồn được cung cấp cho MCU thơng qua các chân này. VDD là chân nguồn vào dương cĩ thể tuỳ chọn, thơng thường là nguồn 5V và chân VSS được nối mass. MC68HC11 thường sử dụng nguồn điện cung cấp đơn.

MCU sẽ chọn Mode hoạt động cho phần cứng từ các mức logic trên các chân MODA và MODB khi MCU đang ở trạng thái reset và nĩ sẽ hoạt động như một tín hiệu ngõ ra khi MCU khơng ở chế độ reset.

Sau khi đã chọn chế độ hoạt động, chân LIR(Load Instruction Register) là ngõ ra tích cực mức thấp. LIR ở trạng thái tích cực chỉ ra rằng việc thực hiện lệnh đã bắt đầu. Mỗi lệnh được CPU thực hiện trong nhiều chu kỳ xung clock. LIR sẽ xuống mức thấp trong chu kỳ E-clock đầu tiên của mỗi lệnh, trong chu kỳ này mã lệnh được nạp vào thanh ghi lệnh.

VSTBY dùng để cung cấp nguồn dự phịng để duy trì nội dung của RAM khi mất nguồn VDD.

• Chân RESET: (RESET)

Chân RESET: tính hiệu điều khiển 2 chiều, tích cực mức thấp.

Khi hoạt động như tín hiệu vào, RESETsẽ khởi động lại MCU (reset bên ngồi).

Khi hoạt động như là tín hiệu ra, mức tích cực của RESET chỉ ra rằng cĩ sai hỏng xảy ra bên trong MCU. Sai hỏng này được phát hiện bởi mạch kiểm tra xung clock (clock monitor) hay hệ thống COP.

• Các chân dao động thạch anh và clock: (EXTAL, XTAL, E):

Các chân dao động EXTAL và XTAL cĩ thể sử dụng với mạch dao động bộ lái tinh thể thạch anh bên ngồi hoặc nối với 1 nguồn phát xung clock tương thích với họ CMOS. Dao động đưa vào hai chân này sẽ điều khiển một mạch phát xung clock bên trong MCU, xung clock này gọi là E-clock. Tần số được cấp cho các chân này bằng 4 lần tốc độ xung E-clock mong muốn.

Ngõ ra E-clock (E): chân E này được nối các ngõ ra với E-clock được phát từ bên trong. Tín hiệu từ chân E được dùng làm chuẩn thời gian. Tần số ngõ ra bằng ¼ lần tần số ngõ vào các chân XTAL và EXTAL. Khi ngõ ra E-clock ở mức thấp, một cơng việc xử lý đang diễn ra ở bên trong. Khi nĩ ở mức cao, dữ liệu đang được truy xuất.

Tất cả các xung clock, kể cả E-clock đều ngừng hoạt động khi MCU ở chế độ STOP.

• Chân ngắt:

Hệ thống ngắt của MC68HC11 cĩ 2 đường ngắt ngoại vi là XIRQIRQ: Chân yêu cầu ngắt (IRQ): IRQ là ngõ vào yêu cầu ngắt quãng bất đồng bộ với MCU, tác động sườn xuống hoặc tác động mức thấp tuỳ theo ta lập trình thanh ghi OPTION. IRQ luơn tác động theo mức sau reset.

Chân ngắt quãng khơng che được: (XIRQ): XIRQ là ngõ yêu cầu ngắt quãng khơng che được. Trong lúc reset, bit X (Nonmaskable Interrupt Flag) trên thanh ghi mã điều kiện được đặt và yêu cầu ngắt quãng ở chân này bị che đến khi bit X được xố bằng phần mềm. Sau xố ta khơng thể đặt lại, do đĩ XIRQ gọi là ngắt quãng khơng che được. XIRQ là yêu cầu ngắt cĩ độ ưu tiên cao nhất, khi

XIRQ xuống mức thấp lập tức MCU phục vụ ngắt quãng ngay. XIRQ thường dùng để dị tìm sự mất nguồn.

• Điện áp chuẩn cho bộ biến đổi A/D: (VREFH và VREFL)

Chân VREFH và VREFL : là hai ngõ ra vào tạo điện áp chuẩn cho mạch chuyển đổi A/D (analog to digital). VREFL là chuẩn mức thấp giá trị đặc trưng là 0V, VREFH là chuẩn mức cao.

Để hoạt động chuyển đổi A/D được chính xác. VREFH nên lớn hơn VREFL tối thiểu là 3V và cả hai nên nằm trong khoảng VSS và VDD.

• Các chân STRA/AS và STRB/R/W :

Chân STRA/AS: chân này cĩ hai chức năng riêng biệt phụ thuộc vào chế độ hoạt động. Trong chế độ đơn chip, STRA thi hành chức năng bắt tay ngõ vào (strobe input). Trong chế độ mở rộng, AS cho ta chức năng giữ địa chỉ.

Chân STRB/R/W: chân giữa B và đọc/ viết cũng cĩ thể hoạt động như ngõ ra hoặc chỉ phương truyền trên data bus, tuỳ thuộc vào chế độ hoạt động. Trong chế độ đơn chip, STRB hoạt động như ngõ giữa cĩ thể lập trình để bắt tay với các thiết bị song song khác. Trong chế độ mở rộng multiplex, tín hiệu R/W dùng để chỉ phương truyền dữ liệu trên data bus. Khi chân R/W ở mức thấp nĩ cho thấy rằng dữ liệu đang được viết lên data bus. Khi ở mức cao, chu kỳ đọc đang thực hiện.

• Các Port xuất nhập đa dụng:

Các chân tín hiệu Port cĩ các chức năng khác nhau trong các chế độ hoạt động khác nhau. Các chức năng của các port A, D và E là độc lập với các chế độ hoạt động. Chức năng của Port B và C bị tác động bởi chế độ hoạt động.

Port A: gồm 3 chân nhập, 4 chân xuất và 1 chân cĩ thể nhập hoặc cĩ thể

xuất phụ thuộc vào bit định hướng DDRA7.

Port B: là ngõ output khi hoạt động ở chế độ đơn chip cịn ở chế độ mở rộng

các chân port B là 8 đường địa chỉ cao.

Port C: mang cả hai chức năng nhập và xuất phụ thuộc vào bit định hướng

DDRC0 đến DDRC7.

Port D: PDO – PD5 cũng tương tự như port C nhưng phụ thuộc vào các bit

DDRD0 đến DDRD5. Ngồi ra cịn dùng cho giao diện ngoại vi nối tiếp SPI nếu được phần mềm cài đặt trong thanh ghi điều khiển.

Port E: mang chức năng như các ngõ vào của bộ chuyển đổi ADC. I.2 Đơn vị xử lý trung tâm (CPU)

Trong chương này chúng ta sẽ tìm hiểu về đơn vị xử lý trung tâm của MC68HC11 (CPU). CPU cĩ trách nhiệm thực thi tất cả các lệnh phần mềm trong chương trình. Cấu trúc của MC68HC11 CPU cho phép coi tất cả các ngoại vi, I/O và vị trí bộ nhớ là tương tự như nhau và được xem như là vị trí trong bản đồ bộ nhớ 64K. Kỹ thuật này đơi khi được gọi là “memory-map I/O”, sẽ khơng cĩ lệnh đặc biệt nào phân biệt I/O và bộ nhớ.

Trong phần này chúng ta sẽ xem xét về cấu trúc của CPU, các mode địa chỉ và cấu trúc của các lệnh.

CPU cĩ 7 thanh ghi và nĩ được chỉ ra như hình dưới đây:

S X H I N Z V C Thanh ghi trạng thái : Thanh ghi tích luỹ 8 bit A, B : Thanh ghi tích luỹ 16 bit D : Thanh ghi chỉ số X

: Thanh ghi chỉ số Y : Con trỏ ngăn xếp : Bộ đếm chương trình

I.2.1 Các thanh ghi tích luỹ A, B

Đây là các thanh ghi 8 bit để giữ tốn hạng và các kết quả tính tốn số học hay thao tác dữ liệu.

I.2.2 Thanh ghi tích luỹ D

Đối với một số lệnh, hai thanh ghi A, B cĩ thể được xem như là một thanh ghi tích luỹ 2 byte đơn giản được gọi là thanh ghi tích luỹ D.

I.2.3 Các thanh ghi chỉ số X (IX) và Y (IY)

Thanh ghi IX và IY là hai thanh ghi chỉ số 16 bit mà cĩ thể được cộng với một offset 8 bit kèm theo trong một lệnh tạo nên một địa chỉ tác động. Các thanh nghi này cũng cĩ thể được dùng như một bộ đếm hay một thanh ghi lưu trữ tạm thời. Tuy nhiên cĩ sự khác nhau giữa 2 thanh ghi này là hầu hết các lệnh sử dụng thanh

7 A 0 7 B 0 15 D 0 15 IX 0 15 IY 0 15 SP 0 15 PC 0

ghi IY địi hỏi một byte mã phụ và một chu kỳ thời gian thi hành phụ do cách chỉ định opcode được kể tới.

I.2.4 Con trỏ ngăn xếp

CPU MC68HC11 cĩ một vùng nhớ đặc biệt được sử dụng để lưu trữ thơng tin của các thanh ghi trong quá trình thực hiện chương trình gọi là Stack. Kiểu hoạt động của stack là vào sau, ra trước (Last In, First Out LIFO).

Bộ vi điều khiển 68HC11 sử dụng thanh ghi 16 bit gọi là con trỏ ngăn xếp, Stack Pointer (SP) chỉ cho ta biết cần đưa vào hoặc rút dữ liệu ra từ đâu. Để chứa dữ liệu 68HC11 đưa 1 byte dữ liệu vào stack rồi giảm SP. Để lấy dữ liệu ta tăng SP rồi rút dữ liệu. Khi CPU bắt đầu hoạt động lần đầu, nĩ khởi đầu SP một giá trị. Để thay đỏi kích cỡ stack ta thay đổi giá trị SP.

I.2.5 Bộ đếm chương trình

Bộ đếm chương trình là một thanh ghi 16 bit giữ địa chỉ của các lêïnh kế tiếp để thực thi.

I.2.6 Thanh ghi trạng thái (CCR)

Thanh ghi 8 bit này chứa 5 chỉ báo mã trạng thái (C, V, Z, N và H), 2 bit che ngắt IRQ và XIRQ và bit khơng cho stop (S). Trong MC68HC11 các cờ này tự động được cập nhật bởi hầu hết các lệnh.

• Cờ Carry/ borrow (C)

Bit C được set nếu ALU cĩ một carry hay borrow xảy ra trong các hoạt động số học. Bit C cũng là cờ báo lỗi trong các hoạt động nhân và chia. Ta cĩ thể lợi dụng bit C trong các lệnh dịch nhiều từ.

• Cờ overflow (báo tràn) (V)

Các bit cĩ dấu nằm trong khoảng – 128 ($80) đến + 127 ($7F). Nếu kết quả phép cộng hoặc trừ vượt quá khoảng này thì CPU đưa cờ tràn (overflow flag) V về 1, nếu kết quả nằm trong khoảng này thì CPU xĩa cờ bằng 0.

• Cờ zero (báo bằng khơng) (Z)

Được set nếu kết quả trong các hoạt động xử lý dữ liệu, logic, số học là bằng khơng.

• Cờ negative (báo âm) (N)

Được sét nếu kết quả trong các hoạt động xử lý dữ liệu, logic, số học là số âm (bit MSB=1).

Bit I là một bit che tồn cục khiến cho tất cả các nguồn ngắt cĩ thể được che. Khi bit I được set, các ngắt trở nên ở trạng thái chờ, nhưng các CPU hoạt động tiếp tục mà khơng bị ngắt đến khi bit I được xố.

• Cờ hafl carry (H)

Cờ được set nếu cĩ nhớ từ bit 3 sang bit 4 trong đơn vị tính tốn số học trong các lệnh ADD, ABA, ADC. Cờ này thường được sử dụng trong các hoạt động BCD.

• Cờ che ngắt (X)

Cho phép ngắt từ chân XIRQ bên ngồi. Bit che ngắt X chỉ được set bằng phần cứng và xố bằng lệnh chương trình.

• Cờ cho phép Stop (S)

Bit dừng Stop (S) sử dụng để cho phép hoặc khơng cho phép lệnh Stop.

I.3 Các mode định vị địa chỉ

I.3.1 Địa chỉ vốn cĩ (Inherent Addressing Mode)

Với địa chỉ vốn cĩ mã lệnh khơng địi hỏi cĩ tốn hạng, mọi thơng tin cần thiết nằm ngay trong nội dung lệnh. Tên mã lệnh dạng Mnemonic chứa dữ liệu tốn hạng cần tìm.

I.3.2 Địa chỉ tức thời (Immediate Addressing Mode)

Với chế độ địa chỉ tức thời, mã thao tác chỉ ra cần phải làm gì và tốn hạng cần làm nằm ở đâu, nghĩa là chỉ dữ liệu được tác động đến.

I.3.3 Địa chỉ trực tiếp (Direct Addressing) và địa chỉ mở rộng (Extended Addressing)

Định vị địa chỉ trực tiếp và địa chỉ mở rộng tương tự nhau. Trong cả hai trường hợp tốn hạng là địa chỉ chứ khơng phải là dữ liệu. Sự khác nhau giữa địa chỉ trực tiếp và địa chỉ mở rộng chỉ là tốn hạng là địa chỉ 1 byte với chế độ trực tiếp và địa chỉ 2 byte với chế độ mở rộng.

I.3.4 Địa chỉ số (Indexed Addressing Mode)

Một offset 8 bit khơng dấu được cộng vào giá trị thanh ghi chỉ số (IX hay IY). Tổng này là địa chỉ hiệu dụng. Mode định vị địa chỉ này rất mạnh và hữu ích cho phép tham chiếu đến bất kỳ vùng nhớ nào trong khơng gian 64 K byte địa chỉ.

I.3.5 Địa chỉ tương đối

Mode địa chỉ này chỉ được sử dụng cho các lêïnh rẽ nhánh. Nếu điều kiện rẽ nhánh là đúng, một offset 8 bit cĩ dấu được cộng vào nội dung của bộ đếm chương trình (PC) từ địa chỉ rẽ nhánh hiệu dụng. Nếu khơng chương trình sẽ xử lý lệnh kế tiếp.

I.4 Tập lệnh của họ MC68HC11

Tập lệnh của MC68HC11 cĩ thể được tĩm tắt và chia làm các nhĩm sau

I.4.1 Các lệnh thực hiện phép tốn số học và luân lý

• Các phép tốn số học: gồm các phép tốn cộng trừ, so sánh, tăng giảm…: ADDA, SUBA, CMPA, INCA, DECA,…

• Lệnh nhân và chia: MUL, IDIV, FDIV.

• Các phép tốn luận lý: ANDDA, ORAA, EORA, NEGA, COMA,…

• Các phép tốn dịch và quay: ASLA, ASRA, LSLA, LSRA, ROLA, RORA,...

• Các phép tốn trên bit (đặt xĩa bit/ đặt xố cờ): BSET, BCLR, CLC, SEC, SEI,…

I.4.2 Các lệnh chuyển số liệu

• Chuyển số liệu từ bộ nhớ vào thanh ghi: LDAA, LDAB, LDX, LDY, LDS,…

• Chuyển số liệu từ thanh ghi vào bộ nhớ: STAA, STAB, STX, STY, STS, …

• Chuyển số liệu từ thanh ghi vào ngăn xếp: PSHA, PSHB, PSHX, PSHY,…

• Chuyển số liệu từ ngăn xếp vào thanh ghi: PULA, PULB, PULX, PULY,…

• Chuyển số liệu giữa các thanh ghi: TAB, TBA, XGDX, XGDY,…

I.4.3 Các lệnh nhảy, rẽ nhánh và gọi chương trình con

• Lệnh nhảy: JMP

• Lệnh rẽ nhánh: BRA, BNE, BEQ, BHI, BLO,…

• Lệnh gọi chương trình con: ISR

• Lệnh trở về từ chương trình con: RTS

I.4.4 Các lệnh liên quan đến ngắt và trạng thái MCU

• Lệnh cho phép, cấm ngắt: CLI, SEI

• Lệnh trở về từ ngắt: RTI

• Các lệnh đặt MCU vào chế độ tiết kiệm năng lượng: WAIT, STOP

II. CẤU HÌNH VÀ CÁC CHẾ ĐỘ HOẠT ĐỘNG

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

Một phần của tài liệu Thiết kế mạng giám sát và điều khiển MC68HC11 dùng RS 485 (Trang 39)

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

(131 trang)