Nghiên Cứu Về Vi Điều Khiển 8951 và Ứng Dụng EPROM

Tài liệu nghiên cứu Mạch đọc eprom cho vi điều khiển 8951, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về ., phục vụ nghiên cứu và ứng dụng thực tiễn

Người đăng

Ẩn danh
104
3
0

Phí lưu trữ

35 Point

Mục lục chi tiết

1. CHƯƠNG 1: DẪN NHẬP

1.1. Đặt vấn đề

1.2. Mục đích yêu cầu

2. CHƯƠNG 2: KHẢO SÁT VI ĐIỀU KHIỂN 8951

2.1. Cấu tạo vi điều khiển họ MSC-51

2.1.1. Giới thiệu cấu trúc phần cứng họ MSC-51 (8951)

2.1.2. Khảo sát sơ đồ chân 8951 và chức năng từng chân

2.1.3. Chức năng các chân của 8951

2.2. Cấu trúc bên trong vi điều khiển

2.2.1. Tổ chức bộ nhớ

2.2.2. Các đặc tính cần chú ý

2.2.3. Các thanh ghi và các port xuất nhập

2.2.4. Các thanh ghi có chức năng đặc biệt

2.2.5. Thanh ghi trạng thái chương trình PSW

2.2.6. Thanh ghi B

2.2.7. Con trỏ Ngăn xếp SP (Stack Pointer)

2.2.8. Con trỏ dữ liệu DPTR (Data Pointer)

2.2.9. Các thanh ghi Port (Port Register)

2.2.10. Các thanh ghi Timer (Timer Register)

2.2.11. Các thanh ghi Port nối tiếp (Serial Port Register)

2.2.12. Các thanh ghi ngắt (Interrupt Register)

2.2.13. Thanh ghi điều khiển nguồn PCON (Power Control Register)

2.3. Bộ nhớ ngoài (External Memory)

2.4. Truy xuất bộ nhớ ngoài (Accessing External Code Memory)

3. CHƯƠNG 3: KHẢO SÁT MẠCH 8279

3.1. Cấu trúc phần cứng IC 8279

3.2. Cấu trúc phần mềm của 8279

4. CHƯƠNG 4: GIỚI THIỆU KIT VI ĐIỀU KHIỂN 8951

4.1. Sơ đồ khối kit vi điều khiển 8951

4.2. Đơn vị xử lý trung tâm

4.3. Bộ nhớ

Tóm tắt

I. Khám phá VĐK 8951 và ứng dụng EPROM trong hệ thống nhúng

Nền tảng của nhiều hệ thống điều khiển và sản xuất tự động hóa bắt nguồn từ các linh kiện điện tử chuyên dụng. Trong đó, vi điều khiển 8951 và bộ nhớ EPROM là hai thành phần kinh điển, đặt nền móng cho sự phát triển của hệ thống nhúng. Nghiên cứu này tập trung vào việc phân tích sâu về kiến trúc, khả năng và phương pháp kết hợp hai linh kiện này để giải quyết các bài toán thực tế. Vi điều khiển AT89C51, một biến thể phổ biến thuộc họ vi điều khiển 8051, nổi bật với 4KB bộ nhớ Flash có thể lập trình lại, 128 byte RAM nội, và 32 đường xuất nhập (I/O). Tuy nhiên, đối với các ứng dụng phức tạp, dung lượng bộ nhớ chương trình nội sẵn có là không đủ. Đây là lúc ứng dụng EPROM (Erasable Programmable Read-Only Memory) phát huy vai trò. EPROM là một loại bộ nhớ không bay hơi, cho phép lưu trữ chương trình hệ thống hoặc dữ liệu quan trọng ngay cả khi mất điện. Việc kết hợp VĐK 8951 và EPROM không chỉ là một bài toán kỹ thuật mà còn là một giải pháp kinh tế hiệu quả để mở rộng khả năng của hệ thống. Hiểu rõ cách thức giao tiếp và lập trình giữa chúng là chìa khóa để khai thác tối đa tiềm năng, tạo ra các sản phẩm điều khiển gọn nhẹ, chính xác và đáng tin cậy, đáp ứng yêu cầu của công nghiệp hóa, hiện đại hóa.

1.1. Tổng quan về vi điều khiển AT89C51 thuộc họ 8051

Vi điều khiển AT89C51 là một IC 8-bit hiệu suất cao, tiêu thụ điện năng thấp, được sản xuất bởi Atmel dựa trên kiến trúc 8051 kinh điển của Intel. Nó được trang bị 4KB bộ nhớ Flash có thể lập trình trong hệ thống (In-System Programmable), 128 byte RAM nội, 32 chân I/O, hai bộ timer/counter trong 8051 16-bit, một cấu trúc ngắt (interrupt) với hai mức ưu tiên và sáu nguồn ngắt, cùng một cổng nối tiếp UART song công. Cấu trúc này làm cho AT89C51 trở thành một giải pháp linh hoạt cho nhiều ứng dụng điều khiển. Các đặc điểm chính của nó bao gồm khả năng xử lý Boolean (hoạt động trên từng bit riêng lẻ), cùng các phép toán nhân, chia bằng phần cứng. Với khả năng tương thích hoàn toàn với tập lệnh và sơ đồ chân của chuẩn công nghiệp MCS-51, các nhà phát triển có thể dễ dàng chuyển đổi và nâng cấp hệ thống. Theo tài liệu 'Mạch đọc EPROM cho vi điều khiển 8951', VĐK 8951 là trung tâm xử lý, điều phối mọi hoạt động của hệ thống, từ giao tiếp với bộ nhớ đến điều khiển các thiết bị ngoại vi.

