1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Đề cương bài giảng vi xử lý - 8051 pptx

58 689 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 58
Dung lượng 1,77 MB

Nội dung

Đề cương bài giảng vi xử lý - 8051 Đề cương Bài giảng vi xử lý 8051 Bộ môn Công Nghệ Cơ Điện Trang 1 Đề cương bài giảng vi xử lý - 8051 Chương 1. 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 và chức năng của một bộ vi xử lý. Sơ đồ khối : Hình 1.1. Cấu trúc tổng quát của một hệ vi xử lý Các khối chức năng chính của 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 các 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 nhau thông qua tập các đường dây để truyền tín hiệu gọi chung là bus hệ thống. Bus hệ thống bao gồm 3 bus thành phần ứng với các tín hiệu địa chỉ, dữ liệu và điều khiển ta có bus địa chỉ, bus dữ liệu và bus điều khiển. Chức năng các khối : - Bộ xử lý trung tâm CPU (Central Processing Unit ) là trung tâm đầu não của hệ, nó có chức năng thu thập, xử lý thông tin và điều khiển mọi hoạt động của hệ vi xử lý. - Bộ nhớ trung tâm có nhiệm vụ lưu trữ thông tin dữ liệu trước khi CPU xử lý - Thiết bị I/O thực hiện việc nhận dữ liệu từ các kênh thông tin từ bên ngoài vào để cho CPU xử lý và xuất ra các tín hiệu điều khiển hệ thống - Các kênh thông tin hay Bus hệ thống là cầu nối liên kết giữa các khối trong đó thực hiện 3 việc chính là liên kết các Bus địa chỉ, Bus điều khiển và Bus dữ liệu. Một bus là tập hợp các dây dẫn mang thông tin có cùng một mục đích. Việc truy xuất tới một mạch xung quanh CPU sử dụng ba bus: bus địa chỉ, bus điều khiển và bus dữ liệu. Với mỗi thao tác đọc hoặc ghi CPU xác định rõ vị trí của dữ liệu hoặc lệnh bằng cách đặt một địa chỉ lên bus địa chỉ, sau đó tích cực một tín hiệu trên bus điều khiển để chỉ ra thao tác là đọc hay ghi. Thao tác đọc lấy một byte dữ liệu từ bộ nhớ ra vị trí xác định và đặt byte này lên bus dữ liệu. CPU đọc dữ liệu và và đặt dữ liệu vào một trong các thanh ghi nội của CPU. Với thao tác ghi, CPU xuất dữ liệu lên bus dữ liệu. Nhờ vào tín hiệu điều khiển, bộ nhớ nhận biết đây là thao tác ghi và lưu dữ liệu vào vị trí xác định. 1.1.2. Bộ xử lý trung tâm (CPU). Bộ vi xử lý là hạt nhân của hệ vi xử lý, nó là thành phần quan trọng nhất kiểm soát tất cả các hoạt động của hệ và thực hiện các thao tác trên dữ liệu. Hầu hết các CPU được hình thành từ các mạch lôgic nhằm thực hiện liên tục 2 thao tác là tìm nạp lệnh từ bộ nhớ Bộ môn Công Nghệ Cơ Điện Trang 2 cng bi ging vi x lý - 8051 gii mó v thc thi lnh. CPU cú kh nng hiu v thc thi cỏc lnh da trờn mt tp cỏc mó nh phõn gi l mó mỏy trong ú mi mó nhm thc hin mt thao tỏc no ú.T hp cỏc lnh cho mi loi CPU gi l tp lnh v nú thng chia ra thnh cỏc nhúm lnh nh: - Nhúm lnh chuyn d liu - Nhúm lnh s hc - Nhúm lnh Lụgic - Nhúm lnh r nhỏnh chng trỡnh - Nhúm lnh x lý bớt Cu trỳc n gin ca mt loi CPU c minh ha nh sau: Bus dữ liệu ALU Các thanh ghi đoạn BUS trong của CPU BUS ngoài Đơn vị thực hiện EU (Execution Unit) Đơn vị ghép nối- BIU (Bus Interface Unit) Hàng đợi lệnh Các thanh ghi đa năng Thanh ghi con trỏ, chỉ số AX BX CX DX SP BP SI DI CS DS SS ES IP Toán hạng Khối điều khiển của EU Bộ tạo địa chỉ Điều khiển BUS Thanh ghi cờ EU: Execution unit (khi thc hin lnh) BIU: Bus interface unit (Khi phi ghộp bus) ALU: Arithmetic and logic unit (khi s hc v logic) Hỡnh 1.2. S khi ca b vi x lý 8088 BIU v EU: Bờn trong CPU 8088 cú hai khi chớnh: khi phi ghộp bus (BIU) v khi thc hin lnh (EU). Vic chia CPU ra lm hai phn lm vic ng thi cú liờn h vi nhau qua m lnh lm tng ỏng k tc x lý ca CPU. Cỏc bus bờn trong CPU cú nhim v truyn ti cỏc tớn hiu ca cỏc khi khỏc. Trong s cỏc bus ú cú bus d liu 16 bit ca ALU, bus cỏc tớn hiu iu khin EU, v bus trong ca h thng BIU. Trc khi i ra bus ngoi hoc i vo bus trong ca b vi x lý, cỏc tớn hiu truyn trờn bus thng c cho i qua b m nõng cao tớnh tng thớch cho ni ghộp hoc nõng cao kh nng phi ghộp. BIU a ra a ch, c mó lnh t b nh, c/ghi d liu t/vo cng hoc b nh. Núi cỏch khỏc BIU chu trỏch nhim a a ch ra bus v trao i a ch vi bus. B mụn Cụng Ngh C in Trang 3 Đề cương bài giảng vi xử lý - 8051 Trong EU ta thấy có một khối điều khiển (control unit CU). Chính tại bên trong khối điều khiển này có mạch giải mã lệnh. Mã lệnh đọc vào từ bộ nhớ được đưa đến đầu vào của bộ giải mã, các thông tin thu được từ đầu ra của nó sẽ được đưa đến mạch tạo xung điều khiển, kết quả là ta thu được các dãy xung khác nhau (tùy theo mã lệnh) để điều khiển hoạt động của các bộ phận bên trong và bên ngoài CPU. Trong khối EU còn có khối số học và logic dùng để thực hiện các thao tác khác nhau với các toán hạng của lệnh. Tóm lại, khi CPU hoạt động EU sẽ cung cấp thông tin về địa chỉ cho BIU để khối này đọc lệnh và dữ liệu, còn bản thân nó thì giải mã lệnh và thực hiện lệnh. Trong BIU còn có một bộ nhớ đệm lệnh (hàng đợi lệnh) với dung lượng 4 byte dùng để chứa các mã lệnh đọc được nằm sẵn để chờ EU xử lý. Đây là cấu trúc mới được cấy vào bộ vi xử lý 8088 do việc Intel đưa cơ chế xử lý xen kẽ liên tục dòng mã lệnh (instruction pipelining) vào ứng dụng trong các bộ vi xử lý thế hệ mới. Pipeline là một cơ chế đã được ứng dụng từ những năm 60 trong các máy lớn. Cơ chế này hoạt động như sau: Hoạt động của CPU gồm 3 giai đoạn đọc mã lệnh (opcode fetch), giải mã lệnh (decode) và thực hiện lệnh (execution). Bộ vi xử lý 8088 sử dụng cơ chế xử lý xen kẽ liên tục dòng mã lệnh thì CPU được chia làm hai khối có sự phân chia công việc cho từng khối. Việc đọc mã lệnh do BIU thực hiện, việc giải mã lệnh và thực hiện lệnh là do khối EU đảm nhiệm. Các khối chức năng này có khả năng làm việc đồng thời và các bus sẽ liên tục được sử dụng. Trong khi EU lấy mã lệnh từ bộ đệm 4 byte để giải mã thì BIU vẫn có thể đọc mã lệnh từ bộ nhớ chính rồi đặt chúng vào bộ nhớ đệm lệnh đã nêu. Bộ đệm lệnh này làm việc theo kiểu vào trước – ra trước. Điều này làm tăng tốc độ của bộ vi xử lý. Tuy nhiên nếu trong bộ đệm lệnh chứa các mã lệnh CALL hay JMP thì nội dung cũ của bộ đệm sẽ bị xóa và thay thế vào đó là nội dung mới được nạp vào bởi các mã lệnh mới do lệnh nhảy hoặc lệnh con quyết định. Việc này tiêu tốn nhiều thời gian hơn so với việc xử lý theo kiểu tuần tự. 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 và dòng lệnh xen kẽ liên tục • Các thanh ghi đoạn (segment register, 16 bit) Khối BIU đưa ra trên bus địa chỉ 20 bus địa chỉ, như vậy 8088 có khả năng phân biệt được 2 20 = 1.048.576 = 1M ô nhớ hay 1 Mbyte, vì các bộ nhớ nói chung tổ chức theo byte. Nói cách khác, không gian địa chỉ của 8088 là một Mbyte. Trong không gian 1 Mbyte này bộ nhớ cần được chia thành các vùng khác nhau - Chứa mã chương trình - Chứa dữ liệu và kết quả trung gian của chương trình - Tạo ra một vùng nhớ đặc biệt gọi là ngăn xếp (stack) dùng vào việc quản lý các thông số của bộ vi xử lý khi gọi chương trình con hoặc chở về từ chương trình con Trong thực tế bộ vi xử lý 8088 có các thanh ghi 16 bit liên quan đến địa chỉ đầu của các vùng (các đoạn) kể trên và chúng được gọi là các thanh ghi đoạn. Đó là thanh ghi đoạn mã CS (code segment), thanh ghi đoạn dữ liệu DS (data segment), thanh ghi ngăn sếp SS (stack segment) và thanh ghi đoạn dữ liệu phụ ES (extra segment). Các thanh ghi Bộ môn Công Nghệ Cơ Điện Trang 4 Đề cương bài giảng vi xử lý - 8051 đoạn 16 bit này chỉ ra địa chỉ đầu của 4 đoạn trong bộ nhớ, dung lượng lớn nhất của mỗi đoạn nhớ này là 64Kbyte và tại một thời điêm nhất định bộ vi xử lý chỉ làm việc được với 4 đoạn nhớ 64Kbyte này. Việc thay đổi giá trị của các thanh ghi đoạn làm cho các đoạn tương ứng có thể dịch chuyển linh hoạt trong phạm vi không gian 1 Mbyte, vì vậy các đoạn này có thể nằm tách nhau khi thông tin cần lưu trong chúng đòi hỏi dung lượng đủ 64 Kbyte hoặc cũng có thể nằm trùm nhau do có những đoạn không cần không cần dùng hết độ dài 64Kbyte. Và vì thế các đoạn khác có thể bắt đầu nối tiếp ngay sau đó. Điều này cũng cho phép ta truy nhập vào bất kỳ đoạn nhớ 64 Kbyte nào nằm trong toàn bộ không gian 1 Mbyte Nội dung các thanh ghi đoạn sẽ xác định địa chỉ của ô nhớ nằm ở đầu đoạn. Địa chỉ này gọi là địa chỉ cơ sở. Địa chỉ của các ô nhớ khác nằm trong đoạn gọi là địa chỉ lệnh hay độ lệnh (offset), gọi như thế vì nó ứng với khoảng lệch của tọa độ một ô nhớ cụ thể nào đó so với ô đầu đoạn. Độ lệnh này được xác định bởi cac thanh ghi 16 bit khác đóng vai trò thanh ghi lệnh (offset registers) mà ta sẽ nói đến sau. Cụ thể, để xác định địa chỉ vật lý 20 bit của một ô nhớ nào đó trong một đoạn bất kỳ. CPU 8088 phải dùng đến hai thanh ghi 16 bit (mọt thanh ghi để chứa địa chỉ cơ sở, còn thanh ghi kia chứa độ lệnh) và từ nội dung của cặp thanh ghi đó nó tạo ra địa chỉ vật lý theo công thức sau. Địa chỉ vật lý = thanh ghi đoanh *16 + thanh ghi lệnh Việc dùng hai thanh ghi để ghi nhớ thông tin về địa chỉ thực chất tạo ra một loại địa chỉ gọi là địa chỉ logic và được ký hiệu như sau: Thanhghiđoạn : thanhghilệch (segment : offset) Địa chỉ segment : offset là logic vì nó tồn tại dưới dạng giá trị của các thanh ghi cụ thể bên trong CPU và khi cần thiết truy nhập ô nhớ nào đó thì nó phải được đổi ra địa chỉ vật lý để rồi được đưa lên bus địa chỉ. Việc chuyển này do một bộ tạo địa chỉ thực hiện. Ví dụ: cặp CS:IP sẽ chỉ ra địa chỉ của lệnh sắp thực hiện trong đoạn mã. Nếu tại một thời điểm nào đó ta có CS=F000H và IP=FFF0H thì CS:IP~F000H*16+FFF0H = F0000H + FFF0H = FFFF0H Địa chỉ FFFF0H chính là địa chỉ khởi động của 8088. Dấu ‘~’ là để chỉ sự tương ứng. Địa chỉ các ô nhớ thuộc các đoạn khác cũng có thể tính được theo cách tương tự như vậy. Vì vậy khi cần nói đến địa chỉ của môt ô nhớ ta có tể sử dụng cả địa chỉ logic lẫn địa chỉ vật lý. Vì bao giờ cũng tồn tại sự tương ứng giữa hai loại địa chỉ này (thông qua bộ tạo địa chỉ Σ). Trước khi nói đến các thanh ghi khác ta nói thêm chút ít về tính đa trị của các thanh ghi đoạn và thanh ghi lệch trong địa chỉ logic ứng với một địa chỉ vật lý. Điều này cũng nói lên tính linh hoạt cua cơ chế segment : offset trong việc định địa chỉ của 8088/8086. Nhìn vào các giá trị cuối cùng của địa chỉ vật lý, ta thấy có thể tạo ra địa chỉ đó từ nhiều giá trị khác nhau cua thanh ghi đoạn và thanh ghi lệch. Ví dụ: địa chỉ vật lý 12345H có thể được tạo ra từ các giá trị Thanh ghi đoạn Thanh ghi lệch 1000H 1200H 1004H 0300H 2345H 0345H 2305H E345H • Các thanh ghi đa năng Trong khối EU có 4 thanh ghi đa năng 16 bit AX, BX, CX, DX. Điều đặc biệt là khi cần chứa dữ liệu 8 bit thì mỗi thanh ghi này có thể tách ra thành 2 thanh ghi 8 bit cao và thấp làm việc độc lập. Đó là các cặp thanh ghi AH, AL, BH, BL, CH, CL, DH, DL (trong Bộ môn Công Nghệ Cơ Điện Trang 5 Đề cương bài giảng vi xử lý - 8051 đó H chỉ phần cao L chỉ phần thấp). Mỗi thanh ghi có thể được dùng một cách vạn năng để chứa các loại dữ liệu khác nhau, nhưng cũng có những công việc đặc biệt nhất định chỉ thao tác với một vài thanh ghi nào đó và chính vì vậy các thanh ghi thường được gán cho các cái tên đặc biệt rất có ý nghĩa. Cụ thể: - AX (accumulator, Acc) thanh chứa. Các kết quả của các thao tác thường được chứa ở đây (kếp quả của phép nhân, chia) nếu kết quả là 8 bit thì thanh ghi AL được coi là Acc - BX (Base) thanh ghi cơ sở, thường chứa địa chỉ cơ sở của một bảng dùng trong lệnh XLAT. - CX (counter) bộ đếm. Thường được dùng để chứa số lần lặp trong trường hợp các lệnh LOOP, còn CL thường được dùng để chứa số lần dịch hoặc quay trong các lệnh dịch hoặc quay thanh ghi - DX (data) thanh ghi dữ liệu. DX cùng AX tham gia vào các thao tác của phép nhân hoặc chia các số 16 bit. DX còn dùng để chứa địa chỉ của các cổng trong các lệnh vào ra dữ liệu trực tiếp (IN/OUT) • Các thanh ghi con trỏ và chỉ số Trong 8088 còn có 3 thanh ghi con trỏ và 2 thanh ghi chỉ số 16 bit. Các thanh ghi này (trừ IP) đều có thể được dùng như các thanh ghi đa năng, nhưng ứng dụng chính của mỗi thanh ghi là chúng được ngầm định như là thanh ghi lệnh cho các đoạn tương ứng. cụ thể: - IP (con trỏ lệnh-instruction pointer) IP luôn trỏ vào lệnh tiếp theo sẽ được thực hiện nằm trong đoạn mã CS. Địa chỉ đầy đủ của lệnh tiếp theo này ứng với CS:IP và được xác định theo cách đã nêu ở trên. - BP (con trỏ cơ sở-base pointer) BP luôn trỏ vào một dữ liệu nằm trong đoạn ngăn xếp SS. Địa chỉ đầy đủ của một phần tử trong đoạn ngăn xếp ứng với SS:BP và được xác định theo cách đã nói ở trên. - SI (chỉ số gốc hay nguồn – source index) SI chỉ vào dữ liệu trong đoạn dữ liệu DS mà địa chỉ cụ thể đầy đủ ứng với DS:SI và được xác định theo cách đã nêu ở trên - DI (Chỉ số đích – destination index) DI chỉ vào dữ liệu trong đoạn dữ liệu DS mà địa chỉ cụ thể đầy đủ ứng với DS:SI và được xác định như cách đã nói ở trên Chú ý: Riêng trong các lệnh thao tác với dữ liệu kiểu chuỗi thì cặp ES:DI luôn ứng với địa chỉ của phần tử thuộc chuỗi đích, còn cặp DS:SI ứng với địa chỉ của phần tử thuộc chuỗi gốc. • Thanh ghi cờ FR (flat register) Đây là thanh ghi khá đặc biệt trong CPU, mỗi bit của nó được dùng để phản ánh một trạng thái nhất định của kết quả phép toán do ALU thực hiện hoặc một trạng thái hoạt động của EU. Dựa vào các cờ này người lập trình có thể có các lệnh thích hợp tiếp theo cho bộ vi xử lý (các lệnh nhảy có điều kiện). Thanh ghi cờ gồm 16 bit nhưng người ta chỉ dùng hết 9 bit của nó để làm các bit cờ. x x x x O D I T S Z x A x P x C Hình 1.4. Sơ đồ thanh ghi cờ của bộ vi xử lý 8086/88 Các cờ cụ thể: - C hoặc CF (Carry Flat) cờ nhớ, CF = 1 khi có nhớ hoặc mượn từ MSB. Bộ môn Công Nghệ Cơ Điện Trang 6 Đề cương bài giảng vi xử lý - 8051 - P hoặc FP (Parity Flat) cờ parity phản ánh tính chẵn lẻ của tổng số bit 1 có trong kết quả. PF = 1 khi tổng số bit 1 có trong kết quả là chẵn (even parity) PF = 0 khi tổng số bit 1 trong kết quả là lẻ. - A hoặc AF (auxiliary carry flat) cờ nhớ phụ rất có ý nghĩa khi ta làm việc với các số BCD. AF=1 khi có nhớ hoặc mượn từ một số BCD thấp (4 bit thấp) sang một số BCD cao(4 bit cao) - Z hoặc ZF (zero flat) cờ rỗng, ZF=1 khi kết quả bằng 0 - S hoặc SF (sign flat) cờ dấu, SF=1 khi kết quả âm. - O hoặc OF (over flow) cờ tràn OF = 1 khi kết quả là một số bù hai vượt ra ngoài giới hạn biểu diễn dành cho nó. Trên đây là 6 bit cờ trạng thái phản ánh các trạng thái khác nhau của kết quả sau một thao tác nào đó, trong đó 5 bit cờ đầu thuộc byte thấp của thanh ghi cờ là các cờ giống như bộ vi xử lý 8085 của intel. Chúng được lập hoặc xóa tùy theo các điều kiện cụ thể sau các thao tác của ALU. Ngoài ra, bộ vi xử lý 8088 còn có các cờ điều khiển sau đây (các cờ này được lập hoặc xóa nhờ các lệnh riêng). - T hoặc TF (trap flat) cờ bẫy, TF = 1 thì CPU làm việc ở chế độ chạy từng lệnh (chế độ này dùng khi cần tìm lỗi trong một chương trình). - I hoặc IF (interrupt enable flat) cờ cho phép ngắt, IF=1 thì CPU cho phép các yêu cầu ngắt (che ngắt) được tác động. - D hoặc DF (direction flat) cờ hướng DF=1 khi 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õ hơn để ta hiểu được bản chất và cơ chế làm việc của nó. Cờ tràn thường được dùng đến khi 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 8 bit. Kết quả để ở AL gọi C 67 là cờ nhớ từ bit 6 lên bit 7. Trong đó b7 là MSB và cũng chính là bit dấu (SF) của AL. Ta có thể chứng minh được rằng quan hệ giữa cờ OF với các cờ CF và C 67 tuân theo phương trình sau: OF = CF + C 67 Nghĩa là khi thực hiện các phép toán với các số bù hai có dấu, hiện tượng tràn số xảy ra cờ OF = 1 nếu có nhớ từ MSB (tức là từ SF) sang CF nhưng lại không có nhớ vào chính nó (SF) hoặc ngược lại. Điều này có thể tổng quát hóa cho các 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 và thực thi lệnh của CPU Việc tìm nạp một lệnh từ Ram hệ thống là một trong những thao tác cơ bản nhất mà CPU phải thực hiện. Quá trình tìm nạp lệnh được thực hiện theo trình tự như sau: Bộ môn Công Nghệ Cơ Điện Trang 7 Đề cương bài giảng vi xử lý - 8051 Hình 1.5. Hoạt động của Bus cho chu kỳ tìm nạp lệnh - Nội dụng của PC được đặt lên bus địa chỉ. - Tín hiệu điều khiển READ được xác lập, chuyển sang trạng thái tích cực. - Dữ liệu (opcode của lệnh) được đọc từ RAM và đưa lên bus dữ liệu. - opcode được chốt vào thanh ghi lệnh bên trong CPU - PC được tăng để chuẩn bị tìm nạp lệnh kế tiếp từ bộ nhớ. Giai đoạn thực thi lệnh bao gồm việc giải mã opcode và tạo ra các tín hiệu điều khiển, các tín hiệu này điều khiển việc xuất nhập giữa các thanh ghi nội với ALU và thông báo để ALU thực hiện thao tác đã được xác định. 1.1.4. Bộ nhớ chỉ đọc ROM (Read Only Memory) • ROM cơ bản: ROM dùng để lưu trữ chương trình điều hành (Monitor) của hệ VXL. Chương trình này sẽ quy định mọi hoạt động của hệ VXL. Bộ VXL sẽ căn cứ vào các lệnh chứa trong chương trình để điều khiển hệ VXL thực hiện các chức năng, nhiệm vụ được ấn định trong lệnh. Nói cách khác, hệ VXL sẽ thực hiện một cách trung thực thuật toán mà người thiết kế phần mềm đã xây dựng và cài đặt vào ROM của hệ. Ngoài ra, ROM trong hệ VXL còn dùng để lưu trữ các bảng biểu, tham số của hệ thống mà trong quá trình hoạt động không được thay đổi như: bảng địa chỉ cổng giao tiếp, các bảng tra cứu số liệu, các bộ mã cần sử dụng trong hệ. ROM cũng được quản lý theo phương thức ma trận điểm, nó có nhiều chủng loại khác nhau: ROM, PROM, EPROM, EEPROM,… ROM là bộ nhớ cố định có cấu trúc đơn giản nhất. Nội dung của nó do nhà sản xuất chế tạo, người sử dụng không thể thay đổi nội dung này được nữa. 1. PROM (Programmable ROM - ROM có khả năng lập trình được): Bộ môn Công Nghệ Cơ Điện Trang 8 Đề cương bài giảng vi xử lý - 8051 Đặc điểm chung: Nội dung của PROM do nhà sản xuất hoặc người thiết kế hệ VXL nạp vào nhưng chỉ đựoc 1 lần. Sau khi nạp xong nội dung này không thể thay đổi được nữa. 2. EPROM (Eraseable PROM ROM nạp/xoá được nhiều lần): EPROM là bộ nhớ cố định có cấu trúc đặc biệt. Nội dung của nó do nhà sản xuất hay người thiết kế hệ VXL nạp vào và có thể nạp/xoá nhiều lần. Người ta tạo ra 1 bit thông tin trong EPROM dựa trên nguyên tắc làm việc của Transistor trường có cực cửa cách ly kênh cảm ứng (MOSFET kênh cảm ứng). 3. EEPROM (Electrical EPROM ROM có khả năng lập trình và xoá được bằng điện). 1.1.5. Bộ nhớ truy cập ngẫu nhiên RAM (Random Acess Memory) RAM là bộ nhớ có thể ghi và đọc được, thông tin trên RAM sẽ bị mất khi mất nguồn cung cấp. Theo phương thức lưu trữ thông tin, RAM được chia thành 2 loại cơ bản: RAM tĩnh và RAM động. RAM tĩnh: Có thể lưu trữ thông tin lâu tuỳ ý miễn là được cung cấp điện năng - tất cả các loại phần tử nhớ bằng Trigơ đều thuộc loại này. RAM động: Chỉ lưu được thông tin trong 1 khoảng thời gian nhất định. Muốn kéo dài thời gian này cần có phương thức làm tươi lại thông tin trong phần tử nhớ RAM. Phần tử nhớ của RAM động đơn giản nhất là một linh kiện điện dung - tụ diện. Sử dụng RAM động có phức tạp nhưng về cấu trúc nhớ lại đơn giản, tiêu tốn ít năng lượng, tăng mật độ bộ nhớ và đôi khi còn làm tăng cả tốc độ làm việc của bộ nhớ. Cấu trúc mạch điện của các bộ nhớ RAM rất đa dạng cả về công nghệ chế tạo chúng (TTL, MOS,… ) và các yêu cầu sử dụng chúng như các yêu cầu về ghép nối, tốc độ làm việc, mật độ linh kiện và 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 là hệ đếm cơ số mười và nó được biểu diễn bởi 10 con số từ Hệ đếm thập phân còn gọi là hệ đếm cơ số mười và nó được biểu diễn bởi 10 con số từ (0,1,2,3,4,5,6,7,8,9 ) những con số này được sử dụng rất nhiều trong khoa học kỹ thuật (0,1,2,3,4,5,6,7,8,9 ) những con số này được sử dụng rất nhiều trong khoa học kỹ thuật cũng như trong đời sống hàng ngày, khi biểu diễn số thập phân thì dứng sau dãy số cũng như trong đời sống hàng ngày, khi biểu diễn số thập phân thì dứng sau dãy số thường có chữ D. thường có chữ D. Ví dụ: Ba nghìn Chin trăm Bảy mươi Tám được biểu diễn như sau Ví dụ: Ba nghìn Chin trăm Bảy mươi Tám được biểu diễn như sau 3978 3978 = 3x10 = 3x10 3 3 + 9x10 + 9x10 2 2 + 7x10 + 7x10 1 1 + 8x10 + 8x10 0 0 = 3000 + 900 + 70 + 8 = 3000 + 900 + 70 + 8 1.2.2. Hệ thống số nhị phân Hệ đếm nhị phân còn gọi là hệ đếm cơ số hai và nó được biểu diễn bởi 2 con số là 0 và Hệ đếm nhị phân còn gọi là hệ đếm cơ số hai và nó được biểu diễn bởi 2 con số là 0 và 1, trong kỹ thuật điện tử số thì số 0 gọi là mức logic thấp ứng với điện áp thấp, số 1gọi là 1, trong kỹ thuật điện tử số thì số 0 gọi là mức logic thấp ứng với điện áp thấp, số 1gọi là mức logic cao tương ứng với điện áp cao nhất. Mỗi ký hiệu 0 hoặc 1 được gọi là 1 Bit mức logic cao tương ứng với điện áp cao nhất. Mỗi ký hiệu 0 hoặc 1 được gọi là 1 Bit (Binary Digit), khi biểu diễn số nhị phân thì dứng sau dãy số phải có chữ B. (Binary Digit), khi biểu diễn số nhị phân thì dứng sau dãy số phải có chữ B. Ví dụ: Ví dụ: 1100b 1100b ; gọi là 1 nibble ; gọi là 1 nibble 1001 1001 1001 1001 b b ; gọi là 1 Byte ; gọi là 1 Byte 1010 1010 1011 1011 1100 1100 1101 1101 b b ; gọi là 1 Word ; gọi là 1 Word Trong dãy số nhị phân được biểu diễn thì số nhị phân sát phải gọi là bít LSB còn số Trong dãy số nhị phân được biểu diễn thì số nhị phân sát phải gọi là bít LSB còn số nhị phân sát trái gọi là bít MSB nhị phân sát trái gọi là bít MSB Ví dụ: Ví dụ: 1 1 0 0 1 1 1 0 MSB LSB Bộ môn Công Nghệ Cơ Điện Trang 9 Đề cương bài giảng vi xử lý - 8051 Số nhị phân thường được biểu diễn ở 2 dạng là số nhị phân có dấu và số nhị phân Số nhị phân thường được biểu diễn ở 2 dạng là số nhị phân có dấu và số nhị phân không dấu, nếu số nhị phân không dấu sẽ chỉ biểu diễn các số không âm ( không dấu, nếu số nhị phân không dấu sẽ chỉ biểu diễn các số không âm ( ≥ ≥ 0) còn số nhị 0) còn số nhị phân có dấu thì biểu diễn được cả giá trị âm phân có dấu thì biểu diễn được cả giá trị âm Ví dụ : (1101) = 1x2 Ví dụ : (1101) = 1x2 3 3 + 1x2 + 1x2 2 2 + 0x2 + 0x2 1 1 + 1x2 + 1x2 0 0 = 8 + 4 + 0 + 1 = 13 Giải giá trị của các số có dấu 8 bit là: -128 đến 127 Giải giá trị của các số có dấu 16 bit là: -32768 đến 32767 Trong khi biểu diễn dãy số nhị phân có dấu thì người ta sử dụng bít MSB để quy ước Trong khi biểu diễn dãy số nhị phân có dấu thì người ta sử dụng bít MSB để quy ước cho bít dấu, với bít 0 cho dãy số nhị phân dương còn bít 1 cho dãy số nhị phân âm. cho bít dấu, với bít 0 cho dãy số nhị phân dương còn bít 1 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 là số thập phân nhưng được biểu diễn dưới dạng nhị phân 4 bít, nhưng dãy số nhị phân 4 bít này khi quy sang hệ thập phân thì giá trị của nó phải ≤ 9 .Trong kỹ thuật điện tử nói chung thì mã BCD được sử dụng để giải mã hiển thị LED bảy thanh… Ví dụ: (0011), (0100), (0101), (0110), …(1001) ; đây gọi là số BCD không nén Ví dụ: (00110100), (01010110), … (01111000) ; đây gọi là số BCD nén Dưới đây là bảng các mã BCD Thập phân BCD 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 Ví dụ: số 15 biểu diễn dưới dạng BCD: 0001 0101 1.2.4. Hệ thống số thập lục ( Hexadecimal Hexadecimal) Hệ đếm thập phân còn gọi là hệ đếm cơ số mười sáu và nó được biểu diễn bởi 16 ký số Hệ đếm thập phân còn gọi là hệ đếm cơ số mười sáu và nó được biểu diễn bởi 16 ký số (0,1,2,3,4,5,6,7,8,9,B,C,D,E,F) những con số này được sử dụng rất nhiều trong khoa học (0,1,2,3,4,5,6,7,8,9,B,C,D,E,F) những con số này được sử dụng rất nhiều trong khoa học kỹ thuật đặc biệt là khoa học máy tính vì biểu diễn mã Hexa rất ngắn gọn, khi biểu diễn kỹ thuật đặc biệt là khoa học máy tính vì biểu diễn mã Hexa rất ngắn gọn, khi biểu diễn số thập lục phân thì sau dãy số phải có chữ H. số thập lục phân thì sau dãy số phải có chữ H. Ví dụ: 3978h , 12CCh, 1998h, ABCDh, 2008h … Ví dụ: 3978h , 12CCh, 1998h, ABCDh, 2008h … 1.2.5. Số bù hai Trong kỹ thuật Vi xử lý để biểu diễn một con số nào đó dưới dạng dãy số nhị phân thì ngoài việc biểu diễn số không dấu, số có dấu thì người ta còn sử dụng cách biểu diễn số bù 2. Vậy số bù 2 sẽ biểu diễn như thế nào? Ví dụ: Hãy biểu diễn dãy số A = 10011001 sang số bù 2 của nó: b1: Tìm số bù 1 của A(bằng cách lấy bù tất cả các bit của A): 01100110 b2: Tìm số bù 2 của A (bằng cách lấy số bù 1 cộng cho 1) : 01100111 đến đây ta nhận thấy rằng số bù 2 của một số nào đó nó chính là số đối của nó và tổng =0 1.2.6. Các phép toán số học đối với hệ nhị phân a. phép cộng nhị phân không dấu Quy ước: 0 + 0 = 0 Bộ môn Công Nghệ Cơ Điện Trang 10 [...]... DS500 0-8 -8 có 8K NV-RAM và tốc đọ 8MHZ Thông thờng DS500 0-8 12 hoặc DS5000T- 8-1 2 là lý tởng đối với các dự án của sinh vi n Bảng 2.5:Các phiên bản của DS5000 với các tốc độ khác nhau NV- RAM Tốc độ Mã linh kiện DS500 0-8 -8 8K 8MHz DS500 0-8 -1 2 8K 12MHz DS500 0-3 2-8 32K 8MHz DS5000T-3 2-1 2 32K 8MHz (with RTC) DS500 0-3 2-1 2 32K 12MHz DS500 0-8 -1 2 8K 12MHz (with RTC) Phiên bản OTP của 8051 Các phiên bản OTP của 8051. .. bi ging vi x lý - 8051 - P0.0 n P0.7 l cỏc chõn ca cng 0 - P1.0 n P1.7 l cỏc chõn ca cng 1 - P2.0 n P2.7 l cỏc chõn ca cng 2 - P3.0 n P3.7 l cỏc chõn ca cng 3 - RxD: Nhn tớn hiu kiu ni tip - TxD: Truyn tớn hiu kiu ni tip - /INT0: Ngt ngoi 0 - /INT1: Ngt ngoi 1 - T0: Chõn vo 0 ca b Timer/Counter 0 - T1: Chõn vo 1 ca b Timer/Counter 1 - /Wr: Ghi d liu vo b nh ngoi - /Rd: c d liu t b nh ngoi - RST: Chõn... th xem b VK nh mt h VXL On-chip, i vi AT89C51, nú cú y chc nng ca mt h VXL 8 bit, oc iu khin bi mt h lnh, cú s lnh mnh, cho phộp lp trỡnh bng hp ng (Assembly, C) Cỏc thnh vi n khỏc ca h 8051 Cú hai b vi iu khin thnh vi n khỏc ca h 8052 l 8031 v 8052 a- Bộ vi điều khiển 8052: Bộ vi điều khiển 8052 là một thành vi n khác của họ 8051, 8052 có tất cả các đặc tính chuẩn của 8051 ngoài ra nó có thêm 128... quyết vấn đề này ta có thể bổ xung cổng vào - ra cho 8031 Phối phép 8031 với bộ nhớ và cổng vào - ra chẳng hạn với chíp 8255 đợc trình bày ở chơng 14 Ngoài ra còn có các phiên bản khác nhau về tốc độ của 8031 từ các hãng sản xuất khác nhau c Các bộ vi điều khiển 8051 từ các hãng khác nhau B mụn Cụng Ngh C in Trang 13 cng bi ging vi x lý - 8051 Mặc dù 8051 là thành vi n phổi biến nhất của họ 8051 nhng... nh 8051 Xem bảng 1.4 Bảng2.1: so sánh các đặc tính của các thành vi n họ 8051 Đặc tính 8051 8052 8031 ROM trên chíp 4K byte 8K byte OK RAM 128 byte 256 byte 128 byte Bộ định thời 2 3 2 32 32 32 Chân vào - ra Cổng nối tiếp 1 1 1 Nguồn ngắt 6 8 6 Nh nhìn thấy từ bảng 1.4 thì 8051 là tập con của 8052 Do vậy tất cả mọi chơng trình vi t cho 8051 đều chạy trên 8052 nhng điều ngợc lại là không đúng b- Bộ vi. .. liu - PUSH : Chuyn giỏ tr t toỏn hng ngun vo ngn xp - POP : Chuyn giỏ tr t ngn xp vo toỏn hng ớch - XCH A, : Chuyn i d liu gia toỏn hng ngun dng byte viA - XCHD A, @Ri: Chuyn i na thp ca A vi ni dung trong RAM ti a ch l ni dung ca Ri B mụn Cụng Ngh C in Trang 28 cng bi ging vi x lý - 8051 Hỡnh 2.5 S minh ha bn b nh RAM trong ca 80C51/89C51 B mụn Cụng Ngh C in Trang 29 cng bi ging vi. .. trong On-chip khi nú mc thp - /EA/Vpp: Cho phộp On-chip truy cp b nh chng trỡnh ngoi khi /EA=0, nu /EA=1 thỡ On-chip s lm vic vi b nh chng trỡnh ni trỳ (trng hp cn truy cp vựng nh ln hn dung lng b nh chng trỡnh ni trỳ, thỡ b nh chng trỡnh ngoi cng c s dng) Khi chõn ny c cp ngun in ỏp 12V (Vpp) thỡ On-chip m nhn chc nng np chng trỡnh cho Flash bờn trong nú - Vcc: Cung cp dng ngun cho On-chip (+ 5V) - GND:... lý thụng tin ca cỏc b vi x lý, tt c cỏc thụng tin u c biu din di dng cỏc s 0 v 1 Mi t hp s 0 hoc 1 c gỏn mt ký t ch cỏi, ch s hoc mt ký t c bit no ú Khi thụng tin c truyn i, c lu gi trong b nh v hin th trờn mn hỡnh u di dng ký t v tuõn theo mt loi mó chun c s dng rt rng rói gi l mó ASCII B mụn Cụng Ngh C in Trang 12 cng bi ging vi x lý - 8051 Chng 2 B VI IU KHIN 8051 2.1 Khỏi quỏt chung v cỏc b vi. .. 11 cng bi ging vi x lý - 8051 Trc ht ta chia s nh phõn ó cho thnh cỏc nhúm 4-bit tớnh t bớt cú trng s nh nht, sau ú thay th mi nhúm 4-bit bng ký hiu hexa tng ng vi nú ta s thu c kt qu nh sau: 1100 1010 1111 1110 Kt qu CAFEh C A F E Chuyn i s Hexa sang nh phõn: Vớ d : Chuyn s hexa 2F8h v ABBAh sang s nh phõn Tng t nh trng hp trờn ta s thay th mi ký hiu hexa bng 4-bit nh phõn tng ng vi nú v ta s thu... rộng lớn cho các bộ vi điều khiển họ 8051 Nhiều sản phẩm của hãng đã có kèm theo các đặc tính nh các bộ chuyển đổi ADC, DAC, cổng I/0 mở rộng và cả các phiên bản OTP và Flash 2.2 S khỏc nhau gia b vi x lý v b vi iu khin Tiờu chớ SS VXL VK CPU, RAM, ROM, Timers, SFR, Phn cng mch giao tip, h thng ngt v c CPU n chớp ch iu khin ngt B mụn Cụng Ngh C in Trang 15 cng bi ging vi x lý - 8051 S dng cỏc tp lnh . Đề cương bài giảng vi xử lý - 8051 Đề cương Bài giảng vi xử lý 8051 Bộ môn Công Nghệ Cơ Điện Trang 1 Đề cương bài giảng vi xử lý - 8051 Chương 1. 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 và chức năng của một bộ vi xử lý. Sơ đồ khối : Hình 1.1. Cấu trúc tổng quát của một hệ vi xử lý Các khối chức năng chính của hệ vi xử lý bao gồm: - Khối xử lý. ghi cờ của bộ vi xử lý 8086/88 Các cờ cụ thể: - C hoặc CF (Carry Flat) cờ nhớ, CF = 1 khi có nhớ hoặc mượn từ MSB. Bộ môn Công Nghệ Cơ Điện Trang 6 Đề cương bài giảng vi xử lý - 8051 - P hoặc FP

