Thứ Bảy, 1 tháng 12, 2018

Bài 5. Đèn LED nhấp nháy với vi điều khiển LPC1768

Trong bài trước, chúng ta đã thấy cách tạo project mới bằng Keil uVision4 để lập trình vi điều khiển LPC1768. Ở đây chúng tôi sẽ làm điều gì đó thú vị hơn và cho bạn thấy phương pháp cơ bản nhất để thực sự làm cho vi điều khiển của bạn tương tác với thế giới vật lý bằng cách lập trình các chân cổng GPIO. Hãy Blink LED với vi điều khiển LPC1768 trước khi chúng tôi tiến hành, hãy nhớ rằng chúng tôi có tối đa 70 chân I / O mục đích chung trong vi điều khiển LPC1768. Đầu ra GPIO hoặc Mục đích chung, là cách dễ nhất để bạn tương tác với các thiết bị ngoại vi cơ bản như đèn LED, công tắc và các thành phần cơ bản khác.

Các cổng GPIO có thể được sử dụng làm đầu vào hoặc đầu ra. Nó cũng có thể được sử dụng cho các thiết bị ngoại vi phức tạp hơn như hiển thị ký tự hoặc đồ họa nhưng bây giờ chúng ta sẽ bắt đầu với một thành phần cơ bản như đèn LED. Điều này là tương đối dễ dàng để làm việc. Để bắt đầu với GPIO, bạn cần phải hiểu các thanh ghi như FIODIR, FIOSET, FIOCLR vv để điều khiển các chân cổng GPIO. Vui lòng đọc [Chương 9 từ Hướng dẫn sử dụng, Trang số 131, Bảng 102].

Bây giờ chúng ta hãy xem qua thanh ghi được sử dụng cho lập trình GPIO

gpio-registers-lpc1768-mcu
Đăng ký GPIO trong LPC1768
Dự án ví dụ: Chúng ta hãy móc lên một đèn LED để ghim P1.29 của vi điều khiển LPC1768 như thể hiện trong sơ đồ mạch. Ở đây tôi đang sử dụng bảng tiêu đề ARM-LPC1768H trong đó có trên bảng LED kết nối với pin P1.29 của vi điều khiển. Trong trường hợp bảng của bạn không có đèn LED thì hãy kết nối bên ngoài.
led-blink-lpc1768-mcu
Mạch Schematic: Blink LED
Trong khi viết một ứng dụng nhấp nháy LED, chúng ta phải làm theo các bước chung,
  • Khởi tạo hệ thống vi điều khiển, thực hiện quy trình thiết lập chăm sóc như tăng nguồn thiết bị ngoại vi, đặt tốc độ đồng hồ, v.v.
  • Kết nối các chân cần thiết bằng cách sử dụng khối kết nối pin. Mục đích của pin kết nối khối là để cấu hình pin vi điều khiển để chức năng mong muốn.
  • Và sau đó đặt hoặc xóa bit tương ứng để bật BẬT & TẮT LED.
Chúng ta hãy xem xét chương trình điều khiển đèn LED ở P1.29 .
Để tải xuống tệp dự án: Nhấp vào đây
Luồng chương trình này không phải là rất khó hiểu. Vì nó chỉ có vài dòng mã. Hãy để tôi cắt thành từng miếng.
Lệnh gọi hàm này được sử dụng để khởi tạo hệ thống vi điều khiển. Thông thường, hàm này cấu hình bộ dao động (PLL) là một phần của LPC1768. SystemInit () được gọi từ “ startup_LPC17xx.s” cho các hệ thống có tốc độ xung biến đổi, nó cập nhật biến SystemCoreClock .
Dòng này chỉ đơn giản là cấu hình hướng cho Pin P1.29 vào chế độ đầu ra. Vì chúng tôi đang lái LED tại chân này.
Ở đây chúng ta rõ ràng bit tại cổng P1.29 pin để giữ cho LED bật OFF trong đầu của ứng dụng.
Điều này không bao giờ kết thúc vòng lặp chỉ đơn giản là thiết lập và xóa bit tại GPIO cổng pin P1.29 mà biến LED ON & OFF. Có đơn giản cho vòng lặp mà tạo ra một  sự chậm trễ khoảng 1 giây . Sự chậm trễ phần mềm này tạo ra không chính xác và đáng tin cậy nhưng đối với ứng dụng đơn giản này, tôi không ngại sử dụng. Trong các hướng dẫn trong tương lai, chúng tôi sẽ xem xét cách tạo độ trễ chính xác hơn bằng tính năng hẹn giờ và ngắt.

Không có nhận xét nào:

Đăng nhận xét

Bài đăng mới nhất

14. I2C trong LPC2148 vi điều khiển ARM7

Trong bài này, chúng ta sẽ tìm hiểu về cách lập trình I2C trong LPC2148 ARM7 Microcontroller.  Ngoài ra, chúng tôi sẽ giao diện nối tiếp EE...