Tải bản đầy đủ (.doc) (11 trang)

Thiết kế mô hình đồng hồ điện tử sử dụng cổng song song sử dụng LED 7 đoạn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (149.1 KB, 11 trang )

Đo Lường & Điều Khiển Máy Tính

Trường: Đại học công nghiệp Hà Nội
Khoa: Điện Tử
Lớp: LTCD-DH ĐT1K3

BÀI TẬP LỚN
Môn: Đo lường và điều khiển máy tính
Đề tài (Đề số 3): Thiết kế mô hình đồng hồ điện tử
sử dụng cổng song song sử dụng LED 7 đoạn.

Nhóm sinh viên:
1. Nguyễn Tuấn Sơn
2. Nguyễn Hoàng Giang
3. Nguyễn Thu Thùy

-1-

Lớp: LT CĐ-ĐH ĐT1 K3


Đo Lường & Điều Khiển Máy Tính

Lời nói đầu
Trong thời kỳ công nghiệp hóa ngày càng phát triển của đất nước ta.Và nhu cầu
của con người ngày càng được cải thiện và nâng cao, khi đó việc áp dụng nền công
nghiệp hóa, hiện đại hóa vào sản xuất là một điều rất cần thiết và là cả một vấn đề để
chúng ta quan tâm. Phải nói rằng nền công nghiệp hóa, hiện đại hóa đã làm cho con
người đỡ vất vả hơn và tạo điều kiện tốt để nước ta thúc đẩy nền kinh tế thế giới. Và
việc áp dụng vào công cuộc này là các kỹ thuât lập trình, các công nghệ kỹ thuật tiên
tiến.


Trong quá trình theo hoc tại trường chúng em đã được hướng dẫn học một số ngôn
ngữ lập trình, vi điều khiển, vi xử lý, ghep nối với máy tính thông qua ngôn ngữ lập
trình: Visual Basic 6.0, C. Sau một thời gian nghiên cứu và học tập dưới sự hướng
dẫn nhiệt tình của cô giáo Vũ Thị Thu Hương, chúng em đã thực tập làm một đề tài
nhỏ ứng dung. Đề tài “ Thiết kế mô hình đồng hồ điện tử sử dụng cổng song song,
hiển thị bằng led 7 đoạn”. Do quá trình nghiên cứu con nhiều hạn chế nên đề tài
thực hiện chưa được hoan thiện, mong được sự đóng góp ý kiến của thầy cô giáo và
các bạn.
Chúng em xin chân thánh cảm ơn!

-2-

Lớp: LT CĐ-ĐH ĐT1 K3


Đo Lường & Điều Khiển Máy Tính

PHẦN I: CƠ SỞ LÝ THUYẾT
I. 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

Chân

Ký hiệu

1

/STROBE


2-9
10

D0-D7
/ACK

11
12

BUSY
PE

13

SLCT

14

/AF

15

/ERROR

16

INIT

17


SLCTIN

18-25

GND

Chiều tín
Mô tả
hiệu
Ra
Tín hiệu thông báo có 1 byte
săn sang được in
Ra
Các đường dữ liệu
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.
Vào
Tín hiệu báo bận của máy in
Vào
Tín hiệu báo hết giấy của máy
in
Vào
Tín hiệu báo trạng thái sẵn sang
của máy in
Ra
Tín hiệu yêu cầu nạp một dòng
mới của máy tính đối với máy
in

Vào
Tín hiệu thông báo lỗi của máy
in với máy tính
Ra
Tín hiệu khởi động lại của máy
tính đối với máy in
Ra
Tín hiệu chọn máy in của máy
tính
Tín hiệu nối mass
-3-

Lớp: LT CĐ-ĐH ĐT1 K3


Đo Lường & Điều Khiển Máy Tính

- 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

Địa chỉ thanh ghi

song song thanh ghi dữ liệu
LPT1
3BCh
LPT2
378h
LPT3
278h
LPT4
2BCh

Địa chỉ thanh
ghi trạng thái
3BDh
379h
279h
2BDh

