Đề tài: Xây dựng bộ thực hành vi điều khiển điều khiển đèn LED (FPT Polytechnic)

Bộ thực hành LED vi điều khiển: Hướng dẫn tự học lập trình, thực hiện dự án DIY thú vị. Tìm hiểu kiến thức cơ bản và nâng cao về LED.

Trường đại học

Cao đẳng FPT Polytechnic

Chuyên ngành

Tự động hóa

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2020

61
2
0

Phí lưu trữ

30 Point

Tóm tắt

I. Bộ thực hành vi điều khiển LED là gì Bắt đầu từ đâu

Bộ thực hành vi điều khiển LED là một tập hợp các linh kiện điện tử được thiết kế để giúp người mới bắt đầu dễ dàng tiếp cận và học tập trong lĩnh vực lập trình nhúng và điện tử. Thay vì phải tìm kiếm và mua lẻ từng thành phần, một bộ kit cung cấp đầy đủ các bo mạch vi điều khiển phổ biến, các loại đèn LED, điện trở, dây cắm và các module cần thiết khác. Mục tiêu chính của bộ thực hành là tạo ra một môi trường học tập trực quan và hiệu quả, nơi người học có thể áp dụng ngay lập tức các kiến thức lý thuyết vào việc xây dựng các mạch điện tử đơn giản. Theo nghiên cứu 'Xây dựng bộ thực hành vi điều khiển điều khiển các đèn LED' của nhóm sinh viên FPT Polytechnic, việc thực hành trên các mô hình thí nghiệm giúp người học "hiểu một cách tường tận hơn về những gì mà ta đã được học trong phần lý thuyết cũng như cách thức vận dụng nó vào trong thực tế". Bộ công cụ này không chỉ dành cho sinh viên các ngành kỹ thuật mà còn cho những người đam mê công nghệ, muốn tự tay tạo ra các sản phẩm điện tử sáng tạo (DIY). Quá trình bắt đầu với bộ thực hành vi điều khiển LED thường bao gồm việc làm quen với các linh kiện cơ bản, học cách kết nối chúng trên breadboard cắm, và sau đó là viết những dòng code đầu tiên để điều khiển một LED đơn nhấp nháy. Đây là bước đệm vững chắc để tiến tới các dự án phức tạp hơn, từ việc tạo hiệu ứng LED đẹp mắt đến xây dựng các thiết bị thông minh ứng dụng trong đời sống.

1.1. Tổng quan về kit vi điều khiển cho người mới bắt đầu

Một kit vi điều khiển cho người mới bắt đầu thường được xây dựng xung quanh một bo mạch chủ đạo như Arduino Uno, Arduino Nano hoặc ESP8266 NodeMCU. Các bo mạch này được lựa chọn vì tính phổ biến, tài liệu hướng dẫn phong phú và cộng đồng hỗ trợ lớn mạnh. Bên trong kit, các thành phần được phân loại rõ ràng, bao gồm: các loại đèn LED (đơn, RGB, 7 đoạn, ma trận), cảm biến (nhiệt độ, ánh sáng), các module chức năng và các linh kiện điện tử cơ bản như điện trở, tụ điện, nút nhấn. Ưu điểm lớn nhất của việc sử dụng kit là tính đồng bộ và tương thích. Người học không cần lo lắng về việc lựa chọn sai linh kiện hay các vấn đề kết nối phức tạp. Hầu hết các bộ kit đều đi kèm với tài liệu tự học vi điều khiển chi tiết, bao gồm sơ đồ lắp ráp và các đoạn code mẫu Arduino, giúp quá trình học tập trở nên liền mạch và giảm thiểu các rào cản ban đầu.

1.2. Lợi ích của việc tự học lập trình nhúng qua dự án DIY

Tự học lập trình nhúng thông qua các dự án DIY (Do It Yourself) mang lại nhiều lợi ích vượt trội so với phương pháp học lý thuyết thuần túy. Thứ nhất, nó thúc đẩy tư duy giải quyết vấn đề. Khi tự tay xây dựng một mạch điện tử đơn giản, người học phải đối mặt và tìm cách khắc phục các lỗi thực tế, từ lỗi kết nối phần cứng đến lỗi logic trong chương trình. Thứ hai, việc hoàn thành một dự án, dù là nhỏ nhất như làm nháy một đèn LED, cũng tạo ra cảm giác thành tựu, khích lệ tinh thần và duy trì động lực học tập lâu dài. Các dự án DIY còn cho phép người học tùy biến và sáng tạo không giới hạn, giúp biến những ý tưởng thành sản phẩm hữu hình. Tham gia vào cộng đồng DIY Việt Nam, người học có thể chia sẻ kinh nghiệm, học hỏi từ người khác và cập nhật những xu hướng công nghệ mới nhất trong lĩnh vực hệ thống nhúng.

