ĐỒ ÁN MÔN HỌC ĐO LƯỜNG VÀ ĐIỀU KHIỂN MÁY TÍNH Thiết kế mô hình bảng LED điện tử gồm 2 ma trận LED đơn sắc sử dụng cổng song song - Pdf 23

BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA ĐIỆN TỬ
0O0
ĐỒ ÁN MÔN HỌC
ĐO LƯỜNG VÀ ĐIỀU KHIỂN MÁY TÍNH
Đề tài: Thiết kế mô hình bảng LED điện tử
gồm 2 ma trận LED đơn sắc sử dụng cổng song song
Sinh viên: Nguyễn Quang Hưng
Đỗ Vương Hưng
Vũ Văn Bách
Lớp : Liên thông CĐ – ĐH Điện tử 1 – K4
Giáo viên: Vũ Thị Thu Hương
Hà Nội, tháng 5/2011

1
MỤC LỤC
LỜI MỞ ĐẦU 03
PHẦN I: CƠ SỞ LÝ THUYẾT 04
I Cổng song song 04
II IC 8255 Giao tiếp song song 06
III Led ma trận đơn sắc 11
PHẦN II: NỘI DUNG THIẾT KẾ 12
I Phần cứng 12
II Lập trình 13
PHẦN III: KẾT LUẬN 21
I Ưu nhược điểm của mạch 21
II Tính thực tế của sản phẩm 21
III Hướng cải tiến và phát triển 21

2

kiện, mạch điện tương thích với mức logic trên.
Khoảng cách truyền của cổng song song bị hạn chế do điện dung ký sinh, hiện tượng
cảm ứng và bị suy giảm công suất. Khoảng cách này bị giới hạn trong khoảng 2m.
Trao đổi với các đường dẫn tín hiệu
LPT1: Gồm có 3 thanh ghi: thanh ghi dữ liệu, thanh ghi trạng thái và thanh ghi điều khiển
1. Thanh ghi dữ liệu: gồm có 8 bit dữ liệu, có địa chỉ là 378h.
Thanh ghi dữ liệu truyền các byte kí tự cần in.
2. Thanh ghi trang thái: có địa chỉ là 379h.

4
Các đường dẫn tín hiệu đưa các thông báo ngược lại từ máy tính được gọi là các
đường dẫn trạng thái
3. Thanh ghi điều khiển có địa chỉ: 37A
Các đường dẫn tín hiệu xuất ra từ máy tính và điều khiển máy in được gọi là các đường
dẫn điều khiển.

5
II. IC 8255 GIAO TIẾP SONG SONG
Trong hệ thống Vi xử lý hay máy vi tính nếu chỉ giao tiếp với bộ nhớ trong ROM,
RAM thì chưa đủ, máy tính còn phải giao tiếp với các thiết bị ngoại vi như bàn phím, màn
hình, máy in, để con người có thể đối thoại được máy tính cũng như dùng máy tính để
điều khiển các thiết bị khác. Để giao tiếp với nhiều thiết bị như vậy, máy tính có thể giao
tiếp qua nhiều đường và giao tiếp với nhiều hình thức khác nhau như giao tiếp nối tiếp,
giao tiếp song song. Trong giao tiếp song song, cổng LPT chỉ có 8 đường dữ liệu làm hạn
chế khả năng giao tiếp,vì vậy trong những ứng dụng đòi hỏi nhiều đường dữ liệu hơn thì
ta phải dùng phương pháp mở rộng cổng LPT, một trong những phương pháp đơn giản là
dùng IC8255.
1. Sơ đồ chân 8255
Trong đó:
Chân 1 đến 4, 37 đến 40 (PA0 – PA7): là các đường xuất nhập có tên là cổng A.

2. Các chế độ hoạt động của IC 8255

8
Các cổng A, B, C được phân thành hai nhóm. Nhóm A gồm cổng A và nửa cao của
cổng C, nhóm B gồm cổng B và nửa thấp còn lại của cổng C. Có 3 chế độ hoạt động khác
nhau:
- Chế độ 0: vào/ra thông thường.
- Chế độ 1: chốt vào/ra.
- Chế độ 2: bus hai chiều.
a) Chế độ 0
Đây là chế độ vào ra cơ bản của vi mạch, nó đảm bảo dữ liệu được đưa ra hoặc ghi vào
các cổng riêng biệt.
Trong chế độ này, vi mạch có các chức năng sau:
- Vi mạch hoạt động gồm hai cổng 8 bít và hai cổng 4 bit
- Các cổng có thể là cổng vào hoặc ra
- Các tín hiệu ra được chốt lại.
- Các tín hiệu vào không được chốt.

