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

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

20 464 0

Đ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 20
Dung lượng 587,5 KB
File đính kèm File Chương Trình Kèm Theo.rar (3 MB)

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

Nội dung

CỔNG SONG SONG : Là một khe gắn trên máy tính ngày nay hầu hết được tích hợp trên mainboard thường được dùng để nối với máy in printer hoặc thiết bị sử dụng cổng song khác.. Ngoài ra nó

Trang 1

BỘ  CÔNG THƯƠNG

TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI

CỘNG HOÀ  XàHỘI CHỦ NGHĨA VIỆT NAM

Độc lập - Tự do - Hạnh phúc

 

ĐỒ ÁN MÔN HỌC ĐO LƯỜNG ĐIỀU KHIỂN MÁY TÍNH

Đề Số: 19 NỘI DUNG 

1 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.

Yêu cầu:

 Mạch điện tử được thiết kế trên máy tính bằng phần mềm chuyên dụng

 Sử dụng PPI 8255A để ghép nối với cổng song song và điều khiển 02 ma trận led

 Xây dựng 01 bảng mã font gồm các chữ hoa không dấu

 Hệ thống có thể hiển thị 1 dòng chữ chạy (không dấu) bất kỳ nhập từ bàn phím máy tính

Trang 2

Mục Lục

I Giới thiệu về Visual Basic 6.0

II Cổng song song

III Vào ra dữ liệu

IV Code chương trình

V Giao diện phần mềm

VI Sơ đồ nguyên lý mạch

VII.Nguyên lý hoạt động

VIII Ưu điểm – Nhược điểm

IX Tài liệu tham khảo

Trang 3

I GIỚI THIỆU VỀ VISUAL BASIC 6.0

Visual Basic 6.0 (VB) là một ngôn ngữ lập trình hướng đối tượng, trực quantrên môi trường Windows VB cung cấp một bộ công cụ hoàn chỉnh để đơn giản hóa việc triển khai lập trình ứng dụng, có thể nói đây là cách nhanh và tốt nhất để học và lập trình ứng dụng trên Microsoft Windows

Phần "Visual- Trực quan" đề cập đến phương pháp được sử dụng

để tạo giao diện đồ họa người dùng (GUI - Graphical User Interface)

VB có sẵn rất nhiều những bộ phận trực quan gọi là các điều khiển (Controls) mà người lập trình có thể sắp đặt vị trí và quyết định các đặc tính của chúng trên một khung giao diện màn hình, gọi là form Việc thiết kế các giao diện người dùng ứng dụng trên VB

có thể hình dung đơn giản như việc vẽ giao diện trên Word hoặc trên Paint Prush của Windows

Phần "Basic" đề cập đến ngôn ngữ BASIC (Beginners All-Purpose Symbolic Instruction Code), một ngôn ngữ lập trình đơn giản, dễ học, được viết ra cho các khoa học gia- những người không có thì giờ để học lập trình điện toán sử dụng

Visual Basic còn có hai dạng khác là Visual Basic for Application (VBA) - một ngôn ngữ nằm phía sau các chương trình Word, Excel,

VB, Project, v.v còn gọi là Macros Dùng VB trong Microsoft Office,

ta có thể làm tăng chức năng các ứng dụng bằng cách tự động hóa các chương trình Và VBScript được dùng lập trình phục vụ các tương tác trên giao diện web

Visual Basic đã có rất nhiều phiên bản, 2 phiên bản tốt nhất có thể nói đến là Visual Basic 6.0 (VB6) và Visual Basic NET (VB7 hay VB.NET) Về mặt kiến trúc, hai phiên bản này gần khác nhau hoàn toàn VB6 phát triển ứng dụng dựa trên công nghệ COM (Common Object Model)- một công nghệ rất phát triển ít nhất cho đến năm

