Tải bản đầy đủ (.doc) (25 trang)

thiết kế mạch led matrix 8x32 bằng atmega32

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (852.55 KB, 25 trang )

LỜI NÓI ĐẦU
Ngày nay, cùng với sự phát triển của khoa học kỹ thuật, nhất là trong lĩnh vực
Điện tử - Tin học - Viễn thông, việc đưa thông tin quảng cáo đến với người tiêu dùng,
đến với xó hội trở nên dễ dàng và nhanh chóng. Thông qua nhiều hình thức quảng cáo
khác nhau mà các doanh nghiệp giới thiệu sản phẩm của mình đến mọi người.
Trong nhiều hình thức đa dạng của Thông tin quảng cáo như: báo, đài, tivi, tờ rơi,
áp phích. thì việc dùng Bảng thông tin điện tử là một cách đơn giản và hiệu quả để quảng
cáo. Chúng ta bắt gặp rất nhiều bảng thông tin như vậy trong thực tế. Khi đi vào một hiệu
sách, bạn có thể biết được hiệu sách đó bán loại sách gì, giá cả ra sao là nhờ vào bảng đèn
quang báo rất bắt mắt trước cửa hiệu. Hoặc khi vào sân bay, bạn biết được giờ giấc các
chuyến bay, các thông báo ngắn của phi trường, cũng là nhờ vào quang báo. Và khi đi
trên đường phố lúc về đêm, bạn sẽ bắt gặp cùng với ánh đèn màu là rất nhiều các bảng
quang báo lớn với các hình ảnh sinh động như ly bia Tiger đang trào bọt, hay các hình
ảnh, logo hiện lên với đủ kiểu (từ trên xuống, từ trái sang).
Qua đó ta thấy rằng, bảng thông tin điện tử đã được ứng dụng rộng rãi trong nhiều
lĩnh vực khác nhau như: giới thiệu sản phẩm, thông báo tin tức, làm biển hiệu Với ứng
dụng rộng rãi như vậy, việc tìm hiểu và thiết kế một bảng thông tin như vậy đã thôi thúc
em thực hiện đề tài “thiết kế mạch quang báo dùng Vi Điều Khiển”
MỤC LỤC
Trang 3
trang
LỜI NÓI ĐẦU……………………………………………………… …… ……………………. 3
Chuong1: NHIỆM VỤ VÀ PHÂN TÍCH NHIỆM VỤ……………………………….…5
1.1-nhiệm vụ được giao:………………………………………………………… 5
1.2-phân tích nhiệm vụ:……………………………………………………… … 5
Chương 2: THIẾT KẾ HỆ THỐNG…………….…………………… ………………. 5
2.1. tổng quan về đề tài:………………………………………………………….5
2.2.thiết kế thiết bị:……………………………………………………………… 6
2.3 thiết kế mô tả hoạt động,phần mềm……………………………………….….6
Chương 3: LÝ THIẾT LIÊN QUAN LIÊN QUAN………………………………….…6
3.1.giới thiệu mạch quang báo………………………………………………… 6


3.1.1.tổng quan……………………………………………………… ………6
3.1.2.chức năng từng khối trong mạch quang báo…………………………….8
3.2. giới thiệu các linh kiện trong mạch: 9
3.2.1. IC 74hc595 9
3.2.2.ULN2803 11
3.2.3.khảo sát transisto A1015:…………………………………………………………12
Chương 4: THIẾT KẾ PHẦN THIẾT BỊ……………………………………………… 13
4.1.sơ đồ mạch in……………………………………………………………… 13
4.2.hướng phát triển đề tài……………………………………………………… 14
Chương 5: THIẾT KẾ PHẦN MỀM ……………………………………………………15
5. 1.nguyên lý làm việc của mạch quang báo…………………………………….15
5.2. Giới thiệu về bảng LED ma trận…………………………………………….15
5.3.
nguyên tắc làm sáng đèn trên bảng LED………………………………….17
5.4. Nguyên tắc quét bảng ma trận LED…………………………………….… 18
5.5. Phương pháp tạo hiệu ứng chữ chạy từ phải qua trái trên bảng LED:………20
5.6.sơ đồ nguyên lý:…………………………………………………………… 22
5.6.1 Linh kiện sử dụng trong mạch: 22
5.6.2 Lưu đồ giải thuật:………………………………… ……………… 23
5.7.chương trình điềukhiển……………………………………………………….24
Tài Liệu Tham Khảo:……………………………………………… ……….…27
CHƯƠNG 1:NHIỆM VỤ VÀ PHÂN TÍCH NHIỆM VỤ

