Tải bản đầy đủ (.pdf) (9 trang)

Giáo trình hướng dẫn tìm hiểu cách tạo các cổng giao tiếp trong các thiết bị ngoại vi phần 1 docx

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 (372.46 KB, 9 trang )

LUÂÄN VĂN TỐT NGHIỆP

26

Giao tiếp giữa máy tính và thiết bò ngoại vi có thể bằng một trong các cách
sau:
I. GIAO TIẾP BẰNG SLOT-CARD:
Trong máy tính, trên main board hoặc IO-card, thường chế tạo sẵn các rãnh
cắm (slot) cho phép mở rộng bộ nhớ, cài đặt thêm phần cứng, mở rộng phạm vi ứng
dụng cho máy tính.
Để sử dụng được các rãnh cắm này, cần phải có tài liệu chính xác về các
thông số cần thiết, ví dụ đòa chỉ của cổng là bao nhiêu, thuộc loại rãnh bao nhiêu bit,
theo chuẩn nào, kich thước phần mạch in cắm vào , độ dày mạch in, rãnh nguồn,
rãnh dữ liệu, rãnh dự trữ, …
II. GIAO TIẾP BẰNG CỔNG MÁY IN:
Mọi máy tính đều có cổng máy in đặt phía sau máy. Cổng máy in không chỉ để
kết nối với máy in mà còn có thể kết nối với nhiếu loại thiết bò ngoại vi khác cho
mục đích đo lường và điều khiển,…
Cổng máy in là loại cổng 25 chân, dữ liệu truyền song song, dễ kết nối, các đòa
chỉ của cổng của các máy tính hầu như giống nhau.
Giao tiếp bằng cổng máy in gọi là giao tiếp song song bất đồng bộ. Trong kiểu
giao tiếp này, nới phát tín hiệu và nới nhận tín hiệu đều có xung báo phát và xung
báo nhận, tần số xung clock tại nơi phát và tần số xung clock tại nơi thu không cần
quan tâm.
III. GIAO TIẾP BẰNG CỔNG COM:
Cổng COM được sử dụng khá phổ biến. Dữ liệu truyền ở cổng này thuộc dạng
dữ liệu nối tiếp. Tín hiệu truyền ở cổng này có thể truyền đi xa nhờ có cấu tạo
đường dây cáp ít sợi hơn cổng song song, mức áp tín hiệu cao.
Cổng COM có loại 9 chân và loại 25 chân như cổng song song, có tổng cộng 8
đường dẫn tín hiệu không kể đường nối đất, từ máy tính đi ra là loại phích cắm nhiều
chân khác với cổng song song.


Cổng COM, còn gọi là cổng nối tiếp theo chuẩn RS-232. Chuẩn RS-232 từ
năm 1969 được chấp nhận chuyên dùng cho truyền số liệu và các đường nối kiểm
tra giữa terminal và moderm, tốc độ cực đại là 20Kbps, với khoảng các tối đa không
quá 15m. Đây là lại giao tiếp không cân bằng có driver.
Mức áp tín hiệu trên đường dây là +15V/-15V. Trên đường dây, mức logic 1 có
điện áp từ 5V đến 15V và mức logic 0 từ –5V đến –15V. mức áp này không tương
thích TTL do đó thường phải sử dụng thêm các IC chuyên dụng MC1488, MC1489
để thay đổi mức logic cho tương thích TTL.
Giao tiếp nối tiếp còn chia ra nối tiếp bất đồng bộ và nối tiếp đồng bộ (sử
dụng các chuẩn UART dùng CMOS 6402, USART dùng ngoại vi 8251, chuẩn ACIA
dùng NMOS 6850 …).
IV. CHỌN PHƯƠNG PHÁP GIAO TIẾP VÀ CỔNG KẾT NỐI:
Trong đề tài này, vì lý do thời gian có hạn, nên người thực hiện đề tài chỉ có
thể sử dụng một phương pháp truyền dữ liệu, đó là truyền dữ liệu song song bất
đồng bộ qua cổng máy in LPT1.
Cổng LPT1 là một cổng song song, dữ liệu được truyền với tốc độ khá cao từ
máy tính, do đó tốc độ truyền dữ liệu chung chỉ còn phụ thuộc vào Kit.
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e