II. Khó khăn khi tiếp cận vi điều khiển và điện tử cơ bản

Việc bắt đầu với thế giới vi điều khiển có thể là một thách thức lớn đối với người mới. Một trong những rào cản đầu tiên là khối lượng kiến thức lý thuyết đồ sộ, đặc biệt là sự khác biệt giữa các khái niệm nền tảng. Nhiều người thường nhầm lẫn giữa vi xử lý và vi điều khiển, dẫn đến khó khăn trong việc định hướng học tập. Bên cạnh đó, kiến thức về điện tử cơ bản là yêu cầu bắt buộc. Nếu không hiểu về định luật Ohm, cách tính điện trở cho LED, hay nguyên lý hoạt động của transistor, người học sẽ rất dễ làm hỏng linh kiện hoặc không thể xây dựng được các mạch hoạt động ổn định. Một khó khăn khác là việc lựa chọn phần cứng. Thị trường hiện nay có vô số loại bo mạch như Arduino, ESP32, hay STM32 cho người mới bắt đầu, mỗi loại có ưu nhược điểm và hệ sinh thái riêng. Việc lựa chọn sai bo mạch có thể dẫn đến việc thiếu tài liệu hỗ trợ hoặc không phù hợp với mục tiêu dự án. Cuối cùng, lập trình C cho vi điều khiển đòi hỏi một tư duy logic chặt chẽ và sự hiểu biết sâu về cấu trúc phần cứng, khác biệt hoàn toàn so với lập trình web hay ứng dụng di động. Những khó khăn này có thể khiến nhiều người nản lòng ngay từ giai đoạn đầu nếu không có một lộ trình học tập bài bản và một bộ công cụ thực hành phù hợp.

2.1. Phân biệt vi xử lý và vi điều khiển Nền tảng cốt lõi

Hiểu rõ sự khác biệt giữa vi xử lý (Microprocessor) và vi điều khiển (Microcontroller) là kiến thức nền tảng. Tài liệu đồ án của FPT Polytechnic định nghĩa, vi xử lý chủ yếu là một đơn vị xử lý trung tâm (CPU), chức năng chính là xử lý dữ liệu và cần kết nối với các thiết bị ngoại vi bên ngoài như bộ nhớ, cổng I/O. Ngược lại, vi điều khiển là một hệ thống hoàn chỉnh trên một con chip duy nhất, tích hợp sẵn CPU, bộ nhớ (RAM, Flash) và các ngoại vi (GPIO, Timer, ADC). Đối với các ứng dụng nhỏ và chuyên dụng như điều khiển đèn LED, máy giặt, vi điều khiển là lựa chọn tối ưu vì "cấu trúc phần cứng đơn giản hơn nhiều" và "giá thành rẻ hơn". Trong khi đó, vi xử lý phù hợp cho các hệ thống phức tạp, đòi hỏi khả năng tính toán cao như máy tính cá nhân. Việc nắm vững sự khác biệt này giúp người học lựa chọn đúng công cụ cho dự án của mình.

2.2. Thách thức chọn linh kiện điện tử Arduino là gì hay ESP32

Sự đa dạng của linh kiện điện tử vừa là cơ hội vừa là thách thức. Arduino là gì? Đây là một nền tảng mã nguồn mở bao gồm cả phần cứng (bo mạch) và phần mềm (Arduino IDE), nổi tiếng với sự đơn giản và cộng đồng hỗ trợ khổng lồ, rất phù hợp cho người mới bắt đầu. Các bo mạch như Arduino Uno hay Nano là lựa chọn an toàn để làm quen. Trong khi đó, các bo mạch như ESP8266 NodeMCUESP32 lại mạnh mẽ hơn với khả năng kết nối Wi-Fi và Bluetooth tích hợp, mở ra cánh cửa cho các dự án IoT (Internet of Things). Tuy nhiên, việc lập trình cho chúng có thể phức tạp hơn một chút. Việc lựa chọn đúng bo mạch phụ thuộc vào mục tiêu cuối cùng của dự án: nếu chỉ cần điều khiển LED đơn thuần, Arduino là đủ; nếu muốn điều khiển LED qua mạng, ESP32 sẽ là lựa chọn phù hợp hơn.

III. Hướng dẫn chọn bộ thực hành vi điều khiển LED đầy đủ