1.2. Vai trò của bộ nhớ EPROM như một bộ nhớ chương trình ngoài

EPROM, hay Bộ nhớ chỉ đọc khả trình có thể xóa, là một loại bộ nhớ không bay hơi (non-volatile memory). Dữ liệu được lưu trữ trên EPROM sẽ không bị mất khi nguồn điện bị ngắt. Đặc điểm này khiến nó trở thành lựa chọn lý tưởng để làm bộ nhớ chương trình ngoài cho các hệ thống vi điều khiển. Khi bộ nhớ chương trình nội của VĐK 8951 (4KB) không đủ để chứa các ứng dụng phức tạp, EPROM cung cấp một giải pháp mở rộng hiệu quả, có thể lên đến 64KB. Dữ liệu được ghi vào EPROM bằng cách áp một mức điện áp cao hơn bình thường, và được xóa bằng cách chiếu tia cực tím (UV) qua một cửa sổ thạch anh trên thân chip. Quy trình này cho phép tái sử dụng chip nhiều lần trong giai đoạn phát triển và gỡ lỗi sản phẩm. Trong bối cảnh của nghiên cứu, EPROM đóng vai trò cốt lõi trong việc lưu trữ chương trình hệ thống, đảm bảo vi điều khiển có thể thực thi ngay khi khởi động, một yêu cầu cơ bản trong hầu hết các thiết bị điều khiển tự động.

II. Thách thức khi mở rộng bộ nhớ ngoài cho vi điều khiển 8951

Việc tích hợp và sử dụng bộ nhớ chương trình ngoài cho vi điều khiển 8951 không phải là một quá trình đơn giản mà đi kèm với nhiều thách thức kỹ thuật. Vấn đề cốt lõi xuất phát từ giới hạn vật lý của chính vi điều khiển và sự phức tạp trong việc đồng bộ hóa các tín hiệu điều khiển. Thách thức lớn nhất là thiết kế một cơ chế giao tiếp bộ nhớ ngoài đáng tin cậy. VĐK 8951 sử dụng một kiến trúc bus dồn kênh, nơi Port 0 vừa đóng vai trò là bus dữ liệu (D0-D7) vừa là byte thấp của bus địa chỉ (A0-A7). Điều này đòi hỏi phải có một mạch chốt địa chỉ bên ngoài (thường dùng IC 74HC373) và tín hiệu điều khiển ALE (Address Latch Enable) phải được sử dụng một cách chính xác để tách rời hai chức năng này. Thêm vào đó, việc giải mã địa chỉ để chọn đúng chip nhớ (EPROM, RAM) khi hệ thống có nhiều thiết bị ngoại vi là một bài toán phức tạp. Sai sót trong quá trình này có thể dẫn đến xung đột bus, làm cho hệ thống hoạt động sai hoặc không ổn định. Ngoài ra, việc lập trình và nạp chương trình vào EPROM cũng đòi hỏi các thiết bị chuyên dụng và quy trình cẩn thận, đặc biệt là quá trình xóa EPROM bằng tia UV tốn nhiều thời gian.

2.1. Phân tích giới hạn 4KB EPROM bên trong của AT89C51

Mặc dù 4KB bộ nhớ chương trình tích hợp sẵn trong AT89C51 là đủ cho các ứng dụng đơn giản, nó nhanh chóng trở thành một rào cản lớn đối với các dự án đòi hỏi logic phức tạp, bảng tra cứu lớn, hoặc các thuật toán chuyên sâu. Ví dụ, một hệ thống điều khiển giao thông với nhiều chế độ hoạt động, một bảng điều khiển máy công nghiệp có giao diện người dùng, hay một thiết bị thu thập dữ liệu cần xử lý nhiều loại cảm biến đều có thể dễ dàng vượt qua giới hạn 4KB. Khi chương trình phình to, nhà phát triển buộc phải tìm cách tối ưu hóa mã nguồn một cách cực đoan, đôi khi phải hy sinh tính năng hoặc khả năng bảo trì. Do đó, khả năng mở rộng bộ nhớ chương trình lên tới 64KB bằng cách kết nối với bộ nhớ ngoài như bộ nhớ EPROM 27C256 là một tính năng thiết yếu, biến VĐK 8951 từ một vi điều khiển cơ bản thành một nền tảng mạnh mẽ hơn cho các hệ thống nhúng chuyên nghiệp.