V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
Click to buy NOW!
P
D
F
-
X

C
h
a
n
g
e

V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o

m
Giáo trình hướng dẫn tìm hiểu cách tạo các cổng
giao tiếp trong các thiết bị ngoại vi
LUÂÄN VĂN TỐT NGHIỆP

27

Hình dạng một cổng LPT1 được cho trong hình sau:




Hình 11: Cổng LPT (DB25).
Bảng 5: Bố trí chân ở cổng LPT ở máy tính:

Chân Ký hiệu Vào/Ra Mô tả
1 STROBE Output Byte được in
2 D0 Output Đường dữ liệu được in D0
3 D1 Output Đường dữ liệu được in
4 D2 Output Đường dữ liệu được in
5 D3 Output Đường dữ liệu được in
6 D4 Output Đường dữ liệu được in
7 D5 Output Đường dữ liệu được in
8 D6 Output Đường dữ liệu được in
9 D7 Output Đường dữ liệu được in
10 Ack Input Acknowledge
11 Busy Input 1:máy in bận
12 PE Input Hết giấy
13 SCLT Input Select
14 AF Output Autofeet

15 ERROR Input Error
16 INIT Output 0: đặt lại máy in
17 SLCTIN Output Select in
18 GND Nối đât
19 GND
20 GND
21 GND
22 GND
23 GND
24 GND
25 GND

Cổng máy in LPT1 có đòa chỉ cơ bản là 378Hex và cổng LPT2 có đòa chỉ cơ
bản là 78Hex.
Các thanh ghi trong máy tính kết nối với cổng máy in:
Thanh ghi dữ liệu (Data register, đòa chỉ = đòa chỉ cơ bản )
13

1

25

14

Click to buy NOW!
P
D
F
-
X

C
h
a
n
g
e

V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o

m
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e

V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t

r
a
c
k
.
c
o
m
.
LUÂÄN VĂN TỐT NGHIỆP

28











Thanh ghi trạng thái(status register, đòa chỉ = đòa chỉ cơ bản +1)









Thanh ghi điều khiển(control register, đòa chỉ = đòa chỉ cơ bản + 2)







Hình 12: Kết nối các thanh ghi ở cổng máy in của máy tính PC.
Cổng LPT là cổng ghép nối song song, tất cả những đường dẫn của cổng này
đều tương thích TTL, nghóa là chúng đều cung cấp một mức áp nằm giữa 0 và 5V.
Do đó, rất thích hợp cho kết nối với Kit.
Nhìn vào bảng công dụng các chân của cổng LPT và 3 thanh ghi của máy tính,
ta thấy có thể sử dụng thanh ghi data là thanh ghi phát, có nhiệm vụ truyền dữ liệu
ra ngoài, và thanh ghi điều khiển sẽ gởi tín hiệu điều khiển cho Kit, còn thanh ghi
trạng thái sẽ nhận tín hiệu báo trạng thái hiện tại của Kit về máy tính.
Để kết nối giữa Kit và máy tính trong trường hợp này, phải sử dụng IC giao
tiếp ngoại vi 8255 để xuất và nhận dữ liệu. Còn về phía máy tính, có thể dùng ngôn
ngữ lập trình C để đọc và xuất các thanh ghi dữ liệu. Để kết nối đơn giản, có thể
khởi tạo 8255 ở mode 0 với port A đọc thanh ghi data, port B xuất trạng thái trả về
cho thanh ghi trang thái, và port C dùng để nhận tín hiệu điều khiển từ thanh ghi
điều khiển của máy tính.

D


D



D


D


D


D


D


D

D0
(Pin 2)

D1
(Pin 3)

D2
(Pin 4)

D3(Pin
5)
D4


D
6


D
5


D
4


D
3

0

0

0


D
7



ERROR(Pin 15)
SLCT(Pin 13)

PE(Pin 12)
ACK(Pin 15)
BUSY(Pin 11)



D
6


D
5


D
4


D
3


D
2


D
1



D
0


D
7

D0 (Pin 1)
D1 (Pin 14)

D2 (Pin 16)

D3(Pin 17)
IRQ-Enable