9
b) Chế độ 1
Trong chế độ này cổng A và cổng B sử dụng các đường dây tín hiệu của cổng C để tạo
hoặc tiếp nhận tín hiệu hội thoại ( hanshking signal ) nghĩa là mọi quá trình trao đổi dữ
liệu của từng cổng đều dùng các tín hiệu hội thoại. Các chức năng cơ bản của chế độ 1 là
- Vi mạch hoạt động gồm hai nhóm, nhóm A và nhóm B.
- Mỗi nhóm chứa một cổng 8 bit và một cổng điều khiển 4 bit.
- Cổng 8 bit có tgheer là cổng vào, hoặc cổng cổng ra, cả hai cổng vào ra đều là
cổng chốt.
- Các cổng 4 bit được sủ dụng để điều khiển và xác định trạng thái của các cổng 8
bit
c) Chế độ 2

Trong đồ án môn này, nhóm chọn phương pháp quét LED ma trận theo hàng, các chân
tương ứng của hàng 2 LED được nối với nhau và nối với cực C của transistor A1015, cực
E nối lên VCC, cực B của các transistor nối với các điện trở rồi nối tiếp đến Port A của IC
8255. Mỗi chân của 2 Port B và Port C nối với LED ma trận 1, LED ma trận 2 như trên
mạch nguyên lý.
Để đáp ứng được yêu cầu điều khiển ta nối chân 11 của cổng LPT thuộc thanh ghi
trạng thái với một nút nhấn 6 chân chung với chân Reset của IC 8255 như trên sơ đồ
nguyên lý.
II. LẬP TRÌNH
1. Hoạt động của mạch

13
Khi chạy chương trình chúng ta nhập dòng chữ vào trong ô trống trên giao diện sau đó
kích vào nút nhấn hoặc nhấn phím ENTER trên bàn phím máy vi tính. Nếu dòng chữ hợp
lệ thì dòng chữ sẽ hiển thị lên 2 LED ma trận. Còn nếu dòng chữ nhập vào không hợp lệ,
đó là trong dòng chữ nhập vào có chữ số hoặc là có dấu thì chương trình sẽ yêu cầu bạn
nhập lại cho đến khi nào dòng chữ bạn nhập vào là hợp lệ thì chương trình mới cho hiển
thì lên LED ma trận. Khi bạn đã nhập dòng chữ hợp lệ và hiển thị được lên LED ma trận
nhưng sau đó bạn muốn thay bằng dòng chữ khác thì bạn phải nhấn nút nhấn trên mạch
để dừng chương trình và nhập lại dòng chữ mới.
2. Lưu đồ thuật toán
3. Chương trình

Nhập dòng chữ vào ô text 1
Cắt các kí tự trống trước và sau dòng chữ
Đổi các dòng chữ thành chữ hoa
Đổi các kí tự trong dong chữ sang dạng
số ASCII và đưa vào trong 1 chuỗi số
Tạo chuỗi mã các kí tự đã nhập vào
Text 1 đưa vào một chuỗi mã

TimerLpt.Enabled = False
Txt.Enabled = False