2.2. Sự cần thiết của chương trình hệ thống được nạp sẵn

Một yêu cầu cơ bản của hầu hết các thiết bị điện tử là phải hoạt động ngay lập tức sau khi được cấp nguồn. Điều này đòi hỏi phải có một chương trình hệ thống (firmware) được nạp sẵn vào một bộ nhớ cố định. Mục đích của nghiên cứu, như được nêu trong luận văn, là 'thực hiện mạch nạp EPROM cho vi điều khiển để sử dụng hiệu quả bộ nhớ... và viết một chương trình hệ thống nạp vào trong EPROM'. Chương trình này không chỉ chứa logic điều khiển chính của ứng dụng mà còn có thể bao gồm các trình khởi tạo, các thủ tục kiểm tra phần cứng (POST - Power-On Self-Test), hoặc một bộ nạp khởi động (bootloader). Việc lưu trữ chương trình này trên EPROM đảm bảo tính toàn vẹn và sẵn sàng của hệ thống, giúp thiết bị hoạt động một cách tự chủ mà không cần sự can thiệp từ bên ngoài sau mỗi lần khởi động. Đây là nguyên tắc nền tảng cho các sản phẩm thương mại, từ thiết bị gia dụng đến máy móc công nghiệp.

III. Hướng dẫn thiết kế mạch giao tiếp 8951 với EPROM ngoài

Thiết kế một mạch giao tiếp bộ nhớ ngoài cho vi điều khiển 8951 đòi hỏi sự hiểu biết sâu sắc về các tín hiệu điều khiển và kiến trúc phần cứng của nó. Quá trình này là nền tảng để đảm bảo VĐK 8951 có thể đọc mã lệnh từ EPROM một cách chính xác và ổn định. Trọng tâm của việc thiết kế là xử lý bus địa chỉ/dữ liệu dồn kênh của Port 0 và sử dụng các tín hiệu điều khiển chuyên dụng. Cụ thể, tín hiệu ALE (Address Latch Enable) được sử dụng để chốt 8 bit địa chỉ thấp (A0-A7) từ Port 0 vào một IC chốt (ví dụ 74HC373). Trong khi đó, Port 2 sẽ xuất ra 8 bit địa chỉ cao (A8-A15). Kết hợp lại, chúng tạo thành một bus địa chỉ 16-bit hoàn chỉnh, cho phép truy cập không gian nhớ 64KB. Tín hiệu PSEN (Program Store Enable) là tín hiệu đọc bộ nhớ chương trình, được nối trực tiếp đến chân OE (Output Enable) của EPROM. Khi PSEN ở mức thấp, EPROM sẽ xuất byte mã lệnh tương ứng với địa chỉ trên bus ra bus dữ liệu. Cuối cùng, chân EA (External Access) phải được nối mass (mức 0) để buộc vi điều khiển thực thi chương trình hoàn toàn từ bộ nhớ ngoài, bỏ qua 4KB EPROM nội.

3.1. Phân tích sơ đồ chân 8951 vai trò của EA PSEN và ALE

Để giao tiếp thành công với bộ nhớ ngoài, việc nắm vững chức năng của các chân điều khiển là tối quan trọng. Sơ đồ chân 8951 quy định rõ vai trò của từng tín hiệu. Chân EA (External Access) quyết định nguồn thực thi chương trình: khi nối với VCC (mức 1), 8951 ưu tiên chạy chương trình từ EPROM nội; khi nối với GND (mức 0), nó sẽ tìm và thực thi chương trình từ bộ nhớ ngoài ngay từ địa chỉ 0000H. Tín hiệu ALE (Address Latch Enable) là một xung đầu ra được dùng để giải đa hợp cho Port 0. Khi ALE ở mức cao, Port 0 đang xuất 8 bit địa chỉ thấp. Tín hiệu này thường được nối với chân điều khiển của một IC chốt để lưu lại địa chỉ này. Tín hiệu PSEN (Program Store Enable) là một tín hiệu ra, tác động ở mức thấp, có chức năng cho phép đọc từ bộ nhớ chương trình ngoài. Nó được nối tới chân OE (Output Enable) của EPROM để kích hoạt việc xuất dữ liệu mã lệnh lên bus.

3.2. Kỹ thuật giải mã địa chỉ cho bộ nhớ và ngoại vi mở rộng

Trong một hệ thống phức tạp, VĐK 8951 không chỉ giao tiếp với một EPROM mà có thể còn với RAM ngoài và các IC ngoại vi khác. Lúc này, kỹ thuật giải mã địa chỉ trở nên cần thiết để chọn đúng thiết bị tại một thời điểm, tránh xung đột trên bus. Kỹ thuật này sử dụng các đường địa chỉ cao (ví dụ A13, A14, A15) làm đầu vào cho một IC giải mã như 74HC138. IC này sẽ có nhiều đầu ra, mỗi đầu ra sẽ được nối với chân CS (Chip Select) của một thiết bị nhớ hoặc ngoại vi. Dựa trên tổ hợp của các bit địa chỉ cao, IC giải mã sẽ kích hoạt (chuyển về mức thấp) duy nhất một đầu ra, qua đó chỉ cho phép một thiết bị được chọn để giao tiếp với CPU. Ví dụ, địa chỉ từ 0000H-1FFFH có thể được giải mã để chọn EPROM, trong khi địa chỉ từ 4000H-5FFFH có thể chọn RAM. Phương pháp này đảm bảo hệ thống có thể quản lý một không gian địa chỉ lớn và nhiều thiết bị một cách có tổ chức.

