1. Trang chủ
  2. » Luận Văn - Báo Cáo

ĐỒ Á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

22 741 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 515 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 52011 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 LỜI MỞ ĐẦU Ngày nay, khi công nghiệp tự động hóa ngày càng phát triển thì việc sử dụng máy tính để điều khiển các hệ thống tự động đẫ trở nên rất phổ biến. Với một chiếc máy tính và một số thao tác chúng ta có thể điều khiển được cả một dây truyền sản xuất tự động, các hệ thống đèn điện… Máy tính có thể giao tiếp với các thiết bị ngoài thông qua cổng RS232 ( cổng nối tiếp), cổng LPT ( cổng song song ), qua các khe cắm mở rộng… Trong công nghiệp thông dụng nhất hiện nay là sử dụng RS232 và LPT để máy tính giao tiếp với mạch ngoài. Ngôn ngữ lập trình được sử dụng có thể là Visual Basic, Turbo Pascan, hay ngôn ngữ lập trình C… Để đưa kiến thức học được trên lớp vào thực tế, và để hiểu rõ hơn về kiến thức môn học, nhóm chúng em xin làm đề tài số 19: “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”. Song đây là lần đầu tiên nhóm làm đề tài môn ghép nối máy tính nên nhóm đã gặp không ít những khó khăn trong quá trình làm đề tài. Tuy đã hoàn thành được đề tài nhưng sẽ không tránh khỏi những thiếu sót , vì vậy nhóm xin nhận được sự góp ý của các các thầy cô và các bạn để đề tài của nhóm có thể hoàn thiện hơn. Xin trân trọng cảm ơn

Trang 1

Đ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

Trang 2

MỤC LỤC

Trang 3

LỜI MỞ ĐẦU

Ngày nay, khi công nghiệp tự động hóa ngày càng phát triển thì việc sử dụng máy tínhđể điều khiển các hệ thống tự động đẫ trở nên rất phổ biến Với một chiếc máy tính vàmột số thao tác chúng ta có thể điều khiển được cả một dây truyền sản xuất tự động, cáchệ thống đèn điện…

Máy tính có thể giao tiếp với các thiết bị ngoài thông qua cổng RS232 ( cổng nối tiếp),cổng LPT ( cổng song song ), qua các khe cắm mở rộng… Trong công nghiệp thông dụngnhất hiện nay là sử dụng RS232 và LPT để máy tính giao tiếp với mạch ngoài Ngôn ngữlập trình được sử dụng có thể là Visual Basic, Turbo Pascan, hay ngôn ngữ lập trình C… Để đưa kiến thức học được trên lớp vào thực tế, và để hiểu rõ hơn về kiến thức môn

học, nhóm chúng em xin làm đề tài số 19: “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” Song đây là lần đầu tiên nhóm làm đề

tài môn ghép nối máy tính nên nhóm đã gặp không ít những khó khăn trong quá trình làmđề tài

Tuy đã hoàn thành được đề tài nhưng sẽ không tránh khỏi những thiếu sót , vì vậynhóm xin nhận được sự góp ý của các các thầy cô và các bạn để đề tài của nhóm có thểhoàn thiện hơn

Xin trân trọng cảm ơn!

Hà Nội, tháng 05 năm 2011

Trang 4

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

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.

Trang 5

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

Trang 6

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ànhì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ể giaotiế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ạnchế 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.

Chân 18 đến 25 (PB0 – PB7): là các đường nhập xuất có tên cổng B.

Chân 10 đến 13, 14 đến 17 (PB0 – PB7): là các đường nhập xuất có tên cổng C.

Chân 27 đến 34 (D0 – D7): là các đường dữ liệu (data) hoạt động hai chiều, dẫn tín hiệu

điều khiển từ vi xử lý ra các thiết bị bên ngoài đồng thời nhận các dữ liệu từ các thiết bịđiều khiển bên ngoài vào vi xử lý

Chân 35 (Reset input): ngõ vào xóa, chân reset phải được nối với tín hiệu reset out của

