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ư
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
LƯƠNG CÔNG DANH 0611903
TP Hồ Chí Minh Ngày 17 Tháng 7 Năm 2009
Trang 2MỤC LỤC
Lời nói đầu……… ……2
I.Tổng quan
II.Chức năng từng khối
VI ĐIỀU KHIỂN 89C51………18
I.Nguyên lý làm việc của mạch quang báo
I.1Giới thiệu bảng đèn quang báo I.2 Nguyên tắc làm sáng đèn LED 8x8 I.3 Nguyên tắc quét bảng ma trận LED I.4 Phương pháp tạo hiệu ứng chử chạy
II Sơ đồ nguyên lý
III Linh kiện sử dụng trong mạch
IV Lưu đồ giải thuật
V Mã nguồn chương trình
Chương 4 – GIỚI THIỆU CÁC LINH KIỆN ………… …24
I IC 74HC595
Trang 3II IC ULN 2803
III Transistor A1015
I.Sơ đồ mạch in
II.Ưu điểm và khuyết điểm của mạch trên
III HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI
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”
Giới hạn đề tài
Như đã giới thiệu, bảng thông tin điên tử có thể hiển thị được các hình ảnh cử động, chứ không chỉ gúi gọn trong việc hiển thị chữ Tuy nhiên, do điều kiện và thời gian có hạn nên đề tài chỉ giới hạn ở việc hiển thị chữ chạy.
************************************************************************************
Trang 4 4k byte ROM,128 byte RAM nội.
4 Port I/O 8 bit
2 bộ đếm/ định thời 16 bit
Giao tiếp truyền dữ liệu nối tiếp
64k byte bộ nhớ bên ngoài dung để lưu chương trình điều khiển
64k byte bộ nhớ bên ngoài dung để lưu dữ liệu
210 bit có thể truy xuất từng bit
Có các lệnh xử lý bit
Sơ lược về các chân của 89C51:
Hình 2-1 Sơ đồ chân 89C51
Trang 5Chức năng của các chân 89C51:
Port 0: từ chân 32 đến chân 39 (P0.0 _P0.7) Port 0 có 2 chức năng: trong các thiết kế
cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các đường IO, đối với thiết kế lớn
có bộ nhớ mở rộng nó được kết hợp giữa bus địa chỉ và bus dữ liệu
Port 1: từ chân 1 đến chân 8 (P1.0 _ P1.7) Port 1 chỉ có chức năng dung làm các đườngđiều khiển xuất nhập IO
Port 2: từ chân 21 đến chân 28 (P2.0 _P2.7) Nếu không dùng bộ nhớ mở rộng bênngoài thì port 2 dùng làm các đường điều khiển IO.Nếu dung bộ nhớ mở rộng bên ngoài thìport 2 có chức năng là bus địa chỉ cao A0 – A15
Port 3: từ chân 10 đến chân 17 (P3.0 _ P3.7) Port 3 là port có 2 chức năng.Các chânport này có nhiều chức năng , các công dụng chuyển đổi có liên hệ đặc biệt của 89C51 như ởbảng sau:
PSEN (Program store enable):
PSEN là tín hiệu ngõ ra ở chân 29 có tác dụng cho phép đọc bộ nhớ chương trình mởrộng thường được nối đến chân OE\ của Eprom cho phép đọc các byte mã lệnh
PSEN ở mức thấp trong thời gian 89C51 lấy lệnh Các mã lệnh của chương trình đượcđọc từ Eprom qua bus dữ liệu, được chốt vào thanh ghi lệnh bên trong 89C51 để giải mãlệnh Khi 89C51 thi hành chương trình trong EPROM nội PSEN ở mức logic 1
ALE (Address Latch Enable):
Khi 89C51 truy xuất bộ nhớ bên ngoài, Port 0 có chức năng là bus địa chỉ và dữ liệu(AD7 – AD0) do đó phải tách các đường dữ liệu và địa chỉ Tín hiệu ra ALE ở chân thứ 30dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ liệu khi kết nối chúngvới IC chốt
Tín hiệu ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai trò là địa chỉ thấpnên chốt địa chỉ hoàn toàn tự động
EA\ (External Access):
Tín hiệu vào EA\ ở chân 31 thường được mắc lên mức 1 hoặc mức 0
Nếu ở mức 1 thì vi điều khiển thi hành chương trình từ bộ nhớ nội
Nếu ở mức 0 thì vi điều khiển thi hành chương trình từ bộ nhớ ngoại
Trang 6RST (Reset):
Ngõ vào chân 9 là ngõ vào Reset.Khi cấp điện cho hệ thống hoặc nhấn nút reset thìmạch sẽ reset vi điều khiển.Khi reset thì tín hiệu reset phải ở mức cao ít nhất 2 chu kì máy
Các ngõ vào bộ dao động Xtal1, Xtal2:
Bộ tạo dao động được tích hợp bên trong 89C51 Khi sử dụng 89C51, người ta chỉ cầnnối thêm tụ thạch anh và các tụ Tần số tụ thạch anh thường là 12 Mh – 24 Mh
2 Cấu trúc bên trong của 89C51
B1 Sơ đồ khối bên trong 89C51:
Trang 7Hình 2-3 Cấu trúc bên trong của vi điều khiển
Trang 8B2 Tổ chức bộ nhớ
Hình 2-4 Bảng tóm tắt các vùng nhớ 89C51
RAM bên trong 89C51 được phân chia như sau:
Các bank thanh ghi có địa chỉ từ 00H đến 1FH
RAM địa chỉ hóa từng bit có địa chỉ từ 20H đến 2FH
RAM đa dụng từ 30H đến 7FH
Các thanh ghi chức năng từ 80H đến FFH
Trang 9Hình 2-5 Cấu trúc bộ nhớ Ram bên trong vi điều khiển
- Bộ nhớ trong 89C51 bao gồm ROM và RAM RAM trong 89C51 bao gồm nhiều thànhphần: phần lưu trữ đa dụng, phần lưu trữ địa chỉ hĩa từng bit, các bank thanh ghi và cácthanh ghi chức năng đặc biệt
- 89C51 cĩ bộ nhớ theo cấu trúc Harvard: cĩ những vùng bộ nhớ riêng biệt cho chươngtrình và dữ liệu Chương trình và dữ liệu cĩ thể chứa bên trong 8951 nhưng 8951 vẫn cĩ thểkết nối với 64K byte bộ nhớ chương trình và 64K byte dữ liệu
20
Bank 3 1F
18
Bank 2 17
10
Bank 1 0F
08
Bank thanh ghi 0 (mặc định cho R0-R7)
07 00
RAM đa dụng
A A A9 A8
Địa chỉ byte
Trang 10Bộ nhớ bên trong 89C51 bao gồm ROM và RAM RAM bao gồm nhiều thành phần: phầnlưu trữ đa dụng, phần lưu trữ địa chỉ hóa từng bit, các bank thanh ghi và các thanh ghi chứcnăng đặc biệt.
89C51 có bộ nhớ theo cấu trúc Harvard: có những vùng nhớ riêng biệt cho chương trình
và dữ liệu Chương trình và dữ liệu có thể chứa bên trong 89C51 nhưng 89C51 vẫn có thểkết nối với 64 k byte bộ nhớ chương trình và 64 k byte bộ nhớ dữ liệu mở rộng
Ram bên trong 89C51 được phân chia như sau:
Các bank thanh ghi có địa chỉ từ 00H đến 1FH
Ram địa chỉ hóa từng bit có địa chỉ từ 20H đến 2FH
trong khi đó các bộ vi xử lý bên ngoài làm bộ nhớ ngăn xếp nên dung lượng tùy ý mở rộng.
Ram có thể truy xuất từng bit:
89C51 chứa 210 bit được địa chỉ hóa từng bit, trong đó 128 bit chứa ở các byte có địachỉ từ 20H đến 2FH, các bit còn lại chứa trong nhóm thanh ghi chức năng đặc biệt
Ýtưởng truy xuất từng bit bằng phần mềm là một đặc tính mạnh của vi điều khiển nóichung Các bit có thể được đặt, xóa, and, or,… với 1 lệnh đơn Ngoài ra các port cũng có thểtruy xuất được từng bít làm đơn giản phần mềm xuất nhập từng bit
Các bank thanh ghi:
Bộ lệnh 89C51 hỗ trợ 8 thanh ghi có tên là R0 đến R7 và theo mặc định (sau khi reset
hệ thống), các thanh ghi nàyở các địa chỉ 00H đến 07H
Đây là lệnh 1 byte dùng địa chỉ thanh ghi Tuy nhiên có thể thi hành bằng lệnh 2 bytedùng địa chỉ trực tiếp nằm trong byte thứ 2: MOV A, 05H
Lệnh dùng các thanh ghi R0 đến R7 thì sẽ ngắn hơn và nhanh hơn nhiều so với lệnhtương ứng dùng địa chỉ trực tiếp
Trang 11Bank thanh ghi tích cực bằng cách thay đổi các bit trong từ trạng thái chương trình(PSW) Giả sủ thanh ghi thứ 3 đang được truy xuất, lệnh sau đây sẽ di chuyển nội dung củathanh ghi A vào ô nhớ ram có địa chỉ 18H:
MOV R0, A
Các thanh ghi có chức năng đặc biệt:
89C51 có 21 thanh ghi chức năng đặc biệt (SFR: Special Funtion Register) ở vùng trên củaRAM nội từ địa chỉ 80H đến FFH
Chú ý: tất cả 128 địa chỉ từ 80H đến FFH không được định nghĩa, chỉ có 21 thanh ghi chứcnăng đặc biệt được định nghĩa sẵn các địa chỉ
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 bit nên rất thuậntiện trong khả năng giao tiếp
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 được Set bởi TimerMode (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
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ếpnhư máy tính, modem hoặc giao tiếp nối tiếp với các IC khác Một thanh ghi gọ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ác mode 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
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ả 2thanh ghi được địa chỉ hóa từng bit
Thanh ghi điều khiển công suất:
Trang 12Thanh ghi điều khiển công suất (PCON) ở địa chỉ 87H chứa các bit điều khiển.
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ằng một phímnhấ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:
Thanh ghi Nội dungĐếm chương trình PC
Thanhghi tích lũy AThanh ghi B
Thanh ghi trạng tháiSP
DPTRPort 0 đến Port 3IP
IECác thanh ghi định thời
0000H00H00H00H07H0000HFFHXXX0000 B0XX00000 B00H
Hoạt động thanh ghi TIMER
Trang 1389C51 có hai timer 16 bit, mỗi timer có bốn cách làm việc Người ta sử dụng các timerđể:
Định khoảng thời gian
Đếm sự kiện
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ững khoả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ộttá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ác ngõra Các ứngdụng khác có thể sử dụng việc tạo xung nhịp đều đặn của timer để đo thời gian trôi qua giữahai 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 trong bảngsau:
SFR Mục Đích Địa chỉ Địa chỉ hóa từng bitTCON Điều khiển Timer 88H Có
TMOD Chế độ Timer 89H Không
TL0 Byte thấp của Timer 0 90H KhôngTL1 Byte thấp của Timer 1 91H KhôngTH0 Byte cao của Timer 0 92H Không
TH1 Byte cao của Timer 1 93H Không
Các thanh ghi chức năng của timer trong 8031
Trang 14Thanh 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
Bit Tên Timer Mô tả
7 GATE 1 Bit mở cổng, khi lên 1 timer chỉ chạy khi INT1 ở mức
cao
6 C/T 1 Bit chọn chế độ Count/Timer
1 = bộ đếm sự kiện
0 = bộ định khoảng thời gian
5 M1 1 Bit 1 của chế độ mode
4 M0 1 Bit 0 của chế độ mode
3 GATE 0 Bit mở cổng, khi lên 1 timer chỉ chạy khi INT0 ở mức
cao
2 C/T 0 Bit chọn chế độ Count/Timer
1 M1 0 Bit 1 của chế độ mode
0 M0 0 Bit 0 của chế độ mode
Tóm tắt thanh ghi chức năng TMOD
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
Bit Ký hiệu Địa chỉ Mô tả
Trang 15TCON.7 TF1 8FH Cờ báo tràn timer 1 Đặt bởi phần cứng khi tràn,
được xóa bởi phần mềm, hoặc phần cứ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
TCON.5 TF0 8DH Cờ báo tràn Timer 0
TCON.4 TR0 8CH Bit điều khiển Timer 0 chạy
TCON.3 IE1 8BH Cờ cạnh ngắt 1 bên ngoài Đặt bởi phần cứng
khi phát hiện một cạnh xuống ở INT1 xóa bằngphần mềm họăc phần cứng khi CPU chỉ đếnchương trình phục vụ ngắt
TCON.2 IT1 8AH Cờ kiểu ngắt 1 bên ngoài Đặt xóa bằng phần
mềm để ngắt ngoài tích cực cạnh xuống /mứcthấp
TCON.1 IE0 89H Cờ cạnh ngắt 0 bên ngòai
TCON.0 IT0 88h Cờ kiểu ngắt 0 bên ngoài
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 cho chạ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áclệnh sau khởi động Timer 1 như timer 16 bit (chế độ 1) có xung nhịp từ bộ dao động tên chipcho 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 nhịpnội và xóa các bit chế độ Timer 0 Dĩ nhiên, timer không thật sự bắt đầu định thời cho đếnkhi bit điều khiển chạy TR1 được đặt lên 1
Nếu cần số đếm ban đầu, các thanh ghi TL1/TH1 cũng phải được khởi động Mộtkhoảng 100 s có thể được khởi động bằng cách khởi động giá trị cho TH1/TL1 là FF9CH:
MOV TL1, #9CH
Trang 16MOV TH1, #0FFHRồi timer được cho chạy bằng cách đặt bit điều khiển chạy như sau:
SETB TR1
Cờ báo tràn được tự động đặt lên 1 sau 100 s Phần mềm có thể đợi trong 100 s bằngcách dùng lệnh rẽ nhánh có điều kiện nhảy đến chính nó trong khi cờ báo tràn chưa được đặtlên 1:
WAIT: JNB TF1, WAITKhi timer tràn, cần dừng timer và xóa cờ báo tràn trong phần mềm:
CLR TR1CLR TF1
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ệcthự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ắt thì có thể lập trìnhđược
Trang 17IE.7 EA AFH Cho phép / Cấm toàn bộ
IE.6 _ AEH Không được mô tả
IE.5 ET2 ADH Cho phép ngắt từ Timer 2
(8052)IE.4 ES ACH Cho phép ngắt port nối tiếp
IE.3 ET1 ABH Cho phép ngắt từ Timer 1
IE.2 EX1 AAH Cho phép ngắt ngoài 1
IE.1 ET0 A9H Cho phép ngắt từ Timer 0
IE.0 EX0 A8H Cho phép ngắt ngoài 0
Tóm tắt thanh ghi IE
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ên một đểxác nhận ngắt
Ngắt Cờ Thanh ghi SFR và vị trí bit
Bên ngoài 0 IE0 TCON.1
Bên ngoài 1 IE1 TCON.3
Port nối tiếp TI SCON.1
Port nối tiếp RI SCON.0
Các lọai cờ ngắt
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 18Vector reset hệ thống (RST ở địa chỉ 0000H) được để trong bảng này vì theo nghĩa này,
nó giống ngắt : nó ngắt chương trình chính và nạp cho PC giá trị mới
************************************************************************************
Trang 19CHƯƠNG 2
GIỚI THIỆU MẠCH QUANG BÁO
I Tổ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 đếnhỏ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
Trang 20Tạ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 89C51 để thực hiện đề tài “thiết kế mạch quang báo dùng
Vi Điều Khiển ”
II.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 anhtầ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ênbả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 đượcphé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:
Trang 21Nhận tín hiệu từ Vi Điều Khiển Dử liệu sau đó được đưa qua bộ đệm dòng chohà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ủabạ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ộtdũng điện ra hà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.
ĐỆM DềNG CHO CỘT:
- Để 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
KHỐI ĐIỀU KHIỂN TRUNG TÂM (89C51):
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
******************************************************************
Trang 22CHƯƠNG 3
MẠCH QUANG BÁO DÙNG
VI ĐIỀU KHIỂN 89C51
I 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 89C51
Khối giải mã dữ liệu hàng sử dụng 8 con transistor cú chứ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 giaotiếp giữa IC giải mã với Vi Điều Khiển ChânDATA-IN (14) để đưa dữ liệu nối tiếpvào, chân CLK (11) đưa xung đồng hồ dịch bit, chânLATCH(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
I.1 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ủahà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=35LED đơ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 đơnghé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
Trang 23Bê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 choviệ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