Một bộ thực hành vi điều khiển LED lý tưởng cần phải cân bằng giữa sự đa dạng, chất lượng và tính dễ sử dụng. Yếu tố quan trọng nhất là bo mạch vi điều khiển. Một bo mạch dựa trên nền tảng Arduino (như Nano hoặc Uno) là lựa chọn hàng đầu cho người mới bắt đầu vì tính đơn giản và hệ sinh thái hỗ trợ rộng lớn. Tiếp theo là các thành phần hiển thị. Bộ kit nên bao gồm nhiều loại LED khác nhau để người học có thể thực hiện đa dạng các bài thí nghiệm, từ cơ bản đến nâng cao. Các loại LED không thể thiếu bao gồm LED đơn nhiều màu để học những bài học đầu tiên, LED RGB để tìm hiểu về phối màu và điều chế độ rộng xung (PWM), LED 7 đoạn để hiển thị số, và LED ma trận 8x8 cho các dự án hiển thị ký tự hoặc hình ảnh động đơn giản. Để phục vụ các dự án nâng cao và bắt mắt hơn, sự có mặt của LED dây WS2812B (Neopixel) là một điểm cộng lớn. Ngoài ra, các linh kiện phụ trợ như breadboard cắm chất lượng tốt, dây cắm đủ loại (đực-đực, đực-cái, cái-cái), điện trở với nhiều giá trị, nút nhấn, và biến trở là bắt buộc. Một bộ kit tốt sẽ cung cấp mọi thứ cần thiết để người học có thể bắt tay vào thực hành ngay mà không cần mua thêm bất kỳ linh kiện nào khác.

3.1. Các thành phần không thể thiếu Breadboard cắm và bo mạch

Breadboard, hay test board cắm, là trái tim của mọi dự án DIY. Nó cho phép người dùng kết nối các linh kiện điện tử và xây dựng các mạch điện tử đơn giản mà không cần hàn. Điều này giúp việc thử nghiệm, sửa lỗi và thay đổi thiết kế trở nên cực kỳ nhanh chóng và tiện lợi. Một breadboard chất lượng tốt sẽ có các lỗ cắm chắc chắn, đảm bảo kết nối ổn định. Đi kèm với breadboard là bo mạch vi điều khiển. Như đã đề cập, Arduino Nano hoặc Uno là những lựa chọn tuyệt vời. Chúng cung cấp đủ các chân I/O (Input/Output) kỹ thuật số và analog để điều khiển nhiều loại LED và đọc tín hiệu từ cảm biến, là nền tảng vững chắc để xây dựng các dự án đầu tay.

3.2. Khám phá các loại LED LED đơn LED RGB LED ma trận 8x8

Học về vi điều khiển LED bắt đầu từ những điều cơ bản nhất. LED đơn là linh kiện hoàn hảo để học về khái niệm digital output, dòng điện, và cách sử dụng điện trở hạn dòng. Sau khi thành thạo, người học có thể chuyển sang LED RGB. Loại LED này tích hợp ba màu đỏ, xanh lá, và xanh dương trong cùng một vỏ, cho phép tạo ra hàng triệu màu sắc khác nhau bằng kỹ thuật PWM, mở ra cánh cửa cho việc tạo ra các hiệu ứng LED sinh động. Cuối cùng, LED ma trận 8x8 là một bước tiến phức tạp hơn. Nó bao gồm 64 đèn LED được sắp xếp thành một lưới 8x8, đòi hỏi kỹ thuật quét hàng và cột để hiển thị ký tự, icon hoặc các hoạt ảnh đơn giản. Việc thực hành với cả ba loại LED này sẽ cung cấp một cái nhìn toàn diện về các kỹ thuật điều khiển hiển thị.

IV. Phương pháp lập trình vi điều khiển LED hiệu quả từ A Z

Để điều khiển được đèn LED, việc nắm vững phương pháp lập trình là yếu tố then chốt. Quá trình này bắt đầu bằng việc cài đặt và làm quen với môi trường phát triển tích hợp (IDE). Với hệ sinh thái Arduino, Arduino IDE là công cụ chính thức và phổ biến nhất. Giao diện của nó rất đơn giản, bao gồm một trình soạn thảo code và các nút chức năng để biên dịch và nạp chương trình vào bo mạch. Bước tiếp theo là tìm hiểu ngôn ngữ lập trình. Hầu hết các vi điều khiển hiện nay, bao gồm cả Arduino, đều sử dụng một phiên bản của C/C++. Do đó, việc học những kiến thức cơ bản về lập trình C cho vi điều khiển như biến, kiểu dữ liệu, vòng lặp, câu lệnh điều kiện và hàm là bắt buộc. Để tăng tốc quá trình học, việc tham khảo các code mẫu Arduino có sẵn là một chiến lược hiệu quả. Các đoạn code này cung cấp ví dụ thực tế về cách điều khiển các chân I/O, đọc dữ liệu từ cảm biến và tạo ra các hiệu ứng LED. Một trong những kỹ thuật quan trọng nhất cần nắm vững là điều khiển độ sáng LED PWM (Pulse Width Modulation). Kỹ thuật này cho phép thay đổi độ sáng của đèn LED hoặc màu sắc của LED RGB một cách mượt mà bằng cách thay đổi chu kỳ làm việc của tín hiệu xung vuông.