Ngày đăng: 06/07/2014, 10:21

HÌNH ẢNH LIÊN QUAN

1.1.1. Sơ đồ khối tổng quát và chức năng của một bộ vi xử lý. - Đề cương bài giảng vi xử lý - 8051 pptx
1.1.1. Sơ đồ khối tổng quát và chức năng của một bộ vi xử lý (Trang 2)
Hình 1.2. Sơ đồ khối của bộ vi xử lý 8088 - Đề cương bài giảng vi xử lý - 8051 pptx
Hình 1.2. Sơ đồ khối của bộ vi xử lý 8088 (Trang 3)
Hình 1.3. Dòng lệnh thường và dòng lệnh xen kẽ liên tục - Đề cương bài giảng vi xử lý - 8051 pptx
Hình 1.3. Dòng lệnh thường và dòng lệnh xen kẽ liên tục (Trang 4)
Hình 1.5. Hoạt động của Bus cho chu kỳ tìm nạp lệnh - Nội dụng của PC được đặt lên bus địa chỉ. - Đề cương bài giảng vi xử lý - 8051 pptx
Hình 1.5. Hoạt động của Bus cho chu kỳ tìm nạp lệnh - Nội dụng của PC được đặt lên bus địa chỉ (Trang 8)
Bảng 2.2: Các phiên bản của 8051 từ Atmel (Flash ROM). - Đề cương bài giảng vi xử lý - 8051 pptx
Bảng 2.2 Các phiên bản của 8051 từ Atmel (Flash ROM) (Trang 14)
Hình 2.1. Hình Sơ đồ khối của 8051 - Đề cương bài giảng vi xử lý - 8051 pptx
Hình 2.1. Hình Sơ đồ khối của 8051 (Trang 16)
2.3.2. Sơ đồ chân tín hiệu - Đề cương bài giảng vi xử lý - 8051 pptx
2.3.2. Sơ đồ chân tín hiệu (Trang 17)
Bảng 2.8.  Địa chỉ, ý nghĩa và giá trị của các SFR sau khi Reset - Đề cương bài giảng vi xử lý - 8051 pptx
Bảng 2.8. Địa chỉ, ý nghĩa và giá trị của các SFR sau khi Reset (Trang 19)
Hình 2.3. Cấu trúc bộ nhớ của AT89C51 - Đề cương bài giảng vi xử lý - 8051 pptx
Hình 2.3. Cấu trúc bộ nhớ của AT89C51 (Trang 26)
Hình 2.4. Bộ nhớ dữ liệu nội trú - Đề cương bài giảng vi xử lý - 8051 pptx
Hình 2.4. Bộ nhớ dữ liệu nội trú (Trang 27)
Hình 2.5. Sẽ minh họa bản đồ bộ nhớ RAM trong của 80C51/89C51 - Đề cương bài giảng vi xử lý - 8051 pptx
Hình 2.5. Sẽ minh họa bản đồ bộ nhớ RAM trong của 80C51/89C51 (Trang 29)
Hình 2.6. 128 byte của RAM trong - Đề cương bài giảng vi xử lý - 8051 pptx
Hình 2.6. 128 byte của RAM trong (Trang 30)
Hình 2.7. Truy cập bộ nhớ chương trình ngoài - Đề cương bài giảng vi xử lý - 8051 pptx
Hình 2.7. Truy cập bộ nhớ chương trình ngoài (Trang 31)
Hình 2.9. Truy cập bộ nhớ dữ liệu ngoài - Đề cương bài giảng vi xử lý - 8051 pptx
Hình 2.9. Truy cập bộ nhớ dữ liệu ngoài (Trang 32)
Hình 2.11. Đồ thị thời gian chu kỳ ghi dữ liệu vào RAM ngoài - Đề cương bài giảng vi xử lý - 8051 pptx
Hình 2.11. Đồ thị thời gian chu kỳ ghi dữ liệu vào RAM ngoài (Trang 33)
Bảng 2.11. Bảng địa chỉ véc tơ của các ngắt - Đề cương bài giảng vi xử lý - 8051 pptx
Bảng 2.11. Bảng địa chỉ véc tơ của các ngắt (Trang 34)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w