IV. Phương pháp lập trình và nạp code cho EPROM với VĐK 8951

Quá trình đưa chương trình vào bộ nhớ EPROM và sử dụng nó với vi điều khiển 8951 bao gồm nhiều công đoạn, từ chuẩn bị phần mềm đến thao tác phần cứng. Đầu tiên, mã nguồn chương trình cần được viết bằng hợp ngữ assembly hoặc lập trình C cho 8051. Sau đó, nó được biên dịch bằng một công cụ chuyên dụng như trình biên dịch SDCC hoặc môi trường phát triển tích hợp như Keil C để tạo ra một tệp tin HEX. Tệp tin này chứa mã máy mà vi điều khiển có thể hiểu được. Tiếp theo là quá trình nạp tệp HEX vào chip EPROM. Điều này đòi hỏi một mạch nạp EPROM chuyên dụng. Mạch nạp sẽ đọc tệp HEX từ máy tính và ghi từng byte dữ liệu vào các địa chỉ tương ứng trong EPROM bằng cách áp các mức điện áp và xung điều khiển theo đúng giải thuật của nhà sản xuất. Trước khi nạp chương trình mới, chip EPROM cũ phải được xóa hoàn toàn. Quá trình xóa EPROM bằng tia UV được thực hiện bằng cách đặt chip dưới một đèn UV mạnh trong khoảng 15-20 phút, khiến tất cả các bit trong bộ nhớ trở về trạng thái logic '1' (tương đương với giá trị FFH).

4.1. Quy trình đọc ghi và xóa dữ liệu trên EPROM 27C256

Chip EPROM 27C256 là một ví dụ điển hình với dung lượng 32KB (256 Kbit). Quá trình tương tác với nó tuân theo các quy tắc nghiêm ngặt. Để đọc dữ liệu, chân CE (Chip Enable) và OE (Output Enable) phải được kéo xuống mức thấp, sau đó đặt địa chỉ cần đọc lên các chân địa chỉ (A0-A14), dữ liệu 8-bit sẽ xuất hiện trên các chân dữ liệu (D0-D7). Để ghi (lập trình) một byte, chân OE phải ở mức cao, chân CE ở mức thấp, đặt địa chỉ và dữ liệu cần ghi, sau đó cấp một xung lập trình vào chân PGM với điện áp Vpp (thường là 12.5V hoặc 21V). Quá trình xóa là đặc trưng nhất của EPROM: toàn bộ chip phải được chiếu tia UV qua cửa sổ thạch anh. Không thể xóa từng byte riêng lẻ. Quá trình này khá bất tiện so với công nghệ Flash hay EEPROM hiện đại, nhưng nó rất đáng tin cậy cho việc lưu trữ firmware lâu dài.

4.2. Lập trình hợp ngữ Assembly và sử dụng công cụ Keil C

Hai phương pháp chính để phát triển phần mềm cho VĐK 8951 là sử dụng hợp ngữ Assembly và ngôn ngữ C. Lập trình Assembly cho phép kiểm soát trực tiếp phần cứng, tối ưu hóa tốc độ và kích thước chương trình. Tuy nhiên, nó phức tạp và tốn thời gian hơn. Ngược lại, lập trình C cho 8051 sử dụng các trình biên dịch như Keil C hoặc SDCC giúp quá trình phát triển nhanh hơn, mã nguồn dễ đọc và bảo trì hơn. Môi trường Keil C cung cấp một bộ công cụ hoàn chỉnh, bao gồm trình soạn thảo, trình biên dịch, trình liên kết và trình gỡ lỗi/mô phỏng. Nhà phát triển có thể viết mã bằng ngôn ngữ C, và trình biên dịch sẽ tự động chuyển đổi nó thành mã máy tối ưu cho kiến trúc 8051. Kết quả cuối cùng là một tệp HEX sẵn sàng để nạp vào EPROM, giúp rút ngắn đáng kể chu kỳ phát triển sản phẩm.

V. Xây dựng mạch đọc EPROM cho vi điều khiển 8951 thực tế