4.1. Bắt đầu với lập trình Arduino và môi trường Arduino IDE

Nền tảng Arduino được thiết kế để đơn giản hóa quá trình học lập trình nhúng. Ngôn ngữ lập trình Arduino thực chất là một tập hợp các thư viện C++ giúp việc tương tác với phần cứng trở nên dễ dàng hơn. Cấu trúc một chương trình Arduino cơ bản luôn có hai hàm chính: setup()loop(). Hàm setup() chỉ chạy một lần khi bo mạch khởi động, dùng để khởi tạo các cài đặt ban đầu như cấu hình chân I/O. Hàm loop() chạy lặp đi lặp lại liên tục, đây là nơi chứa logic chính của chương trình. Arduino IDE cung cấp sẵn rất nhiều ví dụ mẫu, từ việc nhấp nháy một đèn LED (Blink) đến giao tiếp nối tiếp, giúp người mới bắt đầu có thể thấy kết quả ngay lập tức và hiểu được cấu trúc hoạt động của chương trình.

4.2. Kỹ thuật điều khiển độ sáng LED PWM và tạo hiệu ứng LED

PWM (Pulse Width Modulation) là một kỹ thuật nền tảng để tạo ra các hiệu ứng LED đẹp mắt. Thay vì chỉ có hai trạng thái BẬT/TẮT, PWM cho phép tạo ra các mức sáng trung gian bằng cách thay đổi tỷ lệ thời gian BẬT và TẮT của tín hiệu trong một chu kỳ. Trên các bo mạch Arduino, các chân được đánh dấu bằng dấu ngã (~) hỗ trợ chức năng PWM. Bằng cách sử dụng hàm analogWrite(pin, value), người dùng có thể đặt độ sáng của LED với giá trị từ 0 (tắt hoàn toàn) đến 255 (sáng tối đa). Việc kết hợp PWM trên ba kênh màu của một LED RGB cho phép tạo ra một dải màu sắc gần như vô tận. Từ đó, người lập trình có thể viết các thuật toán để tạo ra các hiệu ứng phức tạp như chuyển màu mượt mà, cầu vồng, hoặc nhấp nháy theo một quy luật nhất định.

V. Top dự án DIY sáng tạo với bộ thực hành vi điều khiển

Sau khi đã nắm vững các kiến thức cơ bản, bộ thực hành vi điều khiển LED chính là công cụ để hiện thực hóa những ý tưởng sáng tạo. Các dự án DIY không chỉ giúp củng cố kiến thức mà còn mang lại những sản phẩm độc đáo và hữu ích. Có rất nhiều dự án mà người mới bắt đầu có thể thực hiện thành công. Một trong những dự án phổ biến và thú vị nhất là xây dựng một chiếc hộp đèn vô cực (Infinity Mirror) sử dụng LED dây WS2812B, tạo ra hiệu ứng chiều sâu ảo ảnh ấn tượng. Một ý tưởng khác là tạo ra một bảng hiển thị thông tin thời gian thực, chẳng hạn như đồng hồ, nhiệt độ phòng, hoặc số người theo dõi trên mạng xã hội bằng cách sử dụng LED ma trận 8x8 và kết nối internet qua bo mạch ESP32. Đối với những người yêu âm nhạc, việc xây dựng một hệ thống đèn phản ứng theo giai điệu là một thử thách hấp dẫn. Các dự án này không chỉ đòi hỏi kỹ năng lập trình và lắp ráp mạch mà còn khuyến khích sự sáng tạo trong thiết kế. Để tìm kiếm ý tưởng và hướng dẫn chi tiết, việc tham gia các diễn đàn và cộng đồng DIY Việt Nam là một nguồn tài nguyên vô giá.

5.1. Xây dựng mạch LED nháy theo nhạc đơn giản tại nhà