vi xử lý để không làm ảnh hướng đến mạch điều khiển Khi reset, các cổng của 8255A là

Trang 7

các ngõ vào, đồng thời tất cả các dữ liệu trên thanh ghi bên trong 8255A đều bị xóa,8255A trở về trạng thái ban đầu săn sàng làm việc.

Chân 6 (CS\): tín hiệu ngõ vào chip select (CS\) được điều khiển bởi vi xử lý, dùng để

lựa chọn 8255A làm việc khi vi xử lý giao tiếp với nhiều thiết bị

Chân 5 (RD\): ngõ vào đọc dữ liệu (Read Input).

Chân 36 (WR\) : ngõ vào ghi dữ liệu (Write Input).

Chân 8,9 (A1, A0): ngõ vào địa chỉ (Address Input), dùng nhận địa chỉ vào để lựa chọn

thanh ghi và các cổng

Chân 26 (Vcc) : nguồn 5 VDC.

Chân 7 (GND) : GND 0 VDC

Tính linh hoạt của vi mạch thể hiện ở khả năng lập trình Qua một thanh ghi điều khiển,người sử dụng xác định chế độ hoạt động và cổng nào cần được sử dụng như là lối vàohoặc lối ra Các chân ra D0 D7 tạo nên bus dữ liệu hai chiều có độ rộng là 8 bit 8255được chọn bởi tín hiệu mức thấp ở ngõ vào chọn chíp CS\ Khi 8255 không được chọn, bộđệm bus dữ liệu nối 8255 với hệ thống được thả nổi Khi được chọn, các ngõ vào A0 vàA1 được dùng để chọn thanh ghi điều khiển hoặc một trong các cổng vào/ra để trao đổidữ liệu Các hoạt động cơ bản của 8255 được tóm tắt trong bảng sau:

Trang 8

Cấu trúc từ điều khiển:

Các trạng thái làm việc của 8255:

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

Trang 9

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ủacổ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ácnhau:

- 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àocá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

Trang 10

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ạohoặ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 8bit

c) Chế độ 2

Chế độ hoạt động này cung cấp khả năng trao đổi dữ liệu với các thiết bị ngoại vi sửdụng một đường truyền 8 bit để vừa truyền vừa nhận dữ liệu (Bú vào/ra hai chiều) Cáctín hiệu hội thoại được dùng trong chế độ này để điều khiển việc truyền dữ liệu cũngtương tụ như chế độ 1

Các chức năng cơ bản của chế độ hai:

- Trong chế độ này chỉ có nhóm A được sử dụng

- Cổng A là cổng vào/ra hai chiều 8 bit

- Các tín hiệu vào ra đều được chốt lại

- bit của cổng C được sử dụng làm cổng điều khiển, trạng thái cho cổng A 8 bit

Trang 11

III LED MA TRẬN ĐƠN SẮC

LED ma trận đơn sắc gồm có 8 hàng và 8 cột, chỉ hiển thị một màu nhất định như đỏ,xanhhoặc vàng

Có 2 phương pháp quét LED ma trận

Trang 12

 Quét theo cột : trái với quét theo hàng, phương pháp quét theo cột là phải dịch bit theo cột còn đưa dữ liệu vào hàng

PHẦN II: NỘI DUNG THIẾT KẾ

I PHẦN CỨNG

Trang 13

Để quét được 2 LED ma trận đơn sắc thì cần phải có 24 đường dẫn dữ liệu, như vậyvới 3 Port dữ liệu thì chỉ cần 1 IC 8255 là có thể đáp ứng được yêu cầu điều khiển và nhưvậy ta có mạch nguyên lý như trên Trong đó 8 bit dữ liệu của cổng LPT nối với Port Dcủa IC 8255, các chân điều khiển của IC 8255 được nối với các chân của thanh ghi điềukhiển của cổng LPT.

LED ma trận có thể được quét theo 2 phương pháp: quét theo hàng hoặc quét theo cột.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ântươ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

Trang 14

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ợplệ 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ạnnhậ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ểnthì 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ậnnhư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ã