2000 Còn VB.NET dựa trên nền tảng công nghệ NET Framework - một công nghệ hiện đại hơn và đang rất được ưa chuộng Giáo trình này chỉ đề cập đến việc sử dụng và phát triển phần mềm ứng dụng trên phiên bản VB6 (gọi tắt là VB) Bởi lẽ phiên bản này rất dễ học và phát triển Việc tìm hiểu ngôn ngữ VB.NET là rất khuyến khích cho nhưng ai đang muốn tìm cho mình một bộ công cụ phát triển chuyên nghiệp trên đa môi trường hoạt động Tuy nhiên, khi nắm chắc

những nội dung VB6 từ giáo trình này, bạn đọc đã có thể sẵn sàng tiếp cận VB.NET với tư thế rất thuận lợi

Trang 4

Giao diện của VB :

II CỔNG SONG SONG :

Là một khe gắn trên máy tính (ngày nay hầu hết được tích hợp trên mainboard) thường được dùng để nối với máy in (printer) hoặc thiết bị sử dụng cổng song khác Mặc dù tốc độ truyền dữ liệu của cổng parallel chậm hơn so với các chuẩn như SCSI và IDE, nhưng do đặc điểm là rẻ tiền (được tích hợp sẵn) và dễ truy cập (có thể gắn thiết bị từ bên ngoài) nên nó thường được sủ dụng cho nhiều loại đĩa hoặc băng từ cho phép tháo lắp được (removable disk and tape drives) Ngoài ra nó còn được sử dụng rộng rãi để truyền dữ liệu giữa hai máy tính với nhau thông qua các ứng dụng truyền thông (như Direct cable connection của Windows, Laplink) và sợi cáp nối laplink Cổng song song chuẩn IEEE 1284 cung cấp khả năng truyền dữ liệu hai chiều với tốc độ cao và

hỗ trợ cáp nối với chiều dài tới 32 feet

1.Một số hình ảnh về cổng song song :

Sơ đồ chân :

Trang 5

Cổng song song ( LPT )

1 Sơ đồ cấu tạo cổng song song

+ Chức năng các chân Của cổng LPT

1 /STROBE Ra Tín hiệu thông báo có 1 byte săn sang được in

10 /ACK Vào Tín hiệu xác nhận đã nhận được 1byte của máy in với máy tính.

12 PE Vào Tín hiệu báo hết giấy của máy in

13 SLCT Vào Tín hiệu báo trạng thái sẵn sang của máy in

14 /AF Ra Tín hiệu yêu cầu nạp một dòng mớicủa máy tính đối với máy in

15 /ERROR Vào Tín hiệu thông báo lỗi của máy in với máy tính

16 INIT Ra Tín hiệu khởi động lại của máy tínhđối với máy in

17 SLCTIN Ra Tín hiệu chọn máy in của máy tính

Trang 6

18-25 GND Tín hiệu nối mass

- Cổng song song đựơc thiết kế đầu tiên bởi công ty Cẻntoníc nhằm mục đích ghép nối máy tính với máy in Sau nay nó được tiêu chuẩn hoá và có mặt ở hầu hết các máy tính

Cấu trúc cổng song song gồm đường dữ liệu, 4 đuờng dẫn điều khiển và 5 đường dẫn trạng thái Các đường dẫn này đều thích mức TTL ( 0;5V ) do vậy rất thuận tiện, đơn giản cho việc ghép nối vì nhiều linh kiện, mạch điện tương thích với mức logic trên

khoảng các truyền dẫn bằng công song song bi hạn chế nhiều điện dung ký sinh ( khoảng 2m ) Nếu muốn tuyền đi xa cần phải có các bộ đệm, các phương pháp làm giảm điện dung kí sinh

2 Các thanh ghi của cổng song song

Cổng song song có 3 thanh ghi chính là thanh ghi cơ sở, thanh ghi trạng thái và thanh ghi điều khiển, tuỳ theo cổng song song trang bị trên máy tính mà các thanh ghi này có địa chỉ khác nhau :

Bảng địa chỉ các cổng trên PC:

Cổng song

