Mô tả:
Thiết kế hệ vi xử lý
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN-ĐIỆN TỬ
BỘ MÔN KỸ THUẬT ĐIỆN TỬ
CHƯƠNG 4
Thiết kế hệ vi xử lý
Bùi Minh Thành – Bộ môn Kỹ thuật Điện tử
1
Nội dung
1.
2.
3.
4.
Giao tiếp với LCD
Giao tiếp A/D
Giao tiếp D/A
Động cơ bước
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
2
Nội dung
1.
2.
3.
4.
Giao tiếp với LCD
Giao tiếp A/D
Giao tiếp D/A
Động cơ bước
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
3
Giới thiệu
• Dùng để hiển thị thông tin linh hoạt và tiết kiệm năng
lượng.
• Có nhiều loại module LCD, phổ biến nhất là loại 2 hàng,
16 k{ tự
• Module LCD đã được thiết kế chuẩn để cho phép ta có
thể giao tiếp với LCD do một hãng bất kz sản xuất với
điều kiện là các LCD có sử dụng cùng IC điều khiển
HD44780
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
4
Giới thiệu
• Phần lớn các module LCD sử dụng giao tiếp 14 chân
trong đó có 8 đường dữ liệu, 3 đường điều khiển và 3
đường cấp nguồn. Kết nối được bố trí dưới dạng 1 hàng
14 chân hoặc 2 hàng 7 chân.
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
5
Chức năng các chân của LCD
• Khi RS = 0 thì dữ liệu ghi vào LCD
được hiểu là các lệnh, dữ liệu đọc từ
LCD được hiểu là trạng thái của nó.
• Chân 5 là đường điều khiển đọc
ghi R/nW, mức thấp sẽ cho phép ghi
vào LCD, mức cao cho phép đọc ra
từ LCD. Chân 6 là đường điều khiển
cho phép E. Các chân còn lại chứa
dữ liệu 8-bit vào hoặc ra LCD.
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
Chân số
1
2
3
4
Tên
VSS
VDD
VEE
RS
Chức năng
Đất
Cực + của nguồn điện
Tương phản (constrast)
Register Select
(Chọn thanh ghi)
5
6
7
8
9
10
11
12
13
14
R/W
E
D0
D1
D2
D3
D4
D5
D6
D7
Read/Write
Cho phép (Enable)
Bit 0 của dữ liệu
Bit 1 của dữ liệu
Bit 2 của dữ liệu
Bit 3 của dữ liệu
Bit 4 của dữ liệu
Bit 5 của dữ liệu
Bit 6 của dữ liệu
Bit 7 của dữ liệu
6
Lệnh điều khiển LCD
Command
RS RW
(Lệnh)
NOP(No operation =
không làm gì cả)
Clear display(xóa hiển thị)
Nhị phân
Hex
D7
D6
D5
D4
D3
D2
D1
D0
0
0
0
0
0
0
0
0
0
0
00
0
0
0
0
0
0
0
0
0
1
01
Display & Cursor home
(hiển thị và đặt cursor ở
góc trái phía trên)
Character Entry mode
(Chế độ nhập ký tự)
Display On/Off & Cursor
(Tắt mở hiển thị và cursor)
0
0
0
0
0
0
0
0
1
x
02 hoặc 03
0
0
0
0
0
0
0
1
I/D
S
04 đến 07
0
0
0
0
0
0
1
D
U
B
08 đến 0F
Display/Cursor Shift (Dịch
curson/hiển thị)
Function set (Đặt chức
năng)
Set CGRAM address (Đặt
địa chỉ CGRAM)
Set DDRAM address (Đặt
địa chỉ DDRAM)
0
0
0
0
0
1
D/C R/L
x
x
10 đến 1F
0
0
0
0
1
8/4
2/1 10/7
x
x
20 đến 3F
0
0
0
1
A
A
A
A
A
A
40 đến 7F
0
0
1
A
A
A
A
A
A
A
80 đến FF
Busy Flag & Addr(Cờ bận
và bộ đếm địa chỉ)
Read Data(Đọc dữ liệu từ
CGRAM hoặc DDRAM)
Write Data(Ghi dữ liệu vào
CGRAM hoặc DDRAM)
0
1
BF
1
1
Dữ liệu đọc
1
0
Dữ liệu ghi
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
Bộ đếm địa chỉ
7
Chú thích
I/D: 1 =Increment *, 0=Decrement
R/L: 1 = Right shift, 0 = Left shift
S: 1 = Display shift on, 0 = Display shift off *
8/4: 1 = 8 bit interface *, 0 = 4 bit interface
D: 1 = Display on, 0 = Diaplay off *
2/1: 1 = chế độ 2 hàng, 0 = chế độ 1 hàng *
U: 1 = Cursor underline on, 0=Underline off *
10/7: 1=5x10 dot format, 0=5x7 dot format *
B: 1 = Cursor blink on, 0 = cursor blink off *
x = don’t care
* = đặt ban đầu
D/C: 1 = Display shift, 0 = cursor move
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
8
Bảng ký tự chuẩn của
LCD
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
9
Địa chỉ trên LCD 16x2
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
10
Kết nối phần cứng
• LCD được thiết kế để hoạt động với
cơ chế 3 bus.
• 8 đường dữ liệu D0-D7 chứa dữ liệu
hiển thị hoặc lệnh điều khiển LCD được
ghi vào LCD thông qua vi mạch chốt
74x573, trong đó tín hiệu cho phép chốt
CS được tạo ra từ mạch giải mã địa chỉ.
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
11
Ví dụ
• Viết chương trình hiển thị “Hello World” lên
màn hình LCD
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
12
Chương trình chính
ORG 2000H
EN
BIT
P3.4
RS
BIT
P3.5
MOV
TMOD, #01H
LCALL LCD_INIT
MOV
R1, #0
HTHI:
MOV A, R1
MOV DPTR, #MESSAGE
MOVC A, @A+DPTR
CALL WR_DATA
CALL DELAY_400MS
INC R1
CJNE R1, #12, HTHI
SJMP $
MESSAGE:
DB 'Hello World!'
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
13
Các chương trình con
;; Chuong trinh con khoi dong LCD
LCD_INIT:
CLR EN
CLR RS
CALL DELAY_1S
MOV DPTR, #8000H
MOV A, #38H
; 8bit data + 2line + 5*7
LCALL WR_INSTR
MOV A, #0EH
; Display on + Cursor on
LCALL WR_INSTR
MOV A, #06H
; Increase the cursor after each byte written to display
LCALL WR_INSTR
MOV A, #80H
; Cursor to addr 0
LCALL WR_INSTR
MOV A, #01H
; Clear display
LCALL WR_INSTR
LCALL DELAY_4MS
RET
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
14
; Chuong trinh con write instruction
WR_INSTR:
CLR RS
SETB EN
MOVX @DPTR, A
ACALL DELAY_160US
CLR EN
RET
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
; Chuong trinh con write data
WR_DATA:
SETB RS
SETB EN
MOV DPTR, #8000H
MOVX @DPTR, A
ACALL DELAY_160US
CLR EN
RET
15
Chương trình con delay
; Chuong trinh con tao DELAY
DELAY_160US:
PUSH 03
MOV
R3, #80
DJNZ R3, $
POP
03
RET
DELAY_4MS:
CLR TR0
MOV TH0, #HIGH(-4000)
MOV TL0, #LOW(-4000)
SETB TR0
JNB TF0, $
CLR TF0
RET
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
DELAY_400MS:
PUSH 04
MOV
R4, #100
LOOP1:
CALL DELAY_4MS
DJNZ R4, LOOP1
POP
04
RET
DELAY_1S:
PUSH 04
MOV
R4, #250
LOOP2:
CALL DELAY_4MS
DJNZ R4, LOOP2
POP
04
RET
16
LCD2
C2
33p
33p
X1
U1
19
12MHz
D0
D1
D2
D3
D4
D5
D6
D7
7
8
9
10
11
12
13
14
RS
RW
E
GND
VDD
18
9
1
2
3
4
5
6
7
8
XTAL1
AD[0..7]
AD[0..7]
A[8..15]
A[8..15]
AD7
AD6
AD5
AD4
AD3
AD2
AD1
AD0
C1
RS 4
5
EN 6
1
2
3
VSS
VDD
VEE
LM032L
XTAL2
RST
ALE
EA
PSEN
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
U2
3
4
7
8
13
14
17
18
30
31
29
10
11
12
13
14 EN
15 RS
16
17
1
11
D0
D1
D2
D3
D4
D5
D6
D7
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
2
5
6
9
12
15
16
19
OE
LE
74LS373
8051
PROGRAM=lcd.hex
U4
A13 1
A14 2
A15 3
6
4
5
A
B
C
E1
E2
E3
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
15
14
13
12
11
10
9
7
U3:A
2
1
3
74LS28
74LS138
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
17
Bài tập
Bài tập 1: Viết chương trình con khởi tạo LCD chế
8-bit, 2-line, con trỏ bắt đầu ở dòng thứ 2 và xóa
màn hình.
Bài tập 2: Viết chương trình hiển thị
Hello World!
My name is David
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
18
Nội dung
1.
2.
3.
4.
Giao tiếp với LCD
Giao tiếp A/D
Giao tiếp D/A
Động cơ bước
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
19
Giới thiệu
• Vi mạch ADC (Analog to Digital Converter) được sử dụng
để chuyển đổi các tín hiệu từ dạng tương tự sang dạng số.
• Tín hiệu tương tự là các tín hiệu liên tục trong miền thời
gian và biên độ.
Trong thực tế, hầu hết các tín hiệu
vật lý đều tồn tại dưới dạng tương
tự. Muốn xử lý được các tín hiệu
này bằng các hệ thống số thì cần
phải chuyển đổi các tín hiệu tương
tự này sang dạng số.
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
20
- Xem thêm -