Click to buy NOW!
P
D
F
-
X
C
h
a
n
g

e

V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
Click to buy NOW!
P
D
F

-
X
C
h
a
n
g
e

V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.

c
o
m
.
LUÂÄN VĂN TỐT NGHIỆP

30

I. TẠI SAO PHẢI SỬ DỤNG CHƯƠNG TRÌNH DỊCH ASSEMBLER?
Khi học vi xử lý, thì mọi sinh viên đều phải học về số Hex, đổi số giữa các hệ,
các số bù,…, các phép toán số học và logic trên các biến. Ngoài ra, còn phải học
môt loại ngôn ngữ máy khó nhớ, chỉ được viết bằng các ký tự Hex, để nạp vào Kit.
Một cách khác để tạo ra các ký tự khó nhớ này là sử dụng một chương trình dòch
Assembler để dòch từ một file có phần mở rộng là “asm” sang một file có phần mở
rộng “prn” chứa ngôn ngữ máy. Đây là lý do phải sử dụng một chương trình dòch
Assembler. Với mục đích này, người sử dụng không cần thiết phải biết nhiều về
ngôn ngữa Assembly mà chỉ cần một số kiến thức nhỏ để gọi chương trình dòch. Đây
chính là cách chính để giảm thiểu thời gian trong việc dòch và nhập dữ liệu vào Kit.
II. Một số điều cần lưu ý khi sử dụng chương trình dòch Assebler:
Để viết một chương trình và nhập vào Kit, thì đầu tiên phải biết yêu cầu của
chương trình, viết lưu đồ tổng quát, lưu đồ chi tiết và tiến hành viết chương trình. tất
cả các bước trên đều phải sử dụng lại với cách làm mà đề tài này nêu lên. Tuy
nhiên, từ bước dòch từ ngôn ngữ gợi nhớ sang mã máy thì có nhiều điểm khác nhau:
1) Khi viết chương trình ở ngôn ngữ gợi nhớ (ngôn ngữ Assembly), cần phải tuân
thủ một số qui đònh riêng để có thể dùng một chương trình dòch Assembler.
a) Phải dùng từ khóa “Org” ở đầu và “End” ở cuối chương trình, nhớ chữ end
không có chấm cuối câu.
b) Tất cả các lệnh ở dạng gợi nhớ phải ghi chính xác.
c) Ở cuốimột số Hex phải ghi ký tự ‘h’ không kể in hay thường.
d) Nếu một số Hex bắt đầu bằng một ký tự Alphabet, thì phải thêm liền ngay

trước số hex đó một con sô ‘0’.
e) Một nhãn khai báo không được vượt quá 6 ký tự.
f) Và một số qui đònh khác.
2) Nhập chương trình vào máy tính: để nhập dể dàng và thuận tiện, có thể sử dụng
Norton ở chế độ Edit, và lưu thành một file có phần mở rộng là “asm”.
3) Dùng chương trình dòch Assembler để dòch file trên thành một file mới có phần
mở rộng la “prn”, file cũ không thay đổi.
4) Sau đó dùng chương trình download để nạp file vào Kit.
Tất cả các yêu cầu trên đều rất dễ nhớ nhờ đi theo một trình tự nhất đònh một
các tự nhiên. Norton là một chương trình tiện ích rất phổ biến. Chương trình
Download có giao diện đã được tối giản nhất.
III. FILE *.PRN, NỘI DUNG, ĐẶC ĐIỂM, VÀ DỮ LIỆU CHÍNH:
Chương trình dòch sẽ dòch từ một file x.asm sang môt file x.prn.
Xem nội dung một file có phần ở rộng prn trong ví dụ sau:
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e

V
i
e

w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
Click to buy NOW!
P
D
F
-
X
C
h
a

n
g
e

V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
.
LUÂÄN VĂN TỐT NGHIỆP


31


MACRO
-
80 3.4

01
-
Dec
-
80

PAGE

1

Org 0000h
0000' 3E 00 MVI A,00h
0002' 32 A001 STA 0A001h
0005' 3E 80 MVI A,80h
0007' 32 A001 STA 0A001h
000A' 3E 06 MVI A,06h
000C' 32 A000 STA 0A000h
000F' 76 HLT
MACRO-80 3.4 01-Dec-80 PAGE S
Macros:

