Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 1
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN TỬ – BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP
___________________________
THỰC TẬP VI XỬ LÝ
TRƯƠNG NGỌC ANH
NĂM 2007
Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 2
LỜI GIỚI THIỆU
Sau khi đã tìm hiểu kiến thức về vi điều khiển thì bạn có thể bắt đầu thực hiện các
bài thực hành đối với vi điều khiển để giúp bạn hiểu rõ hơn những gì bạn đã đọc.
Các ứng dụng của điều khiển rất đa dạng nên trong chương này sẽ giới thiệu đến
các bạn một bộ thí nghiệm vi điều khiển tương đối đầy đủ các yêu cầu phần cứng và rất
nhiều chương trình điều khiển có thể giúp bạn thực hành, thí nghiệm và có thể tự nghiên
cứu, tự học.
Hình 2. Hình ảnh thực tế của module vi điều khiển.
Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 4
1. GIAO TIẾP VỚI LED ĐƠN
Một trong những ứng dụng đơn giản để sử dụng 4 port của vi điều khiển xuất dữ liệu
làm quen với lập trình ta có một hệ thống 32 led đơn có kết nối với 4 pinheader 8 chân.
Khi muốn dùng port 1 để điều khiển 8 led thì chỉ cần dùng một bus dây 8 sợi kết nối
2 pinheader 8 chân từ hệ thống vi điều khiển đến hệ thống led đơn.
Sơ đồ mạch của 32 led đơn (do giống nhau nên chỉ trình bày 8 led) như hình 8-3 và
sơ đồ bố trí linh kiện như hình 1-1: Hình 1-1. Sơ đồ nguyên lý của 32 led. Hình 1-2. Sơ đồ linh kiện trên bộ thí nghiệm của 32 led đơn.
4 pinheader dùng để kết nối với 32 led, ngõ vào mức 1 thì led sáng, mức 0 led
tắt. Do sử dụng led 10 ly và để tăng cường độ sáng nên trong mạch sử dụng các IC
đệm 2803 và dùng nguồn 12V và điện trở hạn dòng cho mỗi led là 1k.
Chức năng của khối hiển thò led đơn dùng để kết nối với 4 port của vi điều khiển
thực hiện các chương trình điều khiển led làm quen với lập trình vi điều khiển.
Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 5
2. GIAO TIẾP TRỰC TIẾP VỚI 2 LED 7 ĐOẠN
Trong thực tế có nhiều ứng dụng trong ta chỉ sử dụng một hay hai led 7 đoạn như hệ
thống đếm giây, đếm sản phẩm, hệ thống hẹn giờ nên trong hệ thống thí nghiệm này có
thiết kế thêm phần giao tiếp với 2 led 7 đoạn loại anode chung để tiện cho việc sử dụng.
Tại mỗi một thời điểm ta chỉ cho 1 tranistor dẫn và 7 transistor còn lại tắt, dữ liệu
gởi ra sẽ sáng trên led tương ứng với transistor dẫn. Sau đó cho 1 transistor khác dẫn và
gởi dữ liệu hiển thò cho led đó, quá trình điều khiển này diễn ra lần lượt cho đến khi hết 8
led.
Với tốc độ gởi dữ liệu nhanh và do mắt có lưu ảnh nên ta nhìn thấy 8 led sáng cùng
1 lúc.
Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 7
* Mã quét: mức logic 0 thì transistor dẫn, mức logic 1 thì transistor ngắt.
MÃ HEX Mã quét điều khiển các transistor
FEh 1 1 1 1 1 1 1 0 Transistor 1 ON
FDh 1 1 1 1 1 1 0 1 Transistor 2 ON
FBh 1 1 1 1 1 0 1 1 Transistor 3 ON
F7h 1 1 1 1 0 1 1 1 Transistor 4 ON
EFh 1 1 1 0 1 1 1 1 Transistor 5 ON
DFh 1 1 0 1 1 1 1 1 Transistor 6 ON
BFh 1 0 1 1 1 1 1 1 Transistor 7 ON
7Fh 0 1 1 1 1 1 1 1 Transistor 8 ON
* Mã 7 đoạn: trong hệ thống sử dụng led 7 đoạn loại Anode chung nên mức logic 0
thì led sáng và mức logic 1 thì led tắt.
Số hex dp
g
f
e
Trong hệ thống thí nghiệm này bàn phím có thể phục vụ cho hệ thống 2 để nhập các mã
lệnh và các thông số nhưng cũng có thể phục vụ cho các thí nghiệm làm quen với bàn phím.
Với led 7 đoạn thì có thể cho phép hiển thò chữ và số - khi đó có rất nhiều chương
trình ứng dụng có thể thực hiện được trên hệ thống này như chương trình đếm sản phẩm,
chương trình đếm tần số, chương trình đồng hồ số, chương trình đồng hồ thể thao …
Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 8
4. ỨÙNG DỤNG GIAO TIẾP VỚI MA TRẬN 24 PHÍM
Trong bộ thí nghiệm có một ma trận 8x3 tạo thành một bàn phím có 24 phím giao
tiếp với IC 8279 chuyên về quét phím kết nối với hệ thống II nhưng cũng có thể hoạt động
giao tiếp với hệ thống I bằng cách chuyển 12 switch sang vò trí off để cách ly với IC 8279
như hình 4-1 và hình trên bộ thí nghiệm là 4-2.
Bàn phím tổ chức theo dạng ma trận 8 hàng và 3 cột nên tổng số phím là 24 phím được
kết nối với một switch màu đỏ. Khi thực hiện các thí nghiệm liên quan đến bàn phím thì bạn
phải chuyển 12 switch sang vò trí off
Hình 4-1. Sơ đồ giao tiếp với 24 phím.
Hình 4-2. Sơ đồ linh kiện trên bộ thí nghiệm của 24 phím.
Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 9
5. ỨÙNG DỤNG GIAO TIẾP VỚI THANH GHI DỊCH 8 BIT 6B595.
Để mở rộng thêm số lượng tín hiệu điều khiển có thể sử dụng nhiều phương pháp,
một phương pháp đơn giản nhất là sử dụng thanh ghi dòch. Trong bộ thí nghiệm này có sử
dụng một thanh ghi dòch 6b595 có sơ đồ nguyên lý như hình 8-11 và hình trên bộ thí
nghiệm như 8-12.
Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 10
6. GIAO TIẾP VỚI LED MA TRẬN LED 8X8
Một trong những ứng dụng phổ biến trong quảng cáo là thông tin được hiển thò trên
led ma trận, để giúp người học hiểu được nguyên lý điều khiển led ma trận như thế nào thì
trong hệ thống có thiết kế giao tiếp với 4 led ma trận 8x8 hai màu xanh và đỏ. Sơ đồ
nguyên lý trình bày ở hình 6-1 và hình trên bộ thí nghiệm là 6-2.
Hình 6-1a. Sơ đồ giao tiếp với ma trận led 8x8.
Các hàng sử dụng IC đệm 2803 và transistor, còn các cột sử dụng thanh ghi dòch
6B595. Led ma trận có 2 màu xanh và đỏ có 8 đường điều khiển hàng và 5 đường điều
khiển cột màu xanh và 5 đường điều khiển cột màu đỏ – tổng cộng là 18 đường được kết
nối với 3 pinheader.
Với phần cứng đã thiết kế ở trên sử dụng led ma trận 8x8 có 2 màu xanh và đỏ, để
điều khiển led ma trận sáng ta tiến hành gởi dữ liệu ra hàng và mã quét ra cột.
Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 11 Hình 6-1b. Sơ đồ giao tiếp với ma trận led 8x8 (tiếp theo).
GV: Trương Ngọc Anh Trang 14
9. GIAO TIẾP VỚI ADC VÀ DAC Hình 9-1. Sơ đồ giao tiếp ADC 7109.
Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 15
* Hệ thống ADC: trên bộ thí nghiệm có thiết kế mạch giao tiếp với 4 IC ADC
7109: mỗi ADC 12 bit được kết nối đa hợp và có thể và một IC DAC 0808. Sơ đồ nguyên
lý như hình 9-1 và sơ đồ bố trí linh kiện trên hệ thống như hình 9-2.
Hình 9-2. hình của ADC 7109 trên bộ thí nghiệm.
Trong sơ đồ trên sử dụng ADC7109 có thể chuyển đổi 1 kênh dữ liệu ngõ vào tương
tự. Các đường tín hiệu điều khiển bao gồm:
- 12 đường dữ liệu số truyền tải kết quả chuyển đổi từ tương tự sang số: B11- B0 – tín
hiệu ra.
- 1 đường tín hiệu điều khiển chọn kênh: CE\ – tác động mức thấp.
- 2 đường tín hiệu cho biết cực tính của tính hiệu vào âm hay dương và 1 đường trạng
thái – tín hiệu ra.
Tần số xung clock để ADC chuyển đổi được cung cấp từ mạch dao động đã tích hợp
bên trong và gắn thêm tụ thạch anh bên ngoài có tần số 3.55 MHz - theo sổ tay tra cứu IC.
* Hệ thống DAC 8 bit: sơ đồ nguyên lý của hệ thống DAC như hình 9-3 và sơ đồ bố
trí linh kiện như hình 9-4.
Trong sơ đồ sử dụng 2 IC DAC0808 có chức năng chuyển đổi tín hiệu số 8 bit sang
tín hiệu tương tự cộng lại có thể tạo thành DAC 16 bit nhưng trong hệ thống chỉ sử dụng
12bit, 12 đường D11 – D0 dùng để nhận dữ liệu số từ hệ thống điều khiển.
Độ phân giải của DAC 0808 được điều chỉnh bằng biến trở.
Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 16
: Cấp dương nguồn +5V và đất tương ứng thì V
EE
được
dùng để điều khiển độ tương phản của LCD.
2. Chân chọn thanh ghi RS (Register Select):
Có hai thanh ghi rất quan trọng bên trong LCD, chân RS được dùng để chọn
các thanh ghi này như sau: Nếu RS = 0 thì thanh ghi mà lệnh được chọn để cho
phép người dùng gửi một lệnh chẳng hạn như xoá màn hình, đưa con trỏ về đầu
dòng v.v… Nếu RS = 1 thì thanh ghi dữ liệu được chọn cho phép người dùng gửi dữ
liệu cần hiển thò trên LCD.
3. Chân đọc/ ghi (R/W).
Đầu vào đọc/ ghi cho phép người dùng ghi thông tin lên LCD khi R/W = 0
hoặc đọc thông tin từ nó khi R/W = 1.
4. Chân cho phép E (Enable).
Chân cho phép E được sử dụng bởi LCD để chốt thông tin hiện hữu trên
chân dữ liệu của nó. Khi dữ liệu được cấp đến chân dữ liệu thì một xung mức cao
xuống thấp phải được áp đến chân này để LCD chốt dữ liệu trên các chân dữ liệu.
Xung này phải rộng tối thiểu là 450ns.
5. Chân D0 - D7:
Đây là 8 chân dữ liệu 8 bít, được dùng để gửi thông tin lên LCD hoặc đọc
nội dung của các thanh ghi trong LCD.
Để hiển thò các chữ cái và các con số, chúng ta gửi các mã ASCII của các
chữ cái từ A đến Z, a đến f và các con số từ 0 - 9 đến các chân này khi bật RS = 1.
Cũng có các mã lệnh mà có thể được gửi đến LCD để xoá màn hình hoặc
đưa con trỏ về đầu dòng hoặc nhấp nháy con trỏ. Bảng 12.2 liệt kê các mã lênh.
Chúng ta cũng sử dụng RS = 0 để kiểm tra bít cờ bận để xem LCD có sẵn
sàng nhân thông tin. Cờ bận là D7 và có thể đượcđọc khi R/W = 1 và RS = 0 như
sau:
Nếu R/W = 1, RS = 0 khi D7 = 1 (cờ bận 1) thì LCD bận bởi các công việc
bên trong và sẽ không nhận bất kỳ thông tin mới nào. Khi D7 = 0 thì LCD sẵn sàng
Hình 11-1: Nối ghép LCD.
P2.1
D0
P1.7
P2.0
P2.2
D7
R/W
E
4 Giả con trỏ (dòch con trỏ sang trái)
6 Tăng con trỏ (dòch con trỏ sang phải)
5 Dòch hiển thò sang phải
7 Dòch hiển thò sang trái
8 Tắt con trỏ, tắt hiển thò
A Tắt hiển thò, bật con trỏ
C Bật hiển thò, tắt con trỏ
E Bật hiển thò, nhấp nháy con trỏ
F Tắt con trỏ, nhấp nháy con trỏ
10 Dòch vò trí con trỏ sang trái
14 Dòch vò trí con trỏ sang phải
18 Dòch toàn bộ hiển thò sang trái
1C Dòch toàn bộ hiển thò sang phải
80 Ép con trỏ Vũ đầu dòng thứ nhất
C0 Ép con trỏ Vũ đầu dòng thứ hai
38 Hai dòng và ma trận 5 ´ 7
Bảng 11.3: Danh sách liệt kê các lệnh và đòa chỉ lệnh của LCD.
Lệnh
RS
R/W
DB7
DB6
DB5
đọc và ghi dữ liệu
40 ms
Điều
khiển
Bật/tắt
hiển thò
0 0 0 0 0 0 1 D C B
Đặt Bật/ tắt màn hình (D) Bật/
tắt con trỏ (C) và nhấp nháy ký
tự ở vò trí con trỏ (B)
40 ms
Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 21
Dòch hiển
thò và con
trỏ
0 0 0 0 0 1 S/C R/L
- - Dòch con trỏ và dòch hiển thò
mà không thay đổi DD RAM
40 ms
Đặt chức
năng
0 0 0 0 1 DL N F - - Thiết lập độ dài dữ liệu (DL)
số dòng hiển thò (L) và phòng
ký tự (F)
40 ms
Đặt đòa
chỉ
RAM
1 1 Đọc dữ liệu Đọc dữ liệu từ DD RAM hoặc
CG RAM
40 ms
Ghi chú:
1. Thời gian thực là thời gian cực đại khi tần số f
CP
hoặc f
osc
là 250KHz
2. Thời gian thực thay đổi khi tần số thay đổi. Khi tần số f
EP
hay f
osc
Là 270kHz thì
thời gian thực hiện được tính 250/270 ´ 40 = 35ms v.v…
3. Các ký hiệu viết tắt trong bảng là:
4.
DD RAM RAM dữ liệu hiển thò (Display Data RAM)
CG RAM RAM máy phát ký tự (character Generator)
ACC Đòa chỉa của RAM máy phát ký tự
ADD Đòa chỉ của RAM dữ liệu hiển thò phù hợp với đòa chỉ con trỏ.
AC Bộ đếm đòa chỉ (Address Counter) được dùng cho các đòa chỉ DD RAM và CG RAM.
1/D = 1 Tăng 1/D = 0 Giảm
S = 1 Kèm dòch hiển thò
S/C = 1 Dòch hiển thò S/C = 0 Dòch con trỏ
R/L = 1 Dòch sang phải R/L = 0 Dòch trái
DL = 1 8 bít DL = 0 4 bít
82
C2
83
C3
84
C4
85
C5
86
C6
Through
Through
8F
CF
20 ´ 1 LCD
80 81 82 83 Đến 93
20 ´ 2 LCD
80
C0
81
C0
82
C2
83
C3
Đến 93
Đến D3
20 ´ 4 LCD
80
Đến E7
Chú ý: Các dữ liệu ở
dạng số hex. Hình 11-3: Các đòa chỉ con trỏ đối với một số LCD.
t
Pwh
= Enable pulse width =
450 ns (minimum)
t
DSW
= Data set up time = 195 ns (minimum)
t
H
= Data hold time 10 ns (minimum)
t
AS
= Set up time prior to E (going high) for both RS and R/W = 140 ns (minimum)
t
AH
= Hold time afterr E has come down for both RS and R/W = 10 ns (minimum)
Data
t
DSW
t
SETB P2.0 ; Đặt RS = 1 để gửi dữ liệu
CLR P2.1 ; Đặt R/W = 0 để ghi
SETB P2.2 ; Đặt E = 1 cho xung cao
CLR P2.2 ; Đặt E = 0 cho xung cao xuống thấp
RET
DL_100US: MOV R3, # 50 ; 100 mS
DJNZ R3, $
RET
DL_41MS: MOV R4, # 100 ; 4.1 mS
X2: MOV R5, # 200
X1: DJNZ R5, X1
DJNZ R4, X2
RET
KHOI_TAO_LCD:
MOV A,#38h ;8 BIT - 2 HANG - 5X7
CALL GHI_LENH
CALL DL_41MS
MOV A,#38h
CALL GHI_LENH
CALL DL_100US
MOV A,#38h
CALL GHI_LENH
CALL DELAY
MOV A,#0Ch ;BAT LCD ON - LAM CURSOR TAT
CALL GHI_LENH
CALL DELAY
MOV A,#01h ;XOA MAN HINH
CALL GHI_LENH
CALL GHI_DLIEU
MOV A, # “K” ; Hiển thò chữ K
CALL GHI_DLIEU
;*********************************************************
; GUI LENH/DULIEU RA LCD
;*********************************************************
GHI_LENH:
SETB EN ;CHO PHEP LCD
CLR RS ;RS = 0 : NHAN LENH
MOV DULIEU,A
JMP TIEP
GHI_DULIEU:
SETB EN ;CHO PHEP LCD
SETB S ;RS = 1: NHAN DU LIEU
MOV DULIEU,A
TIEP:
CLR EN
NOP
DOI_LCD:
SETB EN
CLR RS
SETB RW ;CHO PHEP GHI/DOC
MOV DULIEU,#0FFh ;P2 DONG VAI TRO LA NGO VAO DU LIEU
MOV A,DULIEU
JB ACC.7,DOI_LCD ;KIEM TRA bit #7 - CO BAN - DOC/GHI DU LIEU XONG CHUA
CLR EN
CLR RW
RET
Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 25