Trang 4
1.1-nhiệm vụ được giao:
Trong thời gian làm đồ án em sẽ cố gắng làm thật tốt môn đồ án của mình,sẽ cố gắng tiếp
thu những gì mà mình tìm hiểu được.
1.2-phân tích nhiệm vụ:
• Tài liệu tham khảo trên các trang wed có liên quan đến led ma trận,tham khao ý
kiến của thầy cô giáo bộ môn

• Thiết kế led phải ngắn gọn .thiết kế một mạch gồm có mạch điều khiển led và
mạch chạy chân của led ma trận.
• Tiến độ một ngày thưc hiện 2-3h
• Chương trình tham khảo của thầy giáo bộ môn và các thầy trong ngành cơ điện tử
CHƯƠNG 2:THIẾT KẾ HỆ THỐNG

2.1- tổng quan về đề tài:
Ưu khuyết điểm của mạch trên:
Ưu điểm:
- Mạch điện tử trên dùng trong việc quảng cáo rất sinh động, việc thay thế nội dung
quảng cáo hay cách thức thể hiện dể dàng ít tốn kém, có thể sử dụng ở nhiều nơi như:
trong nhà ga, trong sân bay, các biểu ngữ ngoài đường…So với việc dùng băng ron
hay bảng quảng cáo dán đềcal thì nó tiện dụng và việc thay đổi nội dung dể dàng hơn.
Khuyết điểm:
-So với việc dùng các bảng quảng cáo thông thường thì việc dùng bảng điện tử có giá
thành cao và việc sử dụng nó đòi hỏi người dùng phải có kiến thức sơ về điện tử.
-Khi bị hỏng việc thay thế tốn nhiều tiền.

2.2-thiết kế thiết bị:
Sơ đồ khối:
Trang 5
2.3 thiết kế ,mô tả hoạt động:
-Khối giải mã địa chỉ cột cho mức 0 vào led
-khối giải mã hàng dùng transito cho mức 1 vào led
Nguyên tắc quét led:mỗi lần quét chỉ sáng tối đa một cột do tốc độ quét nhanh nên ta
cảm thấy led sáng nhiều cột ,hàng
CHƯƠNG 3
LÝ THIẾT LIÊN QUAN LIÊN QUAN
3.1-GIỚI THIỆU MẠCH QUANG BÁO
3.1.1Tổng quan:

Để thiết kế một mạch quang báo thì có nhiều phương án để lựa chọn như: dùng
EEPROM, dùng máy tính điều khiển trực tiếp, dùng vi xử lý, vi điều khiển. Khi sử dụng
EEPROM để lưu trữ thông tin hiển thị kết hợp với các IC giải đa hợp (Demultiplexer) để
điều khiển qua trình hiển thị trên màn hình. ưu điểm của EEPROM là thông tin không bị
mất khi không có nguồn cấp và khi muốn thay đổi nội dung bản tin ta chỉ việc lập trình
lại cho EEPROM (thay đổi phần mềm). Việc thay đôi như vậy xem ra có vẻ đơn giản,
Trang 6
nhưng ta cần có mạch nạp và phần mềm điều khiển. Việc tháo lắp nhiều sẽ dẫn đến hỏng
hóc không đáng có.
Khi vi xử lý được sử dụng trong mạch thì mạch sẽ có thêm nhiều tính năng hơn
nhưng giá thành cho một sản phẩm cũng vì thế mà tăng lên. Một mạch vi xử lý cần có
thêm EEPROM (để lưu chương trình điều khiển), RAM và các IC giao tiếp ngoại vi khác
(8255,74373…). Một kít vi xử lý như vậy sẽ đem lại cho bảng thông tin những tính
năng như: việc cập nhật nội dung hiển thị sẽ dễ dàng hơn(không cần tháo IC ra) bằng các
nhập chương trình mới vào RAM, các hiệu ứng đặc biệt về màu sắc cũng được thực hiện
dễ dàng. Tuy nhiên như đã nói ở trên, do vấn đề giá thành cao nên phương án này không
được chọn.
Dùng máy tính để điều khiển bảng tin cũng là một phương án. Nhưng do kích
thước máy tính lớn chiếm nhiều diện tích, lại đắt tiền nên ta không sử dụng.
Phương án được lựa chọn là dùng Vi Điều Khiển. Vì sao lại chọn Vi Điều Khiển?
Thứ nhất: Ngày nay Vi Điều Khiển được sử dụng rộng rãi trong các ứng
dụng hướng điều khiển do kích thước gọn, khả năng tích hợp cao nhiều tính năng trong
một con Vi Điều Khiển khiến cho mạch điện tử trở nên đơn giản hơn nhiều.
Thứ hai: Giá thành của Vi Điều Khiển không quá đắt như Vi xử lý. Trên
thế giới hiện có rất nhiều nhà sản xuất Vi Điều Khiển (ATMEL, ZILOG, MicroChip,
Motorola, Cypress…). Sự cạnh tranh của các nhà sản xuất về giá thành và khả năng tích
hợp đem lại lợi ích cho người sử dụng.
Thứ ba: Vi Điều Khiển được coi như một “small computer” hay System
On Chip (SoC). Bên trong vi điều khiển bao gồm CPU, ROM , RAM, EEPOM, các giao
tiếp ngoại vi, các khối số học và tương tự (ADC,DAC, op-amp, bộ so sánh…) tuỳ theo