Dựa trên các nguyên tắc lý thuyết đã phân tích, việc xây dựng một mạch đọc EPROM cho vi điều khiển 8951 là một ứng dụng thực tiễn điển hình. Mục tiêu của mạch này là cho phép VĐK 8951 đọc nội dung của một chip EPROM bên ngoài và hiển thị hoặc truyền dữ liệu đó đi nơi khác, phục vụ cho việc kiểm tra, sao chép hoặc gỡ lỗi. Sơ đồ mạch được thiết kế dựa trên luận văn gốc, sử dụng các IC giao tiếp song song như 8255 để mở rộng các cổng I/O, giúp 8951 điều khiển toàn bộ bus địa chỉ và nhận dữ liệu từ EPROM. Trong thiết kế này, các port của 8255 được cấu hình để xuất địa chỉ ra cho EPROM và đọc dữ liệu trả về. Một phần quan trọng của dự án là viết phần mềm điều khiển. Chương trình được viết bằng hợp ngữ assembly có nhiệm vụ khởi tạo các IC, tuần tự xuất các địa chỉ từ 0000H đến FFFFH, đọc byte dữ liệu tại mỗi địa chỉ, và sau đó xử lý byte dữ liệu đó (ví dụ: gửi qua cổng nối tiếp về máy tính hoặc hiển thị lên LED 7 đoạn). Quá trình này không chỉ kiểm chứng thiết kế phần cứng mà còn thể hiện kỹ năng lập trình hệ thống cấp thấp.

5.1. Sơ đồ nguyên lý và kết nối phần cứng của mạch nạp 8951

Sơ đồ nguyên lý là bản thiết kế chi tiết, mô tả cách các linh kiện được kết nối với nhau. Trong dự án 'Mạch đọc EPROM cho vi điều khiển 8951', phần cứng trung tâm là một kit phát triển 8951 giao tiếp với một board mạch nạp ngoài thông qua IC 8255. Cụ thể, Port A và Port B của 8255 được dùng để xuất 16 bit địa chỉ (A0-A15) đến EPROM. Port C được dùng để đọc 8 bit dữ liệu (D0-D7) trả về từ EPROM. Các tín hiệu điều khiển như CE, OE của EPROM được điều khiển bởi các chân khác của vi điều khiển. Một mạch reset cho 8051 đảm bảo hệ thống khởi động ở trạng thái ổn định. Toàn bộ hệ thống được cấp nguồn 5V, riêng mạch nạp có thể yêu cầu thêm nguồn 12V cho điện áp Vpp khi thực hiện chức năng ghi. Việc kết nối cẩn thận theo sơ đồ là bước đầu tiên và quan trọng nhất để đảm bảo mạch hoạt động đúng.

5.2. Kết quả thực nghiệm Đọc và xác minh Signature của chip

Để kiểm tra mạch và chương trình có hoạt động chính xác hay không, một trong những phép thử đầu tiên là đọc Signature (mã nhận dạng) của chip. Các nhà sản xuất thường dành riêng một vài địa chỉ đặc biệt trong bộ nhớ để lưu mã nhà sản xuất và mã sản phẩm. Ví dụ, với chip AT89C51, theo datasheet, việc đọc các địa chỉ 030H, 031H, và 032H trong một chế độ đặc biệt sẽ trả về các giá trị tương ứng là 1EH (mã của Atmel), 51H (mã của 89C51), và 05H/FFH (mã phiên bản điện áp lập trình). Kết quả thực nghiệm trong luận văn cho thấy chương trình có thể đọc chính xác các giá trị này, xác nhận rằng cả phần cứng giao tiếp và phần mềm điều khiển đều hoạt động đúng. Phép thử này là một bước gỡ lỗi hiệu quả, khẳng định rằng VĐK 8951 đã có thể kiểm soát bus và đọc dữ liệu từ EPROM một cách đáng tin cậy.

VI. Đánh giá và hướng phát triển cho ứng dụng EPROM và 8951

Nghiên cứu về vi điều khiển 8951 và ứng dụng EPROM mang lại nhiều giá trị học thuật và thực tiễn, đặc biệt trong việc tìm hiểu các nguyên tắc cơ bản của hệ thống nhúng. Tuy nhiên, cần phải nhìn nhận rằng công nghệ đã có những bước tiến vượt bậc. Giải pháp sử dụng EPROM, với quy trình xóa bằng tia UV và lập trình bằng điện áp cao, đã trở nên lỗi thời so với các công nghệ bộ nhớ hiện đại như Flash và EEPROM. Các vi điều khiển ngày nay thường tích hợp sẵn bộ nhớ Flash với dung lượng lớn, hỗ trợ lập trình trong hệ thống (ISP) một cách dễ dàng qua các giao diện đơn giản như SPI hoặc UART, loại bỏ sự cần thiết của các mạch nạp cồng kềnh. Mặc dù vậy, các kiến thức nền tảng về giao tiếp bus, giải mã địa chỉ, và các tín hiệu điều khiển như PSEN, ALE vẫn còn nguyên giá trị. Chúng là cơ sở để hiểu cách hoạt động của các hệ thống phức tạp hơn. Hướng phát triển cho đề tài này có thể tập trung vào việc thay thế EPROM bằng bộ nhớ Flash ngoài, hoặc chuyển sang sử dụng các dòng vi điều khiển hiện đại hơn nhưng vẫn giữ lại các nguyên tắc thiết kế đã học được.

