intTypePromotion=1
ADSENSE

Bài giảng Vi xử lý - Chương 10: Vi điều khiển H8

Chia sẻ: Minh Anh | Ngày: | Loại File: PDF | Số trang:55

91
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng "Vi xử lý - Chương 10: Vi điều khiển H8" cung cấp cho người học các kiến thức: Tổng quan về họ vi điều khiển H8, vi điều khiển H8SX/1582, chức năng ngoại vi của H8SX/1582. Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên Công nghệ thông tin dùng làm tài liệu học tập và nghiên cứu.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Vi xử lý - Chương 10: Vi điều khiển H8

  1. dce 2009 Chương 10 Vi điều khiển H8 BK TP.HCM ©2009, CE Department
  2. dce 2009 Nội dung • Tổng quan về họ vi điều khiển H8 • Vi điều khiển H8SX/1582 • Chức năng ngoại vi của H8SX/1582 • Tài liệu tham khảo: – www.renesas.com ©2009, CE Department
  3. dce 2009 Vi điều khiển H8 ©2009, CE Department
  4. dce 2009 Vi điều khiển H8 ©2009, CE Department
  5. dce 2009 Vi điều khiển H8 ©2009, CE Department
  6. dce 2009 Vi xử lý H8SX • CPU CISC 32-bit tốc độ cao • 8 thanh ghi đa dụng 32-bit (có thể sử dụng như 16 thanh ghi 16-bit hay 16 thanh ghi 8-bit) • Tập lệnh gồm 87 lệnh • 11 phương thức định địa chỉ • 2 thanh ghi nền – Vector base register – Short address base register • Quản lý 4-Gbyte không gian bộ nhớ chương trình và dữ liệu • CPU có 4 chế độ hoạt động – Normal mode – Middle mode – Advanced mode – Maximum mode ©2009, CE Department
  7. dce 2009 Vi xử lý H8SX • Chế độ nguồn giảm • Lệnh SLEEP chuyển sang chế đọ này • Lựa chọn tốc độ clock hoạt động của CPU • Tính toán tốc độ cao • Hầu hết các lệnh thông dụng thực thi trong 1 hoặc 2 chu kỳ • Cộng trừ hai thanh ghi 8/16/32-bit : 1 chu kỳ • Nhân hai thanh ghi 8-bit x 8-bit: 1 chu kì • Chia hai thanh ghi 16-bit ÷ 8-bit : 10 chu kì • Nhân hai thanh ghi 16-bit x 16-bit : 1 chu kì • Chia hai thanh ghi 32-bit ÷ 16-bit : 18 chu kì • Nhân hai thanh ghi 32-bit x 32-bit : 5 chu kì • Chia hai thanh ghi 32-bit ÷ 32-bit : 18 chu kì ©2009, CE Department
  8. dce 2009 Vi xử lý H8SX • Normal mode : không gian địa chỉ lớn nhất 64Kbyte có thể truy xuất. • Middle mode : Không gian địa chỉ lớn nhất có thể truy xuất được là 16Mbyte (tổng của vùng chương trình và dữ liệu). Đối với từng phần khác nhau thì, đến 16 Mbyte cho vùng chương trình hoặc đến 64Kbyte cho vùng dữ liệu. • Advance mode : Không gian địa chỉ lớn nhất 4 Gbyte có thể được truy xuất một cách tuyến tính. Đối với các vùng khác nhau, vùng chương trình lên đến 16Mbyte và vùng dữ liệu lên đến 4Gbyte có thể được cấp phát . • Maximum mode : Vùng không gian địa chỉ lớn nhất có thể truy xuất một cách tuyến tính là 4Gbyte. ©2009, CE Department
  9. dce 2009 Tập thanh ghi H8SX • Bộ thanh ghi đa dụng 15 31 0 15 7 07 0 ER0 E0 R0 E0 R0H R0L ER1 E1 E1 R1H R1 R1L ER2 E2 E2 R2H R2 R2L ER3 E3 R3 E3 R3H R3L ER4 E4 R4 E4 R4H R4L ER5 E5 R5 E5 R5H R5L ER6 E6 R6 E6 R6H R6L (SP) ER7 E7 R7 E7 R7H R7L ©2009, CE Department
  10. dce 2009 Tập thanh ghi H8SX • Bộ thanh ghi điều khiển 31 0 PC 7 6 5 4 3 2 1 0 I : Interrupt mask bit N : Negative flag CCR I UI H U N Z V C UI : User bit/ Interrupt mask bit Z : Zero flag H : Half carry bit V : Overflow flag 7 6 5 4 3 2 1 0 U : User bit C : Carry flag EXR T - - - - I2 I1 I0 31 12 0 VBR (không dùng) 31 8 0 SBR (không dùng) 63 41 32 (dấu mở rộng) MACH MAC MACL 31 0 ©2009, CE Department
  11. dce 2009 Tập thanh ghi H8SX • VBR (Vector Base Register) Giá trị của VBR là địa chỉ nền của vùng vector ngoại lệ (trừ reset và lỗi địa chỉ CPU). Người dùng có thể đặt bảng vector tại một địa chỉ bằng cách thiết lập giá trị thanh ghi này (20 bit cao được dùng). 31 12 0 VBR (không dùng) Ví dụ thanh ghi được khởi tạo giá trị H’3000. Địa chỉ của mỗi vector ngắt là H’3000 + (địa chỉ vector của nguồn ngắt ©2009, CE Department
  12. dce 2009 Tập thanh ghi H8SX • SBR (Short Address Base Register) Thanh ghi SBR thiết lập vùng bắt đầu cho không gian địa chỉ tuyệt đối 8-bit (@aa:8). Chỉ 24 bit cao được sử dụng. 31 8 0 SBR (không dùng) Không SBR gian địa chỉ tuyệt dối 8-bit ©2009, CE Department
  13. dce 2009 Tập thanh ghi H8SX • Định dạng dữ liệu trong bộ nhớ Data type Address Data format 7 0 1-bit data Address L 7 6 5 4 3 2 1 0 Address L MSB LSB Byte data Address 2M MSB Word data Address 2M+1 LSB Address 2N MSB Long word data 2N +1 2N +2 2N +3 LSB ©2009, CE Department
  14. dce 2009 Định vị địa chỉ • Trực tiếp thanh ghi: Rn • Gián tiếp thanh ghi: @ERn • Gián tiếp thanh ghi với độ dịch: @(d:2, ERn), @(d:16, ERn), @(d:32, ERn) • Gián tiếp thanh ghi chỉ số với độ dời: @(d:16,RnL.B), @(d:32,RnL.B), @(d:16,Rn.W), @(d:32,Rn.W), @(d:16,ERn.L),@(d:32,ERn.L) • Gián tiếp thanh ghi với tăng hoặc giảm: @ERn+, @-ERn, @+ERn, @ERn- • Trực tiếp: #xx • Địa chỉ tuyệt đối: @aa:8, @aa:16, @aa:24, @aa:32 • Thanh ghi PC tương đối: @(d:8,PC), @(d:16,PC) • PC tương đối với thanh ghi đánh chỉ số: @(RnL, B, PC), @(Rn, W, PC), @(ERn, L, PC) • Gián tiếp bộ nhớ: @@aa:8 • Gián tiếp bộ nhớ mở rộng: @@vec:7 ©2009, CE Department
  15. dce 2009 Hợp ngữ H8SX • Dạng thức lệnh ADD.Sz , Toán hạng đích : thanh ghi, hằng (trị), tên (địa chỉ), địa chỉ trực tiếp… Toán hạng nguồn : thanh ghi, hằng (trị), tên (địa chỉ), địa chỉ trực tiếp… Kích thước toán hạng : B (byte), W (word), L (Longword) Tên gợi nhớ : ADD, MOV… ©2009, CE Department
  16. dce 2009 Hợp ngữ H8SX • Các qui tắc biểu diễn hệ thống số, nhãn – Các ký tự dùng để đặt tên cho nhãn : a-zA-Z0-9?@_$. và bắt đầu bằng một ký tự khác số. – Số hệ 2 : B’××××××××(B’10110101) – Số hệ 10: mặc định hoặc D’××××× (32767,D’ 4509) – Số hệ 16: H’×××× (H’1A97, H’E05B) ©2009, CE Department
  17. dce 2009 Hợp ngữ H8SX • Dạng chương trình ; chú thích dòng chú thích, bắt đầu bằng dấu ‘;’ ‘.CPU’ cho biết tên CPU, chế độ hoạt động .CPU H8SXA ‘.SECTION’ đặc tả section trong bộ nhớ .SECTION PROG, CODE, LOCATE=H’1000 … tên của section code : section chứa lệnh data : section chứa khai báo dữ liệu .SECTION D_ROM, DATA, LOCATE=H’2000 … .SECTION D_RAM, DATA, LOCATE=H’FF9000 … địa chỉ bắt đầu của section .END kết thúc file ©2009, CE Department
  18. dce 2009 Hợp ngữ H8SX • Khai báo hằng .CPU H8SXA DATA1 : .EQU H‘2000 Tên hằng DATA2 : .EQU H‘2001 Lệnh khai báo hằng ANSW : .EQU H‘2002 Giá trị hằng .SECTION PROG, CODE, LOCATE=H’1000 MOV.B @DATA1, R0L MOV.B @DATA2, R1L ADD.B R0L, R1L DATA1 X X MOV.B R1L, @ANSW DATA2 X X .END ANSW ©2009, CE Department
  19. dce 2009 Hợp ngữ H8SX • Khai báo dữ liệu trong section data .SECTION D_RAM, DATA, LOCATE=H’0FF9000 DATA1: .RES.B 2 DATA2: .RES.W 1 Số block cần cấp phát .END Lệnh khai báo vùng nhớ cho biến (.B, .L,.W : kích thước của một block) Địa chỉ của biến (tên) H’0FF9000 DATA1 H’0FF9002 DATA2 ©2009, CE Department
  20. dce 2009 Hợp ngữ H8SX • Khai báo dữ liệu trong section data .SECTION D_ROM, DATA, LOCATE=H’02001 DATA1: .DATA.B 5, 10, H’20 DATA2: .DATA.W H’500 Giá trị được đưa vào .END vùng nhớ Lệnh khai báo giá trị (.B, .L,.W : kích thước của một block) H’2001 DATA1 05 Địa chỉ của biến (tên) 10 H’20 H’2004 DATA2 H’05 H’00 ©2009, CE Department
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2