từng loại.
Tại Viêt Nam, thị trường Vi Điều Khiển khá sôi động. Chỉ cần vào một của hàng
điện tử bất kỳ ta đều có thể mua được một con Vi Điều Khiển ưng ý. Về công cụ phát
triển cho Vi Điều Khiển ta có thể tìm thấy rất nhiều trên mạng Internet, trên các diễn đàn
về điện tử trong và ngoài nước, hầu hết đều là các tiện ích miễn phí dành cho người sử
dụng …
Sau một thời gian nghiên cứu về Vi Điều Khiển, mà cụ thể là dòng Vi Điều Khiển,
em quyết định chọn Vi Điều Khiển ATMAGA32 để thực hiện đề tài “thiết kế mạch
quang báo dùng Vi Điều Khiển ”.
3.1.2.CHỨC NĂNG TỪNG KHỐI TRONG MẠCH QUANG BÁO
Trang 7
Sơ đồ khối mạch quang báo
• KHỐI DAO ĐỘNG: tạo xung nhịp dao động cho Vi Điều Khiển. Sử dụng thạch
anh tần số 12MHz .
• KHỐI GIẢI MÃ ĐỊA CHỈ CỘT :
Nhận tín hiệu từ Vi Điều Khiển, từ đó đưa ra tín hiệu cho phép cột LED nào
trên bảng đèn (ma trận LED) được phép sáng. Tại mỗi thời điểm chỉ có một cột
LED được phép sáng.Tín hiệu sau đó được đưa qua bộ đệm dòng cho cột. IC được
sử dụng cho bộ giải mã cột là 74HC595 - Ghi dịch 8 bit vào nối tiếp ra song song
• KHỐI GIẢI MÃ HÀNG VÀ CHỐT DỮ LIỆU RA HÀNG:
Nhận tín hiệu từ Vi Điều Khiển. Dử liệu sau đó được đưa qua bộ đệm dòng
cho hàng sử dụng 8 con Transistor A1015 để phun dũng ra hàng
• KHỐI CÁC BỘ ĐỆM DÒNG CHO CỘT VÀ HÀNG :
Được sử dụng đề đảm bảo độ sáng của các LED trân màn hình là đồng đều khi
chỉ 1 LED sáng hay cả 8 LED của một cột đều sáng. Sử dụng transistor(A1015) và
các IC đệm chuyên dụng(ULN2803).
• ĐỆM DÒNG CHO HÀNG:
-Để tớnh dũng điện cho IC đệm dũng hàng thỡ bạn phải xem độ dài
quang bỏo của bạn là bao nhiờu, trờn một hàng cú bao nhiờu con Led.
VD: Trờn của bạn đang là 8x32 có 32 Led nằm trờn một hàng, giả sử tại

một thời điểm nào đó cả 32 Led này đều sỏng, mỗi Led coi là 20mA, như
vậy ta cần một dũng điện rahàng>=32*20mA = 640mA. (Cho một hàng)
Bộ đệm dũng này cũn cú thể gọi là bộ phun dũng.
• KHỐI ĐIỀU KHIỂN TRUNG TÂM (ATMEGA32):
Trang 8
Gồm vi điều khiển cú nhiệm vụ xuất tớn hiệu điều khiển khối quột và khối cụng
suất để cung cấp sự điều khiển cho led ma trận
• KHỐI CẤP NGUỒN: có nhiệm vụ cấp đủ nguồn cho mạch điện nhưng bản thân
nó không bị quá dòng.
3.2. GIỚI THIỆU CÁC LINH KIỆT TRONG MẠCH:
3.2.1.IC 74HC595
IC 74HC595 là IC ghi dịch 8-bit, vào nối tiếp ra song song với một thanh ghi lưu trữ
(storage register) và đầu ra 3 trạng thái.
Chức năng của IC:
- Vào dữ liệu 8-bit
- Đầu ra 8 -bit nối tiếp và 8-bit song song
- Thanh ghi lưu trữ với đầu ra 3 trạng thái
- Tần số dịch 100MHz (Typical) Mô tả chân của IC 74HC595
- VCC và GND: chân cấp nguồn cho IC. Điện áp nguồn cấp trong khoảng 2V -5.5V.
- Q0 ~Q7: 8 đầu ra dữ liệu song song, chân Q7’ là chân ra dữ liệu nối tiếp
- MR là chân Reset IC, tích cực mức thấp (0). Khi đưa mức 0 vào chân này thì IC sẽ
thực hiện Reset, tất cả đầu ra đều về 0.
- SHCP là chân nhận xung đồng hồ của thanh ghi dịch
- STCP là chân nhận xung đồng hồ cho thanh ghi lưu trữ
- OE: chân cho phép xuất dữ liệu ra, tích cực mức thấp. Khi hoạt động chân này ở mức
0. Khi đưa chân OE lên mức 1 các đầu ra sẽ ở trạng thái trở kháng cao
- Ds là chân nhận dữ liệu nối tiếp.
 Hoạt động của IC