Một trong những dự án DIY được yêu thích nhất là mạch LED nháy theo nhạc. Về cơ bản, mạch này sử dụng một module cảm biến âm thanh để phát hiện cường độ của nhạc. Tín hiệu analog từ cảm biến sẽ được vi điều khiển đọc và xử lý. Dựa trên cường độ âm thanh, chương trình sẽ điều khiển độ sáng hoặc màu sắc của dải đèn LED. Với một vài dòng code đơn giản, bạn có thể tạo ra hiệu ứng đèn LED "nhảy múa" theo từng nhịp bass của bài hát. Đây là một dự án tuyệt vời để trang trí phòng làm việc, phòng giải trí và là một cách thực hành hiệu quả về việc đọc tín hiệu analog và điều khiển PWM.

5.2. Hướng dẫn làm mạch LED trái tim tặng người thương

Một mạch LED trái tim là món quà DIY đầy ý nghĩa. Dự án này bao gồm việc sắp xếp các LED đơn theo hình trái tim trên một tấm bìa cứng hoặc tấm nhựa mica. Các đèn LED sau đó được kết nối với các chân output của vi điều khiển. Bằng cách lập trình, người dùng có thể tạo ra nhiều hiệu ứng đẹp mắt như trái tim đập, ánh sáng chạy vòng quanh viền, hoặc các hiệu ứng đuổi bắt. Đây là một bài thực hành tốt về quản lý nhiều chân I/O cùng lúc và kỹ năng lập trình vòng lặp để tạo ra các chuỗi hiệu ứng phức tạp. Sản phẩm hoàn thiện không chỉ thể hiện kỹ năng kỹ thuật mà còn chứa đựng tình cảm của người làm.

5.3. Tìm tài liệu tự học và tham gia cộng đồng DIY Việt Nam

Quá trình học tập sẽ hiệu quả hơn rất nhiều khi có nguồn tài liệu tham khảo chất lượng và một cộng đồng để trao đổi. Có rất nhiều tài liệu tự học vi điều khiển miễn phí trên internet, từ các blog công nghệ, kênh YouTube hướng dẫn, đến các kho code trên GitHub. Các diễn đàn và nhóm Facebook của cộng đồng DIY Việt Nam là nơi tuyệt vời để đặt câu hỏi khi gặp khó khăn, chia sẻ thành quả dự án của mình và học hỏi kinh nghiệm từ những người đi trước. Sự tương tác này không chỉ giúp giải quyết vấn đề nhanh hơn mà còn tạo ra nguồn cảm hứng và động lực để theo đuổi đam mê công nghệ.

VI. Tương lai của vi điều khiển và tiềm năng phát triển kỹ năng

Việc làm chủ một bộ thực hành vi điều khiển LED không chỉ là một sở thích mà còn là bước khởi đầu cho một sự nghiệp trong lĩnh vực công nghệ cao. Kỹ năng học lập trình nhúng và thiết kế mạch điện tử là nền tảng cho sự phát triển của Internet of Things (IoT), robot, và các hệ thống tự động hóa. Từ những dự án LED đơn giản, người học có thể dần dần mở rộng kiến thức của mình sang các lĩnh vực phức tạp hơn. Ví dụ, sau khi thành thạo Arduino, việc chuyển sang các dòng vi điều khiển mạnh mẽ hơn như ESP32 với kết nối không dây sẽ mở ra khả năng xây dựng các thiết bị nhà thông minh. Xa hơn nữa, việc tìm hiểu các dòng vi điều khiển công nghiệp như STM32 cho người mới bắt đầu sẽ trang bị những kỹ năng cần thiết để làm việc trong các môi trường chuyên nghiệp. Theo xu hướng phát triển, vi điều khiển ngày càng nhỏ hơn, mạnh hơn và tiêu thụ ít năng lượng hơn. Nhu cầu về các kỹ sư hệ thống nhúng có khả năng thiết kế và lập trình cho các thiết bị này sẽ ngày càng tăng. Do đó, việc đầu tư thời gian và công sức vào việc học tập với bộ thực hành ngay từ hôm nay chính là đầu tư cho một tương lai vững chắc trong ngành công nghệ.

6.1. Từ Arduino đến các hệ thống nhúng phức tạp hơn như STM32

Arduino là một điểm khởi đầu tuyệt vời, nhưng thế giới vi điều khiển còn rộng lớn hơn nhiều. Sau khi đã tự tin với nền tảng Arduino, bước tiếp theo tự nhiên là khám phá các hệ thống mạnh mẽ hơn. STM32 là một họ vi điều khiển dựa trên kiến trúc ARM Cortex-M rất phổ biến trong công nghiệp. Việc học STM32 cho người mới bắt đầu sẽ là một thử thách, đòi hỏi sự hiểu biết sâu hơn về kiến trúc phần cứng, các thanh ghi và quy trình lập trình ở mức độ thấp hơn. Tuy nhiên, việc chinh phục được STM32 sẽ mang lại khả năng kiểm soát phần cứng tối ưu và hiệu năng vượt trội, mở ra cơ hội làm việc trong các lĩnh vực yêu cầu cao như thiết bị y tế, tự động hóa công nghiệp hay điện tử hàng không.