song thanh ghi dữ liệuĐịa chỉ thanh ghi ghi trạng tháiĐịa chỉ thanh Địa chỉ thanh ghiđiều khiển

Trang 7

Định dạng các thanh ghi:

a Thanh ghi dữ liệu (hai chiều):

b Thanh ghi trạng thái máy in (chỉ đọc)

Tín hiệu

máy in BUSY /ACK PAPEREMPTY SELECT /ERROR /IRQ x x

Số chân

-c Thanh ghi điều khiển

Tín

hiệu

máy in

x x DIR IRQ

Enable /SELECTIN /INIT /AUTOFEED /STROBE Số

chân

cắm

IRQ Enable: Yêu cầu ngắt cứng; 1: cho phép, 0: không cho phép

Chân BUSY được nối với cổng đảo trước khi đưa vào thanh ghi trạng thái, các bit /SELECTIN, /AUTOFEED và /STR được đưa vào cổng đảo trước khi đưa ra các chân của cổng máy in

Thông thường tốc độ xử lý dữ liệu của các thiết bị ngoại vi như máy in chậm hơn

PC rất nhiều nên các đường /ACK, BUSY và /STR được sử dụng cho kỹ thuật bắt tay Khởi đầu, PC đặt dữ liệu lên bus sau đó kích hoạt đường /STR xuống mức thấp

để thông tin cho máy in biết dữ liệu đã ổn định trên bus Khi máy in xử lý xong dữ liệu, nó sẽ trả lại tín hiệu /ACK xuống mức thấp để ghi nhận PC đợi cho đến khi đường BUSY từ máy in xuống thấp (máy in không bận) thì sẽ đưa tiếp dữ liệu lên bus

Trang 8

III VÀO RA DỮ LIỆU VỚI 8255

D0 – D7 : Bus dữ liệu

Reset : Cho phép khởi tạo trạng thái ban đầu cho vi mạch /CS (Chip Select): Tín hiệu chọn vi mạch

/RD (read) : Tín hiệu cho phép đọc

/WR (Write) : Tín hiệu cho phép ghi

A0 – A1 :Tín hiệu địa chỉ

PA7 – PA0 : Cổng A

PB7 – PB0 : Cổng B

PC7 – PB0 : Cổng C

PHẦN GHÉP NỐI VỚI VI XỬ LÝ

Trang 9

Hình 3: Sơ đồ khối vi mạch 8255A

PHẦN GHÉP NỐI VỚI THIẾT BỊ NGOÀI

Đệm

dữ

liệu

Điều khiển nhóm A

Cửa A (8bit)

Cửa C nửa thấp (4 bit)

Điều khiển nhóm B

Cửa B (8bit)

Cửa C nửa cao (4 bit)

A0

RD

A1

Reset

WR

8 I/O

PA0 – PA7

4 I/O

PC0 – PC4

4 I/O

PC3 – PC0

4 I/O

PB7 – PB0

Trang 10

Phần ghép nối với thiết bị ngoài bao gồm:

- Cổng A: Thanh ghi đệm dữ liệu (8bit) vào/ra tùy theo chương trình khởi phát

- Cổng B: Thanh ghi đệm số liệu (8bit) vào ra tùy theo chương trình khởi phát

- Cổng C: nửa cao (4 bit)

- Cổng C: Nửa thấp (4 bit)

Tùy theo chế độ sử dụng ghi bởi từ điều khiển cổng C có thể được dùng:

- Trao đổi dữ liệu vào hoặc ra

- Điều khiển hoặc đối thoại với thiết bị ngoài và VXL khi cổng A và B ở chế độ

1 và 2

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

Bảng địa chỉ lựa chọn thanh ghi và các cổng:

A0 A1 Cổng và các thanh ghi

1 1 Thanh ghi điều khiển

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ào hoặ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

Trang 11

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 đổi dữ liệu Các hoạt động cơ bản của 8255 được tóm tắt trong bảng sau:

L L L H L Port A >>Bus dữ liệu

L H L H L Port B >> Bus dữ liệu

