Tài liệu thực hành vi xử lý
;CAC CHUONG TRINH CON THEO CÁC MODULE TRÊN
VD3:
Hãy viết chương trình hiể n thị chữ O hàng1, chữ Khàng 2
VD4:
Hãy viết chương trình hiể n thị tê n củamìnhỡ giữa LCD.
25 trang |
Chia sẻ: hao_hao | Lượt xem: 2258 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Tài liệu thực hành vi xử lý, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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.
Bộ thí nghiệm vi điều khiển này có thể sử dụng được nhiều loại vi điều khiển
89C51, 89C52, 89S51, 89S52, 89S8252, 89C1051, 89C2051 và 89C4051. Bộ thí nghiệm có
thể nạp chương trình cho nhiều loại vi điều khiển như vừa nêu ra ở trên.
Đặc biệt là vi điều khiển 89S51, 89S52 và 89S8252 có thể nạp chương trình ngay
trong hệ thống đang chạy – điều này tiết kiệm cho bạn không phải mất nhiều thời gian
trong quá trình gắn vào bo nạp rồi sau khi nạp xong lại gắn vào bo chạy nếu không đúng
phải làm đi làm lại nhiều lần đối với họ 89C – dĩ nhiên 89C vẫn có thể làm được nhưng
mạch điện khá phức tạp. Điều tiện lợi thứ 2 là đối với 89C bạn tháo gắn IC trên các
socket nạp và nếu bạn gắn ngược thì có thể làm hỏng IC, còn 89S thì do không cần tháo
gắn nên điều này sẽ không xảy ra.
Chương trình sử dụng cho bộ thí nghiệm này là MCS_52 rất dễ sử dụng, cho phép
bạn soạn thảo và biên dịch chương trình một cách nhanh chóng, dễ dàng tìm ra lỗi trong
chương trình.
Các phần tiếp theo sẽ trình bày chi tiết cấu hình bộ thí nghiệm, cách sử dụng
chương trình và cung cấp các bài thí nghiệm thực hành có thể phục vụ cho các bạn tự thực
hành.
Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 3
HỆ THỐNG VI ĐIỀU KHIỂN DÙNG BỘ NHỚ TRONG.
Vi điều khiển 89XX có 4 port (từ port 0 đến port 3) được nối với các pinheader. Sơ
đồ nguyên lý như hình 1 và hình bố trí linh kiện trong bộ thí nghiệp như hình 8-2.
Trong hình 2 có 1 socket để gắn vi điều khiển vào thực hiện các thí nghiệm, chiều
gắn IC vào giống như hình trên. Có 4 jumper [JP] để giao tiếp tín hiệu vào ra.
Hình 1. Sơ đồ mạch của hệ thống.
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.
Sơ đồ mạch giao tiếp của 2 led đã qua điện trở hạn dòng và có 2 pinheader để nhận tín
hiệu như hình 8-5 và hình trên bộ thí nghiệm như hình 8-6
Hình 2-1. Sơ đồ nguyên lý của 2 led 7 đoạn.
Hình 2-2. Sơ đồ linh kiện trên bộ thí nghiệm của 2 led 7 đoạn.
Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 6
3. GIAO TIẾP VỚI 8 LED 7 ĐOẠN THEO PHƯƠNG PHÁP QUÉT
Hình 3-1. Sơ đồ giao tiếp với led 7 đoạn.
Hình 3-2. Sơ đồ linh kiện trên bộ thí nghiệm của 8 led 7 đoạn.
Trong các ứng dụng điều khiển, nhiều thông tin được nhập từ bàn phím cũng như các
thông tin hiển thị trên các led 7 đoạn ví dụ như thiết lập nhiệt độ khống chế và đo nhiệt độ
của một hệ thống.
Trong bộ thí nghiệm có thiết kế giao tiếp với 8 led 7 đoạn loại anode chung theo
phương pháp quét. Sơ đồ nguyên lý của led 7 đoạn và ma trận phím như hình 8-5 và hình
8-6.
Để điều khiển 8 led 7 đoạn phải dùng 16 đường điều khiển: 8 đường điều khiển 7
đoạn a, b, c, d, e, f, g, dp và 8 đường điều khiển đóng ngắt 8 transistor.
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 d c b a Mã số hex
0 1 1 0 0 0 0 0 0 C0
1 1 1 1 1 1 0 0 1 F9
2 1 0 1 0 0 1 0 0 A4
3 1 0 1 1 0 0 0 0 B0
4 1 0 0 1 1 0 0 1 99
5 1 0 0 1 0 0 1 0 92
6 1 0 0 0 0 0 1 0 82
7 1 1 1 1 1 0 0 0 F1
8 1 0 0 0 0 0 0 0 80
9 1 0 0 1 0 0 0 0 90
A 1 0 0 0 1 0 0 0 88
B 1 0 0 0 0 0 1 1 83
C 1 1 0 0 0 0 1 0 C2
D 1 0 1 0 0 0 0 1 A1
E 1 0 0 0 0 1 1 0 86
F 1 0 0 0 1 1 1 0 8E
Các mã khác bạn có thể tự thiết lập.
Các transistor và các điện trở gắn bên dưới bo mạch nên bạn sẽ không nhìn thấy trong hình.
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.
Hình 5-1. Sơ đồ giao tiếp với ma trận led 8x8.
Hình 5-2. Hình trên bộ thí nghiệm.
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).
Hình 6-2. Hình ảnh thật bố trí trên bộ thí nghiệm.
Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 12
7. MẠCH THU PHÁT HỒNG NGOẠI
Sơ đồ mạch thu phát hồng ngoại như hình 7-1 và hình trên bộ thí nghiệm như hình 7-
2.
Hình 7-1. Sơ đồ mạch thu phát hồng ngoại.
Hình 7-2. Hình mạch thu phát trên bộ thí nghiệm.
Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 13
8. GIAO TIẾP ĐIỀU KHIỂN ĐỘNG CƠ BƯỚC CÔNG SUẤT NHỎ
Có nhiều loại động cơ bước nhưng trong hệ thống này chỉ sử dụng động cơ bước loại
nhỏ, mạch điện giao tiếp để điều khiển động cơ bước sử dụng IC giao tiếp 2803.
Động cơ bước sử dụng là loại có 4 cuộn dây – có 5 đầu dây ra hoặc 6 đầu dây ra.
Nếu là loại 5 đầu thì có 1 đầu dây chung và 4 đầu dây còn lại sẽ nhận tín hiệu điều khiển,
còn loại 6 đầu dây ra thì trong đó sẽ có 2 đầu dây chung nên nối lại thành 1 đầu dây
chung.
Sơ đồ bố trí linh kiện của IC 2803 để giao tiếp với động cơ bước như hình 8-1 và
hình trên bộ thí nghiệm như hình 8-2.
Hình 8-1. Sơ đồ nguyên lý điều khiển động cơ bước.
Hình 8-2. Sơ đồ giao tiếp với động cơ bước trên bộ thí nghiệm.
Mã điều khiển động cơ bước hãy xem trong chương trình điều khiển.
Tài liệu thực hành môn Vi Xử Lý
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
Hình 9-3. Sơ đồ giao tiếp DAC 8 bit.
Hình 9-4. Sơ đồ DAC 8 bit bốn kênh trên bộ thí nghiệm.
Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 17
10. GIAO TIẾP VỚI REAL TIME 12C887
Sơ đồ mạch của Realtime DS12C887 như hình 10-1 và hình trên bộ thí nghiệm như
hình 10-2.
Hình 10-1. Giao tiếp với real time 12c887.
Hình 10-2. Hình Real Time 12C887 trên bộ thí nghiệm.
Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 18
11. LCD VỚI 8051
I. MÔ TẢ CÁC CHÂN CỦA LCD.
LCD được nói trong mục này có 14 chân, chức năng của các chân được cho
trong bảng 12.1. Vị trí của các chân được mô tả trên hình 12.1 cho nhiều LCD khác
nhau.
1. Chân VCC, VSS và VEE: Cấp dương nguồn +5V và đất tương ứng thì VEE đượ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
nhận thông tin mới. Lưu ý chúng ta nên kiểm tra cờ bận trước khi ghi bất kỳ dữ liệu
nào lên LCD.
Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 19
Bảng 11.1: Mô tả các chân của LCD.
Chân Ký hiệu I/O Mô tả
1 VSS - Đất
2 VCC - Dương nguồn 5v
3 VEE - Cấp nguồn điều khiển phản
4 RS I RS = 0 chọn thanh ghi lệnh. RS = 1 chọn
thanh dữ liệu
5 R/W I R/W = 1 đọc dữ liệu. R/W = 0 ghi
6 E I/O Cho phép
7 DB0 I/O Các bít dữ liệu
8 DB1 I/O Các bít dữ liệu
9 DB2 I/O Các bít dữ liệu
10 DB3 I/O Các bít dữ liệu
11 DB4 I/O Các bít dữ liệu
12 DB5 I/O Các bít dữ liệu
13 DB6 I/O Các bít dữ liệu
14 DB7 I/O Các bít dữ liệu
15 A - Chân cấp nguồn cho backlight
16 K - Chân cấp mass cho backlight
Hình 11-1: Nối ghép LCD.
P2.1
D0
P1.7
P2.0
P2.2
D7
R/W E RS VSS
VEE
VC
+5
v
10K
POT
LCD
8051
P1.0
Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 20
Bảng 11.2: Các mã lệnh LCD.
Mã (Hex) Lệnh đến thanh ghi của LCD
1 Xoá màn hình hiển thị
2 Trở về đầu dòng
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
R
S
R
/W
D
B
7
D
B
6
D
B
5
D
B
4
D
B
3
D
B
2
D
B
1
D
B
0
Mô tả Thời gian
thực
hiện
Xoá màn
hình
0 0 0 0 0 0 0 0 0 1 Xoá toàn bộ màn hình và đặt
địa chỉ 0 của DD RAM vào bộ
đếm địa chỉ
1.64 ms
Trở về
đầu dòng
0 0 0 0 0 0 0 0 1 - Đặt địa chỉ 0 của DD RAM như
bộ đếm địa chỉ. Trả hiển thị
dịch về vị trí gốc DD RAM
không thay đổi
1.64 ms
Đặt chế
độ truy
nhập
0 0 0 0 0 0 0 1 1/D S Đặt hướng chuyển dịch con trỏ
và xác định dịch hiển thị các
thao tác này được thực hiện khi
đọ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ỉ
CGRAM
0 0 0 1 AGC Thiết lập địa chỉ C6 RAM dữ
liệu CG RAM được gửi đi và
nhận sau thiết lập này
40 ms
Thiết lập
địa chỉ
DD RAM
0 0 1 ADD Thiết lập địa chỉ DD RAM dữ
liệu DD RAM được gửi và
nhận sau thiết lập này
40 ms
Cờ bận
đọc và
địa chỉ
0 1 BF ADD Cờ bận đọc (BF) báo hoạt
động bên trong đang được thực
hiện và đọc nội dung bộ đếm
địa chỉ
40 ms
Ghi dữ
liệu CG
hoặc DD
RAM
1 0 Ghi dữ liệu Ghi dữ liệu vào DD RAM hoặc
CG RAM
40 ms
Đọc dữ
liệu CG
hoặc DD
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ố fCP hoặc fosc là 250KHz
2. Thời gian thực thay đổi khi tần số thay đổi. Khi tần số fEP hay fosc 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
N = 1 2 dòng N = 1 1 dòng
F = 1 Ma trận điểm 5 ´ 10 F = 0 Ma trận điểm 5 ´ 7
BF = 1 Bận BF = 0 Có thể nhận lệnh
Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 22
Hình 11-2: Phân khe thời gian của LCD.
16 ´ 2 LCD
80
C0
81
C0
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
C0
94
D4
81
C0
95
D5
82
C2
96
D6
83
C3
97
D7
Đến 93
Đến D3
Đến A7
Đến E7
20 ´ 2 LCD
80
C0
81
C0
82
C2
83
C3
Đến A7
Đế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.
tPwh = Enable pulse width = 450 ns (minimum)
tDSW = Data set up time = 195 ns (minimum)
tH = Data hold time 10 ns (minimum)
tAS = Set up time prior to E (going high) for both RS and R/W = 140 ns (minimum)
tAH = Hold time afterr E has come down for both RS and R/W = 10 ns (minimum)
Data
tDSW
tPWH
tH
tAH W/R
E
RS
tAS
Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 23
CÁC MODULE CHƯƠNG TRÌNH
GHI_LENH: ; Gửi lệnh đến LCD
MOV P1, A ; Sao chép thanh ghi A đến cổng P1
CLR P2.0 ; Đặt RS = 0 để gửi lệnh
CLR P2.1 ; Đặt R/W = 0 để ghi dữ liệu
SETB P2.2 ; Đặt E = 1 cho xung cao
CLR P2.2 ; Đặt E = 0 cho xung cao xuống thấp
RET
GHI_DLIEU: ; Ghi dữ liệu ra LCD
MOV P1, A ; Sao chép thanh ghi A đến cổng P1
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 DELAY
MOV A,#06h ;CURSOR TU DONG DICH SANG PHAI
CALL GHI_LENH
CALL DELAY
MOV A,#0Fh ;HIEN THI CON TRO - CURSOR
CALL GHI_LENH
CALL DELAY
RET
Tài liệu thực hành môn Vi Xử Lý
GV: Trương Ngọc Anh Trang 24
* CÁCH 1:
HIEN_THI:
MOV A,#80h ;THIET LAP DIA CHI CHO LCD – HANG 1
CALL GHI_LENH
CALL DELAY
MOV A, # “O” ; Hiển thị chữ O
CALL GHI_DLIEU ; Gọi chương trình con hiển thij DISPLAY
CALL DELAY ; Tạo độ trễ cho LCD
MOV A,#0C0h ;THIET LAP DIA CHI CHO LCD – HANG 2
CALL GHI_LENH
CALL DELAY
MOV A, # “K” ; Hiển thị chữ K
CALL GHI_DLIEU ; Gọi DISPLAY
CALL DELAY ; Tạo độ trễ cho LCD
* CÁCH 2:
DULIEU EQU P2
HIEN_THI:
MOV A, # “O” ; Hiển thị chữ O
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
* CHƯƠNG TRÌNH MẪU:
VD1:
ORG 00H
CALL KHOI_TAO_LCD
CALL HIEN_THI
JMP $
;CAC CHUONG TRINH CON THEO CÁC MODULE TRÊN
VD2:
ORG 00H
CALL KHOI_TAO_LCD
MOV A, # “O” ; Hiển thị chữ O
CALL GHI_DLIEU
MOV A, # “K” ; Hiển thị chữ K
CALL GHI_DLIEU
JMP $
;CAC CHUONG TRINH CON THEO CÁC MODULE TRÊN
VD3:
Hãy viết chương trình hiển thị chữ O hàng 1, chữ K hàng 2
VD4:
Hãy viết chương trình hiển thị tên của mình ỡ giữa LCD.
Các file đính kèm theo tài liệu này:
- Tài liệu thực hành vi xử lý.pdf