Nên rất tiện dụng và cơ động.Với tính ưu việt của vi điều khiển thì trong phạm vi đồ án nhỏ này, chúng em dùng vi điều khiển để Thiết kế mạch LED sao băng – hiển thị chữ trên LCD sử dụng
Trang 1LỜI MỞ ĐẦU
Kỹ thuật vi điều khiển hiện nay rất phát triển, nó được ứng dụng vào rất nhiềulĩnh vực sản xuất công nghiệp, tự động hóa, trong đời sống và còn nhiều lĩnh vực khácnữa So với kỹ thuật số thì kỹ thuật vi điểu khiển nhỏ gọn hơn rất nhiều do nó đượctích hợp lại và có khả năng lập trình được để điều khiển Nên rất tiện dụng và cơ động.Với tính ưu việt của vi điều khiển thì trong phạm vi đồ án nhỏ này, chúng em dùng vi
điều khiển để Thiết kế mạch LED sao băng – hiển thị chữ trên LCD sử dụng họ 8051
Mục đích của đề tài hướng đến: tạo ra bước đầu cho sinh viên thử nghiệmnhững ứng dụng của vi điều khiển trong thực tiễn để rồi từ đó tìm tòi, phát triển nhiềuứng dụng khác trong đời sống hằng ngày cần đến
Tham gia vào thực hiện đề tài "Thiết kế mạch LED sao băng – hiển thị chữ trên LCD sử dụng họ 8051" Dưới sự hướng dẫn của thầy Trần Trung Tín Chúng em
mong rằng sự nhiệt tình của thầy sẽ giúp chúng em thực hiện đề tài thành công
Việc thực hiện xong đồ án môn học bằng các kiến thức đã học, một số sáchtham khảo và một số nguồn tài liệu khác nên không tránh khỏi những thiếu sót Vì vậynhóm rất mong được sự góp ý của thầy cô và các bạn
Chúng em xin chân thành cảm ơn!
Trang 2NHẬN XÉT CỦA GIÁO VIÊN
Trang 3
MỤC LỤC
LỜI MỞ ĐẦU 1
NHẬN XÉT CỦA GIÁO VIÊN 2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
MỤC LỤC 3
MỤC LỤC HÌNH ẢNH, BẢNG BIỂU 6
CHƯƠNG 1 TỔNG QUAN VỀ VI ĐIỀU KHIỂN 89C51 7
1.1 Giới thiệu chung về họ vi điều khiển 8051 7
1.2 Sơ đồ chân của IC 89C51 7
1.2.1 Chức năng của các chân 89C51 7
1.3 Các thanh ghi port xuất nhập 10
1.3.1 Các thanh ghi timer 10
Trang 41.3.2 Các thanh ghi port nối tiếp 10
1.3.3 Các thanh ghi ngắt 10
1.3.4 Thanh ghi điều khiển công suất 11
1.3.5 Tín hiệu Reset 11
1.3.6 Hoạt động thanh ghi TIMER 11
1.3.7 Thanh ghi chế độ timer (TMOD) 12
1.3.8 Thanh ghi điều khiển timer(TCON) 13
1.3.9 Khởi động và truy xuất thanh ghi timer 13
1.3.10 Ngắt (INTERRUPT) 14
CHƯƠNG 2 TỔNG QUAN VỀ LED – LCD 17
2.1 Tổng quan về LED 17
LED ( light-emitting diode) Diode phát quang 17
2.1.1 Cấu tạo led đơn 17
2.1.2 Nguyên lý làm việc 18
2.1.3 Ứng dụng của LED 18
2.2 Tìm hiểu về màn hình LCD 19
2.2.1 Phân loại LCD 19
2.2.2 Mô tả về các chân của Màn hình LCD 16x2 19
2.2.3 Nguyên tắc hiển thị ký tự trên màn hình LCD 21
CHƯƠNG 3 MẠCH LED SAO BĂNG - HIỂN THỊ LCD 23
3.1 Mạch led sao băng 23
3.1.1 Nguyên lý làm việc của mạch hiển thị 23
3.1.2 Sơ đồ nguyên lý 23
3.1.3 Sơ đồ mô phỏng bằng proteus 23
3.1.4 Sơ đồ mạch in 26
3.2 Mạch hiển thị LCD 27
3.2.1 Nguyên lý hoạt động 27
3.2.2 Sơ đồ nguyên lý 27
3.2.3 Sơ đồ mô phỏng bằng protues 28
3.2.4 Sơ đồ mạch in 28
KẾT LUẬN 29
TÀI LIỆU THAM KHẢO 30
Trang 6MỤC LỤC HÌNH ẢNH, BẢNG BIỂU
DANH MỤC CÁC HÌNH VẼ
Hình 1.1: Hình dạng thực tế và sơ đồ chân của AT89C51 7
Hình 1.2 Chân XTAL 1 và XTAL 2 của nguồn tạo xung 9
Hình 1.3 Sơ đồ chân RESET của 89C51 11
Hình 2.1 Hình dạng thực tế Led đơn 17
Hình 2.2 Cấu tạo của Led đơn 17
Hình 2.3 Sơ đồ nguyên lý làm việc Led đơn 18
Hình 2.4 Sơ đồ chân của LCD 16x2 19
Hình 3.1 Sơ đồ nguyên lý mạch hiển thị dùng Led đơn 23
Hình 3.2 Sơ đồ mô phỏng mạch hiển thị dùng Led đơn 26
Hình 3.3 Sơ đồ mạch in led sao băng 26
Hình 3.4 Sơ đồ nguyên lý hiển thị LCD 27
Hình 3.5 Sơ đồ mô phỏng mạch LCD 28
Hình 3.6 Sơ đồ mạch in LCD 28
DANH MỤC BẢNG BIỂU Bảng 1.1 Chức năng các chân của port 3 8
Bảng 1.2 Các thanh ghi trạng thái của chân RESET 11
Bảng 1.3 Các thanh ghi chức năng của timer trong 8031 12
Bảng 1.4 Tóm tắt thanh ghi chức năng TMOD 12
Bảng 1.5 Thanh ghi điều khiển timer 13
Bảng 1.6 Tóm tắt thanh ghi IE 15
Bảng 1.7 Các loại cờ ngắt trong 89C51 15
Bảng 1.8 Các vecter ngắt trong 80C51 16
Bảng 2.1 Tác dụng các chân của LCD 16x2 19
Bảng 2.2 Chức năng chân RS và R/W theo mục đích sử dụng 20
Bảng 2.3 Mã lệnh trong LCD 21
Trang 7CHƯƠNG 1 TỔNG QUAN VỀ VI ĐIỀU KHIỂN 89C511.1 Giới thiệu chung về họ vi điều khiển 8051
Với chip 8051 lần đầu tiên được đưa ra thị trường thì nó có các đặc trưng được tóm tắt như sau:
- 4 port xuất nhập (I/O)8 bit
- Không gian nhớ chương trình (mã) ngoài 64k
- Không gian nhớ rữ liệu ngoài 64k
- Bộ xử lý bit (thao tác trên các bít riêng rẽ)
- 210 vị trí được định địa chỉ, mỗi vị trí 1 bit
1.2 Sơ đồ chân của IC 89C51
Dưới đây là hình dạng thực tế và sơ đồ chân của vi điều khiển AT89C51
Hình 1.1: Hình dạng thực tế và sơ đồ chân của AT89C51
1.2.1 Chức năng của các chân 89C51
Chân VCC: Chân số 40 là VCC cấp điện áp nguồn cho Vi điều khiển Nguồn
điện cấp là +5V±0.5
Chân GND: Chân số 20 nối GND (hay nối Mass) Khi thiết kế cần sử dụng
một mạch ổn áp để bảo vệ cho Vi điều khiển, cách đơn giản là sử dụng IC ổn áp 7805
Trang 8 Port 0 (P0): Port 0 gồm 8 chân (từ chân 32 đến 39) có hai chức năng:
Chức năng xuất/nhập : Các chân này được dùng để nhận tín hiệu từ bên ngoài vào để xử lí, hoặc dùng để xuất tín hiệu ra bên ngoài, chẳng hạn xuất tín hiệu để điều khiển led đơn sáng tắt
Chức năng là bus dữ liệu và bus địa chỉ (AD7-AD0) : 8 chân này (hoặc Port 0) còn làm nhiệm vụ lấy dữ liệu từ ROM hoặc RAM ngoại (nếu có kết nối với bộ nhớ
ngoài), đồng thời Port 0 còn được dùng để định địa chỉ của bộ nhớ ngoài.
Port 1 (P1): Port P1 gồm 8 chân (từ chân 1 đến chân 8), chỉ có chức năng làm
các đường xuất/nhập, không có chức năng khác
Port 2 (P2): Port 2 gồm 8 chân (từ chân 21 đến chân 28) có hai chức năng:
Với mỗi chân có một chức năng riêng thứ hai như trong bảng sau :
Bảng 1.1 Chức năng các chân của port 3
P3.6 WR Ngõ điều khiển ghi dữ liệu lên bộ nhớ ngoài
P3.7 RD Ngõ điều khiển đọc dữ liệu từ bộ nhớ bên ngoài
P1.1 T2X Ngõ Nạp lại/thu nhận của Timer/Counter thứ 2
Trang 9 Chân RESET (RST)
Ngõ vào RST ở chân 9 là ngõ vào Reset dùng để thiết lập trạng thái ban đầu cho vi điều khiển Hệ thống sẽ được thiết lập lại các giá trị ban đầu nếu ngõnày ở mức 1 tối thiểu 2 chu kì máy
Chân XTAL1 và XTAL2
Hai chân này có vị trí chân là 18 và 19 được sử dụng để nhận nguồn xung clock từ bên ngoài để hoạt động, thường được ghép nối với thạch anh và các tụ
để tạo nguồn xung clock ổn định
Hình 1.2 Chân XTAL 1 và XTAL 2 của nguồn tạo xung
Chân cho phép bộ nhớ chương trình PSEN
PSEN ( program store enable) tín hiệu được xuất ra ở chân 29 dùng đểtruy xuất bộ nhớ chương trình ngoài Chân này thường được nối với chân
OE (output enable) của ROM ngoài
Khi vi điều khiển làm việc với bộ nhớ chương trình ngoài, chân này phát ra tín hiệu kích hoạt ở mức thấp và được kích hoạt 2 lần trong một chu kì máy
Khi thực thi một chương trình ở ROM nội, chân này được duy trì ở mức logic không tích cực (logic 1)
(Không cần kết nối chân này khi không sử dụng đến)
Chân ALE (chân cho phép chốt địa chỉ-chân 30)
Khi Vi điều khiển truy xuất bộ nhớ từ bên ngoài, port 0 vừa có chức năng là bus địa chỉ, vừa có chức năng là bus dữ liệu do đó phải tách các đường dữ liệu và địa chỉ Tín hiệu ở chân ALE dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và các đường dữ liệu khi kết nối chúng với IC chốt
Trang 10Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động đưa vào
vi điều khiển, như vậy có thể dùng tín hiệu ở ngõ ra ALE làm xung clock cung cấp cho các phần khác của hệ thống
Ghi chú: khi không sử dụng có thể bỏ trống chân này
1.3 Các thanh ghi port xuất nhập
Các port của 89C51 bao gồm port 0 ở địa chỉ 80H, port 1 ở địa chỉ 90H, port 2 ởđịa chỉ A0H, và port3 ở địa chỉ B0H tất cả các port này đều có thể truy xuất từng bitnên rất thuận tiện trong khả năng giao tiếp
1.3.1 Các thanh ghi timer
89C51 có chứa 2 bộ định thời/đếm 16 bit được dùng cho việc định thời hoặcđếm sự kiện Timer 0 ở địa chỉ 8AH (TL0: byte thấp) và 8CH (TH0: byte cao) Timer
1 ở địa chỉ 8BH (TL1: byte thấp) và 8DH (TH1: byte cao) Việc khởi động timer đượcSet bởi Timer Mode (TMOD) ở địa chỉ 89H và thanh ghi điều khiển timer (TCON) ởđịa chỉ 88H, chỉ có TCON được địa chỉ hóa từng bit
1.3.2 Các thanh ghi port nối tiếp
89C51 chứa một port nối tiếp dành cho việc trao đổi thông tin với các thiết bịnối tiếp như máy tính, modem hoặc giao tiếp nối tiếp với các IC khác Một thanh ghigọi là bộ đệm dữ liệu nối tiếp (SBUF) ở địa chỉ 99H sẽ giữ cả 2 dữ liệu truyền và dữliệu nhận Khi truyền dữ liệu thì ghi lên SBUF, khi nhận dữ liệu thì đọc SBUF Cácmode vận hành khác nhau được lập trình qua thanh ghi điều khiển port nối tiếp SCON
ở địa chỉ 98H
1.3.3 Các thanh ghi ngắt
89C51 có cấu trúc 5 nguồn ngắt, 2 mức ưu tiên Các ngắt bị cấm sau khi reset
hệ thống và sẽ được cho phép bằng việc ghi thanh ghi cho phép ngắt (IE) ở địa chỉA8H, cả 2 thanh ghi được địa chỉ hóa từng bit
Trang 111.3.4 Thanh ghi điều khiển công suất
Thanh ghi điều khiển công suất (PCON) ở địa chỉ 87H chứa các bit điều khiển
1.3.5 Tín hiệu Reset
89C51 có ngõ vào reset RST tác động ở mức cao trong khoảng thời gian 2 chu
kỳ, sau đó xuống mức thấp để 89C51 bắt đầu làm việc RST có thể kích bằng tay bằngmột phím nhấn thường mở, sơ đồ mạch reset như hình trên (hình a) sau khi reset hệthống được tóm tắt như sau:
Hình 1.3 Sơ đồ chân RESET của 89C51
Bảng 1.2 Các thanh ghi trạng thái của chân RESET
1.3.6 Hoạt động thanh ghi TIMER
89C51 có hai timer 16 bit, mỗi timer có bốn cách làm việc Người ta sử dụng cáctimer để:
Đếm chương trình PC 0000HThanhghi tích lũy A 00H
Trang 12• Định khoảng thời gian.
• Tạo tốc độ baud cho port nối tiếp trong 89C51
Trong các ứng dụng định khoảng thời gian, người ta lập trình timer ở nhữngkhoảng đều đặn và đặt cờ tràn timer Cờ được dùng để đồng bộ hóa chương trình đểthực hiện một tác động như kiểm tra trạng thái của các ngõ vào hoặc gửi sự kiện ra cácngõra Các ứng dụng khác có thể sử dụng việc tạo xung nhịp đều đặn của timer để đothời gian trôi qua giữa hai sự kiện (ví dụ đo độ rộng xung )
Truy xuất các timer của 89C51 dùng sáu thanh ghi chức năng đặc biệt cho trongbảng sau:
Bảng 1.3 Các thanh ghi chức năng của timer trong 8031.
Mục Đích Địa chỉ Địa chỉ hóa từng bit
1.3.7 Thanh ghi chế độ timer (TMOD)
Thanh ghi TMOD chứa hai nhóm 4 bit dùng để đặt chế độ làm việc cho Timer 0,
và Timer 1
Bảng 1.4 Tóm tắt thanh ghi chức năng TMOD
7 GATE 1 Bit mở cổng, khi lên 1 timer chỉ chạy khi INT1 ở mức
cao
1 = bộ đếm sự kiện
0 = bộ định khoảng thời gian
3 GATE 0 Bit mở cổng, khi lên 1 timer chỉ chạy khi INT0 ở mức
cao
Trang 130 M0 0 Bit 0 của chế độ mode
1.3.8 Thanh ghi điều khiển timer(TCON)
Thanh ghi TCON chứa các bit trạng thái và các bit điều khiển cho Timer 1,Timer 0
Bảng 1.5 Thanh ghi điều khiển timer
tràn, được xóa bởi phần mềm, hoặc phầncứng khi bộ xử lý chỉ đến chương trình phục
vụ ngắt
TCON.6 TR1 8EH Bit điều khiển timer 1 chạy đặt xóa bằng
phần mềm để cho timer chạy ngưng
khi phát hiện một cạnh xuống ở INT1 xóabằng phần mềm họăc phần cứng khi CPU chỉđến chương trình phục vụ ngắt
mềm để ngắt ngoài tích cực cạnh xuống /mứcthấp
1.3.9 Khởi động và truy xuất thanh ghi timer
Thông thường các thanh ghi được khởi động một lần đầu ở chương trình để đặt ởchế độ làm việc đúng Sau đó, trong thân chương trình, các thanh ghi timer được chochạy, dừng, các bit được kiểm tra và xóa, các thanh ghi timer được đọc và cập nhật….theo đòi hỏi các ứng dụng
TMOD là thanh ghi thứ nhất được khởi động vì nó đặt chế độ hoạt động Ví dụ,các lệnh sau khởi động Timer 1 như timer 16 bit (chế độ 1) có xung nhịp từ bộ daođộng tên chip cho việc định khoảng thời gian:
MOV TMOD, #1BLệnh này sẽ đặt M1 = 1 và M0 = 0 cho chế độ 1, C/ T= 0 và GATE = 0 cho xung
Trang 14nhịp nội và xóa các bit chế độ Timer 0 Dĩ nhiên, timer không thật sự bắt đầu định thờicho đến khi bit điều khiển chạy TR1 được đặt lên 1.
Khi timer tràn, cần dừng timer và xóa cờ báo tràn trong phần mềm:
CLR TR1CLR TF1
1.3.10 Ngắt (INTERRUPT)
Một ngắt là sự xảy ra một điều kiện, một sự kiện mà nó gây ra treo tạm thời thờichương trình chính trong khi điều kiện đó được phục vụ bởi một chương trình khác.Các ngắt đóng một vai trò quan trọng trong thiết kế và cài đặt các ứng dụng viđiều khiển Chúng cho phép hệ thống đáp ứng bất đồng bộ với một sự kiện và giảiquyết sự kiện đó trong khi một chương trình khác đang thực thi
Tổ chức ngắt của 89C51:
Có 5 nguồn ngắt ở 89C51: 2 ngắt ngoài, 2 ngắt từ timer và 1 ngắt port nối tiếp.Tất cả các ngắt theo mặc nhiên đều bị cấm sau khi reset hệ thống và được cho phéptừng cái một bằng phần mềm
Khi có hai hoặc nhiều ngắt đồng thời, hoặc một ngắt xảy ra khi một ngắt khácđang được phục vụ, có cả hai sự tuần tự hỏi vòng và sơ đồ ưu tiên hai mức dùng đểxác định việc thực hiện các ngắt Việc hỏi vòng tuần tự thì cố định nhưng ưu tiên ngắtthì có thể lập trình được
Cho phép và cấm ngắt :
Mỗi nguồn ngắt được cho phép hoặc cấm ngắt qua một thanh ghi chức năng đặtbiệt có định địa chỉ bit IE ( Interrupt Enable : cho phép ngắt ) ở địa chỉ A8H
Trang 15Bảng 1.6 Tóm tắt thanh ghi IE
(8052)
Các cờ ngắt :
Khi điều kiện ngắt xảy ra thì ứng với từng loại ngắt mà loại cờ đó được đặt lênmột để xác nhận ngắt
Bảng 1.7 Các loại cờ ngắt trong 89C51
Các vectơ ngắt :
Khi chấp nhận ngắt, giá trị được nạp vào PC được gọi là vector ngắt Nó là địa
chỉ bắt đầu của ISR cho nguồn tạo ngắt, các vector ngắt được cho ở bảng sau
Trang 17CHƯƠNG 2 TỔNG QUAN VỀ LED – LCD2.1 Tổng quan về LED
LED ( light-emitting diode) Diode phát quang
Hình 2.1 Hình dạng thực tế Led đơn
2.1.1 Cấu tạo led đơn
Điôt phát quang gồm có một lớp tiếp xúc P-N và hai chân cực anốt (A), catốt (K).Anốt nối với bán dẫn loại P, còn Catốt được nối với bán dẫn loại N
Hình 2.2 Cấu tạo của Led đơn
Trang 18Vật liệu chế tạo điôt phát quang đều là các liên kết của các nguyên tố thuộc nhóm
3 và nhóm 5 của bảng tuần hoàn Menđêlêep nhƣ GaAs, hoặc liên kết 3 nguyên tố nhưGaAsP v.v
Đây là các vật liệu tái hợp trực tiếp, có nghĩa là sự tái hợp xảy ra giữa các điện tử
ở sát đáy dải dẫn và các lỗ trống ở sát đỉnh dải hóa trị
2.1.2 Nguyên lý làm việc
Hình 2.3 Sơ đồ nguyên lý làm việc Led đơn
Khi LED phân cực thuận, các hạt dẫn đa số khuếch tán ồ ạt qua tiếp xúc P-N,chúng gặp nhau sẽ tái hợp và các photon được phát sinh Tốc độ tái hợp trong quátrình bức xạ tự phát này tỉ lệ với nồng độ điện tử trong phần bán dẫn P và nồng độ lỗtrống trong phần bán dẫn N
Đây là các hạt dẫn thiểu số trong chất bán dẫn Như vậy, để tăng số photon bức xạ
ra cần phải gia tăng nồng độ hạt dẫn thiểu số trong các phần bán dẫn Cường độ dòngđiện của điôt tỉ lệ với nồng độ hạt dẫn được "chích" vào các phần bán dẫn, do đócường độ phát quang của LED tỉ lệ với cường độ dòng điện qua điôt Như vậy LED cókhả năng biến đổi tín hiệu điện thành tín hiệu quang, nên nó được coi là dụng cụ phátquang
Điện áp phân cực cho LED gần bằng độ rộng vùng cấm của vật liệu, do đó cácLED bức ở các bước sóng khác nhau sẽ được chế tạo từ các vật liệu bán dẫn có độrộng vùng cấm khác nhau và điện áp phân cực cho chúng cũng khác nhau Tuy nhiênLED có điện áp phân cực thuận của LED là từ 1.5V ~ 3V tùy từng loại LED
LED đỏ 1,4V - 1,8V
Khi LED hoạt động bình thường thì dòng qua LED từ 10mA đến 50mA
2.1.3 Ứng dụng của LED
Đèn chiếu sáng sử dụng các LED phát ánh sáng trắng