H L L H L Port C >> Bus dữ liệu

L L H L L Bus dữ liệu - Port A

L H H L L Bus dữ liệu - Port B

H L H L L Bus dữ liệu - Port C

H H H L L Bus dữ liệu - Từ điều khiển

x x x x H Bus dữ liệu ở trạng thái Hi - Z

x x H H L Bus dữ liệu ở trạng thái Hi - Z

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

Qua bảng trạng thái của 8255, ta thấy thanh ghi điều khiển đặt dưới địa chỉ bên trong

là A1 = [1], A0 = [1] Trong một chu kỳ ghi lên thanh ghi điều khiển, xác định cổng vào/ra cũng như chế độ hoạt động Khi chân RESET ở mức [H], thanh ghi điều khiển

sẽ được đặt lại và định nghĩa toàn bộ 24 đường dẫn như là các ngõ vào.Trạng thái này kéo dài tới khi chương trình ứng dụng viết từ điều khiển vào thanh ghi điều khiển để xác định chế độ làm việc của 8255

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

Chế độ 0:

Từ điều khiển:

Chế độ 0 xác lập hai cổng 8 bit (A và B) và hai cổng 4 bit (nửa cao và nửa thấp của C) Bất kỳ cổng nào cũng có thể nhập hoặc xuất dữ liệu một cách độc lập tùy theo các bit D4, D3, D1 và D0 Có 24 = 16 khả năng vào/ra trong chế độ này

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

Trang 12

Sơ đồ kết nối giữa IC 8255 với cổng máy in :

Trang 13

Sơ đồ kết nối máy in

Vì 8255 được khởi tạo làm việc ở Mode 1 : Port A nhập dữ liệu Port B xuất dữ liệu nên khi máy tính gởi tín hiệu STROBE đến 8255, yêu cầu 8255 nhận dữ liệu do máy tính gởi đến và khi 8255 nhận dữ liệu thì nó tạo ra một tín hiệu ở PC5 đưa qua ACK báo cho máy tính biết là 8255 đã nhận dữ liệu do máy tính gởi đến, đồng thời lúc đó ở PC3 của 8255 tạo tín hiệu INTRA tác động đến chân ngắt INT1 (pin 13) của 8051 làm cho 8051 chạy chương trình phục vụ ngắt và dữ liệu từ máy tính qua 8255 sẽ được gởi đến CPU để xử lý

IV CODE CHƯƠNG TRÌNH

Option Explicit

Dim Toc_do As Integer

Trang 14

Dim string_tran As String

Private Index_scan, i, pi As Long

Private start As Boolean

Private Quyet_ma As Boolean

Private Sub About_Click()

MsgBox " this program receve a string and send to led matrix thoulgh ic 8255" End Sub

Private Sub cmdexit_Click()

End

End Sub

Private Sub cmdStartStop_Click()

If Me.Timer1.Enabled = False Then

Me.Timer1.Enabled = True

Else: Me.Timer1.Enabled = False

End If

End Sub

Private Sub cmdtrans_Click()

Quyet_ma = True

get_code

State = Not State

start = True

pi = 0

i = 1

Me.Timer1.Enabled = True

Call add_code(0, 0, 0, 0, 0, 0, 0, 0)

End Sub

Private Sub get_code()

Dim i As Integer

string_tran = Me.Text1.Text

string_tran = UCase(string_tran)

Index_array_code = 0

i = 1

Do While (i < Len(string_tran) + 1)

Dim char_test As String

char_test = Mid(string_tran, i, 1)

Select Case (char_test)

Case ("A")

Call add_code(31, 40, 72, 136, 72, 40, 31, 0)

Trang 15

Case ("B")

Call add_code(255, 145, 145, 145, 113, 18, 12, 0) Case ("C")

Call add_code(60, 66, 129, 129, 129, 2, 0, 0) Case ("D")

Call add_code(255, 129, 129, 129, 66, 60, 0, 0) Case ("E")