Dữ liệu sau khi được đưa vào chân Ds của IC, bit dữ liệu đó sẽ được dịch ứng với sườn
dương của xung nhịp, từ mức thấp-lên-cao( LOW-TO-HIGH ) đưa tới chân SHCP , dữ

liệu vào tại mỗi thanh ghi sẽ được đưa sang thanh ghi lưu trữ khi có một sườn dương của
xung nhịp đi vào chân STCP. Xung đồng hồ tại chân SHCP phải xuất hiện trước xung
nhịp vào chân STCP. Mỗi xung clock đưa vào chân SHCP tươngứng với một bit dữ liệu
đưa vào tại chân Ds, 8 xung ứng với 8-bit dữ liệu đưa vào, chúng được lưu rong thanh
ghi lưu trữ. Khi một tín hiệu tích cực mức 0 đưa vào chân OE thì 8-bit dữ liệu này sẽ
được dưara 8 đầu ra song song. Khi có 8 bit dữ liệu tiếp theo được dịch vào thì 8 bit dữ
liệu trước đó sẽ lần lượt được dịch ra nối tiếp nhau qua chân Q7’.
Trong chế độ hoạt động bình thường của IC, các chân MR sẽ được nối với dương
nguồn, chân OE sẽ nối với đất.
Khi ghép nối các IC 74595 nối tiếp nhau thành mạng IC thì các chân SHCP và STCP của
tất cả các IC sẽ được nối chung với nhau và nối với nguồn xung nhịp, chân Ds của IC đầu
tiên sẽ nối với chân vào dữ liệu (từ các IC khác), còn các IC sau đó thì được mắc nối tiếp
nhau, chân Ds của IC này nối với chân Q7’ của IC trước đó.
Trang 9
Sơ đồ chân 74HC595
Giản đồ thời gian quá trình truyền dử liệu ULN 2803
Là IC gồm 8 cổng đảo, mỗi cổng đảo gồm transistor ghép darlington với dòng điện
và điện áp ngõ ra cao.
3.2.2.ULN2803:
Trang 10
a.Sơ đồ chân.

Chân 9,10 là các chân cấp nguồn.
Chân 1 8 là các ngõ vào.
Chân 11 18 là các ngõ ra đảo.
Trang 11
b.Thông số của IC ULN 2803
Ta có thể tăng điện áp ngõ ra bằng cách thêm các điện trở treo ở ngỏ ra với điện áp
kéo lên cao.
Điện áp cung cấp 5-12V

Điện áp ngõ vào tối đa 30V
Điện áp ngõ ra tối đa 50V
Dòng điện ngõ ra tối đa 500mA
Dòng điện ngõ vào 25mA
c. Chức năng:
Đệm được 8 đường riêng biệt (nối trược tiếp được với 8 chân của 74595 và 8 chân
kia nối với các cột của led matrix)
- Dòng ra tới 500 mA
-Chức năng của ULN2803 giống như bộ hút dòng
-Để tính dòng điện cột thì bạn phải xem là quang báo của bạn rộng bao nhiêu, trên một
cột có bao nhiêu Led.
VD: Của bạn đang có 8 Led trên một cột như vậy dòng tối đa của 1cột là 8*20mA =
160mA. Bộ đệm dòng của cột phải > = 160mA. Bộ này còn có thể gọi là bộ hút dòng.
3.2.3.KHẢO SÁT TRANSISTOR A1015:
Transtor A1015 loại transistor PNP có dòng điện ra bảo hòa cao.
Trang 12
Sơ Đồ Chân Trạng Thái HoạtĐộng
c.Thông số của Transistor A1015:
Trang 13
******************************************************************
CHƯƠNG 4
THIẾT KẾ PHẦN THIẾT BỊ
4.1 SƠ ĐỒ MẠCH IN:
a.Mạch 4 led:

b.mạch điều khiển:
Trang 14
Ưu khuyết điểm của mạch trên:
*Ưu điểm:
- Mạch điện tử trên dùng trong việc quảng cáo rất sinh động, việc thay thế nội dung

