TRƯỜNG CAO ĐẲNG QUỐC TẾ HÀ NỘI
BỘ MÔN ĐIỆN ĐIỆN TỬ
 ฀
 ฀
GIÁO TRÌNH
KỸ THUẬT VI ĐIỀU KHIỂN
Hà Nội, năm 2023
2
MỤC LỤC
BÀI 1 : GIỚI THIỆU VỀ VI ĐIỀU KHIỂN AVR .................................................. 5
1. Giới thiệu về vi điều khiển ............................................................................. 5
2. Giới thiệu về vi điều khiển AVR .................................................................... 7
3. Lập trình cho AVR ....................................................................................... 10
BÀI 2 : GIAO TIẾP VÀO RA I/O ........................................................................ 17
1. Giới thiệu giao tiếp vào ra I/O...................................................................... 17
2. Cách cấu hình chức năng IO ........................................................................ 18
3. Ví dụ minh ha ............................................................................................. 19
BÀI 3 : GIAO TIẾP VỚI LED 7 THANH ............................................................ 24
1. Cơ bản về led 7 thanh ................................................................................... 24
2. Nguyên lí lập trình cho led 7 thanh .............................................................. 26
3. Ví dụ minh ha ............................................................................................. 27
BÀI 4 : GIAO TIẾP VỚI BÀN PHÍM .................................................................. 31
1. Cơ bản về phím bấm ..................................................................................... 31
2. Chương trình ví dụ ....................................................................................... 32
3. Kĩ thuật chống rung bàn phím ...................................................................... 34
BÀI 5 : BỘ CHUYỂN ĐỔI ADC .......................................................................... 36
1. Giới thiệu về ADC........................................................................................ 36
2. Cách cấu hình ADC trong Code Vision cho Atmega32 .............................. 38
3. Ví dụ minh ha ............................................................................................. 39
BÀI 6 : GIAO TIẾP LCD ...................................................................................... 41
1. Giới thiệu về LCD 16x2 ............................................................................... 41
2. Cách cấu hình cho LCD trong Code Vision cho Atmega32 ........................ 47
3. Ví dụ .......................................................................................................... 49
BÀI 7 : GIAO TIẾP VỚI LED MA TRẬN ........................................................... 51
1. Cơ bản về led ma trận ................................................................................... 51
2. Tạo font cho led ma trận ............................................................................... 53
3
3. Ví dụ minh ha ............................................................................................. 54
BÀI 8: GIAO TIẾP MÁY TÍNH ........................................................................... 55
1. Cơ bản về giao tiếp RS232 ........................................................................... 55
2. Cách cấu hình module UART trong Code Vision ....................................... 57
3. Ví dụ ............................................................................................................. 58
BÀI 9 : GIAO TIẾP I2C ......................................................................................... 66
1. Giới thiệu chung về I2C ............................................................................... 66
2. Module I2C trong Atmega32 ........................................................................ 74
3. Ví dụ ............................................................................................................. 76
BÀI 10 : ĐỘNG BƯỚC .................................................................................. 80
1. Cơ bản về đng bước ............................................................................... 80
2. Các mạch điều khiển động cơ bước ............................................................. 82
3. Ví dụ ............................................................................................................. 85
BÀI 11 : GIAO TIẾP VỚI CỔNG LPT ................................................................ 87
1. Cơ bản về cổng LPT ..................................................................................... 87
2. Ví dụ minh ha ............................................................................................. 90
BÀI 12 : GIAO TIẾP VỚI MA TRẬN PHÍM ...................................................... 92
1. Cơ bản về ma trận phím ............................................................................... 92
2. Ví dụ minh ha ............................................................................................. 94
BÀI 13 : TIMER .................................................................................................... 96
1. Giới thiệu về timer ........................................................................................ 96
2. Ví dụ minh họa ........................................................................................... 100
BÀI 14 : NGẮT ................................................................................................... 101
1. Giới thiệu về ngắt ....................................................................................... 101
2. Các bước cấu hình cho ngắt hoạt động ...................................................... 104
3. Ví dụ ........................................................................................................ 105
BÀI 15 : ĐIỀU KHIỂN ĐỘNG CƠ MỘT CHIỀU ............................................. 107
1. Giới thiệu về động cơ một chiều ................................................................ 107
2. Ví dụ minh họa ........................................................................................... 109
4
BÀI 16 : GIAO TIẾP VỚI GLCD ....................................................................... 111
1. Cơ bản về GLCD ........................................................................................ 111
2. Ví dụ minh họa ........................................................................................... 116
5
BÀI 1 : GIỚI THIỆU VỀ VI ĐIỀU KHIỂN AVR
- Giới thiệu chung về vi điều khiển.
- Giới thiệu về vi điều khiển Atmega32.
- Lập trình cho Atmega32.
1. Giới thiệu về vi điều khiển
Khái niệm vi điều khiển (microcontroller MC) đã khá quen thuộc với các
sinh viên CNTT, điện tử, điều khiển tự động cũng như điện tử… một
trong những IC thích hợp nhất để thay thế các IC số trong việc thiết kế mạch
logic. Ngày nay đã có những MC tích hợp đủ tất cả các chức năng của mạch logic.
Nói như vậy không nghĩa các IC số cũng như các IC mạch số lập trình được
khác như PLC… không cần dùng nữa. MC cũng có những hạn chế ràng
nhất tốc độ chậm hơn các mạch logic… MC cũng một máy tính máy tính
nhúng đầy đủ chức năng của một máy tính. CPU, bộ nhớ chương
trình, bộ nhớ dữ liệu, có I/O và các bus trao đổi dữ liệu.
Cần phân biệt khái niệm MC với khái niệm vi xử (microprocessor MP)
như 8088 chẳng hạn. MP chỉ CPU không các thành phần khác như bộ
nhớ I/O, bộ nhớ. Muốn sử dụng MP cần thêm các chức năng này, lúc này người ta
gọi hệ vi xử (microprocessor system). Do đặc điểm này nên nếu để lựa
chọn giữa MC và MP trong một mạch điện tử nào đó thì tất nhiên người ta sẽ chọn
MC vì nó sẽ rẻ tiền hơn nhiều do đã tích hợp các chức năng khác vào trong chip.
Vậy để một vi điều khiển chạy được thì cần những điều kiện gì :