DMDT
  • Danh Mục
    • Vi Điều Khiển
      • 8051
      • Arduino
      • AVR
      • IC Chức Năng
      • PIC
    • Module
      • MD Chuyển Đổi
      • MD GSM,GPS,3G
      • MD LCD
      • MD Nguồn
      • MD Wifi
    • Điện Tử Cơ Bản
      • ADC/DAC
      • Bộ Nhớ Bán Dẫn
      • Các Họ IC Số
      • Họ OPAM
      • Mạch Tổ Hợp
      • Mạch Tuần Tự
      • Linh Kiện Cơ Bản
    • Mạch Điện Vui
      • DIY – Tự Ráp Mạch
      • Hướng Dẫn Thiết Kế Mạch
      • Sản Phẩm Sáng Tạo
      • Tự Làm Mạch In
    • Cảm Biến
      • Analog (Tín hiệu điện áp)
      • Digital (Tín hiệu số)
  • Phần Mềm
  • Đồ Án
No Result
View All Result
DMDT
  • Danh Mục
    • Vi Điều Khiển
      • 8051
      • Arduino
      • AVR
      • IC Chức Năng
      • PIC
    • Module
      • MD Chuyển Đổi
      • MD GSM,GPS,3G
      • MD LCD
      • MD Nguồn
      • MD Wifi
    • Điện Tử Cơ Bản
      • ADC/DAC
      • Bộ Nhớ Bán Dẫn
      • Các Họ IC Số
      • Họ OPAM
      • Mạch Tổ Hợp
      • Mạch Tuần Tự
      • Linh Kiện Cơ Bản
    • Mạch Điện Vui
      • DIY – Tự Ráp Mạch
      • Hướng Dẫn Thiết Kế Mạch
      • Sản Phẩm Sáng Tạo
      • Tự Làm Mạch In
    • Cảm Biến
      • Analog (Tín hiệu điện áp)
      • Digital (Tín hiệu số)
  • Phần Mềm
  • Đồ Án
No Result
View All Result
DMDT
No Result
View All Result
Home Vi Điều Khiển PIC

Lập Trình PIC- Bài 1: Nháy Led đơn với PIC16F877A

26 Tháng Sáu, 2022
in PIC, Vi Điều Khiển
1.2k 12

I. GIỚI THIỆU CHUNG

Nhấp nháy LED có thể coi là một chương trình “Kinh điển”. Mỗi người khi bắt tay vào học VĐK thì bài học đầu tiên là làm nhấp nháy một hay vài con LED trên chân VĐK. Trong tài liệu này tôi cũng chọn bài tập đó để bắt đầu.
Mục đích của bài như trên đã nói: Làm nhấp nháy 8 LED tại PORTB của PIC 16F877A,thời gian trễ do người lập trình định trước.
Những điều thu được qua bài học:

‐  Vẽ một mạch điện tử hoàn chỉnh dùng OrCad 9.2
‐  Tạo một Dự án trong CCS (cái này đã nói trong phần 2)
‐  Tệp định nghĩa các thanh ghi của PIC do người dùng tạo ra
‐  Thiết lập chế độ vào ra cho một cổng của PIC
‐  Sử dụng hàm tạo trễ thời gian

II.Sơ đồ kết nối

Dưới đây là sơ đồ phần cứng. Trong sơ đồ các LED được mắc chung lên dương nguồn thông qua điện trở. Gia trị điện trở thay đổi trong khoảng 100Ω cho đến 560Ω tùy theo độ sáng của LED mà ta muốn và cũng để đảm bảo dòng qua mỗi LED không quá 20mA khi nguồn cấp là 5V. Như vậy để làm sáng LED ta chỉ việc đưa mức 0 ra các chân PIC và ngược lại để tắt ta đưa mức 1.

III.CODE MẪU 

//=================================================  =======
// Ten chuong trinh : Mach nhay den LED 
// Mo ta phan cung  : Dung PIC16F877A ‐ thach anh 20MHz
//   : LED giao tiep voi PORTB
//   : Cuc am cua LED noi voi PORTB
//   : RB0 ‐ RB7 la cac chan output
//‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
// Chu thich  : dung che do Power On Reset, PORTB = 00000000
//   : chuong trinh viet cho PIC Tutorial
//   :  chuong trinh nay hoan toan mien phi va co the dung cho
//   : moi muc dich khac nhau
//=================================================  =======