Địa chỉ thanh ghi
điều khiển
3BEh
37Ah
27Ah

2BEh

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

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

Tín hiệu máy D7
in
Chân số:
9

D6

D5

D4

D3

D2

D1

D0

8

7

6


5

4

3

2

b. Thanh ghi trạng thái máy in (chỉ đọc).
Tín hiệu BUSY /ACK PAPER SELECT /ERROR /IRQ
máy in
EMPTY
Số chân 11
10
12
13
15
cắm

x

x

-

-

c. Thanh ghi điều khiển
-4-


Lớp: LT CĐ-ĐH ĐT1 K3


Đo Lường & Điều Khiển Máy Tính

Tín
hiệu
máy
in
Số
chân
cắm

x x DIR IRQ
/SELECTIN /INIT /AUTOFEED /STROBE
Enable
-

-

-

-

17

16

14


1

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.

PHẦN II. NỘI DUNG
I- Code chương trình của From 1:
Private Declare Sub Out32 Lib "inpout32.dll" (ByVal PortAddress As Integer,
ByVal Value As Integer)
Private Declare Function Inp32 Lib "inpout32.dll" (ByVal PortAddress As
Integer) As Integer
Private Sub Command1_Click()
’hien thi theo phut giay
If Timer1.Enabled = False Then
Timer1.Enabled = True
Timer2.Enabled = False
Timer3.Enabled = False
Timer4.Enabled = False
End If
End Sub

Private Sub Command2_Click()
If Timer2.Enabled = False Then
Timer2.Enabled = True
Timer1.Enabled = False
Timer3.Enabled = False
Timer4.Enabled = False
End If
End Sub

‘hien thi theo gio phut

Private Sub Command3_Click()
If Timer3.Enabled = False Then

‘hien thi theo thang ngay

-5-

Lớp: LT CĐ-ĐH ĐT1 K3


Đo Lường & Điều Khiển Máy Tính

Timer3.Enabled = True
Timer1.Enabled = False
Timer2.Enabled = False
Timer4.Enabled = False
End If
End Sub
Private Sub Command4_Click()

If Timer4.Enabled = False Then
Timer4.Enabled = True
Timer1.Enabled = False
Timer2.Enabled = False
Timer3.Enabled = False
End If
End Sub

‘hien thi theo nam thang

Private Sub Command5_Click() ‘thoat va hien thi tat ca
Out32 &H37A, &H4
Out32 &H378, &H0
End
End Sub
Private Sub Command6_Click() ‘hien Form2 de cai dat gio
Form2.Show
End Sub
Private Sub Timer5_Timer()
‘hien thi thoi gian may tinh
Label1.Caption = Format(Now, "hh:nn:ss")
Label2.Caption = Format(Now, "dd/mm/yyyy")
End Sub
Private Sub Timer1_Timer() ‘ lay phut giay tu may tinh
Dim phut As Integer
Dim giay As Integer
phut = Format(Now, "nn")
giay = Format(Now, "ss")
Call truyen(Val(phut), Val(giay))
End Sub

Private Sub Timer2_Timer() ‘lay gio phut tu may tinh
Dim gio As Integer
Dim phut As Integer
phut = Format(Now, "nn")
gio = Format(Now, "hh")
Call truyen(Val(gio), Val(phut))
-6-

Lớp: LT CĐ-ĐH ĐT1 K3


Đo Lường & Điều Khiển Máy Tính

End Sub
Private Sub Timer3_Timer() ‘lay thang ngay tu may tinh
Dim thang As Integer
Dim ngay As Integer
thang = Format(Now, "mm")
ngay = Format(Now, "dd")
Call truyen(Val(thang), Val(ngay))
End Sub
Private Sub Timer4_Timer()
‘lay nam thang tu may tinh
Dim nam4, nam2, chuc, dv As Integer
Dim thang As Integer
thang = Format(Now, "mm")
nam4 = Format(Now, "yyyy")
chuc = ((nam4 Mod 1000) Mod 100) \ 10
dv = ((nam4 Mod 1000) Mod 100) Mod 10
nam2 = chuc * 10 + dv