Symbols:


No Fatal error(s)
Giả sử dòch file x.asm sau:








Thì sẽ được file x.prn sau:

















Trong đó, nội dung cần nạp vào Kit là:

3E 00
32 A001
3E 80
32 A001
3E 06
32 A000
76

Nhưng với thứ tự là:
3E 00
32 01 A0
3E 80
32 01 A0
3E 06
32 00 A0
76

Org 0000h
MVI A,00h
STA 0A001h
MVI A,80h
STA 0A001h
MVI A,06h
STA 0A000h
HLT
END

Click to buy NOW!
P
D

F
-
X
C
h
a
n
g
e

V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k

.
c
o
m
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e

V
i
e
w
e
r
w
w
w
.
d
o
c

u
-
t
r
a
c
k
.
c
o
m
.
LUÂÄN VĂN TỐT NGHIỆP

32

Vấn đề đặt ra là làm thế nào để lọc ra được nội dung chỉ trên theo thứ tự đúng
như nội dung nạp vào Kit. Vấn đề này sẽ được giải quyết ở chương kế: Chương trình
DownLoad.
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g

e

V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
Click to buy NOW!
P
D
F

-
X
C
h
a
n
g
e

V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.

c
o
m
.
LUAÂÄN VAÊN TOÁT NGHIEÄP

33






Chöông VI:

CHÖÔNG TRÌNH
DOWNLOAD
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e


V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
Click to buy NOW!
P
D
F
-
X

C
h
a
n
g
e

V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o

m
.
LUÂÄN VĂN TỐT NGHIỆP

34

I. ĐÔI NÉT VỀ NGÔN NGỮ C:
I.1. Nguồn gốc:
C được phát minh và cài đặt đầu tiên bởi Dennis Ritchie chạy trên hệ điều
hành Unix, được Martin Richards phát triển trong thập niên 70. C sử dụng chuẩn
ANSI được đề nghò lần cuối cùng vào năm 1989.
I.2. C là ngôn ngữ bậc trung:
Được xem là ngôn ngữ bậc trung vì C tổ hợp những thành phần tốt nhất của
các ngôn ngữ bậc cao với sự điều khiển và tính linh hoạt của ngôn ngữ Assembly. C
cho phép thao tác trên các bit, các byte và các đòa chỉ – những phần tử cơ bản với
các chức năng của máy tính, mã của chương trình C cũng mang tính khả chuyển.
I.3. C là ngôn ngữ của lập trình viên:
C được các lập trình viên làm việc thật sự tạo ra, thúc đẩy và kiểm tra, để rồi
C lại mang về cho họ những gì họ mong muốn: ít hạn chế, ít lời phàn nàn, các cấu
trúc khối, các hàm đơn lẻ, và môt tập đóng kín những từ khóa.
II. CÁC PHƯƠNG PHÁP LẬP TRÌNH:
II.1. Phương pháp lập trình lệnh:
 Chương trình là một dãy các lệnh.
 Lập trình là xác đònh các lệnh cùng với thứ tự các lệnh đó.
 Phương pháp này chỉ có giá trò với chương trình lệnh ( < 100
lệnh).
II.2. Phương pháp lập trình thủ tục:
 Chương trình là một hệ thống các thủ tục và hàm, mỗi thủ tục
hay hàm là một dãy các lệnh.
 Lập trình là đi xác đònh những thủ và hàm, và xác đònh các

lệnh bên tring thủ tục và hàm đó.
 Phương pháp này tiến bộ hơn phương pháp trên.
II.3. Phương pháp lập trình đơn thể:
 Chương trình là một hệ thông các đơn thể (module).
 Mỗi đơn thể là một hệ thống thủ tục, hàm có cùng ý nghóa nào
đó. Mỗi thủ tục và hàm là một dãy các lệnh.
 Các đơn thể có được lưu trữ và biên dòch phân cách, nên dễ
dàng lắp ghép. Tuy nhiên phương pháp này còn thiếu tự
nhiên, ngài ra nếu chương trình quá rộng và quá sâu thì không
thể quản lý được.
II.4. Phương pháp lập trình hướng đối tượng:
 Chương trình là một hệ thống các đối tượng, các đối tượng