6.2. Tổng kết Tại sao bộ thực hành là bước khởi đầu lý tưởng

Tóm lại, bộ thực hành vi điều khiển LED là công cụ không thể thiếu cho bất kỳ ai muốn bước chân vào lĩnh vực điện tử và lập trình nhúng. Nó phá vỡ rào cản ban đầu bằng cách cung cấp một bộ công cụ đầy đủ, đồng bộ và đi kèm hướng dẫn chi tiết. Quá trình học tập trở nên trực quan, thú vị và hiệu quả hơn khi lý thuyết được áp dụng ngay vào thực tế. Từ việc làm nháy một đèn LED đơn giản đến xây dựng các dự án DIY phức tạp, bộ thực hành đặt một nền móng vững chắc về kiến thức phần cứng, kỹ năng lập trình và tư duy giải quyết vấn đề. Đây chính là bước đệm hoàn hảo để chinh phục những công nghệ phức tạp hơn trong tương lai.

22/09/2025

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

CHƯƠNG 1: TỔNG QUAN VỀ VI XỬ LÝ – VI ĐIỀU KHIỂN 1.1 Giới thiệu chung về Vi xử lý – Vi điều khiển 1.1 Một số khái niệm Khái niệm “vi xử lý” (microprocessor) và “vi điều khiển” (microcontroller). Về cơ bản hai khái niệm này không khác nhau nhiều, “vi xử lý” là thuật ngữ chung dùng để đề cập đến kỹ thuật ứng dụng các công nghệ vi điện tử, công nghệ tích hợp và khả năng xử lý theo chương trình vào các lĩnh vực khác nhau. Vào những giai đoạn đầu trong quá trình phát triển của công nghệ vi xử lý, các chip (hay các vi xử lý) được chế tạo chỉ tích hợp những phần cứng thiết yếu như CPU cùng các mạch giao tiếp giữa CPU và các phần cứng khác. Trong giai đoạn này, các phần cứng (kể cả bộ nhớ) thường không được tích hợp trên chip mà phải ghép nối thêm bên ngoài.

Các phần cứng này được gọi là các ngoại vi (Peripherals). Về sau, nhờ sự phát triển vượt bậc của công nghệ tích hợp, các ngoại vi cũng được tích hợp vào bên trong IC và người ta gọi các vi xử lý đã được tích hợp thêm các ngoại vi là các “vi điều khiển”. Vi xử lý có các khối chức năng cần thiết để lấy dữ liệu, xử lý dữ liệu và xuất dữ liệu ra ngoài sau khi đã xử lý. Và chức năng chính của Vi xử lý chính là xử lý dữ liệu, chẳng hạn như cộng, trừ, nhân, chia, so sánh.

Vi xử lý không có khả năng giao tiếp trực tiếp với các thiết bị ngoại vi, nó chỉ có khả năng nhận và xử lý dữ liệu. Để vi xử lý hoạt động cần có chương trình kèm theo, các chương trình này điều khiển các mạch logic và từ đó vi xử lý xử lý các dữ liệu cần thiết theo yêu cầu. Chương trình là tập hợp các lệnh để xử lý dữ liệu thực hiện từng lệnh được lưu trữ trong bộ nhớ, công việc thực hành lệnh bao gồm: nhận lệnh từ bộ nhớ, giải mã lệnh và thực hiện lệnh sau khi đã giải mã. Để thực hiện các công việc với các thiết bị cuối cùng, chẳng hạn điều khiển động cơ, hiển thị kí tự trên 2 ĐỒ ÁN TỐT NGHIỆP màn hình.

đòi hỏi phải kết hợp vi xử lý với các mạch điện giao tiếp với bên ngoài được gọi là các thiết bị I/O (nhập/xuất) hay còn gọi là các thiết bị ngoại vi. Bản thân các vi xử lý khi đứng một mình không có nhiều hiệu quả sử dụng, nhưng khi là một phần của một bộ vi điều khiển, thì hiệu quả ứng dụng của Vi xử lý là rất lớn. Vi xử lý kết hợp với các thiết bị khác được sử trong các hệ thống lớn, phức tạp đòi hỏi phải xử lý một lượng lớn các phép tính phức tạp, có tốc độ nhanh. Chẳng hạn như các hệ thống sản xuất tự động trong công nghiệp, các tổng đài điện thoại, hoặc ở các robot có khả năng hoạt động phức tạp v.