Call truyen(Val(nam2), Val(thang))
End Sub
Sub truyen(n As Integer, m As Integer)
Dim Mang As Variant
Dim led1, led2, led3, led4, i As Integer
Mang = Array(&H3, &H9F, &H25, &HD, &H99, &H49, &H41, &H1F, &H1,
&H9)
For i = 0 To 200
i=i+1
led1 = n \ 10
led2 = n Mod 10
led3 = m \ 10
led4 = m Mod 10
Out32 &H37A, &H3
Out32 &H378, Mang(led1)
Call delay(240000)
Out32 &H37A, &HF
Out32 &H378, Mang(led2)
Call delay(240000)
Out32 &H37A, &H9
Out32 &H378, Mang(led3)
Call delay(240000)
-7-

Lớp: LT CĐ-ĐH ĐT1 K3


Đo Lường & Điều Khiển Máy Tính

Out32 &H37A, &HA

Out32 &H378, Mang(led4)
Call delay(240000)
Next
End Sub
Sub delay(y)
Dim x As Long
For x = 0 To y
x=x+1
Next
End Sub
II- Cốt chương trình Form 2:
Private Sub Command1_Click()
Dim DatThoigian As String 'HAM DAT THOI GIAN VA NGAY
Dim DatNgay As String
Time = TimeSerial(Val(Text1.Text), Val(Text2.Text), Val(Text3.Text))
'Time = DatThoigian
Date = DateSerial(Val(Text6.Text), Val(Text5.Text), Val(Text4.Text))
' Date = DatNgay
Timer1.Enabled = True
Form2.Hide
End Sub
Private Sub Command2_Click()
Form2.Hide
End Sub
Private Sub Form_Click()
Timer1.Enabled = True
End Sub
Private Sub Form_Load()
Timer1.Enabled = True
End Sub

Private Sub text1_Click()
Timer1.Enabled = False
End Sub

Private Sub Text2_click()
-8-

Lớp: LT CĐ-ĐH ĐT1 K3


Đo Lường & Điều Khiển Máy Tính

Timer1.Enabled = False
End Sub
Private Sub Text3_click()
Timer1.Enabled = False
End Sub
Private Sub Text4_click()
Timer1.Enabled = False
End Sub
Private Sub Text5_Click()
Timer1.Enabled = False
End Sub
Private Sub Text6_Click()
Timer1.Enabled = False
End Sub
Private Sub Timer1_Timer()
Text1.Text = Hour(Time)
Text2.Text = Minute(Time)
Text3.Text = Second(Time)

Text4.Text = Day(Date)
Text5.Text = Month(Date)
Text6.Text = Year(Date)
End Sub

'DAT THOI GIAN CHO TEXTBOX

III- Sơ đồ nguyên lý
-9-

Lớp: LT CĐ-ĐH ĐT1 K3


Q 2
c828
2
3
4
5
6
7
8
9

L1
Q
Q
Q
Q
Q

Q
Q
Q

7
6
5
4
3
2
1
0

LE
O E
D
D
D
D
D
D
D
D

7
6
5
4
3
2

1
0

Q 1
c828

1
1
1
1
1
1
1
1

11
1

H I

E
D
D O T
C
G
L1
B
L2
L3
F

A
L4

- 10 LR 2

9
8
7
6
5
4
3
2

R 1
U 2

1k

0
H I

R 2
D O T
G
F
E
D
C
B

A

1
2
3
4
5
6
7
8
9
10
11
12

H I

H I

LR 2

1
2
3
4
5
6
7
8
9

10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
1
2

3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

Đo Lường & Điều Khiển Máy Tính

U 1

lp t


0

1k
74H C 573
Q 3

R 3
c828

L3
1k

L4
Q 4

R 4
c828

1k

L2

U 3

le d

Lớp: LT CĐ-ĐH ĐT1 K3


Đo Lường & Điều Khiển Máy Tính


- 11 -

Lớp: LT CĐ-ĐH ĐT1 K3



×