quảng cáo hay cách thức thể hiện dể dàng ít tốn kém, có thể sử dụng ở nhiều nơi như:
trong nhà ga, trong sân bay, các biểu ngữ ngoài đường…So với việc dùng băng ron
hay bảng quảng cáo dán đềcal thì nó tiện dụng và việc thay đổi nội dung dể dàng hơn.
*Khuyết điểm:
-So với việc dùng các bảng quảng cáo thông thường thì việc dùng bảng điện tử có giá
thành cao và việc sử dụng nó đòi hỏi người dùng phải có kiến thức sơ về điện tử.
-Khi bị hỏng việc thay thế tốn nhiều tiền.
-Chưa có điều khiển được cách chạy chử
4.2.HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI
Đồ án này có thể được phát triền lên thành đồ án tốt nghiệp với việc giao tiếp với máy
tính có thể thay đổi cách họat động cũng như nội dung bảng quang báo bằng việc thay
đổi nội dung trên máy tính, hay có thề dủng remote đều khiển từ xa bảng quang báo. Một
kỹ thuật cao hơn là có thề thay đổi nội dung của bảng quang báo thông qua mạng internet
như các bảng quang báo mà ta đã thấy trên các xa lộ để hướng dẫn giao thông.
Trang 15
CHƯƠNG 5
THIẾT KẾ PHẦN MỀM
5. 1.nguyên lý làm việc của mạch quang báo:
Mạch điện sử dụng Vi Điều Khiển nên về phần cứng khá đơn giản.
Khối điều khiển trung tâm sử dụng Vi Điều Khiển atmega32.
Khối giải mã dữ liệu hàng sử dụng 8 con transistor ,uln2803chức năng giống như cổng
NOT.
Khối giải mã địa chỉ cột sử dụng IC 74HC595, đây là thanh ghi dịch 8-bit vào nối tiếp
ra song song. Ta sử dụng IC này nhằm mục đích tiết kiệm chân giao tiếp giữa IC giải mã
với Vi Điều Khiển. Chân DATA-IN (14) để đưa dữ liệu nối tiếp vào, chân CLK (11) đưa
xung đồng hồ dịch bit, chân LATCH(12) để chốt dữ liệu được gửi ra. 8 đầu ra được nối
đến 8 cột của bảng LED thông qua mạch đệm dòng.
Nguyên lý hoạt động: Chương trình phần mềm chứa trong Vi Điều Khiển làm
nhiệm vụ điều khiển chính mọi hoạt động của mạch. Chương trình phần mềm gồm có
nhiều chương trình con: chương trình hiển thị, chương trình cập nhật.

5.2. Giới thiệu về bảng LED ma trận
Trước khi đi vào nguyên lý hoạt động của mạch ta tìm hiểu qua về bảng ma trận
LED được sử dụng trong đề tài.
Bảng hiển thị ma trận LED (dot-matrix display) có rất nhiều loại và đủ kích cỡ to
nhỏ khác nhau, mỗi bảng gồm có rất nhiều LED đơn được ghép lại với nhau trong một
khối. Trong khối đó các LED đơn được sắp sếp theo các hàng và các cột, tại mỗi giao
điểm của hàng với cột là một LED đơn, và người ta thường phân biệt các loại bảng LED
theo số hàng và cột. Một bảng LED 5x7 tức là có 5 cột dọc và 7 hàng ngang, tổng cộng
sẽ có 5x7=35 LED đơn được ghép lại. Cũng như vậy một bảng 8x8 là có 8 hàng và 8 cột,
do 64 LED đơn ghép lại. Và nhiều loại cỡ to hơn như 16x16 hay 32x32…
Trên thị trường ta thường thấy các bảng LED cỡ lớn, dài hàng mét với đủ kích cỡ.
Các bảng LED đó là do hàng nghìn LED đơn ghép lại. Khi thiết kế những bảng LED to
như vậy ta cần chú ý đến sự đồng đều về độ sáng của các LED để việc hiển thị được đồng
đều. Bên cạnh đó vấn đề cấp nguồn cho mạch cũng cần được chú ý và thiết kế cho phù
hợp. Trong đề tài này em sử dụng hai bảng LED 8x8 cho việc hiển thị, sử dụng ma trận
5x7 cho việc hiển thị mỗi một ký tự.
Trang 16
Sau đây là sơ đồ ghép nối của hai loại bảng LED thông dụng là 5x7 và 8x8.
Trang 17
Bảng ma trận LED có hai loại, loại có các cột là các chân Anode, còn hàng là các
chân Cathode và loại kia thì ngược lại các cột là Cathode, hàng là Anode. Khi sử dụng
LED ta cần chú ý điều này để điều khiển cho đúng. Khi đóng vỏ, sự phân bố chân các
hàng và cột là không theo thứ tự (do tính phức tạp trong ghép nối), do đó ta cần tìm hiểu
kỹ để mắc mạch cho đúng.
Dưới đây là sơ đồ chân của bảng LED 8x8 được dùng trong đề tài.
• Các số gạch chân là hàng
• Các số không gạch chân là cột
5.3.
nguyên tắc làm sáng đèn trên bảng LED
Khi muốn làm sáng LED đơn, ta cần đưa điên áp dương vào chân Anode