#include <16f877a.h>
#include <def_877a.h>
#device *=16 ADC=8
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,
NOLVP, NOCPD, NOWRT
#use delay(clock=20000000)

void main()

{
// Thiet lap che do cho PORTB
TRISB = 0x00;   // Tat ca PORTB deu la cong xuat du lieu
PORTB = 0xFF;   // Tat het cac LED
While(1)
{
  PORTB = 0;  // Cho các LED sáng
  delay_ms(250);  // Tạo thời gian trễ 250ms
  PORTB = 0xFF;
  delay_ms(250);
}
}

 

Qua ví dụ đơn giản trên bạn hiểu cách xuất dữ liệu ra một cổng của PIC và dùng các hàm tạo trễ.
Thủ tục thiết lập vào ra cho một cổng hay một chân của PIC
‐  Ghi giá trị vào thanh ghi điều khiển chế độ của cổng tương ứng là TRISx
  •  Bit 0 ứng với chân xuất dữ liệu
  •  Bit 1 ứng với nhận dữ liệu
  • Thanh ghi TRISx có thể câu hình theo từng bit
‐  Khi muốn xuất dữ liệu, ví dụ ra PORTB, câu lệnh là: PORTB = gia_tri;
‐  Khi muôn nhận dữ liệu từ PORTB, câu lệnh là: data_in = PORTB;
Về các hàm tạo trễ, trong CCS hỗ trọ sẵn 3 loại hàm tạo trễ là:
‐  delay_cycles(gia_tri): gia_tri là thời gian trễ tính theo số chu kỳ máy
‐  delay_us(gia_tri): Tạo trễ Micro giây
‐  delay_ms(gia_trị): Tạo trễ Mili giây
Bản chất của các hàm tạo trễ là đưa Vi điều khiển vào một vòng lặp chẳng làm gì cả cho đủ số thời gian mà ta cần. Ngoài việc dùng hàm tạo trễ có sẵn ta có thể tự viết hàm tạo trễ dùng bộ Timer.
Chúc các bạn thành công! nhớ comment phía dưới nhé.
Tags: ccs ideLED đơnled đơn với ccsPIC16F877A
Share900Tweet562

Related Posts

BÀI 8 : Lập trình nháy LED ĐƠN với 8051.
8051

BÀI 8 : Lập trình nháy LED ĐƠN với 8051.

26 Tháng Sáu, 2022
Lập Trình PIC – Bài 6: Giao tiếp SPI với PIC16f877A
PIC

Lập Trình PIC – Bài 6: Giao tiếp SPI với PIC16f877A

26 Tháng Sáu, 2022
Lập Trình PIC – Bài 4: Hướng dẫn code đọc ADC với vi điều khiển PIC
PIC

Lập Trình PIC – Bài 4: Hướng dẫn code đọc ADC với vi điều khiển PIC

26 Tháng Sáu, 2022
Next Post
Lập Trình PIC – Bài 2: Giao tiếp I2C PIC với IC thời gian thực DS1307

Lập Trình PIC - Bài 2: Giao tiếp I2C PIC với IC thời gian thực DS1307

Lập Trình PIC – Bài 4: Hướng dẫn code đọc ADC với vi điều khiển PIC

Lập Trình PIC – Bài 4: Hướng dẫn code đọc ADC với vi điều khiển PIC

3.7 3 đánh giá
Đánh giá bài viết
Theo dõi
Đăng nhập
Thông báo của
guest
guest
0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận

No Result
View All Result
  • Danh Mục
    • Vi Điều Khiển
      • 8051
      • Arduino
      • AVR
      • IC Chức Năng
      • PIC
    • Module
      • MD Chuyển Đổi
      • MD GSM,GPS,3G
      • MD LCD
      • MD Nguồn
      • MD Wifi
    • Điện Tử Cơ Bản
      • ADC/DAC
      • Bộ Nhớ Bán Dẫn
      • Các Họ IC Số
      • Họ OPAM
      • Mạch Tổ Hợp
      • Mạch Tuần Tự
      • Linh Kiện Cơ Bản
    • Mạch Điện Vui
      • DIY – Tự Ráp Mạch
      • Hướng Dẫn Thiết Kế Mạch
      • Sản Phẩm Sáng Tạo
      • Tự Làm Mạch In
    • Cảm Biến
      • Analog (Tín hiệu điện áp)
      • Digital (Tín hiệu số)
  • Phần Mềm
  • Đồ Án

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
wpDiscuz