Đồ án Thiết kế mạch led matrix 8x32 bằng atmega32

MỤC LỤC

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

 

doc24 trang | Chia sẻ: lethao | Lượt xem: 8578 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế mạch led matrix 8x32 bằng atmega32, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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 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Ụ 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: 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, 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 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): 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 đó. 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: 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. 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. Sơ Đồ Chân Trạng Thái HoạtĐộng c.Thông số của Transistor A1015: ****************************************************************** 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: Ư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. 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ự. Sau đây là sơ đồ ghép nối của hai loại bảng LED thông dụng là 5x7 và 8x8. 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 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: Để 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. + Đè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ừ 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ẽ: 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) 5.6.2. Lưu đồ giải thuật: Baét ñaàu Khôûi taïo caùc giaù trò ban ñaàu Naïp caùc maõ leänh Goïi chöông trình con queùt matrix Kieåm tra xem xuaát hieån thò xong chöa KHOÂNG COÙ Tài Liệu Tham Khảo: 7.7.chương trình điều khiển: #include #include #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 }; 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) 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") 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.a

Các file đính kèm theo tài liệu này:

  • docThiết kế mạch led matrix 8x32 bằng atmega32.doc