trong thực tế được diễn tả bằng ngôn ngữ tin học.
 Lập trình là đi xác đònh những đối tượng cùng những quan hệ
của chúng.
 Tính tự nhiên của phương pháp này làm nó trở nên sinh động,
mỗi đối tượng có thuộc tính và hành động riêng như trong
thực tế do đó dễ hình dung, dễ quản lý. Ngoài ra, nhờ dựa
trên các đối tượng nên tính tiến hóa và mở rộng rất cao.
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g

e

V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
Click to buy NOW!
P
D
F

-
X
C
h
a
n
g
e

V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.

c
o
m
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e

V
i
e
w
e
r
w
w
w
.
d
o
c
u

-
t
r
a
c
k
.
c
o
m
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e

V
i
e
w
e
r
w

w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
.
LUÂÄN VĂN TỐT NGHIỆP

35

Trong phần viết chương trình giao diện vi tính, người viết đã chọn phương pháp
lập trình hướng đối tương. Nhờ những ưu điểm trên, phương pháp này cho phép bổ
sung một cách dễ dàng, tạo điều kiện thuận lợi cho việc bổ sung sau này nếu cần.
III. PHƯƠNG PHÁP LẬP TRÌNH HƯỚNG ĐỐI TƯNG TRONG C
III.1. Các khái niệm:
Thế giới thực Phương pháp lập trình Ngôn ngữ lập trình
Đối tượng bất kỳ trong thế
giới thực

Đối tượng Biến có kiểu lớp
(tương tự kiểu cấu trúc)
Khái niện chung của một
đối tương
Lớp đối tượng Kiểu lớp(Class-tương tự
kiểu cấu trúc)
Thuộc tính được quan tâm
của đối tượng
Thuộc tính Thành phần dữ liệu của
kiểu lớp
Khả năng có thể thực hiện
của một đối tương
Hành động Thủ tục, hàm của kiểu lớp
III.2. Phương pháp:
III.2.1. Xác đònh các lớp đối tượng, quan hệ qua các lớp này
(xây dựng sơ đồ lớp)
III.2.2. Thiết kế các lớp (biểu diễn trên máy tính)
 Thành phần dữ liệu (thuộc tính).
 Thành phần xử lý (hành động).
III.2.3. Cài đặt các lớp: Viết hàm main()
III.2.4. Thử nghiệm.
IV. Thực hiện viết chương trình DownLoad:
IV.1. Yêu cầu của giao diện:
 Cho phép chọn file sẽ truyền.
 Bằng cách gõ vào tên file
 Bằng cách click chuột để chọn
 Xem trước vùng nhớ cần thiết sẽ sử dụng ở RAM ở Kit 8085
 Chọn cổng truyền.
 Truyền file có kiểm tra.
IV.2. Chọn ngôn ngữ lập trình:

 Chọn ngôn ngữ C viết ở môi trường Dos
 Lý do: yêu cầu thiết bò (máy tính) không cao, phù hợp kiến thức
người viết.
 Ưu điểm: C là một công cụ lập tình gọn nhẹ, chạy nhanh, hiệu quả
và khép kín. Vì sử dụng C ở môi trường Dos nên không cần phải
kiểm soát các driver như nếu viết ở môi trường Windows. Ngôn
ngữ C cho phép truy cập trực tiếp các port, dể dàng kiểm soát từng
bit dữ liệu.
 Khuyết điểm: Vùng nhớ trống ở môi trường Dos chỉ có 640Kbyte,
và sau khi khởi động xong (ở màn hình dos) thì chỉ còn lại trên dưới
400Kbyte, không cho phép tạo một giao diện phức tạp. Độ phân
giải ở chế độ graph trong Dos không thể so sánh với môi trường
Windows.

Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e

V
i
e

w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
Click to buy NOW!
P
D
F
-
X
C
h
a

n
g
e

V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
Click to buy NOW!
P

D
F
-
X
C
h
a
n
g
e

V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c

k
.
c
o
m
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e

V
i
e
w
e
r
w
w
w
.
d
o

c
u
-
t
r
a
c
k
.
c
o
m
.

×