Call add_code(255, 145, 145, 145, 145, 129, 0, 0) Case ("F")

Call add_code(255, 144, 144, 144, 144, 128, 0, 0) Case ("G")

Call add_code(60, 66, 129, 137, 137, 15, 0, 0) Case ("H")

Call add_code(255, 16, 16, 16, 16, 255, 0, 0)

Case ("I")

Call add_code(129, 129, 129, 255, 129, 129, 129, 0) Case ("J")

Call add_code(2, 129, 129, 254, 128, 128, 0, 0) Case ("K")

Call add_code(255, 24, 36, 66, 129, 1, 0, 0)

Case ("L")

Call add_code(255, 1, 1, 1, 1, 1, 0, 0)

Case ("M")

Call add_code(255, 64, 32, 16, 32, 64, 255, 0) Case ("N")

Call add_code(255, 96, 16, 8, 6, 255, 0, 0)

Case ("R")

Call add_code(255, 152, 148, 146, 97, 0, 0, 0) Case ("O")

Call add_code(126, 129, 129, 129, 129, 126, 0, 0) Case ("P")

Call add_code(255, 144, 144, 144, 144, 96, 0, 0) Case ("S")

Call add_code(97, 145, 145, 145, 146, 12, 0, 0) Case ("Q")

Call add_code(126, 129, 129, 137, 133, 126, 1, 0) Case ("U")

Call add_code(252, 2, 1, 1, 1, 2, 252, 0)

Case ("V")

Call add_code(248, 4, 2, 1, 2, 4, 248, 0)

Case ("T")

Call add_code(128, 128, 128, 255, 128, 128, 128, 0) Case ("X")

Call add_code(195, 36, 24, 24, 36, 195, 0, 0)

Case ("W")

Call add_code(252, 3, 4, 24, 4, 3, 252, 0)

Trang 16

Case ("Z")

Call add_code(131, 133, 137, 145, 161, 193, 0, 0)

Case ("Y")

Call add_code(192, 32, 16, 15, 16, 32, 192, 0)

Case (" ")

Call add_code(0, 0, 0, 0, 0, 0, 0, 0)

Case Else

End Select

i = i + 1

Loop

End Sub

Private Sub Exit_Click(Index As Integer)

End

End Sub

Private Sub Form_Load()

State = False

i = 1

pi = 0

Portaddress = &H378

Out &H378 + 2, 4

Out &H378, 128

Out &H378 + 2, 5

Out &H378 + 2, 4

End Sub

Public Sub add_code(b1 As Byte, b2 As Byte, b3 As Byte, b4 As Byte, b5 As Byte, b6

As Byte, b7 As Byte, b8 As Byte)

Arraycode(Index_array_code + 0) = b1

Arraycode(Index_array_code + 1) = b2

Arraycode(Index_array_code + 2) = b3

Arraycode(Index_array_code + 3) = b4

Arraycode(Index_array_code + 4) = b5

Arraycode(Index_array_code + 5) = b6

Arraycode(Index_array_code + 6) = b7

Arraycode(Index_array_code + 7) = b8

Index_array_code = Index_array_code + 8

End Sub

Private Sub Quyet()

If (pi < 16) Then

Out Portaddress + 2, 0

Out Portaddress, 0

Out Portaddress + 2, 1

Ngày đăng: 30/09/2016, 13:47

HÌNH ẢNH LIÊN QUAN

1. Sơ đồ cấu tạo cổng song song - 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ơ đồ cấu tạo cổng song song (Trang 5)
Hình 3: Sơ đồ khối vi mạch 8255A - 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
Hình 3 Sơ đồ khối vi mạch 8255A (Trang 9)
Sơ đồ kết nối giữa IC 8255 với cổng máy in : - 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
Sơ đồ k ết nối giữa IC 8255 với cổng máy in : (Trang 12)
Sơ đồ kết nối máy in - 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
Sơ đồ k ết nối máy in (Trang 13)

TỪ KHÓA LIÊN QUAN

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

w