- 2 chân XTAL1, XTAL2 các chân tạo bộ dao động ngoài cho vi điều khiển, các chân này được nối với thạch anh hay sử dụng loại 4M, tụ gốm 22p.. - Chân Avcc thường được nối lên Vcc nhưng kh
Trang 1Bài 2:
Trang 2Các nội dung trong bài:
2.1 Điều khiển I/O với Led đơn
2.2 Giao tiếp với Led 7 thanh
2.3 LCD
Trang 32.1 Điều khiển I/O với LED đơn
- Khởi tạo project bằng CodeVision
- Vẽ mạch trên proteus
- Mô phỏng
YÊU CẦU
Trang 42.1 Điều khiển I/O với LED đơn
Giới thiệu vi điều khiển ATMEGA 16L
Tính năng:
- Bộ nhớ 16K(flash) - 512 byte (EEPROM) - 1 K (SRAM)
- Đóng vỏ 40 chân , trong đó có 32 chân vào ra dữ liệu chia làm 4 PORT A,B,C,D Các chân này đều có chế độ pull_up resistors
- Giao tiếp SPI - Giao diện I2C - Có 8 kênh ADC 10 bit
Trang 52.1 Điều khiển I/O với LED đơn
Hình 2.1 Cách nối chân Vref
Trang 62.1 Điều khiển I/O với LED đơn
Giới thiệu vi điều khiển ATMEGA 16L
Mô tả các chân:
- Vcc và GND 2 chân cấp nguồn cho vi điều khiển hoạt động
- Reset đây là chân reset cứng khởi động lại mọi hoạt động của hệ thống
- 2 chân XTAL1, XTAL2 các chân tạo bộ dao động ngoài cho vi điều khiển, các chân này được nối với thạch anh (hay sử dụng loại 4M), tụ gốm (22p)
- Chân Vref thường nối lên 5v(Vcc), nhưng khi sử dụng bộ ADC thì chân này được sử dụng làm điện thế so sánh, khi đó chân này phải cấp cho nó điện áp cố định, có thể sử dụng diode zener.
- Chân Avcc thường được nối lên Vcc nhưng khi sử dụng bộ ADC thì chân này được nối qua 1 cuộn cảm lên Vcc với mục đích ổn định điện áp cho bộ biến đổi.
Trang 72.1 Điều khiển I/O với LED đơn Thiết lập cổng vào ra:
Khi xem xét đến các cổng I/O của AVR thì
ta phải xét tới 3
thanh ghi bit DDxn,PORTxn,PINxn:
- Các bit DDxn để truy cập cho địa chỉ xuất
nhập DDRx, để điều khiển hướng dữ liệu
của các chân của cổng.
- Các bit ORTxn để truy cập tại địa chỉ xuất
Trang 82.1 Điều khiển I/O với LED đơn
Trang 92.2 Giao tiếp với LED 7 thanh
Biết phương pháp quét led
Đưa số bất kỳ ra hàng led.
YÊU CẦU
Trang 102.2 Giao tiếp với LED 7 thanh
- 4 LED 7 thanh anot chung
- 4 chân anot chung (chân dương) được nối với 4 transitor
để ta có thể quét LED sử dụng 4 chân của PORTD
- các chân điều khiển sáng các thanh còn lại được nối
song song nhau và đưa vào PORTB của AVR và có thứ
tự như sau:
Từ bít 0-6 ứng với từ A-G.
Bít thứ 7 là dấu chấm.
MÔ TẢ
Trang 11void daydulieu(unsigned char x)// Ham dua du lieu ra PORT
{
switch(x) // Tuy thuoc vao bien dau vao ma dua du lieu ra tu 0 9 { //logic 1 tat led, logic 0 bat led
case 0: { PORTB=0xC0; break; } // So 0
case 1: { PORTB=0xF9; break; } // So 1
case 2: { PORTB=0xA4; break; } // So 2
case 3: { PORTB=0xB0; break; } // So 3
case 4: { PORTB=0x99; break; } // So 4
case 5: { PORTB=0x92; break; } // So 5
case 6: { PORTB=0x82; break; } // So 6
case 7: { PORTB=0xF8; break; } // So 7
case 8: { PORTB=0x80; break; } // So 8
case 9: { PORTB=0x90; break; } // So 9
} }
THỰC HÀNH
2.2 Giao tiếp với LED 7 thanh
Trang 12// Lay cac so cac hang
a= n/1000; // lay hang nghin
b=(n-a*1000)/100; // lay hang tram
c=(n-a*1000-b*100)/10; // lay hang chuc
d=(n-a*1000-b*100-c*10);// lay hang don vi
// Quet led
PORTD=0xFE;// led dau tien
daydulieu(d);// day ra hang don vi
delay_ms(10);// tre
PORTB=0xFF;// tat toan bo led
PORTD=0xFD;//led thu hai
Trang 13daydulieu(c);// dua ra hang chuc delay_ms(10);// tre
PORTB=0xFF;// tat toan bo led PORTD=0xFB;
Trang 15- Text LCD là các loại màn hình tinh thể lỏng nhỏ dùng để hiển thị các dòng chữ hoặc số trong bảng mã ASCII.
Mỗi ô chỉ có thể hiển thị một ký tự ASCII, bao gồm các
“chấm” tinh thể lỏng, việc kết hợp “ẩn” và “hiện” các chấm này sẽ tạo thành một ký tự cần hiển thị.
- Kích thước của Text LCD được định nghĩa bằng số ký tự có thể hiển thị trên 1 dòng và tổng số dòng mà LCD có Một số kích thước Text LCD thông thường gồm 16x1, 16x2, 16x4,
Trang 16Ví dụ:
loại giao tiếp song song LCD 16x2 điều khiển bởi chip
HD44780U - là bộ điều khiển cho các Text LCD dạng ma trận điểm (dot-matrix) HD44780U có 2 mode giao tiếp là 4 bit và 8 bit Nó chứa sẵn 208 ký tự mẫu kích thước font 5x8 và 32 ký tự mẫu font 5x10
MÔ TẢ
2.3 LCD
Hình 2.3
Text LCD 16x2
Trang 19Thanh ghi và tổ chức bộ nhớ :
• HD44780U có 2 thanh ghi 8 bits là INSTRUCTION
REGISTER (IR) và DATA REGISTER (DR) Thanh ghi IR chứa mã lệnh điều khiển LCD và là thanh ghi “chỉ ghi”
Thanh ghi DR chứa các các loại dữ liệu như ký tự cần hiển thị hoặc dữ liệu đọc ra từ bộ nhớ LCD…Cả 2 thanh ghi đều được nối với các đường dữ liệu D0:7
• HD44780U có 3 loại bộ nhớ, đó là bộ nhớ RAM dữ liệu cần hiển thị DDRAM (Didplay Data RAM), bộ nhớ chứa ROM chứa bộ font tạo ra ký tự CGROM (Character Generator
ROM) và bộ nhớ RAM chứa bộ font tạo ra các symbol tùy chọn CGRAM (Character Generator RAM)
MÔ TẢ
2.3 LCD
Trang 21Thanh ghi và tổ chức bộ nhớ :
MÔ TẢ
2.3 LCD
CGROM : là vùng nhớ cố định chứa định nghĩa font cho các
ký tự Địa chỉ font của mỗi ký tự vùng nhớ CGROM chính là
mã ASCII của ký tự đó
CGROM và DDRAM được tự động phối hợp trong quá trình hiển thị của LCD
Trang 22Thanh ghi và tổ chức bộ nhớ :
MÔ TẢ
2.3 LCD
CGROM
Trang 24Điều khiển hiển thị Text LCD :
• Các chân điều khiển LCD.
• Tập lệnh của LCD.
• Giao tiếp 8 bit và 4 bit.
MÔ TẢ
2.3 LCD
Trang 25Điều khiển hiển thị Text LCD :
• Các chân điều khiển LCD.
MÔ TẢ
2.3 LCD
Các chân điều khiển việc đọc và ghi LCD bao gồm RS, R/W và EN
Trang 26Điều khiển hiển thị Text LCD :
• Các chân điều khiển LCD.
MÔ TẢ
2.3 LCD
Các chân điều khiển việc đọc và ghi LCD bao gồm RS, R/W và EN
RS (chân số 3): Chân lựa chọn thanh
ghi (Select Register), chân này cho phép lựa chọn 1 trong 2 thanh ghi IR hoặc DR để làm việc
Trang 27Điều khiển hiển thị Text LCD :
• Các chân điều khiển LCD.
Trang 28Điều khiển hiển thị Text LCD :
• Các chân điều khiển LCD.
MÔ TẢ
2.3 LCD
Các chân điều khiển việc đọc và ghi LCD bao gồm RS, R/W và EN
EN (chân số 5): Chân cho phép LCD
hoạt động (Enable), chân này cần được kết nối với bộ điều khiển để cho phép thao tác LCD
Trang 29Điều khiển hiển thị Text LCD :
• Tập lệnh của LCD (xem bảng lệnh)
MÔ TẢ
2.3 LCD
Trang 30CGRAM address DDRAM address DDRAM addressWrite to
BF D7
Trang 31 Nhóm lệnh đỏ:
- Clear display – xóa LCD
- Cursor home – đưa con trỏ về vị trí đầu, dòng 1 của LCD
- Set DDRAM address – định vị trí con trỏ cho DDRAM
- Write to CGRAM or DDRAM – ghi dữ liệu vào CGRAM hoặc DDRAM
Điều khiển hiển thị Text LCD :
Tập lệnh của LCD (xem bảng lệnh)
Trang 32 Nhóm lệnh màu xanh: nhóm lệnh này thường chỉ thực hiện
1 lần, thường được viết chung trong 1 chương trình con khởi động LCD.
Điều khiển hiển thị Text LCD :
• Tập lệnh của LCD (xem bảng lệnh)
Trang 33Điều khiển hiển thị Text LCD :
• Giao tiếp 8 bit và 4 bit.
MÔ TẢ
2.3 LCD
Mode 8 bit: Nếu bit DL trong lệnh function set bằng 1 thì
mode 8 bit được dùng
Ưu điểm của phương pháp giao tiếp này là dữ liệu được ghi
và đọc rất nhanh và đơn giản vì chip điều khiển chỉ cần xuất hoặc nhận dữ liệu trên 1 PORT
Nhược điểm là tổng số chân dành cho giao tiếp LCD quá nhiều, nếu tính luôn cả 3 chân điều khiển thì cần đến 11
đường cho giao tiếp LCD
Trang 34Điều khiển hiển thị Text LCD :
• Giao tiếp 8 bit và 4 bit.
MÔ TẢ
2.3 LCD
- Mode 4 bit: LCD cho phép giao tiếp với bộ điều khiển ngoài
theo chế độ 4 bit Các instruction và data 8 bit sẽ được ghi và đọc bằng cách chia thành 2 phần, gọi là các Nibbles, mỗi nibble gồm
4 bit và được giao tiếp thông qua 4 chân D7:4, nibble cao được
xử lí trước và nibble thấp sau
Ưu điểm lớn nhất của phương pháp này tối thiểu số lines dùng cho giao tiếp LCD
Nhược điểm là đọc và ghi từng nibble tương đối khó khăn hơn đọc và ghi dữ liệu 8 bit