6.1. So sánh giải pháp EPROM với công nghệ Flash và EEPROM

EPROM, EEPROM (Electrically Erasable Programmable Read-Only Memory), và Flash đều là các loại bộ nhớ không bay hơi. Tuy nhiên, chúng có những khác biệt lớn. EPROM yêu cầu tia UV để xóa toàn bộ chip, quy trình chậm và bất tiện. EEPROM cho phép xóa và ghi từng byte bằng điện, linh hoạt hơn nhiều nhưng thường có mật độ lưu trữ thấp và giá thành cao hơn. Flash là công nghệ dung hòa được cả hai, cho phép xóa theo từng khối (sector/block) và có mật độ lưu trữ rất cao, giá thành rẻ. Đây là lý do tại sao bộ nhớ Flash đã trở thành tiêu chuẩn trong hầu hết các vi điều khiển và thiết bị lưu trữ hiện đại. Đối với VĐK 8951, việc chuyển từ EPROM sang Flash ngoài sẽ giúp đơn giản hóa đáng kể quy trình cập nhật firmware.

6.2. Triển vọng mở rộng hệ thống và các công nghệ thay thế

Luận văn gốc đã đề xuất nhiều hướng phát triển tiềm năng. Thứ nhất, mạch nạp có thể được mở rộng để hỗ trợ nhiều loại vi điều khiển hơn trong họ AT89, như AT89C52 (8KB Flash) hay AT89C2051 (20 chân). Thứ hai, thay vì dùng một kit vi điều khiển cồng kềnh, có thể thiết kế một card nạp nhỏ gọn kết nối trực tiếp với máy tính qua cổng COM hoặc USB, sử dụng phần mềm trên PC viết bằng C++ hoặc Python để điều khiển. Hướng đi hiện đại nhất là chuyển hoàn toàn sang các nền tảng mới như AVR (ATmega328P của Arduino) hoặc ARM (STM32). Các nền tảng này cung cấp hiệu năng vượt trội, ngoại vi phong phú, cộng đồng hỗ trợ lớn và các công cụ phát triển mạnh mẽ. Tuy nhiên, việc nghiên cứu AT89C51 vẫn là một bài học nhập môn tuyệt vời về kiến trúc máy tính và lập trình nhúng cấp thấp.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

10/07/2025
Mạch đọc eprom cho vi điều khiển 8951

Trích đoạn nội dung tài liệu

Đặt vấn đề: Cùng với sự phát triển của nền kinh tế và khoa học kỹ thuật trên con đường công nghiệp hóa , hiện đại hóa đất nước. Nghành điện tử nói chung đã có những bước tiến vượt bậc và mang lại những thành quả đáng kể. Trong đó vi xử lí là lĩnh vực đã thực sự mang lại những hiệu qủa chính xác và gọn nhẹ trong qua trình điều khiển, sản xuất. Để sử dụng triệt để bộ nhớ EPROM bên trong cũng như sự cần thiết có một chương trình hệ thống nào đó được nạp vào trong EPROM để thi hành khi vừa mở may Il.

Mục đích yêu cầu: 1 đục địch 'Thực hiện mạch nạp KPROM cho vi diéu khiển để sử dụng hiệu quả bộ nhớ vấn có của FPROM Viết môi chương trình hệ thống nạp vào trong EPXOM., 3, Yêu cải Mụch hoạt đồng chính xác, khi nạp hay đọc phải đúng dữ liệu cần nạp hay đọc, đồng thời khi xoá thì phái xoá toàn bộ vùng nhớ. Mụth gọn nhẹ, dễ sử dụng, dễ kiểm soát và vận hành. Khi chạy các chương trình theo đúng thứ tự. Luận văn tối nghiệp Trang 1 CHUONG II ⁄ Wl ile | IK rilelN 8Q51 Khảo sát vi điều khiển 8951 I.

Cấu tạo vi điều khiển họ IMSC-51 1. Giái thiêu cấu trúc phần cứng họ MSC-51 (8951): Đặc điểm và chức năng hoạt động của các IC họ MSC-51 hoàn toàn tương tự như nhau. Ở đây giới thiệu IC8951 là một họ IC vi điều khiển do hãng Intel cửa Mỹ sản xuất. Chúng có các đặc điểm chung như sau: Các đặc điểm của 8951 được tóm tắt như sau : 4 KB EPROM bên trong.

128 Byte RAM ndi. 4 Port xuất /nhập HO 8 bịt, Giao tiếp nối tiếp 64 KH vùng nhớ mã ngoãi 64 NH vùng nhớ dữ liều ngoái Nứ lí Hoolean (hoạt động wén bit dan) 310 vị trí nhớ có thể định vị bít. 4s cho hoạt động nhân hoặc chia. Luận văn tối nghiệp Trang2 Khdo sdt vi diéu khién 895] 2.