Bộ Vi xử lý có khả năng vượt bậc so với các hệ thống khác về khả năng tính toán, xử lý, và thay đổi chương trình linh hoạt theo mục đích người dùng, đặc biệt hiệu quả đối với các bài toán và hệ thống lớn. Tuy nhiên đối với các ứng dụng nhỏ, tầm tính toán không đòi hỏi khả năng tính toán lớn thì việc ứng dụng vi xử lý cần cân nhắc. Bởi vì hệ thống dù lớn hay nhỏ, nếu dùng vi xử lý thì cũng đòi hỏi các khối mạch điện giao tiếp phức tạp như nhau. Các khối này bao gồm bộ nhớ để chứa dữ liệu và chương trình thực hiện, các mạch điện giao tiếp ngoại vi để xuất nhập và điều khiển trở lại, các khối này cùng liên kết với vi xử lý thì mới thực hiện được công việc.

Để kết nối các khối này đòi hỏi người thiết kế phải hiểu biết tinh tường về các thành phần vi xử lý, bộ nhớ, các thiết bị ngoại vi. Hệ thống được tạo ra khá phức tạp, chiếm nhiều không gian, mạch in phức tạp và vấn đề chính là trình độ người thiết kế. Kết quả là giá thành sản phẩm cuối cùng rất cao, không phù hợp để áp dụng cho các hệ thống nhỏ. Vì một số nhược điểm trên nên các nhà chế tạo tích hợp một ít bộ nhớ và một số mạch giao tiếp ngoại vi cùng với vi xử lý vào một IC duy nhất được gọi là Microcontroller-Vi điều khiển, vi điều khiển có khả năng tương tự như khả năng của vi xử lý, nhưng cấu trúc phần cứng đơn giản hơn nhiều.

Vi điều khiển ra đời mang lại sự tiện lợi đối với người dùng, họ không cần nắm vững một khối lượng kiến thức quá lớn như khi làm việc với 3 ĐỒ ÁN TỐT NGHIỆP vi xử lý, việc thiết kế mạch điện cũng trở nên đơn giản hơn nhiều và có khả năng giao tiếp trực tiếp với các thiết bị bên ngoài. Vi điều khiển tuy được xây dựng với phần cứng đơn giản hơn, nhưng thay vào ưu điểm này là khả năng xử lý bị giới hạn (tốc độ xử lý chậm hơn và khả năng tính toán ít hơn, dung lượng chương trình bị giới hạn). Vì vậy, vi điều khiển có giá thành rẻ hơn nhiều so với vi xử lý, việc sử dụng đơn giản, nên nó được ứng dụng vào nhiều, không đòi hỏi tính toán phức tạp. Vi điều khiển được ứng dụng trong các dây chuyền tự động loại nhỏ, các robot có chức năng đơn giản, trong máy giặt, ôtô v.

Năm 1976 Intel giới thiệu bộ vi điều khiển (microcontroller) 8748, một chip tương tự như các bộ vi xử lý và là chip đầu tiên trong họ MCS-48. Độ phức tạp, kích thước và khả năng của Vi điều khiển tăng thêm một bậc quan trọng vào năm 1980 khi intel tung ra chip 8051, bộ Vi điều khiển đầu tiên của họ MCS-51 và là chuẩn công nghệ cho nhiều họ Vi điều khiển được sản xuất sau này. Sau đó rất nhiều họ Vi điều khiển của nhiều nhà chế tạo khác nhau lần lượt được đưa ra thị trường với tính năng được cải tiến ngày càng mạnh. Trong tài liệu này, ranh giới giữa hai khái niệm “vi xử lý” và “vi điều khiển” thực sự không cần phải phân biệt rõ ràng.

Ta dùng thuật ngữ “vi xử lý” khi đề cập đến các khái niệm cơ bản của kỹ thuật vi xử lý nói chung và sẽ dùng thuật ngữ “vi điều khiển” khi đi sâu nghiên cứu một họ chip cụ thể.2 Lịch sử phát triển của các bộ Vi xử lý – Vi điều khiển Hình 1. Lịch sử phát triển của Vi xử lý – Vi điều khiển - Thế hệ 1 (1971 - 1973): vi xử lý 4 bit, đại diện là 4004, 4040, 8080 (Intel) hay IPM-16 (National Semiconductor). + Độ dài word thường là 4 bit (có thể lớn hơn). + Tốc độ 10 - 60 μs / lệnh với tần số xung nhịp 0.

