Upload
phamkhanh
View
216
Download
1
Embed Size (px)
Citation preview
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOAKHOA ĐIỆN-ĐIỆN TỬ
BỘ MÔN KỸ THUẬT ĐIỆN TỬ
11
CHƯƠNG 4
Thiết kế hệ vi xử lý
Bùi Minh Thành – Bộ môn Kỹ thuật Điện tử
Bộ môn Kỹ Thuật Điện Tử - ĐHBK 2
1. Giao tiêp vơi LCD
2. Giao tiêp A/D
3. Giao tiêp D/A
4. Động cơ bươc
Nội dung
Bộ môn Kỹ Thuật Điện Tử - ĐHBK 3
1. Giao tiêp vơi LCD
2. Giao tiêp A/D
3. Giao tiêp D/A
4. Động cơ bươc
Nội dung
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
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
4
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
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.
5
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
Chức năng các chân của LCDChân số Tên Chức năng
1 VSS Đất
2 VDD Cực + của nguồn điện
3 VEE Tương phản (constrast)
4 RS Register Select
(Chọn thanh ghi)
5 R/W Read/Write
6 E Cho phép (Enable)
7 D0 Bit 0 của dữ liệu
8 D1 Bit 1 của dữ liệu
9 D2 Bit 2 của dữ liệu
10 D3 Bit 3 của dữ liệu
11 D4 Bit 4 của dữ liệu
12 D5 Bit 5 của dữ liệu
13 D6 Bit 6 của dữ liệu
14 D7 Bit 7 của dữ liệu
6
• 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
Lệnh điều khiển LCDCommand
(Lệnh)
RS RW Nhị phân Hex
D7 D6 D5 D4 D3 D2 D1 D0
NOP(No operation =
không làm gì cả)
0 0 0 0 0 0 0 0 0 0 00
Clear display(xóa hiển thị) 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)
0 0 0 0 0 0 0 0 1 x 02 hoặc 03
Character Entry mode
(Chê độ nhập ký tự)
0 0 0 0 0 0 0 1 I/D S 04 đên 07
Display On/Off & Cursor
(Tắt mở hiển thị và cursor)
0 0 0 0 0 0 1 D U B 08 đên 0F
Display/Cursor Shift (Dịch
curson/hiển thị)
0 0 0 0 0 1 D/C R/L x x 10 đên 1F
Function set (Đặt chức
năng)
0 0 0 0 1 8/4 2/1 10/7 x x 20 đên 3F
Set CGRAM address (Đặt
địa chỉ CGRAM)
0 0 0 1 A A A A A A 40 đên 7F
Set DDRAM address (Đặt
địa chỉ DDRAM)
0 0 1 A A A A A A A 80 đên FF
Busy Flag & Addr(Cờ bận
và bộ đêm địa chỉ)
0 1 BF Bộ đêm địa chỉ
Read Data(Đọc dữ liệu từ
CGRAM hoặc DDRAM)
1 1 Dữ liệu đọc
Write Data(Ghi dữ liệu vào
CGRAM hoặc DDRAM)
1 0 Dữ liệu ghi
7
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
Chú thích
I/D: 1 =Increment *, 0=Decrement
S: 1 = Display shift on, 0 = Display shift off *
D: 1 = Display on, 0 = Diaplay off *
U: 1 = Cursor underline on, 0=Underline off *
B: 1 = Cursor blink on, 0 = cursor blink off *
D/C: 1 = Display shift, 0 = cursor move
R/L: 1 = Right shift, 0 = Left shift
8/4: 1 = 8 bit interface *, 0 = 4 bit interface
2/1: 1 = chê độ 2 hàng, 0 = chê độ 1 hàng *
10/7: 1=5x10 dot format, 0=5x7 dot format *
x = don’t care * = đặt ban đầu
8
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
Kết nối phần cứng
11
• 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
Chương trình chính
13
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
Các chương trình con
14
;; 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 15
; Chuong trinh con write instruction
WR_INSTR:
CLR RS
SETB EN
MOVX @DPTR, A
ACALL DELAY_160US
CLR EN
RET
; Chuong trinh con write data
WR_DATA:
SETB RS
SETB EN
MOV DPTR, #8000H
MOVX @DPTR, A
ACALL DELAY_160US
CLR EN
RET
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
Chương trình con delay
16
; 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
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
Bộ môn Kỹ Thuật Điện Tử - ĐHBK 17
A[8..15]
AD[0..7]
AD
0
AD
1
AD
2
AD
3
AD
4
AD
5A
D6
AD
7
EN
RS
RS
EN
A13
A14
A15
GND
VDD
XTAL218
XTAL119
RST9
P3.0/RXD10
P3.1/TXD11
P3.2/INT012
P3.3/INT113
P3.4/T014
P3.7/RD17
P3.6/WR16
P3.5/T115
AD[0..7]
A[8..15]
ALE30
EA31
PSEN29
P1.01
P1.12
P1.23
P1.34
P1.45
P1.56
P1.67
P1.78
U1
8051
PROGRAM=lcd.hex
D03
Q02
D14
Q15
D27
Q26
D38
Q39
D413
Q412
D514
Q515
D617
Q616
D718
Q719
OE1
LE11
U2
74LS373
D7
14
D6
13
D5
12
D4
11
D3
10
D2
9D
18
D0
7
E6
RW
5R
S4
VS
S1
VD
D2
VE
E3
LCD2LM032L
X1
12MHz
C133p
C233p
2
3
1
U3:A
74LS28
A1
B2
C3
E16
E24
E35
Y015
Y114
Y213
Y312
Y411
Y510
Y69
Y77
U4
74LS138
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
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ị
18
Hello World!
My name is David
Bộ môn Kỹ Thuật Điện Tử - ĐHBK 19
1. Giao tiêp vơi LCD
2. Giao tiêp A/D
3. Giao tiêp D/A
4. Động cơ bươc
Nội dung
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
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 độ.
20
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
Vi mạch ADC 0809
• Là thiết bị CMOS với bộ chuyển đổi từ tương tự sang số 8-bit và bộ logic điều khiển tương thích với các loại vi xử l{.
• Bộ ADC 8-bit sử dụng kỹ thuật chuyển đổi xấp xỉ liên tiếp.
• Thiết bị này loại trừ khả năng hiệu chỉnh điểm 0 bên ngoài và hiệu chỉnh độ lớn tự nhiên. Dễ dàng tương thích với các loại vi xử l{.
• ADC 0809 cho tốc độ và độ chính xác cao, tối thiểu khả năng phụ thuộc vào nhiệt độ, tiêu thụ ít năng lượng.
27
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
Đặc điểm nổi bật
• Độ phân giải: 8-bit
• Tổng sai số chưa hiệu chỉnh: ±1/2 LSB and ± 1 LSB
• Nguồn cung cấp: 5VDC
• Công suất thấp: 15mW
• Thời gian chuyển đổi: 100us
29
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
Sơ đồ mạch tham khảo
• ADC0809 được thiết kế để giao tiếp với 8051 thông qua cơ chế 3 bus.
• Để chọn kênh, 3 đường địa chỉ thấp của bus địa chỉ (A0, A1, A2) đã được sử dụng. Như vậy, người lập trình có thể truy xuất đến 8 địa chỉ thấp nhất của nCS2 để truy xuất đến 8 kênh này.
30
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
Ví dụ
• Viết chương trình đọc từ điện áp từ ADC và hiển thị lên các led 7 đoạn
31
ORG 2000H
MOV TMOD, #01H ; Timer 0, mode 1
LAP:
MOV DPTR, #4000H
MOVX @DPTR, A ; Ra lenh chuyen doi ADC kenh 0.
ACALL DELAY_100US
MOVX A, @DPTR ; Doc du lieu tu kenh 0 cua ADC.
MOV B, #51
DIV AB
;Phan chuc
ANL A, #0DFH
ORL A, #0D0H
CALL HTHI
;Phan don vi
MOV A, B
MOV B, #5
;Chinh xac la 5.1
DIV AB
ANL A, #0EFH
ORL A, #0E0H
CALL HTHI
SJMP LAP
Bộ môn Kỹ Thuật Điện Tử - ĐHBK 32
;Cac chuong trinh con
HTHI:
MOV DPTR, #0000H
MOVX @DPTR, A
CALL DELAY_1MS
RET
DELAY_100US:
PUSH 02
MOV R2, #50
DJNZ R2, $
POP 02
RET
DELAY_1MS:
PUSH 05H
MOV R5, #1
LOOP1:
MOV TH0, #HIGH(-1000)
MOV TL0, #LOW(-1000)
SETB TR0
JNB TF0, $
CLR TF0
CLR TR0
DJNZ R5, LOOP1
POP 05H
RET
END
Bộ môn Kỹ Thuật Điện Tử - ĐHBK 33
1. Giao tiêp vơi LCD
2. Giao tiêp A/D
3. Giao tiêp D/A
4. Động cơ bươc
Nội dung
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
Giới thiệu
• Vi mạch chuyển đổi DAC được sử dụng để chuyển tín hiệu từ dạng số sang dạng tương tự.
• DAC thường được dùng để tạo ngõ ra giao tiếp giữa hệ thống số với thế giới analog bên ngoài.
• Tín hiệu tương tự có thể là điện áp hay dòng điện.
• Ngõ vào số có thể được đọc vào nối tiếp hoặc song song
34
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
DAC MCP4922
• Vi mạch DAC MCP4922 là vi mạch chuyển đổi số sang tương tự 12-bit dùng giao tiếp SPI của Microchip.
39
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
Kết nối tiêu biểu
42
MCP 4922 được sử dụng
trong các ứng dụng cần DAC
công suất thấp, độ chính xác
cao với băng thông trung bình
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
Mạch giao tiếp 8051
43
Vi mạch MCP4922 được thiết kế giao tiếp với MCU thông qua giao tiếp SPI.
Vì tín hiệu điều khiển MCP4922 được kết nối trực tiếp đến các bit của port 1 nên
các lệnh cho phép thao tác trên thanh ghi P1. Ví dụ đoạn mã sau có thể được
dùng để dịch 1 bit dữ liệu từ 8051 vào MCP4922
CLR SCK ; tạo xung clock
MOV SDI, C ; dịch cờ C
SETB SCK ; vào MCP4922
Bộ môn Kỹ Thuật Điện Tử - ĐHBK 44
1. Giao tiêp vơi LCD
2. Giao tiêp A/D
3. Giao tiêp D/A
4. Động cơ bươc (Step Motor)
Nội dung
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
Giới thiệu• Chúng thực chất là một động cơ đồng bộ dùng để biến đổi các tín
hiệu điều khiển dưới dạng các xung điện rời rạc kế tiếp nhau thành các chuyển động góc quay hoặc các chuyển động của rôto có khả năng cố định rôto vào các vị trí cần thiết.
• Ưu điểm chính của động cơ bước là việc điều khiển vị trí mà không cần tín hiệu hồi tiếp giống như động cơ DC.
• Rất hữu ích trong việc điều khiển vị trí chính xác của robot.
• Về cấu tạo, động cơ bước có thể được coi là tổng hợp của hai loại động cơ: Động cơ một chiều không tiếp xúc và động cơ đồng bộ giảm tốc công suất nhỏ.
45
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
Hoạt động
• Động cơ bước không quay theo cơ chế thông thường, chúng quay theo từng bước nên có độ chính xác rất cao về mặt điều khiển học.
• Chúng làm việc nhờ các bộ chuyển mạch điện tử đưa các tín hiệu điều khiển vào stato theo thứ tự và một tần số nhất định.
• Tổng số góc quay của rôto tương ứng với số lần chuyển mạch, cũng như chiều quay và tốc độ quay của rôto phụ thuộc vào thứ tự chuyển đổi và tần số chuyển đổi.
46
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
Hoạt động
47
Các đầu nối trung tâm thường được nối vào cực dương nguồn cấp,
và hai đầu còn lại của mỗi mấu lần lượt nối đất để đảo chiều từ trường
tạo bởi cuộn đó.
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
Ứng dụng
• Trong điều khiển chuyển động kỹ thuật số, động cơ bước là
một cơ cấu chấp hành đặc biệt hữu hiệu bởi nó có thể thực hiện trung thành các lệnh đưa ra dưới dạng số.
• Động cơ bước được ứng dụng nhiều trong ngành Tự động
hoá, chúng được ứng dụng trong các thiết bị cần điều khiển chính xác. – Ví dụ: Điều khiển robot, điều khiển tiêu cự trong các hệ quang học, điều
khiển định vị trong các hệ quan trắc, điểu khiển bắt, bám mục tiêu trong các
khí tài quan sát, điều khiển lập trình trong các thiết bị gia công cắt gọt, điều
khiển các cơ cấu lái phương và chiều trong máy bay...
• Trong công nghệ máy tính, động cơ bước được sử dụng cho các loại ổ đĩa cứng, ổ đĩa mềm, máy in...
48
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
Mạch điều khiển động cơ bước
49
m1
m3
m4
m2
m1
m2
m3
m4
1B1
2B2
3B3
4B4
5B5
6B6
7B7
8B8
1C18
2C17
3C16
4C15
5C14
6C13
7C12
8C11
COM10
U2
ULN2803
+88.8
R21k
R31k
R41k
R51k
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P0.0/AD039
P0.1/AD138
P0.2/AD237
P0.3/AD336
P0.4/AD435
P0.5/AD534
P0.6/AD633
P0.7/AD732
P1.01
P1.12
P1.23
P1.34
P1.45
P1.56
P1.67
P1.78
P3.0/RXD10
P3.1/TXD11
P3.2/INT012
P3.3/INT113
P3.4/T014
P3.7/RD17
P3.6/WR16
P3.5/T115
P2.7/A1528
P2.0/A821
P2.1/A922
P2.2/A1023
P2.3/A1124
P2.4/A1225
P2.5/A1326
P2.6/A1427
U3
AT89C51
R1
1k
R6 1k
THUAN
NGHICH
Bộ môn Kỹ Thuật Điện Tử - ĐHBK
Tài liệu tham khảo
• Hồ Trung Mỹ, Vi xử l{, Nhà xuất bản Đại học Quốc Gia Tp. HCM - 2003
• I. Scott MacKenzie , The 8051 Microcontroller, 2nd Edition, Prentice-Hall, 1995
• Slide bài giảng thầy Hồ Trung Mỹ
• Võ Kz Châu, tài liệu thí nghiệm Vi xử l{
• Và nhiều tài liệu trên mạng
50