Khảo sát sơ đồ chân 8951 và chức năng từng chân : 2.: pean peas ""‹- E N s- 3ạ) POAƯADA — P24/AT2 Ea.7/AD7 P2TIAT6| P10 P30/RXD. P11 mxhmeohk Piz pry P14 P19, Pie pil XIAL1 ni tae 86 x mem 24 Š Sơ đô chắn IC 825] 2.2 Chức năng các chân của 8951 8951 có tất cá 40 chân có chức năng như các đường xuất nhập. Trong đó vò 34 chăn có tác dụng kép (có nghĩa là l chân có 2 chức náng), mỗi đường có thể hoạt động như đường xuất nhập hoặc như đường điều khiển hoặc là thành phần cửa các bus dữ liệu và bus địa chỉ.Các Port: Port 0: Port 0 là port có 2 chức năng ở các chân 32 - 39 của 8951. Trong các thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các đường I/O.

Đối với các thiết kế cỡ lớn có bộ nhớ mở rộng, nó được kết hợp giữa bus địa chỉ và bus dữ liệu. Port 1: Port 1 1a port I/O trén các chân 1-8. Các chan dugc ky hiéu P1.7 c6 thé ding cho giao tiép với các thiết bị ngoài nếu cần. Port 1 không có chức năng khác, vì vậy chúng chỉ được dùng cho giao tiếp với các thiết bị bên ngoài.

Port 2: Luận văn tối nghiệp Trang 3 Khảo sát vi điều khiển 8951 Port 2 là 1 port có tác dụng kép trên các chân 21- 28 được dùng như các đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết bị dùng bộ nhớ mở Tông. Port3: Port 3 là port có tác dụng kép trên các chân 10-17. Các chân cửa port này có nhiễu chức năng, các công dụng chuyển đổi có liên hệ với các đặc tính đặc biệt của 8951 nhưở bắng sau: Bit Tên Chức năng chuyển đổi P3.0 RXT Ngõ vào dữ liệu nối tiếp.1 TXD Ngõ xuất dữ liệu nối tiếp. P2 INTO Ngõ vào ngất cứng thứ0 PLA INTIV Nyo vao ngdt ertng thit P134 1u Ngo vao cua TIMEK/COUNTER thi 0.

hs Yl Ngo vao claTIMEK/COUNTER thứ 1. re WRV 'Tín hiệu ghi dữ liệu lén bộ nh4 ngoài PAT PRD\ Tín hiệu đọc bộ nhớ dữ liệu ngoài, b.Các ngõ tín hiệu điều khiển: Ngo an hiệu PSEN (Program siore enable): PSEN là ứn hiệu ngõ ra ở chân 29 có tác dụng cho phép đọc bộ nhớ chương trình mở rộng thường được nối đến chân OE\( output enable) của Eprom cho phép đọc các byte mã lệnh. PSEN ở mức thấp trong thời gian Microcontroller 8951 lấy lệnh. Các mã lệnh của chương trình được đọc từ Eprom qua bus dữ liệu và được chốt vào thanh ghi lệnh bên trong 8951 để giải mã lệnh.

Khi 8951 thi hành chương trình trong EPROM nội PSEN sẽ ở mức logic 1. Ngõ tín hiệu điều khiển ALE (Address Latch Enable) Khi 8951 truy xuất bộ nhớ bên ngoài, port 0 có chức năng là bus địa chỉ và bus dữ liệu do đó phải tách các đường dữ liệu và địa chỉ. Tín hiệu ra ALE ở chân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ liệu khi kết nối chúng với IC chốt. Tín hiệu ra ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai trò là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự động.

Luận văn tốt nghiệp Trang 4 Khảo sát vi điều khiển 8951 Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chip và có thể được dùng làm tín hiệu clock cho các phần khác cửa hệ thống. Chân ALE được | ding làm ngõ vào xung lập trình cho EPROM trong 8951. | Ngõ tin hiéu EA\(External Access): Tín hiệu vào EA\ ở chân 31 thường được mắc lên mức I hoặc mức 0. Nếu ở mức 1, 8951 thi hành chương trình từ EPROM nội trong khoảng địa chỉ thấp 4 Kbyte.

Nếu ở mức 0, 8951 sẽ thi hành chương trình từ bộ nhớ mở rộng. Chân EA\ được lấy làm chân cấp nguồn 12V khi lập trình cho Eprom trong 8951. Ngõ tin hié We Ngõ vào RST ở chân 9 li ngd vao Reset ctia 8951, Khi ngd vao tin hiéu nay đưa lên cao ít nhất là 2 chủ kỳ máy, các thanh ghỉ bên trong được nạp những giá trị thích hợp để khởi đồng hệ thống. Khi cấp điền mách tư đồng Reset.