+ Tập lệnh đơn giản và phải cần nhiều vi mạch phụ trợ. - Thế hệ 2 (1974 - 1977): vi xử lý 8 bit, đại diện là 8080, 8085 (Intel) hay Z80 + Tập lệnh phong phú hơn. + Địa chỉ có thể đến 64 KB. Một số bộ vi xử lý có thể phân biệt 256 địa chỉ cho thiết bị ngoại vi.

+ Sử dụng công nghệ NMOS hay CMOS. + Tốc độ 1 - 8 μs / lệnh với tần số xung nhịp 1 - 5 MHz - Thế hệ 3 (1978 - 1982): vi xử lý 16 bit, đại diện là 68000/68010 (Motorola) hay 5 ĐỒ ÁN TỐT NGHIỆP 8086/ 80286/ 80386 (Intel) + Tập lệnh đa dạng với các lệnh nhân, chia và xử lý chuỗi. + Địa chỉ bộ nhớ có thể từ 1 - 16 MB và có thể phân biệt tới 64KB địa chỉ cho ngoại vi + Sử dụng công nghệ HMOS.1 - 1 μs / lệnh với tần số xung nhịp 5 - 10 MHz. - Thế hệ 4: vi xử lý 32 bit 68020/68030/68040/68060 (Motorola) hay 80386/80486 (Intel) và vi xử lý 32 bit Pentium (Intel) + Bus địa chỉ 32 bit, phân biệt 4 GB bộ nhớ.

+ Có thể dùng thêm các bộ đồng xử lý (coprocessor). + Có khả năng làm việc với bộ nhớ ảo. + Có các cơ chế pipeline, bộ nhớ cache. + Sử dụng công nghệ HCMOS.

- Thế hệ 5: vi xử lý 64 1.3 Ứng dụng của Vi xử lý – vi điều khiển Vi xử lý, chính là chip của các loại máy tính ngày nay. Ở đây, ta chỉ nói đên ứng dụng của vi điều khiển. Vi điều khiển có thể dùng trong thiết kế các loại hệ thống nhúng. Hệ thống nhúng có trong hầu hết các thiết bị tự động, thông minh ngày nay.

Chúng ta có thể dùng vi điều khiển để thiết kế bộ điều khiển cho các sản phẩm như: Trong các sản phẩm dân dụng: - Nhà thông minh: - Cửa tự động - Khóa số - Tự động điều tiết ánh sáng thông minh (bật/tắt đèn theo thời gian, theo 6 ĐỒ ÁN TỐT NGHIỆP cường độ ánh sáng,.) - Điều khiển các thiết bị từ xa (qua điều khiển, qua tiếng vỗ tay,.) - Điều tiết hơi ẩm, điều tiết nhiệt độ, điều tiết không khí, gió - Hệ thống vệ sinh thông minh,. Trong quảng cáo: - Các loại biển quảng cáo nháy chữ - Quảng cáo ma trận LED (một màu, 3 màu, đa màu) - Điều khiển máy cuốn bạt quảng cáo,. Các máy móc dân dụng: - Máy điều tiết độ ẩm cho vườn cây - Buồng ấp trứng gà/vịt - Đồng hồ số, đồng hồ số có điều khiển theo thời gian Các sản phẩm giải trí: - Máy nghe nhạc - Máy chơi game - Đầu thu kỹ thuật số, đầu thu set-top-box,. Trong các thiết bị y tế: - Máy móc thiết bị hỗ trợ: máy đo nhịp tim, máy đo đường huyết, máy đo huyết áp, điện tim đồ, điện não đồ,… - Máy cắt/mài kính - Máy chụp chiếu (city, X-quang,.) Các sản phẩm công nghiệp: - Điều khiển động cơ - Điều khiển số (PID, mờ,.) 7 ĐỒ ÁN TỐT NGHIỆP - Đo lường (đo điện áp, đo dòng điện, áp suất, nhiệt độ,.) - Cân băng tải, cân toa xe, cân ô tô,.

- Máy cán thép: điều khiển động cơ máy cán, điều khiển máy quấn thép,. - Làm bộ điều khiển trung tâm cho RoBot - Ổn định tốc độ động cơ - Đếm sản phẩm của 1 nhà máy, xí nghiệp,… - Máy vận hành tự động (dạng CNC) 1.2 Cấu trúc chung của hệ vi xử lý – vi điều khiển Sơ đồ khối một máy tính cổ điển Hình 1. Sơ đồ khối một máy tính cổ điển - ALU (đơn vị logic số học): thực hiện các bài toán cho máy tính bao gồm: cộng (+), trừ (-), nhân (*), chia (/), phép toán logic, … - Control (điều khiển): điều khiển, kiểm soát các đường dữ liệu giữa các thành phần của máy tính.

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