và điện áp âm
vào chân Cathode với giá trị thích hợp, khi đó LED sáng. Giá trị
điện áp và dòng điện tuỳ
thuộc vào màu sắc từng loại LED. Dòng chảy qua các
LED để đảm bảo độ sáng bình thường là từ 10mA cho đến 25mA.
Khi ta muốn làm sáng một điểm trên bảng ma trận LED ta cũng làm tương
tự. Xét với bảng LED 5x7 dưới đây
Trang 18
5.4. Nguyên tắc quét bảng ma trận LED
Trong đề tài này em sử dụng hai bảng LED 8x8 ghép lại thành một bảng cỡ 8x32
(8 hàng và 32 cột). Mỗi ký tự sẽ được hiển thị trong một khung cỡ 5x7. Dưới đây là
nguyên tắc quét và hiển thị một ký tự (giả thiết là chữ R) trên khung hình 5x7.
Để hiển thị ký tự lên bảng LED, ở đây ta dùng phương pháp quét cột và xuất dữ
liệu hàng. Quá trình quét cột là ta gửi tín hiệu cho phép đến từng cột trong từng thời
điểm. Cùng lúc đó ta gửi dữ liệu hàng đến 7 hàng. Trong đề tài này tín hiệu cho phép cột
là mức logic ‘1’, và dữ liệu hàng tương ứng là mức ‘0’ hay ‘1’ của từng hàng, mức ‘0’
ứng với LED sáng (on) và mức ‘1’ là tắt (off).
• Đầu tiên ta đưa dữ liệu cần hiển thị đến 7 hàng, ví dụ 11100110
• Kích hoạt cột thứ nhất và các LED tương ứng sẽ sáng. Tạo một thời gian trễ, sau
đó tắt cột thứ nhất.
• Gửi tiếp giá trị dữ liệu 7 hàng của cột thứ 2, kích hoạt cột thứ 2, tạo trễ và lại tắt
cột thứ 2.
• Quá trình quét đó cứ tiếp diễn cho đến khi quét hết 16 cột của bảng LED. Việc
quét hiển thị này diễn ra trong thời gian rất ngắn, cỡ vài chục mili giây, ta sẽ thấy
hình ảnh hay chữ hiển thị trên bảng LED. Tuy rằng trong mỗi thời điểm chỉ có
một cột được sáng nhưng do thời gian quét rất nhanh và do hiện tương lưu ảnh
trong võng mạc của mắt nên ta thấy hình ảnh xuất hiện liên tục. Tần số quét cần
phải đảm bảo sao cho đủ hoặc lớn hơn 24hình/s. Thường ta chọn tần số quét từ
40Hz đến 100Hz hoặc có thể lớn hơn.
Dữ liệu hiển thị của hàng được lấy từ EEPROM hoặc từ Flash ROM của Vi Điều

Khiển hay từ ROM ngoài.
Trạng thái của một LED sẽ được quyết định bởi tín hiệu điện áp đi vào đồng thời cả 2
chân. Ví dụ để LED sáng thì điện áp 5V phải đưa vào chân dương và chân âm phải được
nối đất, LED sẽ tắt khi không có điện áp đưa vào chân dương.Với đề tài này, chúng em
chọn loại ma trận LED 8x8 để hiển thị.Ta có sơ đồ nguyên lý của Ma trận LED 8x8:
Trang 19
Để ma trận có thể sáng như hình vẽ (hiển thị một phần của chữ ADIDAS):
Đèn LED thứ nhất Đèn LED thứ hai Đèn Led thứ ba
Thực hiện quét dòng và cột:
Chọn cột 1, đưa điện áp cột 1 về 0.
Sau đó chọn và quét lần lượt các hàng 1,2,3,4,5,6,7,8 như sau:
+ Đèn 1 tắt  Điện áp đưa vào hàng 1 là 0V.
+ Đèn 2 tắt  Điện áp đưa vào hàng 2 là 0V.
+ Đèn 3 sáng  Điện áp đưa vào hàng 3 là 5V.
+ Đèn 4 sáng  Điện áp đưa vào hàng 4 là 5V.
+ Đèn 5 sáng  Điện áp đưa vào hàng 5 là 5V.
+ Đèn 6 sáng  Điện áp đưa vào hàng 6 là 5V.
+ Đèn 7 sáng  Điện áp đưa vào hàng 7 là 5V.
Trang 20
+ Đèn 8 sáng  Điện áp đưa vào hàng 8 là 5V.
Chọn cột 2, nối đất. Sau đó quét lần lượt các hàng 1,2,3,4,5,6,7,8.
+ Đèn 1 tắt  Điện áp đưa vào hàng 1 là 0V.
+ Đèn 2 sáng  Điện áp đưa vào hàng 2 là 5V
+ Đèn 3 tắt  Điện áp đưa vào hàng 3 là 0V
+ Đèn 4 sáng  Điện áp đưa vào hàng 4 là 5V
+ Đèn 5 tắt  Điện áp đưa vào hàng 5 là 0V
+ Đèn 6 tắt  Điện áp đưa vào hàng 6 là 0V
+ Đèn 7 tắt  Điện áp đưa vào hàng 7 là 0V
+ Đèn 8 tắt  Điện áp đưa vào hàng 8 là 0V
- Tiếp tục quét với các cột từ 3 đến 8 bằng cách như trên, sau đó chuyển sang quét đèn