Các ngỏ vào bộ giao động XI,X2: Hộ đáo đồng được được tích hợp bén trong 8951, khí sử dụng 8951 người thiết kể chí cần kết nội thêm tụ thạch anh và các tụ như hình vẽ trong sở đô. Tần số tụ thách anh thường sứ dụng cho 8951 là I2Mhz, Chân 40 (Vec) được nối lên nguồn 5V. Câu trúc bên trong vi điều khiến 3.1 Tổ chức bộ nhớ: Luận văn tối nghiệp Trang 5 Khdo sat vi diéu khién 8951 FFFF Ha Code Data Fr; Memory Memory 00 Enable via Enable via On -Chip PSEN RD&WR Memory 0000 | 0000 External Memory Béng tom tit cde vung nhd 8951. Bồ nhớ trong &ISE bao pom EPROM va KAM, KAM trong 8951 bao gém nhiều thành phần phan hu utr da dung, phan luu wit địa chỉ hóa từng bit, cdc bank thank phi va cae thank ghichife nding dac biét.

8951 co bd whe theo cấu trúc Harvard: có những vùng bộ nhớ riêng biệt cho chương tình và dữ liệu. Chương trình và dữ liệu có thể chứa bén trong 8951 nhưng Ñ951 vẫn có thể kết nối với 64K byte bộ nhớ chương trình và 64K: bytc dữ liệu. Luận văn tốt nghiệp Trang 6 Kháo sát vi điều khiển 895] Bén dé bé nhé Data trén Chip nhw sau : TE FF : F0 |F7 |F6 |Fs |E4 |F3 |F2 |Fi |Fo |B IRAM da dung E0 |E7 |E6 |E5 |E4 |E3|E2 |EI |E0 |ACC Do |D7 |D6 |Ds |D4 |p3|D2 |DIi |D0 |psw 30 Bs | | | |BC |BB|BA|B9 [Bs [IP 2F 28 80 |7 |bo |B5 |B4 |B3 |B2 fB1 BO |P3 2Ð 2 AM AH € |JAR|AA |A9 |A8 | mn mm 2A AU les ea haz er ro po 99 khong dude diz bit BUF 98 PF PE pp bo bb oA 1⁄2 bis ISCON WP ie BO me pr ps 90 p7 po bs bs 1⁄3 92 pI bo pr 2 be po ne fe họ 18 §D không được địa chỉ hod bit [rH I2 họ hạ fia 3 fiz fifo $C không được địa chi hod bit [THO ope po pc pa pa 8 8B không được địa chỉ hoá bít [rLi 2» U bó Đã pt b3 p2 bị bó 8A. không được địa chỉ hoá bit TL0 iP làank 3 89 không được địa chỉ hoá bit [fMop.

18 88 BF BE BD RC BA R9 8 |TCON 17 [Bank 2 87 không được địa chỉ hod bit ÍPCON 10 OF lBank 1 83 không được địa chỉ hod bit IDPH 82. không được địa chỉ hoá bit [DPL Bank thanh ghi 0 81 kkhông được địa chỉ hoá bit SP (mặc định cho R0 -R7). 8@ 7 Bo 5 E4 3 §2 l1 lo Po Hai đặc tính cần chú ý là: © _ Các thanh ghi và các port xuất nhập đã được định vị (xác định) trong bộ nhớ và có thể truy xuất trực tiếp giống như các địa chỉ bộ nhớ khác. Luận văn tốt nghiệp Trang 7 Khảo sát vi điêu khiển 895] «Ngăn xếp bên trong Ram nội nhỏ hơn so với Ram ngoại như trong các bộ Microcontroller khác.

RAM bên trong 8951 được phân chia nhu sau: ` Các bank thanh ghi có địa chỉ từ 00H đến IFH. ` RAM địa chỉ hóa từng bit có địa chỉ từ 20H đến 2FH. ` RAM đa dụng từ 30H đến 7FH. * Các thanh ghi chức năng đặc biệt từ 80H đến FFH.

RAM da dung : Mặc dù trên hình vẽ cho thấy 80 bytc đa dụng chiếm các địa chi từ 30H đến TEU, 42 byte đưới từ 00H đến IEH cũng có thể dùng với mục đích tương tự (mặc dù các địa chí này đã có mục đích khác) Moi dia chỉ trong vùng RAM đa dụng đều cá thể truy xuất tự do dùng kiểu dia chi nie Hep hoặc giản vep: KAM co the truy xudt ting bit: ROST cha 310 bất được địa chỉ hóa, trong đó có 12% bít có chứa các byte chứa cúc địa chỉ từ 30H đèn 2FH và các bịt còn lại chứa trong nhóm thanh ghi có chức năng đạc biết Y tưởng truy xuất từng bit bằng phan mém là các đặc tính mạnh của mierocontroller xử lý chung. các bit có thể được đặt, xóa, AND, OR,., với 1 lệnh đơn , Đa số các microcontroller xử lý đòi hỏi một chuối lệnh đọc- sửa- ghi để đạt được mục đích tương tự, Ngoài ra các port cũng có thể truy xuất được từng bit. 128 bit có chứa các byte có địa chỉ từ 00H --]ŸH_ cũng có thể truy xuất như các byte hoặc các bit phụ thuộc vào lệnh được dùng. Các bank thanh ghỉ : 32 byte thấp của bộ nhớ nội được dành cho các bank thanh ghi.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