15
End Sub
Private Sub Command3_Click()
End Sub
Private Sub Form_Load()
Txt.Enabled = False
LptAdd = &H378
PortA = &H3
PortB = &H2
PortC = &H1
CRG = &H0
caiDat8255 ' goi chuong trinh cai dat cho 8255
tatMatrix ' goi chuong trinh tat Matrix
' bo font chua hoa khong dau A-Z va 0-9
boNhoDem = Array(&HFF, &HE0, &HD7, &HB7, &HB7, &HD7, &HE0, &HFF,
&HFF, &H80, &HB6, &HB6, &HC6, &HF9, &HFF, &HFF, _
&HFF, &HC1, &HBE, &HBE, &HBE, &HDD, &HFF, &HFF, &HFF, &H80,
&HBE, &HBE, &HBE, &HC1, &HFF, &HFF, _
&HFF, &H80, &HB6, &HB6, &HBE, &HFE, &HFF, &HFF, &HFF, &H80,
&HB7, &HB7, &HBF, &HBF, &HFF, &HFF, _
&HFF, &HC1, &HBE, &HBE, &HB6, &HB0, &HFF, &HFF, &HFF, &H80,
&HEF, &HEF, &HEF, &H80, &HFF, &HFF, _
&HFF, &HFE, &HBE, &H80, &HBE, &HFE, &HFF, &HFF, &HFF, &HFF,
&HBD, &HBE, &HBE, &H81, &HFF, &HFF, _
&HFF, &H80, &HF7, &HEB, &HDD, &HFE, &HFF, &HFF, &HFF, &H80,
&HFE, &HFE, &HFE, &HFE, &HFF, &HFF, _
&HFF, &H80, &HDF, &HEF, &HEF, &HDF, &H80, &HFF, &HFF, &H80,

Out LptAdd + 2, CRG
Out LptAdd + 2, &H4
End Sub
Private Sub Timer_Timer() ' Chuong trinh hien thi Gio-phut-giay - Ngay- thang- nam
NgayGio.Caption = "Time : " & Format(Now, "hh:nn:ss") & " - Date : " & Format(Now,
"dd/mm/yyyy")

17
End Sub
Sub outPortA(data As Integer) ' Xuat du lieu ra PORTA - 8255 - Quet Hang
Out LptAdd + 2, &H7
Out LptAdd, data
Out LptAdd + 2, PortA 'xuat ra PORTA = data
Out LptAdd + 2, &H7
End Sub
Sub outPortB(data As Integer) ' Xuat du lieu ra PORTB - 8255 - Quet Cot Matrix1
Out LptAdd + 2, &H6
Out LptAdd, data
Out LptAdd + 2, PortB 'xuat ra PORTB = data
Out LptAdd + 2, &H6
End Sub
Sub outPortC(data As Integer) ' Xuat du lieu ra PORTC - 8255 - Quet cot Matrix2
Out LptAdd + 2, &H5
Out LptAdd, data
Out LptAdd + 2, PortC 'xuat ra PORTC = data
Out LptAdd + 2, &H5
End Sub
Sub quetLed() ' Chuong trinh quet Matrix
Dim x, i, j, Tre As Integer
tatMatrix

outPortC (&H0)
End Sub
Private Sub TimerLpt_Timer() 'Kiem tra va xuat du lieu ra Matrix
Dim LenTxt As Integer
Dim Str1, Str2 As String

19
LenTxt = Len(Txt.Text)
Str1 = Right(Txt.Text, 1)
If (LenTxt = 0) Then ' Neu khong co ki tu
Str1 = ""
Str2 = ""
Stt1 = 288 ' tat Matrix
Stt2 = 288
ElseIf (LenTxt = 1) Then ' Neu co 1 ki tu
Str1 = " "
Stt1 = 288
Str2 = Txt.Text
Stt2 = Asc(Str2) ' chuyen string - asc
ElseIf (LenTxt = 2) Then ' Neu co 2 ki tu
Str1 = Mid(Txt.Text, 1, 1)
Str2 = Mid(Txt.Text, 2, 1)
Stt1 = Asc(Str1) ' chuyen string - asc
Stt2 = Asc(Str2) ' chuyen string - asc
End If
' kiem tra cac ky tu A-Z
If ((Stt1 > 64) And (Stt1 < 98)) Then
Stt1 = (Stt1 - 65) * 8
' Kiem tra cac so 0-9
ElseIf ((Stt1 > 47) And (Stt1 < 59)) Then

- Hạn chế về hiển thị do chỉ có 2 LED ma trận, nên khi rất khó đọc nội dung của dòng
chữ.
II. TÍNH THỰC TẾ CỦA SẢN PHẨM
Do những nhược điểm trên nên tính thực tế của sản phẩm không cao, chỉ có thể làm
mạch hiển thị quang báo thông thường với nội dung đơn giản.
II. HƯỚNG CẢI TIẾN VÀ PHÁT TRIỂN
Để tăng tính thực tế, và ứng dụng được sản phẩm vào đời sống thì cần phải khắc phục
những nhược điểm của sản phẩm. Một hướng cải tiến của mạch là phải tăng số LED ma
trận của mạch lên để tăng khả năng hiển thị của mạch. Với sơ đồ mạch phía dưới có thể
tăng số LED ma trận lên 5 LED ma trận đảm bảo mạch hiển thị tốt. Mạch sẽ mở rộng
cổng LPT lên 48 bit ra, bằng cách dùng 2 IC 8255, như vậy sẽ có 6 Port dữ liệu để điều
khiển 5 LED ma trận .
Hoạt động của mạch: Do nhiệm vụ của mạch chỉ là xuất dữ liệu nên chân /RD của
IC 8255 sẽ được nối thẳng với nguồn 5V, còn chân /CS của IC 8255 được nối với chân 16
của cổng song song, chân /CS của IC 8255 thứ 2 nối với chân 16 qua 1 cổng NOT như
trên sơ đồ. Như vậy khi chân /CS thay đổi mức thì sẽ chọn được IC 8255 được xuất dữ
liệu.

22


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status