LED thứ hai và thứ ba một cách tương tự.
- Để mắt người nhận biết được toàn bộ hình ảnh của ma trận ta phải tiến hành quét
nhiều lần. Do mắt người không phân biệt được sự thay đổi ảnh nếu ảnh đó được quét với
tốc độ 24 hình/s nên nếu ta quét ảnh với tốc độ lớn hơn hoặc bằng 24 hình/s thì ảnh sẽ
chạy liên tục và không bị giật
5.5. Phương pháp tạo hiệu ứng chữ chạy từ phải qua trái trên bảng LED:
Sau khi đã hiển thị được hình ảnh lên bảng LED. Bây giờ ta sẽ tìm hiểu cách tạo
hiệu ứng chữ chạy trên bảng LED. Thủ thuật ở đây là quét và hiển thị một hình ảnh
trong một thời gian nhất định, sau đó ta dịch dữ liệu của các cột sang trái một vị trí,khi đó
ta sẽ tạo được hiệu ứng chữ chạy trên bảng LED.
Đề tài này ta sử dụng mạch mẫu là bảng LED 8x32, sử dụng 32 byte RAM làm bộ
đệm cho màn hình, lưu giá trị dữ liệu hàng của 32 cột. Bộ đệm được khai báo trong
RAM nội của chip atmega32 là một mảng gồm 33 phần tử.
Chương trình hiển thị làm nhiệm vụ đọc dữ liệu từ các vị trí 0 đến 32 của bộ đệm và đưa
ra màn hình hiển thị.
Hiệu ứng chữ chạy được tạo ra bằng cách dịch giá trị các phần tử đi một vị trí
(54, 43, 32,21,10 )
Sau mỗi lần dịch ta lại gọi chương trình hiển thị. Khi đó
trên bảng LED ta sẽ quan sát được hiệu ứng chữ chạy.
VD:Di chuyển ký tự trên ma trận Led
Di chuyển chuỗi “AB” trên ma trận Led từ trái sang phải:
- Tính toán dữ liệu hiển thị
Giả sử cần hiển thị chuỗi “AB”:
Chữ ‘A’: 7Eh, 09h, 09h, 09h, 7Eh
Chữ ‘B’: 7Fh, 49h,49h,49h, 36h
Giữa chữ A và B có một cột trống để phân biệt.
Chuỗi “AB”: 7Eh, 09h, 09h, 09h, 7Eh, 00h, 7Fh, 49h,49h,49h, 36h
Có thể thêm khoảng trắng trước và sau chuỗi để chuỗi hiện ra từ từ
Trang 21
Chuỗi “ AB ”: 00h, 00h, 00h, 00h, 00h, 7Eh, 09h, 09h, 09h, 7Eh, 00h, 7Fh,

