LÝ THUYẾT LIÊN QUAN
Các thành phần cơ bản của ngôn ngữ C
2.3 Cấu Trúc của chương trình C đơn giản
2.4 Các thành phần khác của chương trình C
Giới thiệu về Arduino
Module màn hình Led
5.1 Định nghĩa về Module LED
5.4 Màn hình quảng cáo ngoài trời
5.5 Màn hình cho nhà hàng, tiệc cưới
5.6 Màn hình sân khấu, sự kiện
5.7 Màn hình cho hội trường, phòng họp
5.8 Màn hình cho quán karaoke, quán bar
5.9 Lắp đặt màn hình LED ngoài trời
2 Chương 2: Nội dung công việc thực hành 258 3 254 1
1 Các tiêu chí thực hiện công việc 1 1
2 Thí dụ về lắp đặt màn hình LED 2 2
CHƯƠNG 1: LÝ THUYẾT LIÊN QUAN
Mã chương: MH36-01 Giới thiệu:
Trong lập trình vi điều khiển, ngôn ngữ lập trình thường được chia thành hai loại: ngôn ngữ bậc thấp và ngôn ngữ bậc cao Ngôn ngữ bậc cao, như C, Basic, và Pascal, gần gũi với ngôn ngữ con người, giúp lập trình viên dễ dàng hơn trong việc lập trình Việc sử dụng ngôn ngữ bậc cao thay cho ngôn ngữ bậc thấp giúp giảm tải cho lập trình viên trong việc nghiên cứu các tập lệnh và xây dựng cấu trúc giải thuật C đặc biệt phổ biến trong kỹ thuật vi điều khiển nhờ tính linh hoạt và hiệu quả của nó.
- Ôn tập những kiến thức cơ bản về vi điều khiển mà sinh viên đã được học tại trường
- Giới thiệu thêm về các loại vi điều khiển phổ biến tại doanh nghiệp và đồng thời cung cấp cho sinh viên về đặc tính kỹ thuật của chúng
- Hệ thống được những kiến về vi điều khiển đã được học để áp dụng vào thực tiễn
- Có khả năng định hướng, chọn lựa phương pháp tiếp cận thích nghi với các nội dung học tập
Trình biên dịch PIC-C cho phép biên dịch mã nguồn C cho các vi điều khiển PIC đa dạng Để lập trình bằng ngôn ngữ C, người dùng có thể sử dụng phần mềm này Hướng dẫn cài đặt, lập trình, biên dịch và sử dụng được cung cấp chi tiết trong tài liệu thực hành vi điều khiển.
Khi lập trình cho vi điều khiển PIC bằng PIC-C, các thành phần cơ bản tương tự như các loại vi điều khiển khác, nhưng sự khác biệt chủ yếu nằm ở phần cứng của từng loại Các lệnh liên quan đến phần cứng được trình bày phù hợp với từng phần cứng cụ thể; ví dụ, khi khảo sát cổng (port), sẽ có các lệnh PIC-C tương ứng, và khi khảo sát bộ đếm (timer/counter), cũng sẽ có các lệnh PIC-C liên quan đến bộ đếm đó.
Khi lập trình vi điều khiển PIC18F4550 bằng phần mềm PIC-C, cần khai báo thư viện để định nghĩa tên các thành phần của vi điều khiển Nếu các tên trong thư viện này không có sẵn, người dùng có thể tự định nghĩa thêm Phần mềm PIC-C cung cấp nhiều thư viện hỗ trợ, giúp viết chương trình một cách gọn gàng và hiệu quả hơn.
2 Các thành phần cơ bản của ngôn ngữ C
Trong lập trình, việc khai báo biến để lưu và xử lý dữ liệu là rất quan trọng, và lựa chọn loại dữ liệu phù hợp là điều cần thiết Các biến trong vi xử lý bao gồm bit, byte, word và long word, tương ứng với các kích thước dữ liệu 1 bit, 8 bit, 16 bit và 32 bit.
Các kiểu dữ liệu cơ bản có thể thay đổi tùy theo phần mềm được sử dụng Vi điều khiển PIC hỗ trợ nhiều phần mềm biên dịch khác nhau như PIC-C, MIKRO-C và MPLAB Trong phần này, chúng ta sẽ tập trung vào phần mềm PIC-C.
Bảng 1.1: Các kiểu dữ liệu của phần mềm PIC-C
TT Kiểu dữ liêu Số bit Giới hạn
4 signed int hay signed int8 8 -128-127
5 unsigned int hay unsigned int8 8 0-255
Ví dụ: Khai báo các biến
Intl TT; //khai báo biến trạng thái thuộc kiểu dữ liệu bit.
Biến đếm `dem` được khai báo dưới dạng kiểu ký tự không dấu 8 bit Lưu ý rằng phần mềm lập trình PIC-C không phân biệt chữ hoa và chữ thường, trong khi các phần mềm khác có thể có sự phân biệt này.
Các toán tử là thành phần quan trọng trong lập trình, để lập trình thì chúng ta cần phải hiểu rõ ràng chức năng của các loại toán tử.
Bảng 1.2: Các toán tử phổ biến trong ngôn ngữ C
TT Toán tử Chức năng Ví dụ
2 += Toán tử cộng và gán x+=y tương đương với x=x+y
3 &= Toán tử and và gán x&=y tương đương với x=x&y
6 A= Toán tử ex-or và gán x A =y tương đương với x=x A y
8 |= Toán tử or và gán x|=y tương đương với x=x|y.
9 I Toán tử or nhiều đại lượng với nhau thành 1 Ví dụ or nhiều bit trong 1byte với nhau
11 /= Toán tử chia và gán x/=y tương đương với x=x/y
13 == Toán tử bằng dùng để so sánh
15 >= Toán tử lớn hơn hay bằng
17 * Toán tử truy xuất gián tiếp, đi trước con trỏ
19 y
33 -> Toán tử con trỏ cấu trúc
34 -= Toán tử trừ và gán x - = y tương đương với x=x- y
36 Sizeof Xác định kích thước theo byte của toán tử a Toán tử gán (=)
Dùng để gán một giá trị nào đó cho một biến
Ví dụ: A = 5; Gán biến A bằng 5
Có chức năng gán biến b bằng 5 rồi cộng với 2 và gán cho biến A, kết quả B 5 và A = 7. b Toán tử số học (+, -, *, /, %)
Có 5 toán tử để thực hiện các phép toán cộng, trừ, nhân, chia và chia lấy phần dư.
Gán A bằng 24, B gán số dư của A chia cho 5, kết quả B bằng 4
Tổng quát cho toán tử gán phức hợp: biến += giá_trị tương đương với biến biến + giá_trị.
Ví dụ: A+=5; tương đương với A = A +5;
B *= X + 1; tương đương B = B * (X+1); c Toán tử tăng và giảm (++, )
Tổng quát cho toán tử gán phức hợp: biến += giá_trị tương đương với biến biến + giá_trị.
Ví dụ: A++;tương đương với A = A +1 hay A+=1;
A=B++; kết quả A bằng B và bằng 3, B tăng lên 1 bằng 4
Sự khác nhau là “++” đặt trước thì tính trước rồi mới gán, đặt sau thì gán trước rồi mới tính. d Toán tử quan hệ (==, !=, >, < >=, 4)) and 2 điều kiện lại với nhau và kết quả là true. f Toán tử xử lý bit (&, |,A, ~, )
Các toán tử xử lý bit với bit, các toán tử trên tương đương là AND, OR, XOR,
NOT, SHL (dịch trái), SHR (dịch phải).
X = A & B; // X bằng A and với B, kết quả X = 0100 0001B = 0X41
Y = A | B; // Y bằng A or với B, kết quả Y = 1111 llllB = 0XFF
Z = A A B; // Z bằng A xor với B, kết quả Z = 1011 1110B = 0XBE
A= (A