mạch quang báo giao tiếp máy tính
Trang 1Nguyên lý hoạt động sơ đồ khối :
Khối điều khiển trung tâm điều khiển mọi quá trình hoạt động của hệ thống
Mạch có khối giao tiếp máy tính nên sẽ dễ dàng thay đổi được dữ liệu mà mình
muốn Khối điều khiển trung tâm sẽ thực hiện giải mã dữ liệu sau đó đưa các dữ
liệu vào khối điều khiển hàng và điều khiển cột cuối cùng các dữ liệu được xuất ra
khối hiển thị.
Chức năng các khối
-khối nguồn: Có nhiệm vụ cung cấp năng lượng cho các khối còn lại trong mạch
hoạt động Nguồn cung cấp cho toàn mạch quang báo là nguồn 1 chiều có độ lớn
5V.
- khối điều khiển : Có vai trò quan trọng đối với sự hoạt động của mạch quang
báo ,chương trình hiển thị thông tin trên bảng ma trận LED do khối hiển thị đảm
nhận được thực hiện thông qua IC 89C52
- Khối điều khiển cột: Nhận tín hiệu điều khiển từ vi điều khiển, tạo địa chỉ, từ đó
đưa ra tín hiệu để cho phép cột led nào sáng trên bảng đèn Tại mỗi thời điểm chỉ có
một cột led được sáng Tín hiệu này được đưa đến bộ đệm dòng.IC được sử dụng là
IC 74HC 245
Giao tiếp
máy tính
ĐIỀU KHIỂN CỘTĐiều
KhiểnTrung Tâm
ĐLED MATRIX 8X8
ĐIỀU KHIỂNHÀNGNGUỒN CUNGCẤP
Trang 2- Khối điều khiển hàng:Tín hiệu điều khiển được xuất ra từ khối điều khiển sẽ được đưa qua các BJT đệm dòng đảm bảo đủ dòng của tín hiệu điều khiển cho hàng ma trận LED
- Khối hiển thị: là bảng ma trận LED có nhiệm vụ tiếp nhận tín hiệu điều khiển hiển thị nội dung thông tin mà người dùng muốn hiển thị
-Khối giao tiếp với máy tính: dùng PL 2303 giao tiếp bàn phím máy tính
c) Sơ đồ mạch và tính toán chọn linh kiện
U 2
7 4 H C 2 4 5
1 9 1
để tạo xung clock cho phép dịch dữ liệu từng bit một khi muốn xuất dữ liệu ra ta
Trang 3ghi dịch 8 bit ,nên khi ta đưa đủ 8 bit vào thì nó sẽ bị đầy và bit tiếp theo bit 9 sẽ bị đẩy ra ngoài qua chân số 9 ,như vậy ta phải ghép IC 74HC595 theo kiểu chân 9 của
IC đầu nối với chân 14 của IC sau để tiếp tục đẩy bit dữ liêu tiếp theo vào các IC còn lại.sau đó hiển thị lên LED matrix .
1. Khối nguồn :
Sơ đồ mạch :
Nhiệm Vụ : Mạch nguồn ổn áp 5v sử dụng Lm 7805 làm nhiệm vụ tạo ra nguồn cung
cấp 5V ổnđịnh,và mức dòng cung cấp lên đến 3A được nâng dòng bởi BJT 2SB688
Nguyên Lý Hoạt Động:
Điện áp 12 vdc được tạo ra nhờ biến thế đi qua bộ chỉnh lưu cầu diode.
Sau đó đi qua tụ c1 (lọc các thành phần điều hòa bậc 2,3 ),qua tụ c2 để lọc nguồn cho điện áp được phẳng hơn,ổn định hơn.:Điện áp đi tới R1 làm cho VR1 trên R1 tăng đến khoảng đủ làm cho B688 dẫn (0,6-1.5)V.Khi này 1 phần dòng điện chạy qua LM7805 làm cho nó hoạt động và cho ra mức áp là 5vdc,dòng tối đa mà
Lm7805 chịu đựng được là 1A.Một phần dòng điện thông qua BJT và cho dòng ra Ic~1A vì BJT đang dẫn.Các tụ C3,C4 cungx làm nhiệm vụ tương tự C1,C2 Như vậy
ta đã có nguồn ổn áp 5Vdc với sai số là +-0,25v
Trang 4-chọn R1 có giá trị 1.5 để phân cực cho BJT làm việc ở chế độ khuếch đại
Kiểm tra mạch:Bằng cách thay đổi giá trị đầu vào
1:Cho áp vào là 6v:Tiến hành đo áp VBE/Q1 ta thấy áp trên đây rất nhỏ,chưa
đủ kích dẫn cho BJT.Đo áp đầu ra thì chưa có áp do điện áp đầu vào chưa nằm trong vùng hoạt động của LM7805
2:Cho áp đầu vào là 45v.:Tiến hành đo đạc tương tự thì ta cũng thấy các
vấn đề tương tự của mạch như trường hợp 1
3:Cho áp đầu vào là các giá trị 10v,12v,15v,24v Tiến hành đo mạch như sau
-Đo điện áp đầu ra và đo dòng điện.Ta dung đồng hồ kim đặt ở chế độ X10,mạch nguồn này là mạch tạo dòng 1A nên ta mắc tải có giá trị là 5 ohm.nếu kim ở vị trí 0.5 tức là đúng mạch đạt dòng 1A.
-Khi này ta đo được giá trị đầu ra của LM7805 là 4.98 vdc.Thỏa mãn giá trị cần tạo
ra do giá trị đầu vào thỏa tính chất làm việc của LM7805 là giá trị đầu vào từ 40)v.
(8 Nếu dòng điện ra là chưa đủ hoặc rất bé so với 1A và LM7805 bị nóng thì chứng tỏ BJT chưa được dẫn nên cần kiểm tra xem giá trị của điện trở phân cực R1 đã phù hợp để tạo điện áp phân cực cho BJT Ta đo điện áp VR1 xem có nằm trong khoảng đẫn khuếch đại của BJT không.Nếu không nằm trong khoảng 0.6-1,5V thì cần điều chỉnh giá trị R1.có thể tăng đần giá trị của R1 rồi đo cho phù hợp.
-Kiểm tra nhiễu nguồn:Dùng máy hiện sóng đo xem sóng ra có phẳng hay
không.Nếu chưa phẳng thì ta tăng giá trị các tụ lọc để lọc các thành phần bậc cao
để loại bỏ nhiễu làm ảnh hưởng tới độ ổn định của nguồn
Kiểm Tra thực tế trong mạch :
-Giá trị đầu ra ổn định 4,98vdc.Điện áp Vbe/Q=0.63 v(thỏa mãn điều kiện phân cực).Dòng ra đo được là gần 1A( khoang 0.8 A).Thỏa mãn giá trị cho led sáng ( 32 led với dong 640 mA)
Trang 52. Khối điều khiển cột
Sơ đồ mạch :
Nguyên lý hoạt động của mạch :
Khối điều khiển dùng 89C52 với thuật toán điều khiển được lập trình theo ý tưởng của người thiết kế với cổng p2 để xuất dữ liệu ra cột cho LED
Tín hiệu được đưa ra cổng p2 sau đó đưa qua IC đệm dòng 74HC245 để đảm bảo cung cấp đủ dòng cho khối hiển thị và khối quét được hoạt động ổn định.
Sau đó được đưa vào 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 tiết kiệm chân giao tiếp giữa IC 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
Nguyên lý làm việc từng linh kiện trong mạch :
a, IC 74HC245 :
IC 74HC245 là IC đệm dữ liệu 2 chiều, tín hiệu của vi điều khiển đưa ra cổng p2 sau
đó đưa vào các chân 2 9 của IC là chân data in của IC sau đó IC thực hiện đệm
Trang 6dữ liệu và xuất dữ liệu ra các chân từ 1118 là chân data out của IC để đưa vào IC ghi dịch 74HC595
Để các chân của IC 74HC595 thực hiện các công việc như trên thì ta phải :
+ cho chân 1 (DIR) ở mức 1 (nối với nguồn VCC)
+ cho chân 19 (OE) ở mức 0 (nối mass) để IC cho phép xuất dữ liệu ra.
b IC 74HC595
Là IC ghi dịch 8bit kết hợp chốt dữ liệu , đầu vào nối tiếp đầu ra song song
Đo đạc kiểm tra từng con linh kiện:
Thực hiện đo các chân mà ta kích thích mức tích cực ta được:
Chân 2 9 (chân ngõ vào) =4.6V
Chân 11 18 (chân ngõ ra) = 4.6V
Chân 1 (chân DIR) = 4.6V (nối VCC)
Chân 19 (chân OE) = 0V ( nối mass)
Trang 7Chân 14 (chân data): 4.6V
Chân 1,2,3,4,5,6,7,9,15 (chân ngõ ra): 4.6V
Chân 10 : 5V ( nối VCC)
Chân 13 : 0V (nối mass)
khối mạch điều khiển hàng
sơ đồ mạch :
Nguyên lý hoạt động của mạch :
Mạch điều khiển hàng LED được thiết kế cho mỗi hàng LED một transistor PNP TIP
127 ,dẫn bão hòa Các transistor này dẫn bão hòa nhằm tăng mức công suất cho hệ thống ma trận LED các transistor được điều khiển bởi port 0 của vi điều khiển ,ngõ ra
Trang 8ở mức thấp sẽ làm cho cực B của transistor ở mức thấp và khi đó transistor sẽ dẫn bão hòa làm cho anode của các hàng LED được tích cực.
Nguyên lý làm việc từng linh kiện :
Trang 9Đo đạc kiểm tra từng con linh kiện:
Khi cấp nguồn 5V cho mạch
Ta đo điện áp chân C của BJT (chân ra) = 0V
Điện áp phân cực VBE = 0V
Dùng đồng hồ đo cấp vào chân C của từng BJT để kiểm tra xem các hàng LED tương ứng có sáng không,nếu sáng là mạch đạt yêu cầu.
1. khối hiển thị LED MATRIX
sơ đồ mạch:
Linh kiện sử dụng:
Led matrix 8*8
Trang 10Khối ma trận đèn led là một ma trân 8x8 đèn led các chân A của một hàng led được nối chung tạo nên 8 chân A chung, các chân K của một cột được nối chung và tạo nên 8 chân K chung.
Để hiển thị toàn bộ ma trận led các hàng sẽ lần lượt được luân phiên hiển thị từ hàng đầu tiên cho đến hàng cuối cùng rồi lặp lại Tại một thời điểm chỉ có một hàng được hiển thị
Trước thời điểm bắt đầu hiển thị hàng đầu tiên dữ liệu của hàng đầu tiên được đưa vào bộ đệm hàng theo cách nối tiếp từ b8 vào trước rồi đến b1, xung nhịp được cấp
từ bên ngoài vào để đọc mỗi bít dữ liệu tuân tự, khi đã đủ hết dữ liệu rồi thì xung nhịp không được phép làm việc nữa
Tiếp theo là hiển thị dữ liệu của hàng đầu tiên, khi hiển thị tín hiệu SYN được đưa vào = 1, sau đó sẽ có một xung dương OUTCLK, xung dương OUTCLK sẽ đồng thời làm hai việc: 1 là đưa toàn bộ dữ liệu của hàng đầu tiên mà đang tồn tại ở đầu vào
bộ chốt hàng đến đầu ra bộ chốt hàng và 2 đặt đầu ra H1 của khối quét hàng lên mức cao để hiển thị hàng đầu tiên Vậy là dữ liệu của hàng đầu tiên đã được
chuyển đến bộ đệm Kathode, H1 cũng đã được chuyển lên mức cao đưa vào bộ đệm Anode, quá trình bắt đầu hiển thị hàng đầu tiên đã
hoàn tất, việc còn lại là của hai bộ đệm Bộ đệm Kathode sẽ khuyếch đại đảo các bit
dữ liệu và điều khiển việc hút dòng cho 8 Kathode chung, bộ đệm Anode sẽ cấp nguồn dương cho một hàng Trạng thái này được duy trì một khoảng thời gian xác
Trang 11duy nhất khác biệt là tín hiệu SYN đặt vào phải bằng 0 còn lại thì mọi thủ tục không
có gì thay đổi Do vậy khi có xung OUTCLK thì H1 sẽ ở mức thấp và mức cao trước
đó của nó sẽ được dịch sang H2 làm cho A2 được cấp nguồn và hàng thứ hai sáng Hàng thứ hai cũng sẽ được hiển thị trong một khoảng thời gian xác định và kết thúc Quá trình được diễn ra lặp lại tương tự đối với các hàng sau cho đến hết hàng 8.
Kiểm Tra linh kiện rời:
-Dùng đồng hồ kim,đặt que dương (đỏ) vào 1 trong các hang( mức 1 cho các
hàng),que đen đạt lần lượt vào các cột (mức 0 cho các cột tương ứng) xem led có sáng ở từng vị trí tương ứng hay ko.
Kiểm Tra khi lắp vào mạch:
-với 4 led matrix ta nối chung các hàng tương ứng với nhau(tức có 8 hàng cho cả 4 matrix),các cột thì rieng biệt cho mỗi matrix nên có 32 cột.
-Tương tự ta đặt que dương ở các hàng,di chuyển qua đen ở các cột tương ứng xem led có sang hay không.
5.khối giao tiếp máy tính
Trang 12Linh kiện sử dụng:
PL2303 và các linh kiện cần thiêt khác như tụ ,điện trở và các dây kết nối máy tính.Ta nối trực tiếp chân TXD và RXD của PL2303 vào các chân tương ứng của 89c52
Kiểm Tra khối giao tiếp máy tính:
-Sau khi cắm vào cổng usb máy tính.Nếu led không sáng và máy không nhận cổng PL2303 thì kiểm tra xem điện áp các chân 24,17,18,,4 đã đúng mức áp cung cấp
Trang 13CHƯƠNG TRÌNH ASSEMBLY VIẾT CHO VI ĐIỀU KHIỂN
MẠCH QUANG BÁO
1. Lưu đồ thuật toán:
1.1Lưu đồ thuật toán thổng thể:
Giải thích cho lưu đồ thuật toán chung:Viết code cho chương trình chạy 1 dòng chữ nhất định,ở đây là chữ CHUỒNG GÀ,sau
đó viết chương trình cho việc nhập ký tự bất kỳ từ bàn phím
để xuất ra khối hiển thị.
Bắt đầu
Chương trình giao tiếp với máy tính
Chương trình chạy chữ “ CHUONG GA”
END
Trang 141.2Chương trình giao tiếp máy tính
Giải Thích sơ đồ khối giao tiếp:
Bắt đầuRi=1? Có dữ liệu từ PC
Nhận dữ liệu= 5Ah
Ngắt quét LED Nhận dữ liệu từ PCNhận byte báo số byte dữ liệu truyền từ PC R0= địa chỉ vùng RAM lưu dữ liệu LED Nhận DL từ PC lưu vào Ram
Gửi lại về PC
Số byte nhận PC=0?
pC=0?
Nhận byte số cột dịch dữ liệu
Gắn vùng ram còn lại giá trị 0FFh để tắt
dữ liệu led khi dịch
return Cho phép quét led lại
Dịch dữ liệu (Lê Đức Tuấn)
Trang 15• Nhận tín hiệu báo số byte nhận từ PC
• Gán cho 1 thanh ghi là vùng Ram ghi dữ liệu( ở đây chọn R0)
• Lưu dữ liệu vào Ram
• Kiểm tra xem đã nhận hết từ máy tính chưa
• Nhận số byte cột dịch dữ liệu
• Gắn vùng Ram còn lại giá trị FFh để tắt dữ liệu led khi dịch
• Cho phép quét led trở lại và cho phép dịch dữ liệu led( )
Bắt đầu
Đọc dữ liệu từ vùng ROM vào vùng RAM (ran_tam 1)
R7= địa chỉ vùng Ram hiển thị LED
Đọc dữ liệu từ vùng RAM trước đó
đã nhận từ PC (ram_ tam 1) ghi vàovùng RAM hiển
thị(led_matrix_data_1)
Số byte cần đọc=0
Tăng vùng RAM cần đọc dữ liệu lên 1
Trang 16Chương trình con QUÉT LED
Kiểm tra dịch đủ số cột hay chưa?
KEY= số byte cột dịch Quét led
end
BẮT ĐẦU
P= 0FFh (tắt LED) Đọc dữ liệu hiển thị vào A Tăng R1
R1=32+led_matrix_data_1?
R1= led_matrix _data_1 Quét cột tương ứng
Tăng R2
Trang 171.4 Chương trình tổng thể:
2. CSEG 3. ORG 0000H 4. LJMP MAIN
5. ORG 000BH 6. LJMP LED_SCAN 7. ORG 0030H 8. MAIN: 9. MOV P1,#0FFH 10. MOV P2,#0f 11. MOV TMOD,#21H
12. MOV TH0,#HIGH(-600) ;
13. MOV TL0,#LOW(-600)
14. MOV IE,#82 ;
15. MOV R1,#LED_MATRIX_DATA_1 ;
16. MOV R2,#0 ;
17. SETB TR0 ;
18. ; - Dinh Timer cho RS232
-19. MOV TL1,#timer1_low_byte 20. MOV TH1,#timer1_high_byte 21. MOV PCON,#80H 22. MOV SCON,#50H 23. SETB TR1 24. SETB REN ; -
-25. MOV SO_BYTE_NHAN_PC,#72
26. MOV KEY,#110
27. MOV CAT_TAM_SO_BYTE_CAN_DOC,#126 28. MOV DPTR, #TABLE1 ; 29. MOV A,DPL
30. MOV L_BYTE_DPTR,A ;
Xuất dữ liệu ra port 0 return
Trang 18DUNG RAM HIEN THI