49h,49h,49h, 36h,00h, 00h, 00h, 00h
Khai báo biến:
pa DB 00h, 00h, 00h, 00h, 00h
DB 7Eh, 09h, 09h, 09h, 7Eh, 00h
DB 7Fh, 49h, 49h, 49h, 36h, 00h
DB 00h, 00h, 00h
Như vậy, một ký tự cần hiển thị trên ma trận Led cần 6 byte và 5 byte 00h đầu
chuỗi, 3 byte 00h cuối chuỗi một chuỗi dài 50 ký tự sẽ cần số byte lưu trữ
cho mã Led là: 50*6 + 5 + 3 = 308 byte.
- Hiển thị ký tự:
Quá trình hiển thị và cho chữ chạy mô tả như hình vẽ:
Trang 22
Lần 1: hiển thị từ pa[0] ÷ pa[4]
Lần 2: hiển thị từ pa[1] ÷ pa[5]
Lần 16: hiển thị từ pa[15] ÷ pa[19]
lần j: hiển thị từ pa[j] ÷ pa[j+5]
Chuỗi “AB” gồm 2 ký tự cần lưu trữ 20 byte và quét tổng cộng 20 - 4 = 16lần
Chuỗi 50 ký tự cần lưu trữ 50*6 + 8 = 308 byte và quét 304 lần.
5.6.SƠ ĐỒ NGUYÊN LÝ
*Linh kiện sử dụng trong mạch:
- Khối điều khiển trung tâm: Vi điều khiển atemaga32 (1c)
- Giải mã dữ liệu hàng:Transistor A1015(8c)
- Giải mã địa chỉ cột: IC 74HC595 (4c)
-IC ULN 2803(4c)
- Điện trở 100, tụ 10uF,
- Bảng LED 8x8 (4 bảng)
Trang 23
KHÔNG

5.6.2. Lưu đồ giải thuật:

Tài Liệu Tham Khảo:
7.7.chương trình điều khiển:
#include <mega32.h>
#include <delay.h>
#define data PORTD.7
#define rck PORTD.6
#define sck PORTD.5
char i,j,n,m;
char row[8]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F };
unsigned char mang[6][8]={
0xC3,0xE7,0xFF,0xDB,0xC3,0xC3,0xC3,0x83,//m
0x13,0x3B,0x6F,0x7E,0x7C,0x6C,0x6C,0x6C,//a
0xFB,0xFB,0x6B,0x63,0x63,0x63,0x63,0xF3,//t
0xE6,0x36,0x36,0xE6,0xE6,0x36,0x36,0x36,//r,i
0x88,0xD8,0x70,0x22,0x72,0xDA,0xDA,0x8B,//x
0x00,0x00,0x00,0x6C,0x4A,0x6A,0x4A,0xEC //led
};
Trang 24
Nạp các mã lệnh
Gọi chương trình con
quét matrix
Kiểm tra xem xuất
hiển thò xong chưa
Khởi tạo các giá trò
ban đầu
Bắt đầu
void out_led(char byte)
{
for(i=0;i<8;i++)
{

if(byte&0x80)
data=1;
else
data=0;
byte=byte<<1;
sck=0;
sck=1;
}
}
void out_led32()
{
for(j=0;j<4;j++)
{
out_led(mang[j][n]);
}
rck=0;
rck=1;
PORTA=row[n];
}
void dich_phai()
{
char i,j,m;
for (i=0;i<8;i++)
{
m=mang[5][i]&0x01;
for(j=5;j>0;j )
{
mang[j][i]=mang[j][i]>>1;
if(mang[j-1][i]&0x01)
mang[j][i]=mang[j][i]|0x80;

else
mang[j][i]=mang[j][i]&0x7F;
}
mang[0][i]=mang[0][i]>>1;
if(m)
Trang 25
mang[0][i]=mang[0][i]|0x80;
else
mang[0][i]=mang[0][i]&0x7F;
}
}
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
for(j=0;j<4;j++)
{
out_led(mang[j][n]);
}
rck=0;
rck=1;
PORTA=row[n];
n++;
if(n==8)
n=0;
}
void main(void)
{
PORTA=0x00;
DDRA=0xFF;
PORTB=0x00;
DDRB=0x00;

PORTC=0x00;
DDRC=0x00;
PORTD=0x00;
DDRD=0xFF;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 172.800 kHz
// Mode: Fast PWM top=FFh
// OC0 output: Inverted PWM
TCCR0=0x7B;
TCNT0=0x00;
OCR0=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x01;
#asm("sei")
Trang 26
while (1)
{
// for(n=0;n<8;n++)
// {
// out_led32();
// }
dich_phai();
delay_ms(200);
};
}
TÀI LIỆU THAM KHẢO
1.Datasheet cua IC 74HC595 và ULC2803 www.datasheetall.com
2. Các bài viết trên các diễn đàn điện tử
3. Diễn đàn

+ www. dientuvietnam.net
+ Mục “Kiến thức chung về Vi Điều Khiển“ - Tìm hiểu vầ mạch quang báo.
+ Các tài liệu khỏc được tìm kiếm thông qua trang web của GOOGLE
4.Các website tham khảo:
+ www.microchip.com
+ www.PICvietnam.com.vn
+ www.dientuvietnam.net
+ www.alldatasheet.comKS.
5.Trần Văn Hùng “Kỹ thuật ứng dụng vi điều khiển”, Tài liệu lưu hành nội bộ, Đại học Nha
Trang
Trang 27

×