void de_lay(int);
int c,ch1,*p1,*p2,co_bang2=0;
FILE *f1;
int bang_chu2[] =
{
0x03,0x19,0x0E,0x09,0x01,0x0D,
0x1A,0x14,0x06,0x0B,0x0F,0x12,
0x1C,0x0C,0x18,0x16,0x17,0x0A,
0x05,0x10,0x07,0x1E,0x13,0x1D,
0x15,0x11,0x04,0x04,0x04,0x04,
0x04,0x04
};
int bang_so2[] =
{
0x0D,0x11,0x14,0x09,0x16,0x1A,
0x04,0x0F,0x12,0x04,0x04,0x0C,
0x03,0x1C,0x1D,0x16,0x17,0x13,
0x01,0x0A,0x10,0x15,0x07,0x06,
0x18,0x0E,0x1E,0x04,0x0F,0x04,
0x19,0x04
};
p1=bang_chu2; p2=bang_so2;
// clrscr();
f1=fopen("ho_hieu.c","rt");
if(f1==NULL) {clrscr(); printf("\n KHONG MO DUOC TEP HO_HIEU.C ");
de_lay(100); goto thien; }
do
{
c=(int)fgetc(f1);
if(c==32) {outportb((int)&COM -> data,0x04);de_lay(2);}
if(c==10) {outportb((int)&COM -> data,0x08);de_lay(2);}
PHẦN D
HƯỚNG THI CÔNG
I. Tổng quát:
Mạch giao tiếp là một thiết bò độc lập để ghép nối giữa các máy vi
tính với nhau nhằm truyền dữ liệu từ nơi này đến nơi khác một cách nhanh
chóng. Ngoài ra, mạch giao tiếp còn chuyển đổi mức điện áp để khoảng
cách truyền số liệu giữa hai máy được xa hơn. Mạch giao tiếp có thể được
ứng dụng rộng rãi trong các công ty, xí nghiệp . . .
II. Tổ chức mạch:
- Tất cả các IC, các linh kiện điện tử được lắp ráp trên một board
mạch.
- Các ngõ vào ra giao tiếp với máy vi tính được hàn với các Connecter
gắn trên board.
III. Các bước thi công:
- Thiết kế sơ đồ nguyên lý, vẽ mạch.
- Vẽ sơ đồ mạch in dùng phần mềm BM.
- Làm mạch in
- Chuẩn bò linh kiện.
- Lắp ráp linh kiện theo sơ đồ.
- Sau khi lắp ráp tiến hành kiểm tra phần cứng.
- Xây dựng lưu đồ phần mềm điều khiển.
- Viết chương trình bằng ngôn ngữ C.
IV. Báo cáo kết quả thi công:
- Thiết kế và thi công thành công hệ thống mạch giao tiếp.
- Mạch giao tiếp được thiết kế để truyền ở khoảng cách xa, nên trong
mạch thi công tồn tại các nhóm linh kiện như :
+ Nhóm chuyển đổi từ -12V và +12V sang 0V và 5V.
PHỤ LỤC
BỘ ĐIỀU KHIỂN NGẮT 8259A
Bộ điều khiển ngắt lập trình được 8259A (PIC : Programable Interrupt
Controller) là một vi mạch tích hợp được thiết kế để quản lý các ngắt bên
ngoài trong một hệ máy tính. Đây là những kết nối vật lý tới các thiết bò
trên PC. Khi một trong số những thiết bò này tác động lên môt trong những
đường ngắt của PIC, PIC sẽ gởi yêu cầu ngắt cứng cùng với chỉ số của ngắt
tới CPU, CPU lấy chỉ số này để truy nhập vào bảng vectơ ngắt để tìm ra thủ
tục phục vụ ngắt cứng thích hợp.
8259A có 2 loại hình chữ nhật và hình vuông đều có 28 chân. Chức
năng các chân của 8259A hình vuông cũng tương ứng như 8259A hình chữ
nhật.
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
CAS
0
CAS
1
6
7
8
9
10
11
12
13
14
28
27
26
25
24
23
22
21
20
19
2
IR
1
IR
0
INT
SP
CAS
2
8259A
DIP
19
20
21
22
23
24
25
IR
1
IR
2
18 17 16 15 14 13 12
26 27 28 1 2 3 4
IR
0
INT SP/EN CAS
2
GND CAS
1
CAS
0
INTA A
0
Vcc CS WR RD D
7
8259A
PLCC
SP (chân 16) : Trong chế độ không đệm, nếu SP = 1 thì 8259 chủ, SP
= 0 thì 8259 tớ.
INTA (chân 26) : Lối vào xác đònh ngắt.
INT (chân 17) : Lối ra yêu cầu ngắt chương trình.
Trong quá trình hoạt động, 8259A có thể được mô tả gồm có 4 thanh
ghi bên trong :
1. Thanh ghi đáp ứng ngắt : (IRR : Interrup Request Register)
Chứa một bit cho từng kênh ngắt từ IRQ
0
đến IRQ
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
Yêu cầu ưu tiênRS
T
1 1 A
2
A
1
A
0
Để cho phép một ngắt, bit mong muốn trong IMR sẽ được xóa về 0 và
ngược lại nếu không cho phép một ngắt, bit tương ứng sẽ bật lên 1.
Sơ đồ bit của thanh ghi IMR đặt tại cổng I/O 21h như sau :
Số liệu bit
Đường truyền
Thiết bò bên ngoài
0 IRQ
0
Ngắt thời gian (Time Keeper Interrup)
1 IRQ
1
Ngắt bàn phím (Keyboard Interrup)
2 IRQ
2
Bộ phối ghép màu đồ thò
3 IRQ
3
Cổng tuần tự số 2 (COM2 hoặc COM4)
4 IRQ
4
Cổng tuần tự số 1 (COM1 hoặc COM3)
5 IRQ
5
Ngắt cứng (máy XT), cổng song song (máy AT)
6 IRQ
6
Ngắt đóa mềm
IR
0
IR
7
D
0
- D
7
RD
W
A
0
CS
CAS
0
CAS
1
CAS
2
SP
IRQ
3
2CH OBh Cổng tuần tự số 2 (COM2 - COM4)
IRQ
4
30H OCh Cổng tuần tự số 1 (COM1 - COM3)
IRQ
5
34H ODh Đóa cứng (XT) - LPT2 (AT)
IRQ
6
38H OEh Đóa mềm
IRQ
7
3CH OFh Cổng song song số 1 (LPT1)