Nghiên Cứu và Thiết Kế Vi Điều Khiển 8951 Tại Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM

Chuyên khảo phân tích Ứng dụng vi điều khiển 8951 thiết kế đồng hồ số, đánh giá các khía cạnh quan trọng, đề xuất hướng nghiên cứu tiếp theo.

Người đăng

Ẩn danh
100
4
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CẢM ƠN

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

MỤC LỤC

LỜI NÓI ĐẦU

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

1.1. Đặt vấn đề

1.2. Giới hạn vấn đề

1.3. Mục đích nghiên cứu

1.4. Thức nghiên cứu

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

2.1. Giới thiệu cấu trúc phần cứng của họ MSC-51

2.2. Khảo sát vi điều khiển 8951

2.2.1. Vi điều khiển SYST do hãng INTEL sản xuất

2.2.2. Sơ đồ chân của 8951

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

2.3. Các Port

2.3.1. Port0

2.3.2. Port1

2.3.3. Port2

2.3.4. Port3

2.4. Các ngõ tín hiệu điều khiển

2.4.1. Ngõ tín hiệu PSEN (Program Store Enable)

2.4.2. Ngõ tín hiệu ALE (Address Latch Enable)

2.4.3. Ngõ tín hiệu MA (l'h xternal Access)

2.4.4. Ngõ tín hiệu RST (Reset)

2.4.5. Các ngõ vào bộ dao động trên chip X1, X2

2.4.6. Các chân nguồn

2.5. Cấu trúc bộ nhớ bên trong vi điều khiển

2.5.1. Tổ chức bộ nhớ

2.5.2. Cấu trúc bộ nhớ RAM trong vi điều khiển

3. CHƯƠNG 3: THIẾT KẾ - THI CÔNG

3.1. Xây dựng sơ đồ khối

3.2. Chức năng từng khối

3.3. Thiết kế cứng

3.3.1. Vi điều khiển 8951

3.3.2. Mạch dao động

3.3.3. Mạch hiển thị phím ấn

3.3.4. Mạch Relay

3.3.5. Nguồn

3.3.6. Thiết kế sơ đồ nguyên lý và mạch in

3.3.7. Thi công

3.4. Xây dựng phần mềm

3.4.1. Môi trường phần mềm

3.4.2. Chương trình phần mềm

4. CHƯƠNG 4: KẾT LUẬN

4.1. Hướng phát triển đề tài

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Khám Phá Nền Tảng Nghiên Cứu Vi Điều Khiển 8951 tại SPKT

Kỹ thuật vi điều khiển đã trở thành một phần không thể thiếu trong các lĩnh vực khoa học kỹ thuật hiện đại. Sự phát triển của các mạch tích hợp (IC), bộ vi xử lý và đặc biệt là vi điều khiển đã thay đổi hoàn toàn ngành công nghiệp điện tử. Các hệ thống điều khiển phức tạp, cồng kềnh trước đây đã được thay thế bằng những mạch điện nhỏ gọn, đơn giản và hiệu quả hơn. Trong bối cảnh đó, việc nghiên cứu và ứng dụng vi điều khiển 8051 và các biến thể của nó như AT89C51 đã trở thành một yêu cầu cơ bản đối với sinh viên ngành kỹ thuật điện tử. Tại Trường Đại học Sư phạm Kỹ thuật TP.HCM (HCMUTE), chủ đề này không chỉ là một phần quan trọng trong giáo trình vi điều khiển SPKT mà còn là nền tảng cho nhiều đồ án vi điều khiểnluận văn tốt nghiệp VĐK. Các nghiên cứu tập trung vào việc khai thác khả năng của họ vi điều khiển 8051 để giải quyết các bài toán thực tế, từ các thiết bị dân dụng đến các dây chuyền sản xuất tự động. Đề tài "Ứng dụng vi điều khiển 8951 thiết kế đồng hồ số" là một minh chứng điển hình cho hướng tiếp cận này, giúp sinh viên trang bị kiến thức tổng quát từ cấu trúc phần cứng, cách kết nối linh kiện cho đến việc sử dụng tập lệnh để viết chương trình điều khiển. Việc nắm vững kiến thức về kiến trúc 8051 là cơ sở để sinh viên có thể thâm nhập vào các kỹ thuật lập trình và điều khiển bằng vi xử lý tiên tiến hơn trong tương lai.

1.1. Lịch sử và vai trò của họ vi điều khiển 8051

Họ vi điều khiển MSC-51, do Intel sản xuất, là một trong những họ vi điều khiển 8-bit phổ biến và có tầm ảnh hưởng lớn nhất. Các IC tiêu biểu như 8031, 8051, 8751 và AT89C51 chia sẻ nhiều đặc điểm chung: 128 byte RAM nội, 4 port I/O 8-bit, 2 bộ định thời 16-bit, và một cổng nối tiếp. Vai trò của họ vi điều khiển 8051 không chỉ nằm ở việc nó là một công cụ mạnh mẽ mà còn vì nó là một nền tảng giáo dục tuyệt vời. Cấu trúc đơn giản, tập lệnh dễ tiếp cận giúp người mới bắt đầu dễ dàng nắm bắt các khái niệm cơ bản về hệ thống nhúng. Chính vì vậy, tài liệu học 8051 luôn là một phần quan trọng trong chương trình đào tạo của nhiều trường đại học kỹ thuật, bao gồm cả HCMUTE.

1.2. Tầm quan trọng của AT89C51 trong giáo trình SPKT

Trong các biến thể của 8051, AT89C51 (hoặc AT89S52) của Atmel trở nên đặc biệt phổ biến trong môi trường học thuật nhờ vào bộ nhớ Flash EPROM 4K-byte có thể lập trình lại nhiều lần. Điều này giúp sinh viên dễ dàng thử nghiệm, gỡ lỗi và nạp lại chương trình mà không cần thay thế chip. Tại Khoa Điện - Điện tử HCMUTE, AT89C51 được sử dụng rộng rãi trong các phòng thí nghiệm và kit phát triển 8051. Nó không chỉ giúp sinh viên hiểu rõ về lý thuyết mà còn cung cấp cơ hội thực hành, từ việc thiết kế các mạch ứng dụng đơn giản như điều khiển LED, giao tiếp LCD cho đến các hệ thống phức tạp hơn, tạo nền tảng vững chắc cho các đồ án chuyên ngành.

1.3. Mục tiêu nghiên cứu Ứng dụng thiết kế đồng hồ số

Đề tài "Ứng dụng vi điều khiển 8951 thiết kế đồng hồ số báo giờ tự động" được thực hiện nhằm đạt được các mục tiêu chính. Thứ nhất, khảo sát chi tiết về cấu trúc phần cứng và phần mềm của vi điều khiển 8951. Thứ hai, áp dụng kiến thức đã học để thiết kế và thi công một sản phẩm thực tế, cụ thể là mạch đồng hồ số. Thứ ba, xây dựng lưu đồ thuật toán và viết chương trình điều khiển (phần mềm) đáp ứng yêu cầu đặt ra. Đề tài này không chỉ là một bài tập kỹ thuật mà còn là cơ hội để sinh viên phát huy tính sáng tạo, khả năng giải quyết vấn đề và tự kiểm tra lại kiến thức đã học trước khi tốt nghiệp, đồng thời tạo ra một tài liệu tham khảo hữu ích cho các khóa sau.

II. Thách Thức Khi Thiết Kế Hệ Thống Dùng Vi Điều Khiển 8951

Mặc dù vi điều khiển 8051 được xem là nền tảng, việc tiếp cận và làm chủ nó không phải là một quá trình đơn giản. Sinh viên và người mới bắt đầu thường đối mặt với nhiều thách thức cả về phần cứng và phần mềm. Thách thức lớn nhất là phải hiểu sâu về kiến trúc 8051, bao gồm tổ chức bộ nhớ, các thanh ghi chức năng đặc biệt (SFR), hoạt động của timer/counter, cơ chế ngắt và cổng giao tiếp nối tiếp. Việc lập trình ở mức thấp, đặc biệt là lập trình Assembly cho 8051, đòi hỏi sự tỉ mỉ và hiểu biết chi tiết về cách CPU hoạt động. Khi chuyển sang lập trình C cho 8051, người học cần làm quen với các trình biên dịch đặc thù như Keil C và cách nó quản lý bộ nhớ. Về phần cứng, việc thiết kế sơ đồ nguyên lýthiết kế mạch in PCB đòi hỏi kiến thức về điện tử tương tự và số. Đảm bảo mạch dao động ổn định, mạch reset hoạt động chính xác và các kết nối giao tiếp ngoại vi không bị nhiễu là những vấn đề cốt lõi. Ngoài ra, việc sử dụng các công cụ hỗ trợ như phần mềm mô phỏng Proteus để kiểm tra thiết kế trước khi thi công cũng là một kỹ năng quan trọng cần được trang bị. Vượt qua những thách thức này là bước đệm cần thiết để thực hiện thành công một đồ án vi điều khiển hoàn chỉnh.

2.1. Nắm vững kiến trúc 8051 và các thanh ghi chức năng

Một trong những rào cản đầu tiên là khối lượng kiến thức về kiến trúc 8051. Vi điều khiển này có cấu trúc bộ nhớ Harvard, phân chia rõ ràng giữa bộ nhớ chương trình và bộ nhớ dữ liệu. Người học phải hiểu rõ về RAM nội (bao gồm các bank thanh ghi, vùng địa chỉ hóa bit), và các Thanh Ghi Chức Năng Đặc Biệt (SFR) như PSW, SP, DPTR, TCON, TMOD, SCON, IE, IP. Mỗi thanh ghi có một vai trò riêng trong việc điều khiển hoạt động của vi điều khiển. Ví dụ, thanh ghi TMOD dùng để cấu hình chế độ hoạt động cho các timer, trong khi thanh ghi IE dùng để cho phép hoặc vô hiệu hóa các nguồn ngắt. Việc không hiểu rõ chức năng của từng bit trong các thanh ghi này sẽ dẫn đến lỗi logic khó phát hiện trong chương trình.

2.2. Sử dụng công cụ lập trình Keil C và mô phỏng Proteus

Việc chuyển từ lý thuyết sang thực hành đòi hỏi phải thành thạo các công cụ phát triển. Phần mềm Keil C là môi trường phát triển tích hợp (IDE) tiêu chuẩn cho họ vi điều khiển 8051. Thách thức ở đây là học cách thiết lập một dự án, sử dụng trình biên dịch Keil C, và quan trọng nhất là gỡ lỗi (debug) mã nguồn. Song song đó, mô phỏng Proteus là công cụ không thể thiếu để kiểm tra hoạt động của mạch điện tử trước khi thi công phần cứng. Việc kết hợp Keil C và Proteus cho phép mô phỏng hoạt động của vi điều khiển với mã chương trình đã biên dịch, giúp phát hiện sớm các lỗi trong thiết kế logic và kết nối phần cứng, tiết kiệm thời gian và chi phí.

2.3. Khó khăn trong thiết kế mạch in PCB và giao tiếp ngoại vi

Từ một sơ đồ nguyên lý hoàn chỉnh đến một bo mạch hoạt động ổn định là cả một quá trình. Thiết kế mạch in PCB đòi hỏi sự cẩn thận trong việc đi dây, bố trí linh kiện để giảm nhiễu và đảm bảo tính toàn vẹn tín hiệu. Các vấn đề như độ rộng đường mạch, khoảng cách cách điện, và việc tạo một mặt phẳng mass (ground plane) tốt đều ảnh hưởng đến hiệu suất của mạch. Về giao tiếp ngoại vi, việc kết nối với các module như giao tiếp LCD 16x2, điều khiển LED 7 đoạn, hay đọc dữ liệu từ cảm biến nhiệt độ đòi hỏi phải hiểu rõ giao thức và định thời (timing) của từng thiết bị. Sai sót trong việc kết nối phần cứng hoặc lập trình sai các tín hiệu điều khiển có thể khiến ngoại vi không hoạt động hoặc hoạt động sai.

III. Hướng Dẫn Thiết Kế Phần Cứng Cho Đồ Án Vi Điều Khiển 8951

Thiết kế phần cứng là bước nền tảng quyết định sự thành công của một hệ thống nhúng. Đối với dự án đồng hồ số sử dụng AT89C51, quy trình thiết kế được chia thành các khối chức năng rõ ràng để dễ dàng xây dựng và kiểm tra. Khối trung tâm là vi điều khiển AT89C51, đóng vai trò bộ não xử lý toàn bộ hoạt động. Xung quanh nó là các mạch phụ trợ thiết yếu. Mạch dao động sử dụng thạch anh 12MHz kết hợp với hai tụ gốm cung cấp tín hiệu xung nhịp ổn định cho CPU. Mạch reset đảm bảo vi điều khiển khởi động ở trạng thái xác định khi cấp nguồn. Khối nguồn cung cấp điện áp 5V ổn định từ nguồn điện lưới 220V. Khối hiển thị sử dụng 6 LED 7 đoạn Anode chung để hiển thị giờ, phút, giây, được điều khiển bằng phương pháp quét LED để tiết kiệm chân I/O. Khối điều khiển bao gồm các phím nhấn cho phép người dùng cài đặt thời gian và giờ báo thức. Cuối cùng, khối chấp hành sử dụng một relay để đóng ngắt chuông báo. Việc thiết kế sơ đồ nguyên lý chi tiết và lựa chọn linh kiện phù hợp là yếu tố tiên quyết. Theo tài liệu nghiên cứu, việc "sử dụng thạch anh là có tính thuyết phục nhất bởi thạch anh có tính ổn định cao và có giá trị xác định". Sau khi sơ đồ hoàn chỉnh, bước tiếp theo là thiết kế mạch in PCB bằng các phần mềm chuyên dụng như EAGLE, đảm bảo các kết nối vật lý chính xác và tối ưu.

3.1. Sơ đồ khối trung tâm VĐK AT89C51 và mạch phụ trợ

Khối trung tâm là trái tim của hệ thống. Vi điều khiển AT89C51 được lựa chọn vì có sẵn 4 Kbyte bộ nhớ chương trình và 128 byte RAM nội, đủ cho ứng dụng đồng hồ số. Để VĐK hoạt động, cần hai mạch phụ trợ quan trọng. Thứ nhất là mạch dao động, được thiết kế với một thạch anh 12MHz nối vào chân XTAL1 và XTAL2, cùng với hai tụ 33pF để ổn định tần số. Tần số 12MHz cung cấp một chu kỳ máy là 1µs, thuận lợi cho việc tính toán định thời. Thứ hai là mạch reset, bao gồm một điện trở và một tụ điện, kết nối với chân RST. Mạch này đảm bảo khi cấp nguồn, một xung mức cao ngắn được tạo ra để khởi động lại vi điều khiển, đưa con trỏ chương trình về địa chỉ 0000H. Một nút nhấn cũng được thêm vào để cho phép reset thủ công.

3.2. Thiết kế khối hiển thị dùng LED 7 đoạn và khối điều chỉnh

Để hiển thị thời gian, sáu LED 7 đoạn loại Anode chung được sử dụng. Các chân dữ liệu (a-g, dp) của tất cả các LED được nối chung vào Port 1 của VĐK. Các chân Anode chung của mỗi LED được điều khiển bởi một transistor PNP, với chân B được nối vào một chân của Port 0. Bằng cách kích hoạt lần lượt các transistor và xuất dữ liệu tương ứng ra Port 1 (phương pháp quét LED), VĐK có thể hiển thị các số khác nhau trên từng LED một cách nhanh chóng, tạo ra ảo ảnh về việc tất cả các LED cùng sáng. Các phím nhấn để chỉnh giờ, phút và cài đặt báo thức được kết nối vào các chân của Port 3, tận dụng chức năng ngắt ngoài (INT0, INT1) để xử lý sự kiện nhấn phím một cách hiệu quả mà không cần phải quét liên tục.

3.3. Tích hợp khối nguồn và khối điều khiển Relay

Một hệ thống ổn định đòi hỏi một bộ nguồn đáng tin cậy. Mạch nguồn được thiết kế để chuyển đổi điện áp xoay chiều 220V thành điện áp một chiều 5V. Nó bao gồm một biến áp hạ áp, một cầu diode để chỉnh lưu, tụ lọc để làm phẳng điện áp và IC ổn áp 7805 để đảm bảo đầu ra luôn ở mức 5V. Khối điều khiển Relay dùng để điều khiển chuông báo có điện áp cao hơn. Một chân I/O của vi điều khiển được dùng để điều khiển một transistor NPN. Khi chân này ở mức cao, transistor dẫn, cấp dòng cho cuộn dây của relay, làm đóng tiếp điểm và bật chuông báo. Một diode được mắc ngược song song với cuộn dây relay để dập các xung điện áp ngược sinh ra khi relay ngắt, bảo vệ transistor điều khiển.

IV. Phương Pháp Lập Trình Vi Điều Khiển 8951 Cho Đồng Hồ Số

Phần mềm được xem là linh hồn của hệ thống, quyết định sự thông minh và linh hoạt trong hoạt động. Việc xây dựng phần mềm cho đồng hồ số trên vi điều khiển 8951 bao gồm việc thiết kế lưu đồ giải thuật và viết mã nguồn. Phương pháp lập trình cấu trúc được áp dụng, chia chương trình thành các module chức năng riêng biệt như khởi tạo hệ thống, cập nhật thời gian, quét LED hiển thị, và xử lý ngắt. Chương trình chính (main loop) có nhiệm vụ gọi tuần tự các hàm này. Việc cập nhật thời gian được thực hiện chính xác nhờ sử dụng ngắt timer. Timer 0 được cấu hình để tạo ra một ngắt định kỳ, ví dụ mỗi 50ms. Trong chương trình phục vụ ngắt (ISR) của timer, một biến đếm sẽ được tăng lên. Khi biến đếm đủ lớn (tương ứng 1 giây), các biến giờ, phút, giây sẽ được cập nhật. Lập trình C cho 8051 hoặc Assembly đều có thể sử dụng, tuy nhiên C giúp chương trình dễ đọc và bảo trì hơn. Các sự kiện nhấn phím được xử lý thông qua ngắt ngoài (INT0, INT1), giúp hệ thống phản hồi ngay lập tức mà không làm gián đoạn các tác vụ khác. Sau khi hoàn tất mã nguồn bằng phần mềm Keil C, file HEX sẽ được tạo ra và nạp vào vi điều khiển thông qua một mạch nạp 8051.

4.1. Xây dựng lưu đồ giải thuật và cấu trúc chương trình

Trước khi viết mã, việc xây dựng lưu đồ giải thuật là cực kỳ quan trọng để hình dung luồng hoạt động của chương trình. Lưu đồ bao gồm các khối chính: Khối khởi tạo (cấu hình port, timer, ngắt), vòng lặp chính (quét LED, kiểm tra điều kiện báo thức), và các chương trình phục vụ ngắt (ISR cho timer và ngắt ngoài). Cấu trúc chương trình được phân chia rõ ràng. Vùng đầu chương trình định nghĩa các hằng số, biến và bảng mã cho LED 7 đoạn. Tiếp theo là bảng vector ngắt, trỏ đến các ISR tương ứng. Chương trình chính bắt đầu bằng việc gọi các hàm khởi tạo, sau đó đi vào một vòng lặp vô tận. Toàn bộ các tác vụ cập nhật thời gian và xử lý sự kiện được thực hiện bên trong các ISR, giúp chương trình chính trở nên đơn giản và gọn gàng.

4.2. Kỹ thuật lập trình xử lý ngắt và timer cho 8051

Ngắt và timer là hai tài nguyên phần cứng quan trọng nhất của AT89C51 trong ứng dụng này. Timer 0 được thiết lập ở chế độ 1 (16-bit timer). Giá trị nạp ban đầu cho thanh ghi TH0/TL0 được tính toán cẩn thận để tạo ra một khoảng thời gian tràn chính xác. Mỗi khi timer tràn, cờ TF0 được bật và một ngắt được tạo ra. Trong ISR của Timer 0, chương trình sẽ nạp lại giá trị ban đầu cho timer và thực hiện các công việc định kỳ như tăng biến đếm giây và quét LED. Các ngắt ngoài INT0 và INT1 được cấu hình ở chế độ kích hoạt theo cạnh xuống (edge-triggered) để nhận tín hiệu từ các phím nhấn. Khi một phím được nhấn, CPU sẽ tạm dừng chương trình chính và nhảy đến ISR tương ứng để xử lý logic tăng giá trị giờ hoặc phút.

4.3. Tối ưu mã nguồn và quy trình nạp chương trình

Trong các hệ thống có bộ nhớ hạn chế như 8051, việc tối ưu mã nguồn là cần thiết. Các kỹ thuật như sử dụng bảng tra (look-up table) cho mã hiển thị LED 7 đoạn, dùng các kiểu dữ liệu phù hợp để tiết kiệm RAM, và viết các hàm con có thể tái sử dụng giúp giảm kích thước chương trình. Sau khi biên dịch mã nguồn bằng trình biên dịch Keil C, một file có phần mở rộng .HEX được tạo ra. File này chứa mã máy mà vi điều khiển có thể hiểu. Bước cuối cùng là sử dụng một mạch nạp 8051 (ví dụ như mạch nạp qua cổng USB) và phần mềm tương ứng trên máy tính để truyền file HEX này vào bộ nhớ Flash của chip AT89C51. Quá trình này được gọi là nạp chương trình (programming hoặc flashing).

V. Kết Quả Nghiên Cứu và Ứng Dụng Thực Tiễn của VĐK 8951

Kết quả của đề tài nghiên cứu không chỉ là một sản phẩm phần cứng hoàn chỉnh mà còn là sự tổng hợp kiến thức và kỹ năng thực hành quý báu. Sản phẩm cuối cùng là một mạch đồng hồ số hoạt động ổn định, có khả năng hiển thị chính xác giờ, phút, giây trên LED 7 đoạn. Hệ thống cho phép người dùng dễ dàng điều chỉnh thời gian và cài đặt giờ báo thức thông qua các phím nhấn. Khi đến thời điểm đã đặt, mạch relay sẽ được kích hoạt để bật chuông báo. Đề tài này đã chứng minh rằng vi điều khiển 8951, dù là một công nghệ đã có từ lâu, vẫn hoàn toàn đủ khả năng để xây dựng các ứng dụng điều khiển hữu ích và hiệu quả. Thành công của dự án mở ra nhiều hướng phát triển tiềm năng. Hệ thống có thể được nâng cấp để giao tiếp với các module thời gian thực (RTC) như DS1307 để tăng độ chính xác và lưu trữ thời gian ngay cả khi mất điện. Ngoài ra, có thể tích hợp thêm các cảm biến nhiệt độ để hiển thị nhiệt độ phòng, hoặc kết nối với các thiết bị khác qua cổng nối tiếp. Đây là một minh chứng rõ ràng về chất lượng đào tạo và khả năng ứng dụng kiến thức của sinh viên tại Khoa Điện - Điện tử HCMUTE, đồng thời khẳng định giá trị của việc học đi đôi với hành.

5.1. Đánh giá sản phẩm đồng hồ số báo giờ tự động

Sản phẩm đồng hồ số hoàn thiện đã đáp ứng đầy đủ các yêu cầu thiết kế ban đầu. Về phần cứng, mạch hoạt động ổn định, các linh kiện được bố trí hợp lý trên mạch in PCB. Khối hiển thị sáng rõ, dễ quan sát. Về phần mềm, chương trình chạy đúng logic, thời gian được cập nhật chính xác dựa trên ngắt timer. Chức năng điều chỉnh thời gian và cài đặt báo thức phản hồi nhanh chóng. Mặc dù độ chính xác của đồng hồ phụ thuộc vào sự ổn định của thạch anh và có thể có sai số nhỏ sau một thời gian dài hoạt động, nhưng nó hoàn toàn chấp nhận được đối với một đồ án vi điều khiển ở cấp độ sinh viên. Đây là một sản phẩm thực tiễn, có thể ứng dụng trong các nhà máy, trường học để báo giờ làm việc, giờ tan học một cách tự động.

5.2. Bài học kinh nghiệm từ quá trình nghiên cứu và thi công

Quá trình thực hiện đề tài đã mang lại nhiều bài học kinh nghiệm. Thứ nhất, tầm quan trọng của việc nghiên cứu kỹ lưỡng tài liệu học 8051 và datasheet của linh kiện trước khi bắt đầu thiết kế. Thứ hai, kỹ năng gỡ lỗi (debugging) cả phần cứng và phần mềm là yếu tố quyết định. Việc sử dụng các công cụ như mô phỏng Proteus và tính năng debug của Keil C đã giúp tiết kiệm rất nhiều thời gian. Thứ ba, sự kiên nhẫn và tỉ mỉ trong quá trình thi công, từ việc hàn mạch đến kiểm tra kết nối, là chìa khóa để có một sản phẩm phần cứng hoạt động tốt. Cuối cùng, việc lập kế hoạch và phân chia công việc một cách khoa học đã giúp hoàn thành đề tài đúng tiến độ.

5.3. Hướng phát triển đề tài tại Khoa Điện Điện tử HCMUTE

Đề tài này có thể được xem là một nền tảng để phát triển nhiều ứng dụng phức tạp hơn. Một hướng phát triển là nâng cấp giao diện người dùng, thay thế LED 7 đoạn bằng màn hình giao tiếp LCD 16x2 để hiển thị thêm thông tin như ngày tháng, nhiệt độ. Một hướng khác là thêm khả năng kết nối mạng, sử dụng các module ESP8266 để đồng bộ thời gian qua Internet (NTP server). Ngoài ra, có thể phát triển các hệ thống điều khiển tự động phức tạp hơn dựa trên nền tảng AT89S52, ví dụ như hệ thống điều khiển động cơ DC, hệ thống tưới cây tự động, hoặc nhà thông minh cỡ nhỏ. Những hướng đi này không chỉ phù hợp với các luận văn tốt nghiệp VĐK mà còn giúp sinh viên Khoa Điện - Điện tử HCMUTE tiếp cận với các công nghệ mới trong lĩnh vực hệ thống nhúng và IoT.

10/07/2025
Ứng dụng vi điều khiển 8951 thiết kế đồng hồ số

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

Chương 1: Dần nhập Chương 2 : Khảo sát vi điều khiển 8951 để ứng dụng vào thiết kế. Chương 3 : Tính toán thiết kế thi công phần cứng , viết chương trình (phần mềm) cho đồng hồ số. e _ Tiến hành xây dựng sơ đỗ nguyên lý. e _ Vẽ mạchin và lắp ráp phần cứng (sử dụng phần mềm EAGLE Xây dựng lưu đổ , viết chương trình và nạp dữ liệu cho vi điều khiển 8951.

e _ Đánh máy và inấn. Trang 3 Luận văn tốt nghiệp —————ễễễễễ CHƯƠNG 2: KHẢO SÁT VI ĐIỀU KHIỂN 1. GIỚI THIỆU CẤU TRÚC PHAN CUNG CUA HỌ MSC-51 MSC-51 là một họ IC vi diéu khién do hang INTEL san xuất .Các IC tiêu biểu cho họ MSC-51 là 8031, 8051 , 8751 , 8951 ,892051. Chúng, có đặc điểm chung như sau : INTI INTO : ‘Timer 2 Timer | Timer 0) —— Pont nor hep os Các thành 128 ROM noi ngat plú khác byte RAM CPU Dao động Điều khiển bus Các port ƯO Port nối tiếp hod = eel “Tt cin —T—- ¬ >= RST Vv Ý mm FäX2 FIPS Tạm RxD ALE Sơ đồ khối MSC-51 ROM nội : Tùy theo mã hiệu mà sẽ có sự khác nhau : « 8031 Ẵ 0K ROM © 8051 : 4K ROM (Factory mask programmed) Trang 4 Luận văn tốt nghiệp “”——————— ® 8751 : 4K EPROM © 8951 : 4K EEPROM © 892051: 2K EEPROM - 128 byte RAM.

- 4portnhap xuat /O 8 bit. - 26 dinh thdi 16 bit (riêng họ 8xx2 có 3 bộ ) -_ 1 cổng nối tiếp. - _ 64 Kbyte không gian bộ nhớ chương trình mở rộng. -_ 64 Kbyte không gian bộ nhớ dữ liệu mở rộng.

-_1 bộ xử lý luận lý (thao tắc trên các bit đơn ). - 210 bit dia chi hóa ( nằm trang vùng RAM nội ) -_ Bộ nhân và hộ chia 4 pis, Nhìn vào sơ đồ khôi ta thấy nó báo gồm một ví xử lý và các thiết bị tối thiểu để có thể läp trình được 1. KHẢO SÁT VI ĐIỂU KHIỂN 8951 1. Vị điều khiển SYST do hang INTEL sin xudt c6 cdc đặc điểm chung như Sau: © C64 Kbyte bd nhs EPROM bén trong ding 48 luw chuong tinh điều khiển, ®- Có 128 byte RAM nội ® Có 4 Port xuất nhập VO 8 bit.

ø _ Có khả năng giao tiếp truyền dữ liệu nối tiếp. © Cé thé giao tiếp với 64 Kbyte bộ nhớ EPROM bên ngoài dùng để lưu chương trình điều khiển. © Có thể giao tiếp với 64 Kbyte bộ nhớ bên ngoài dùng để lưu dữ liệu. ©_ Có các lệnh xử lý biL.

e_ Có 210 bit có thể truy xuất từng bit. e _ Có lệnh nhân và chia. Trang 5 Luận văn tối nghiệp 2. Sơ đồ chân của 8951: I 19 Vee VW =] XTAL1 por [32 ab? 12 MHz Po.6 |B— AD6 [4 ADS l XTAL2 pos poa [Ss Abd 18 pia: [ai ADS po2 LL Anz = p-dPSEN por ba app 7 poo p49 Ano ALE P1 |8 — “tự Hig Poe BAN mạ |? “nh 3 RSP NÓI mí Rut Als wei Mie Ala " BY pas Al3 nw MY pea Al2 rn, — 1 An nnn, pee Alo TAD T ay ro — AB 3.

Chức năng các chân của 8951 Vi điều khiển có tất cả 40 chân có chức năng như các đường xuất nhập trong đó có 24 chân có tác dụng kép (có nghĩa là I chân có 2 chức năng ) ,mỗi đường có thể hoạt động như đường xuất nhập điều khiển hoặc là thành phần của các bus dữ liệu va bus địa chỉ để tải địa chỉ và dữ liệu khi giao tiếp với bộ nhớ ngoài ¬———“——>—-———- Trang 6 Luận văn tốt nghiệp ——————————————ễễễễễ-—— 3.1 Cac Port e Port0: Port 0 là một Port có hai chức năng với số thứ tự trên các chân từ 32-39 -Trong các hệ thống điều khiển đơn giẩn sử dụng bộ nhớ bên trong (không dùng bộ nhớ mở rộng bên ngoài ) thì Port 0 có chức năng như các đường điều khiển xuất nhập IO. Trong các hệ thống điều khiển lớn sử dụng bộ nhớ mở rộng bên ngoài thì Port0 có chức năng là bus dữ liệu 8 bit ADO-AD7. © Portl: Port 1 là một Port xuất nhập O có số thứ tự chân từ I-§ các chân được ký hiệu PI.7 với các thiết có thể dùng cho giao tiết bị ngoài để điều khiển xuât nhập - Por 1 không có chúc nấng khác ,vì vậy Port 1 chỉ dùng cho giao tiếp với các thiết bị ngoài hoặc trao đối dự liện với các hệ thông khác ® PorL2: Port 2 là Pon có 3 chức năng ( tác du kép) với số thứ tự chán từ 21-28. Trong các hệ thông điều khiển đứa giản sử dụng bộ nhớ bén trong khong ding bo ahd med rong bến ngoài thì Port 2 được dung lãm các đường điều khiển xuất nhập Trong các hệ thống điều khiến lớn sứ dụng bộ nhữ mở rồng bên ngoài thì Port 2 có chức năng là bus đi cao A8 -ÄAIã.

® PorL3: Port 3 la Port co 2 chive nàng với số thứ tự chân 10 — 17, các chân của Port này có nhiều chức năng ,vừa có chức năng trao đổi dữ liệu vừa có chức năng đặc biệt 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.2 INTO\ Ngõ vào ngắt cứng thứ 0.3 INTI\ Ngõ vào ngắt cứng thứ 1. P34 TO Ngõ vào của TIMER/COUNTER thứ 0.5 ‘Eh Ngõ vào của TIMER/COUNTER thứ 1.6 WR\ Tín hiệu ghi dữ liệu lên bộ nhớ ngoài.7 RD\ Tín hiệu đọc bộ nhớ dữ liệu ngoài. Trang 7 Luận văn tốt nghiệp .2 Các ngõ tín hiệu điều khiển. « Ngõ tín hiệu PSEN (Program Store Enable ).

PSEN là ứn hiệu ngõ ra trên chân 29 có tác dụng cho phép đọc bộ nhớ chương trình mở rộng thường nối đến chin OE ( Output Enable) ctia EPROM cho phép đọc các byte mở rộng. PSEN ở mức thấp trong thời gian vi điều khiển 8951 lấy lệnh .Các mã lệnh của chương trình đọ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 ROM nội thì PSEN ở mức l. © Ngo tinhiệu điều khiển ALE (Address Latch Enahle ). Khi vi điều khiển 8951 truy xuất bộ nhớ bên ngoài , PorL0 có chức năng, là bus địa chỉ và bus dữ liệu do đó phải tách các đường địa chỉ và dữ liệu, Tín hiệu ALE ở chân 30 dùng làm tin hiệu điều khiển để giải đá hợp các đường địa chỉ và dữ liệu khủ kết nội chúng với ÍC chốt Tín hiệu ra ở chân AT là một xung trong Khoảng thời gian Pon 0 đồng vai trò là đ lá chí thấp nền việc chốt địa chí được thực hiện một c toàn tự động, Các xung Hi liệu AE có tốc độ bằng 1/6 lần tán số trên chỉp và có thế di dàng làm tú hiệu xung clock cúng cấp cho c phần khác của hệ thông Chỉ ngoại ưrừ khi thí hành lệnh MOVX, một bị mất (Trong chế độ lắp trình cho bộ nhớ nội thì chân ALE dude đồng làm ngõ vàu xung làp trình cho EPROM trong 8951.

e Ngo tin higu MA (lh xternal Access ). Tín hiệu vào BA 6 chin 31 thudng nối lên mức 1 (Vcc) hoặc mức Ø (GND). Nếu nồi lên mức logic 1 thì vi điểu khiển sẽ thi hành chương trình từ ROM nội trong khoảng địa chỉ thấp 4 Kbyte .Nếu EA nối với mức logic 0 thì vi điều khiển 8951 sẽ thi hành chương trình từ bộ nhớ mở rộng. «® Ngõ tín hiệu RST (Reset).

Ngõ vào RST ở chân số 9 là ngõ vào Reset của 8951. Khi ngõ vào tín hiệu này đưa lên mức cao ít nhất là 2 chu kỳ máy , các thanh ghi bên trong 8951 được nạp những giá trị thích hợp để khởi động hệ thống .Khi cấp điện cho hệ thống thì mạch tự động Reset. ©_ Các ngõ vào bộ đao động trên chip X1 ,X2. Bộ dao động được tích hợp bên trong 8951, khi 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ư sơ đổ tân số tụ thạch'anh thường sử dụng cho 8951 là 12 MHz, được kết nối ở 2 chân 18,19.

Trang 8 Luận văn tốt nghiệp © Các chân nguễn : Vi mạch 8951 được vận hành với nguồn đơn +5V , Vec nối vào chân 40, Vss (GND) nối vào chân 20. CẤU TRÚC BỘ NHỚ BÊN TRONG VI ĐIỀU KHIỂN 1. Tổ chức bộ nhớ : Bắng tóm tắt các vùng nhớ trong 895] OPER - t1 EP EP poe EE CODE DATA Memory Memory an CODE oe Memory Memory 00 Enable Enable via via 0000 0000| RSEN 0000 RD & WR On- Chip Memory External Memory Tóm tắt các vùng bộ nhớ của AT§9C51 AT89C51 có bộ nhớ theo cấu trúc Harvard :có những vùng nhớ riêng biệt cho chương trình và dữ liệu. Cả chương trình và dữ liệu có thể ở bên trong , tuy nhiên chúng có thể mở rộng bằng các thành phần bên ngoài lên đến tối đa 64 Kbytes bộ nhớ chương trình và 64 Kbytes bộ nhớ dữ liệu.

Bộ nhớ bên trong bao gồm EPROM nội và RAM trên chip , EPROM gồm bộ nhớ dữ liệu và bộ nhớ mã , RAM trên chip bao gồm nhiều phần : phần lưu trữ đa dụng , phần lưu trữ địa chỉ hóa từng bit , các bank thanh ghi và các thanh ghi chức năng đặc biệt. ——=— Trang 9 Luận văn tốt nghiệp ————————ễễễễễễễỄễ- Cấu trúc bộ nhớ RAM trong vi điều khiển Địa chỉ Địa chỉ vie „ Địa chỉ bit Rete Dia chi bit TF FF FO | F7 | F6 | F5 | F4 |F3|F2| F1 | FO |B RAM da dung E0 [E7 | E6 | E5 | E4 |E3|E2| E1 | E0 |ACC pủ |p7[be[Ds[b4[D3[D2]D1[Db0|psw 30 .

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

Tuyệt vời! Dưới đây là tóm tắt chuyên sâu về tài liệu của bạn, được tối ưu hóa cho SEO và liên kết một cách tự nhiên đến các chủ đề liên quan để người đọc khám phá sâu hơn.


Tài liệu "Nghiên Cứu và Thiết Kế Vi Điều Khiển 8951 Tại Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM" là một nguồn tài nguyên quý giá, cung cấp kiến thức nền tảng và chuyên sâu về vi điều khiển 8951 – một trong những dòng chip kinh điển và quan trọng nhất trong lĩnh vực điện tử. Người đọc sẽ nắm vững từ cấu trúc phần cứng, tập lệnh cho đến các phương pháp luận thiết kế mạch ứng dụng thực tiễn, giúp xây dựng một nền tảng vững chắc để phát triển các hệ thống nhúng phức tạp hơn.

Để mở rộng kiến thức và xem cách áp dụng lý thuyết vào thực tế, bạn có thể khám phá thêm các dự án cụ thể. Một ví dụ điển hình là Thiết kế mạch quang báo dùng vi điều khiển 8951, tài liệu này sẽ chỉ rõ cách sử dụng 8951 để điều khiển ma trận LED, một ứng dụng phổ biến và trực quan. Tiếp theo, để hiểu rõ quy trình hoàn chỉnh từ việc nạp chương trình đến xây dựng một sản phẩm hoàn chỉnh, hãy tham khảo Thiết kế mạch nạp vi điều khiển và ứng dụng vi điều khiển làm đồng hồ báo thức, nơi bạn sẽ học được cả về phần cứng nạp và một ứng dụng thực tế. Ngoài ra, để thấy sự linh hoạt của vi điều khiển trong các lĩnh vực khác, tài liệu Thiết kế mạch điều chỉnh âm lượng dùng vi điều khiển sẽ là một góc nhìn mới mẻ về ứng dụng trong xử lý tín hiệu âm thanh. Mỗi tài liệu liên kết là một cơ hội để bạn đào sâu hơn và làm chủ công nghệ vi điều khiển.