có

không

Nhấn nút trên mạch

Có phần tử nào trong chuỗi số nhỏ

hơn 65 và khác 32 hoặc >90 không?

Quét chuỗi mã lên

2 LED ma trận Nhấn Start hoặc ấn ENTER

Trang 15

Private LptAdd, CRG, PortA, PortB, PortC, d As Integer

Dim boNhoDem, soThuTu, Stt1, Stt2 As Integer

Private Sub CmdExit_Click() ' Phim thoat chuong trinh

Trang 16

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,

&HDF, &HE7, &HFB, &HFD, &H80, &HFF, _

&HFF, &HC1, &HBE, &HBE, &HBE, &HBE, &HC1, &HFF, &HFF, &H80,

&HB7, &HB7, &HB7, &HCF, &HFF, &HFF, _

&HFF, &HCF, &HB7, &HB7, &HB7, &H80, &HFF, &HFF, &HFF, &H80,

&HB7, &HB3, &HB5, &HCE, &HFF, &HFF, _

Trang 17

&HFF, &HCF, &HB6, &HB6, &HB6, &HB6, &HF9, &HFF, &HFF, &HBF,

&HBF, &H80, &HBF, &HBF, &HFF, &HFF, _

&HFF, &H81, &HFE, &HFE, &HFE, &H80, &HFF, &HFF, &HFF, &H83,

&HFD, &HFE, &HFE, &HFD, &H83, &HFF, _

&HFF, &H81, &HFE, &HFE, &HE1, &HFE, &HFE, &H81, &HFF, &HDE,

&HED, &HF3, &HF3, &HED, &HDE, &HFF, _

&HFF, &HBE, &HDD, &HEB, &HF7, &HEF, &HDF, &HBF, &HFF,

&HBC, &HBA, &HB6, &HAE, &H9E, &HBE, &HFF, _

&HFF, &HC1, &HBC, &HBA, &HA6, &H9E, &HC1, &HFF, &HFF, &HFF,

&HDE, &H80, &HFE, &HFF, &HFF, &HFF, _

&HFF, &HDE, &HBC, &HBA, &HB6, &HAE, &HDE, &HFF, &HFF,

&HBE, &HBE, &HB6, &HB6, &HC9, &HFF, &HFF, _

&HFF, &HF7, &HE7, &HD7, &HB7, &HE0, &HF7, &HFF, &HFF, &H86,

&HB6, &HB6, &HB6, &HB6, &HF9, &HFF, _

&HFF, &HC1, &HB6, &HB6, &HB6, &HB6, &HF9, &HFF, &HFF, &HFF,

&HBE, &HBD, &HBB, &HB7, &H8F, &HFF, _

&HFF, &HC9, &HB6, &HB6, &HB6, &HB6, &HC9, &HFF, &HFF, &HCF,

&HB6, &HB6, &HB6, &HB6, &HC1, &HFF, _

&HFF, &HFF, &HFF, &HFF, &HFF, &HFF, &HFF, &HFF, &HFF)

End Sub

Sub caiDat8255() ' Chuong trinh cai dat 8255

Out LptAdd + 2, &H4

Out LptAdd, &H80

Out LptAdd + 2, CRG

Trang 18

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

Trang 20

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

Trang 21

' Kiem tra cac so 0-9

ElseIf ((Stt2 > 47) And (Stt2 < 59)) Then

Public Declare Function InVal Lib "inpout32.dll" _

Alias "Inp32" (ByVal PortAddress As Integer) As Integer

Public Declare Sub Out Lib "inpout32.dll" _

Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Trang 22

1 Ưu điểm

máy tính

2 Nhược điểm

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àmmạ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ụcnhữ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 matrậ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ộngcổ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ềukhiể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 16củ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

Ngày đăng: 03/11/2014, 14:55

HÌNH ẢNH LIÊN QUAN

1. Sơ đồ chân 8255 - ĐỒ Á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
1. Sơ đồ chân 8255 (Trang 6)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w