Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 58 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
58
Dung lượng
1,07 MB
Nội dung
Đề cương giảng vi xử lý - 8051 Chương TỔNG QUAN VỀ HỆ VI XỬ LÝ 1.1 Kiến trúc hệ vi xử lý 1.1.1 Sơ ñồ khối tổng quát chức vi xử lý Sơ đồ khối : Hình 1.1 Cấu trúc tổng qt hệ vi xử lý Các khối chức hệ vi xử lý bao gồm: - Khối xử lý trung tâm (CPU) - Bộ nhớ bán dẫn (memory, M) - Khối phối ghép với thiết bị ngoại vi - Các bus truyền thông tin Ba khối chức năng: CPU, M, I/O liên hệ với thông qua tập đường dây để truyền tín hiệu gọi chung bus hệ thống Bus hệ thống bao gồm bus thành phần ứng với tín hiệu địa chỉ, liệu điều khiển ta có bus địa chỉ, bus liệu bus ñiều khiển Chức khối : - Bộ xử lý trung tâm CPU (Central Processing Unit ) trung tâm ñầu não hệ, có chức thu thập, xử lý thơng tin ñiều khiển hoạt ñộng hệ vi xử lý - Bộ nhớ trung tâm có nhiệm vụ lưu trữ thông tin liệu trước CPU xử lý - Thiết bị I/O thực việc nhận liệu từ kênh thơng tin từ bên ngồi vào ñể cho CPU xử lý xuất tín hiệu điều khiển hệ thống - Các kênh thơng tin hay Bus hệ thống cầu nối liên kết khối thực việc liên kết Bus ñịa chỉ, Bus ñiều khiển Bus liệu Một bus tập hợp dây dẫn mang thơng tin có mục đích Việc truy xuất tới mạch xung quanh CPU sử dụng ba bus: bus ñịa chỉ, bus ñiều khiển bus liệu Với thao tác ñọc ghi CPU xác định rõ vị trí liệu lệnh cách ñặt ñịa lên bus ñịa chỉ, sau tích cực tín hiệu bus điều khiển ñể thao tác ñọc hay ghi Thao tác ñọc lấy byte liệu từ nhớ vị trí xác định đặt byte lên bus liệu CPU ñọc liệu và ñặt liệu vào ghi nội CPU Với thao tác ghi, CPU xuất liệu lên bus liệu Nhờ vào tín hiệu điều khiển, nhớ nhận biết ñây thao tác ghi lưu liệu vào vị trí xác định 1.1.2 Bộ xử lý trung tâm (CPU) Bộ vi xử lý hạt nhân hệ vi xử lý, thành phần quan trọng kiểm soát tất hoạt ñộng hệ thực thao tác liệu Hầu hết CPU hình thành từ mạch lôgic nhằm thực liên tục thao tác tìm nạp lệnh từ nhớ để giải mã thực thi lệnh CPU có khả hiểu thực thi lệnh dựa tập Bộ môn Công Nghệ Cơ ðiện Trang Đề cương giảng vi xử lý - 8051 mã nhị phân gọi mã máy mã nhằm thực thao tác đó.Tổ hợp lệnh cho loại CPU gọi tập lệnh thường chia thành nhóm lệnh như: - Nhóm lệnh chuyển liệu - Nhóm lệnh số học - Nhóm lệnh Lơgic - Nhóm lệnh rẽ nhánh chương trình - Nhóm lệnh xử lý bít Cấu trúc đơn giản mt loi CPU ủc minh nh sau: Đơn vị ghép nối- BIU (Bus Interface Unit) Đơn vị thực – EU (Execution Unit) Σ AX BX C¸c ghi đa CX CS DX DS Các ghi đoạn SP Thanh ghi trá, chØ sè SS BP SI ES DI IP Bus d÷ liƯu BUS cđa CPU Bộ tạo địa Điều khiển BUS BUS Toán hạng Khối điều khiển EU ALU Hàng đợi lệnh Thanh ghi cê EU: Execution unit (khối thực lệnh) BIU: Bus interface unit (Khối phối ghép bus) ALU: Arithmetic and logic unit (khối số học logic) Hình 1.2 Sơ đồ khối vi xử lý 8088 • BIU EU: Bên CPU 8088 có hai khối chính: khối phối ghép bus (BIU) khối thực lệnh (EU) Việc chia CPU làm hai phần làm việc đồng thời có liên hệ với qua đệm lệnh làm tăng ñáng kể tốc ñộ xử lý CPU Các bus bên CPU có nhiệm vụ truyền tải tín hiệu khối khác Trong số bus có bus liệu 16 bit ALU, bus tín hiệu điều khiển EU, bus hệ thống BIU Trước ñi bus ngồi vào bus vi xử lý, tín hiệu truyền bus thường ñược cho ñi qua ñệm ñể nâng cao tính tương thích cho nối ghép nâng cao khả phối ghép BIU ñưa ñịa chỉ, ñọc mã lệnh từ nhớ, ñọc/ghi liệu từ/vào cổng nhớ Nói cách khác BIU chịu trách nhiệm đưa địa bus trao ñổi ñịa với bus Trong EU ta thấy có khối điều khiển (control unit CU) Chính bên khối điều khiển có mạch giải mã lệnh Mã lệnh đọc vào từ nhớ đưa đến đầu vào Bộ mơn Cơng Nghệ Cơ ðiện Trang Đề cương giảng vi xử lý - 8051 giải mã, thông tin thu từ đầu ñưa ñến mạch tạo xung ñiều khiển, kết ta thu ñược dãy xung khác (tùy theo mã lệnh) ñể ñiều khiển hoạt ñộng phận bên bên CPU Trong khối EU cịn có khối số học logic dùng để thực thao tác khác với toán hạng lệnh Tóm lại, CPU hoạt động EU cung cấp thơng tin địa cho BIU để khối đọc lệnh liệu, cịn thân giải mã lệnh thực lệnh Trong BIU cịn có nhớ đệm lệnh (hàng đợi lệnh) với dung lượng byte dùng ñể chứa mã lệnh ñọc ñược nằm sẵn ñể chờ EU xử lý ðây cấu trúc ñược cấy vào vi xử lý 8088 việc Intel ñưa chế xử lý xen kẽ liên tục dòng mã lệnh (instruction pipelining) vào ứng dụng vi xử lý hệ Pipeline chế ñã ñược ứng dụng từ năm 60 máy lớn Cơ chế hoạt ñộng sau: Hoạt ñộng CPU gồm giai ñoạn ñọc mã lệnh (opcode fetch), giải mã lệnh (decode) thực lệnh (execution) Bộ vi xử lý 8088 sử dụng chế xử lý xen kẽ liên tục dịng mã lệnh CPU chia làm hai khối có phân chia cơng việc cho khối Việc ñọc mã lệnh BIU thực hiện, việc giải mã lệnh thực lệnh khối EU ñảm nhiệm Các khối chức có khả làm việc đồng thời bus liên tục ñược sử dụng Trong EU lấy mã lệnh từ ñệm byte ñể giải mã BIU đọc mã lệnh từ nhớ đặt chúng vào nhớ đệm lệnh ñã nêu Bộ ñệm lệnh làm việc theo kiểu vào trước – trước ðiều làm tăng tốc ñộ vi xử lý Tuy nhiên ñệm lệnh chứa mã lệnh CALL hay JMP nội dung cũ đệm bị xóa thay vào nội dung nạp vào mã lệnh lệnh nhảy lệnh ñịnh Việc tiêu tốn nhiều thời gian so với việc xử lý theo kiểu Khơng có pipelining F1 D1 E1 F2 D2 E2 F2 D3 E3 Có pipelining F1 D1 E1 F2 D2 E2 F3 D3 E3 Hình 1.3 Dịng lệnh thường dịng lệnh xen kẽ liên tục • Các ghi ñoạn (segment register, 16 bit) Khối BIU ñưa bus ñịa 20 bus ñịa chỉ, 8088 có khả phân biệt 220 = 1.048.576 = 1M nhớ hay Mbyte, nhớ nói chung tổ chức theo byte Nói cách khác, khơng gian địa 8088 Mbyte Trong khơng gian Mbyte nhớ cần chia thành vùng khác - Chứa mã chương trình - Chứa liệu kết trung gian chương trình - Tạo vùng nhớ đặc biệt gọi ngăn xếp (stack) dùng vào việc quản lý thông số vi xử lý gọi chương trình chở từ chương trình Trong thực tế vi xử lý 8088 có ghi 16 bit liên quan ñến ñịa ñầu vùng (các ñoạn) kể chúng ñược gọi ghi đoạn ðó ghi ñoạn mã CS (code segment), ghi ñoạn liệu DS (data segment), ghi ngăn sếp SS (stack segment) ghi ñoạn liệu phụ ES (extra segment) Các ghi ñoạn 16 bit ñịa ñầu ñoạn nhớ, dung lượng lớn ñoạn nhớ 64Kbyte thời ñiêm ñịnh vi xử lý làm việc Bộ mơn Cơng Nghệ Cơ ðiện Trang Đề cương giảng vi xử lý - 8051 với ñoạn nhớ 64Kbyte Việc thay ñổi giá trị ghi ñoạn làm cho ñoạn tương ứng dịch chuyển linh hoạt phạm vi khơng gian Mbyte, đoạn nằm tách thơng tin cần lưu chúng địi hỏi dung lượng đủ 64 Kbyte nằm trùm có ñoạn không cần không cần dùng hết ñộ dài 64Kbyte Và đoạn khác bắt đầu nối tiếp sau ðiều cho phép ta truy nhập vào ñoạn nhớ 64 Kbyte nằm tồn khơng gian Mbyte Nội dung ghi ñoạn xác ñịnh ñịa nhớ nằm đầu đoạn ðịa gọi ñịa sở ðịa ô nhớ khác nằm ñoạn gọi ñịa lệnh hay độ lệnh (offset), gọi ứng với khoảng lệch tọa độ nhớ cụ thể so với đầu đoạn ðộ lệnh ñược xác ñịnh cac ghi 16 bit khác đóng vai trị ghi lệnh (offset registers) mà ta nói đến sau Cụ thể, để xác ñịnh ñịa vật lý 20 bit ô nhớ đoạn CPU 8088 phải dùng ñến hai ghi 16 bit (mọt ghi để chứa địa sở, cịn ghi chứa ñộ lệnh) từ nội dung cặp ghi tạo địa vật lý theo công thức sau ðịa vật lý = ghi ñoanh *16 + ghi lệnh Việc dùng hai ghi để ghi nhớ thơng tin địa thực chất tạo loại ñịa gọi ñịa logic ñược ký hiệu sau: Thanhghiñoạn : thanhghilệch (segment : offset) ðịa segment : offset logic tồn dạng giá trị ghi cụ thể bên CPU cần thiết truy nhập nhớ phải đổi địa vật lý để ñược ñưa lên bus ñịa Việc chuyển tạo địa thực Ví dụ: cặp CS:IP ñịa lệnh thực ñoạn mã Nếu thời ñiểm ta có CS=F000H IP=FFF0H CS:IP~F000H*16+FFF0H = F0000H + FFF0H = FFFF0H ðịa FFFF0H ñịa khởi ñộng 8088 Dấu ‘~’ ñể tương ứng ðịa ô nhớ thuộc đoạn khác tính theo cách tương tự Vì cần nói đến địa mơt nhớ ta có tể sử dụng ñịa logic lẫn ñịa vật lý Vì tồn tương ứng hai loại địa (thơng qua tạo địa Σ) Trước nói đến ghi khác ta nói thêm chút tính đa trị ghi ñoạn ghi lệch ñịa logic ứng với ñịa vật lý ðiều nói lên tính linh hoạt cua chế segment : offset việc ñịnh ñịa 8088/8086 Nhìn vào giá trị cuối địa vật lý, ta thấy tạo địa ñó từ nhiều giá trị khác cua ghi ñoạn ghi lệch Ví dụ: ñịa vật lý 12345H tạo từ giá trị Thanh ghi ñoạn Thanh ghi lệch 1000H 2345H 1200H 0345H 2305H 1004H E345H 0300H • Các ghi đa Trong khối EU có ghi ña 16 bit AX, BX, CX, DX ðiều ñặc biệt cần chứa liệu bit ghi tách thành ghi bit cao thấp làm việc ñộc lập ðó cặp ghi AH, AL, BH, BL, CH, CL, DH, DL (trong H phần cao L phần thấp) Mỗi ghi ñược dùng cách vạn ñể chứa loại liệu khác nhau, có cơng việc ñặc biệt ñịnh Bộ môn Công Nghệ Cơ ðiện Trang Đề cương giảng vi xử lý - 8051 thao tác với vài ghi ghi thường gán cho tên đặc biệt có ý nghĩa Cụ thể: - AX (accumulator, Acc) chứa Các kết thao tác thường ñược chứa ñây (kếp phép nhân, chia) kết bit ghi AL coi Acc - BX (Base) ghi sở, thường chứa ñịa sở bảng dùng lệnh XLAT - CX (counter) ñếm Thường ñược dùng ñể chứa số lần lặp trường hợp lệnh LOOP, cịn CL thường dùng để chứa số lần dịch quay lệnh dịch quay ghi - DX (data) ghi liệu DX AX tham gia vào thao tác phép nhân chia số 16 bit DX cịn dùng để chứa ñịa cổng lệnh vào liệu trực tiếp (IN/OUT) • Các ghi trỏ số Trong 8088 cịn có ghi trỏ ghi số 16 bit Các ghi (trừ IP) ñược dùng ghi ña năng, ứng dụng ghi chúng ngầm ñịnh ghi lệnh cho ñoạn tương ứng cụ thể: - IP (con trỏ lệnh-instruction pointer) IP ln trỏ vào lệnh thực nằm ñoạn mã CS ðịa ñầy ñủ lệnh ứng với CS:IP ñược xác ñịnh theo cách ñã nêu - BP (con trỏ sở-base pointer) BP trỏ vào liệu nằm ñoạn ngăn xếp SS ðịa ñầy ñủ phần tử ñoạn ngăn xếp ứng với SS:BP xác định theo cách nói - SI (chỉ số gốc hay nguồn – source index) SI vào liệu ñoạn liệu DS mà ñịa cụ thể ñầy ñủ ứng với DS:SI ñược xác ñịnh theo cách ñã nêu - DI (Chỉ số đích – destination index) DI vào liệu ñoạn liệu DS mà ñịa cụ thể ñầy ñủ ứng với DS:SI xác định cách nói Chú ý: Riêng lệnh thao tác với liệu kiểu chuỗi cặp ES:DI ln ứng với địa phần tử thuộc chuỗi đích, cịn cặp DS:SI ứng với ñịa phần tử thuộc chuỗi gốc • Thanh ghi cờ FR (flat register) ðây ghi đặc biệt CPU, bit ñược dùng ñể phản ánh trạng thái ñịnh kết phép toán ALU thực trạng thái hoạt ñộng EU Dựa vào cờ người lập trình có lệnh thích hợp cho vi xử lý (các lệnh nhảy có điều kiện) Thanh ghi cờ gồm 16 bit người ta dùng hết bit để làm bit cờ x x x x O D I T S Z x A x P x C Hình 1.4 Sơ đồ ghi cờ vi xử lý 8086/88 Các cờ cụ thể: - C CF (Carry Flat) cờ nhớ, CF = có nhớ mượn từ MSB - P FP (Parity Flat) cờ parity phản ánh tính chẵn lẻ tổng số bit có kết PF = tổng số bit có kết chẵn (even parity) PF = tổng số bit kết lẻ Bộ môn Công Nghệ Cơ ðiện Trang Đề cương giảng vi xử lý - 8051 - A AF (auxiliary carry flat) cờ nhớ phụ có ý nghĩa ta làm việc với số BCD AF=1 có nhớ mượn từ số BCD thấp (4 bit thấp) sang số BCD cao(4 bit cao) - Z ZF (zero flat) cờ rỗng, ZF=1 kết - S SF (sign flat) cờ dấu, SF=1 kết âm - O OF (over flow) cờ tràn OF = kết số bù hai vượt giới hạn biểu diễn dành cho Trên bit cờ trạng thái phản ánh trạng thái khác kết sau thao tác đó, bit cờ ñầu thuộc byte thấp ghi cờ cờ giống vi xử lý 8085 intel Chúng lập xóa tùy theo ñiều kiện cụ thể sau thao tác ALU Ngồi ra, vi xử lý 8088 cịn có cờ ñiều khiển sau ñây (các cờ ñược lập xóa nhờ lệnh riêng) - T TF (trap flat) cờ bẫy, TF = CPU làm việc chế ñộ chạy lệnh (chế ñộ dùng cần tìm lỗi chương trình) - I IF (interrupt enable flat) cờ cho phép ngắt, IF=1 CPU cho phép yêu cầu ngắt (che ngắt) ñược tác ñộng - D DF (direction flat) cờ hướng DF=1 CPU làm việc với chuỗi ký tự theo thứ tự từ phải sang trái Với cờ tràn ta cần phải làm rõ ñể ta hiểu ñược chất chế làm việc Cờ tràn thường dùng đến ta làm việc với số bù hai có dấu, giả thiết ta làm việc với số bù hai có độ dài bit Kết ñể AL gọi C67 cờ nhớ từ bit lên bit Trong b7 MSB bit dấu (SF) AL Ta chứng minh quan hệ cờ OF với cờ CF C67 tuân theo phương trình sau: OF = CF + C67 Nghĩa thực phép toán với số bù hai có dấu, tượng tràn số xảy cờ OF = có nhớ từ MSB (tức từ SF) sang CF lại khơng có nhớ vào (SF) ngược lại ðiều tổng quát hóa cho trường hợp làm việc với số bù hai có dấu với độ dài 16/32 bit 1.1.3 Quá trình tìm nạp lệnh thực thi lệnh CPU Việc tìm nạp lệnh từ Ram hệ thống thao tác mà CPU phải thực Quá trình tìm nạp lệnh thực theo trình tự sau: Bộ môn Công Nghệ Cơ ðiện Trang Đề cương giảng vi xử lý - 8051 Hình 1.5 Hoạt động Bus cho chu kỳ tìm nạp lệnh - Nội dụng PC ñược ñặt lên bus ñịa - Tín hiệu điều khiển READ xác lập, chuyển sang trạng thái tích cực - Dữ liệu (opcode lệnh) ñược ñọc từ RAM ñưa lên bus liệu - opcode ñược chốt vào ghi lệnh bên CPU - PC tăng để chuẩn bị tìm nạp lệnh từ nhớ Giai ñoạn thực thi lệnh bao gồm việc giải mã opcode tạo tín hiệu điều khiển, tín hiệu điều khiển việc xuất nhập ghi nội với ALU thơng báo để ALU thực thao tác ñã ñược xác ñịnh 1.1.4 Bộ nhớ ñọc ROM (Read Only Memory) • ROM bản: ROM dùng để lưu trữ chương trình điều hành (Monitor) hệ VXL Chương trình quy định hoạt động hệ VXL Bộ VXL vào lệnh chứa chương trình để điều khiển hệ VXL thực chức năng, nhiệm vụ ñược ấn ñịnh lệnh Nói cách khác, hệ VXL thực cách trung thực thuật toán mà người thiết kế phần mềm ñã xây dựng cài ñặt vào ROM hệ Ngồi ra, ROM hệ VXL cịn dùng để lưu trữ bảng biểu, tham số hệ thống mà q trình hoạt động khơng thay đổi như: bảng ñịa cổng giao tiếp, bảng tra cứu số liệu, mã cần sử dụng hệ ROM ñược quản lý theo phương thức ma trận điểm, có nhiều chủng loại khác nhau: ROM, PROM, EPROM, EEPROM,… ROM nhớ cố định có cấu trúc đơn giản Nội dung nhà sản xuất chế tạo, người sử dụng thay ñổi nội dung ñược PROM (Programmable ROM - ROM có khả lập trình được): Bộ môn Công Nghệ Cơ ðiện Trang Đề cương giảng vi xử lý - 8051 ðặc ñiểm chung: Nội dung PROM nhà sản xuất người thiết kế hệ VXL nạp vào ñựoc lần Sau nạp xong nội dung thay ñổi ñược EPROM (Eraseable PROM ROM nạp/xoá ñược nhiều lần): EPROM nhớ cố định có cấu trúc đặc biệt Nội dung nhà sản xuất hay người thiết kế hệ VXL nạp vào nạp/xố nhiều lần Người ta tạo bit thông tin EPROM dựa nguyên tắc làm việc Transistor trường có cực cửa cách ly kênh cảm ứng (MOSFET kênh cảm ứng) EEPROM (Electrical EPROM ROM có khả lập trình xố ñiện) 1.1.5 Bộ nhớ truy cập ngẫu nhiên RAM (Random Acess Memory) RAM nhớ ghi ñọc ñược, thông tin RAM bị mất nguồn cung cấp Theo phương thức lưu trữ thông tin, RAM ñược chia thành loại bản: RAM tĩnh RAM động RAM tĩnh: Có thể lưu trữ thơng tin lâu tuỳ ý miễn cung cấp ñiện - tất loại phần tử nhớ Trigơ ñều thuộc loại RAM ñộng: Chỉ lưu ñược thông tin khoảng thời gian ñịnh Muốn kéo dài thời gian cần có phương thức làm tươi lại thông tin phần tử nhớ RAM Phần tử nhớ RAM ñộng ñơn giản linh kiện ñiện dung - tụ diện Sử dụng RAM động có phức tạp cấu trúc nhớ lại đơn giản, tiêu tốn lượng, tăng mật độ nhớ đơi cịn làm tăng tốc ñộ làm việc nhớ Cấu trúc mạch ñiện nhớ RAM ña dạng công nghệ chế tạo chúng (TTL, MOS,… ) yêu cầu sử dụng chúng yêu cầu ghép nối, tốc ñộ làm việc, mật ñộ linh kiện dung lương cần thiết… 1.1.6 Các thiết bị xuất nhập I/O 1.2 Các hệ thống số 1.2.1 Hệ thống số thập phân Hệ đếm thập phân cịn gọi hệ đếm số mười biểu diễn 10 số từ (0,1,2,3,4,5,6,7,8,9 ) số ñược sử dụng nhiều khoa học kỹ thuật ñời sống hàng ngày, biểu diễn số thập phân dứng sau dãy số thường có chữ D Ví dụ: Ba nghìn Chin trăm Bảy mươi Tám ñược biểu diễn sau 3978 = 3x103 + 9x102 + 7x101 + 8x100 = 3000 + 900 + 70 + 1.2.2 Hệ thống số nhị phân Hệ đếm nhị phân cịn gọi hệ đếm số hai biểu diễn số 1, kỹ thuật ñiện tử số số gọi mức logic thấp ứng với ñiện áp thấp, số 1gọi mức logic cao tương ứng với ñiện áp cao Mỗi ký hiệu ñược gọi Bit (Binary Digit), biểu diễn số nhị phân dứng sau dãy số phải có chữ B V í dụ: 1100b ; gọi nibble 1001 1001b ; gọi Byte 1010 1011 1100 1101b ; gọi Word Trong dãy số nhị phân biểu diễn số nhị phân sát phải gọi bít LSB cịn số nhị phân sát trái gọi bít MSB V í dụ: 1 0 1 MSB LSB Bộ môn Công Nghệ Cơ ðiện Trang Đề cương giảng vi xử lý - 8051 Số nhị phân thường ñược biểu diễn dạng số nhị phân có dấu số nhị phân khơng dấu, số nhị phân không dấu biểu diễn số khơng âm (≥0) cịn số nhị phân có dấu biểu diễn giá trị âm Ví dụ : (1101) = 1x23 + 1x22 + 0x21 + 1x20 = + + + = 13 Giải giá trị số có dấu bit là: -128 ñến 127 Giải giá trị số có dấu 16 bit là: -32768 đến 32767 Trong biểu diễn dãy số nhị phân có dấu người ta sử dụng bít MSB để quy ước cho bít dấu, với bít cho dãy số nhị phân dương cịn bít cho dãy số nhị phân âm 1.2.3 Hệ thống số bát phân (BCD-Binary Coded Decimal) Số ñếm BCD ñược ñịnh nghĩa số thập phân biểu diễn dạng nhị phân bít, dãy số nhị phân bít quy sang hệ thập phân giá trị phải ≤ Trong kỹ thuật điện tử nói chung mã BCD ñược sử dụng ñể giải mã hiển thị LED bảy thanh… Ví dụ: (0011), (0100), (0101), (0110), …(1001) ; gọi số BCD khơng nén Ví dụ: (00110100), (01010110), … (01111000) ; ñây gọi số BCD nén Dưới ñây bảng mã BCD Thập phân BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 Ví dụ: số 15 biểu diễn dạng BCD: 0001 0101 1.2.4 Hệ thống số thập lục (Hexadecimal) Hệ ñếm thập phân gọi hệ ñếm số mười sáu biểu diễn 16 ký số (0,1,2,3,4,5,6,7,8,9,B,C,D,E,F) số ñược sử dụng nhiều khoa học kỹ thuật ñặc biệt khoa học máy tính biểu diễn mã Hexa ngắn gọn, biểu diễn số thập lục phân sau dãy số phải có chữ H Ví dụ: 3978h , 12CCh, 1998h, ABCDh, 2008h … 1.2.5 Số bù hai Trong kỹ thuật Vi xử lý ñể biểu diễn số dạng dãy số nhị phân ngồi việc biểu diễn số khơng dấu, số có dấu người ta cịn sử dụng cách biểu diễn số bù Vậy số bù biểu diễn nào? Ví dụ: Hãy biểu diễn dãy số A = 10011001 sang số bù nó: b1: Tìm số bù A(bằng cách lấy bù tất bit A): 01100110 b2: Tìm số bù A (bằng cách lấy số bù cộng cho 1) : 01100111 ñến ñây ta nhận thấy số bù số số đối tổng =0 1.2.6 Các phép tốn số học hệ nhị phân a phép cộng nhị phân không dấu Quy ước: 0+0=0 0+1=1 Bộ môn Công Nghệ Cơ ðiện Trang Đề cương giảng vi xử lý - 8051 + = nhớ Ví dụ: Cho số nhị phân sau A = 10010011 ; B = 00111001 tìm tổng Y số nhị phân cho b Phép trừ nhị phân Quy ước: 0–0=0 – = mượn 1–0=1 1–1=0 Ví dụ : Cho số nhị phân sau A = 10010011 ; B = 00111001 tìm hiệu Z số nhị phân ñã cho (Lưu ý phép trừ thực cách biến thành phép cộng cách cộng với số bù ) c Phép nhân nhị phân Ví dụ : Cho số nhị phân sau A = 00100101 ; B = 00000100 tìm tích F Khi nhân dãy số nhị phân với ta đặt phép tốn nhân giống nhân số thập phân, kết phép nhân dãy số nhị phân bít thu dãy số nhị phân 16 bít, ta có F = A*B = 0000000010010100b d Phép chia nhị phân Ví dụ : Cho số nhị phân sau A = 10010110 ; B = 00000100 tìm thương Khi chia dãy số nhị phân với ta đặt phép tốn chia giống chia số thập phân, kết phép chia phần dư (nếu có) thu tương tự làm phép chia ñối với số thập phân, ta có M = A/B = 00100101b dư 0010b 1.2.7 Chuyển ñổi qua lại hệ thống số Chuyển ñổi số thập phân sang nhị phân : ðể chuyển ñổi số thập phân sang số nhị phân người ta thường dùng phương pháp lấy số thập phân cần chuyển chia liên tiếp ñến khơng thể chia dừng Ví dụ : Chuyển số thập phân 25 sang số nhị phân không dấu Chia Thương số Dư số 25/2 = 12 LSB 12/2 = 6/2 = 3/2 = 1 1/2 = MSB Kết thu ñược là: 11001 với số dư lần thứ bít có trọng số nhỏ Chuyển ñổi số nhị phân sang thập phân : ðể chuyển ñổi số nhị phân sang số thập phân người ta thường dùng phương pháp lấy tổng tích n số nhị phân cần chuyển nhân với 20 ñến 2N-1 hay theo biểu thức tổng quát sau: A = B(N-1)* 2(N-1) + B(N-2)* 2(N-2) + B(N-3)* 2(N-3) + … + B(1)* 2(1) + B(0)* 2(0) Ví dụ : Chuyển số nhị phân không dấu 01011110b sang số thập phân A = 0*27 + 1*26 +0*25 + 1*24+ 1*23 + 1*22 + 1*21 + 0*20 = 94 ta có 01011110b = 94 Chuyển đổi số nhị phân sang Hexa : Ví dụ : Chuyển số nhị phân 1100101011111110 sang số hexa Bộ môn Công Nghệ Cơ ðiện Trang 10 Đề cương giảng vi xử lý - 8051 aaaaaaa a INC @Ri 1 0000011i ((Ri))