Tr−êng ®¹i häc b¸ch khoa hµ néi
Khoa §iÖn Tö ViÔn Th«ng
----- -----
BÁO CÁO BÀI TẬP LỚN
MÔN KỸ THUẬT VI XỬ LÝ
Đề tài: THIẾT KẾ MẠCH QUANG BÁO
Giáo viên hướng dẫn: Phạm Ngọc Nam
Sinh viên thực hiện:
Ngô Hoàng Anh
Dương Trung Huyến
Nguyễn Xuân Tiến
Đặng Hữu Tùng (TN)
Nguyễn Trung Thu
Lớp:
^]11/2005^]
ĐT9 – K47
Lời nói đầu
Song hành với sự phát triển của ngành khoa học máy tính trong
hơn 60 năm qua, công nghệ điện tử đã có những bước tiến vượt bậc với
khả năng tích hợp ngày càng cao của vi mạch từ đó giúp tăng tốc tốc độ
xử lý, nâng cao độ tin cậy và giảm giá thành sản phẩm. Từ những ứng
dụng ban đầu chủ yếu trong lĩnh vực quân sự và máy tính của các bộ vi
xử lý, ngày nay, sự ra đời của các họ vi điều khiển với việc tích hợp các
khối chức năng trên một IC, các vi xử lý chuyên dụng, cùng với thế mạnh
vốn có của các bộ vi xử lý đa năng đã giúp cho việc ứng dụng kỹ thuật vi
xử lý vào trong các hệ thống phi máy tính trở nên đơn giản hơn, mở rộng
đối tượng ứng dụng các thành quả của ngành công nghiệp điện tử hiện đại
này. Ta có thể thấy ứng dụng của chúng trong các hệ thống máy tính lớn,
các hệ thống viễn thông cho đến các sản phầm quen thuộc như máy giặt,
điều hòa, đèn giao thông,...
Trong khuôn khổ bài tập lớn này, với mục đích tìm hiểu ứng dụng
thực tế của kỹ thuật vi xử lý, nhóm chúng em lựa chọn đề tài thiết kế
mạch quang báo ứng dụng kỹ thuật vi xử lý.
MỤC LỤC
Lời nói đầu
I. Tổng quan
4
II. Sơ đồ khối
5
III. Sơ đồ nguyên lý
5
IV. Các IC và linh kiện sử dụng trong mạch
5
1. AT89C51
5
2. Thanh ghi dịch 74HC595
21
3. ULN2803
23
4. LED ma trận 8x8
24
V. Nguyên lý và tác dụng linh kiện
25
VI. Chương trình
26
VII. Nhận xét, kết luận, hướng mở rộng đề tài
29
Tài liệu tham khảo
31
I. Tổng quan
Ø Giới thiệu sản phẩm:
Mạch quang báo nhóm thực hiện là mạch có chức năng hiển thị nội
dung trên ma trận điểm. Nội dung này có thể dịch chuyển từ phải sang
trái. Nội dung cần hiển thị được nạp trước vào trong bộ nhớ của vi điều
khiển trong quá trình nạp chương trình cho vi điều khiển. Mỗi khi cần
thay đổi nội dung hiển thị cần nạp lại chương trình cho vi điều khiển.
Ø Lựa chọn các linh kiện:
Để thực hiện một sản phẩm như trên ở quy mô nhỏ ta có thể sử
dụng các họ vi điều khiển khác nhau như AVR, PIC, 8051 hay vi xử lý đa
năng như 8086. Tuy nhiên, để tiết kiệm chi phí cũng như xét trên khả
năng mua các chip trên trên thị trường, tài liệu nghiên cứu về chúng, bộ
Kit phát triển, nhóm em đã lựa chọn AT89C51 làm vi điều khiển cho
mạch quang báo này. Ngoài ra, các linh kiện khác hoàn toàn dễ kiếm trên
thị trường hiện nay.
4
II. Sơ đồ khối
Khối nguồn
220VAC – 5VDC
Khối vi điều khiển
AT89C51
Điều khiển và
khuếch đại công
suất hàng
Điều khiển hiển thị
(74HC595)
Khối hiển thị
Led ma trận 8x32
Khuếch đại công
suất cột
(ULN2803)
III. Sơ đồ nguyên lý (kèm theo): file mach quang bao.pdf
IV. Các IC và các linh kiện sử dụng trong mạch:
1. AT89C51
- Tương thích với các sản phẩm thuộc họ vi điều khiển MCS-51
- Có 4 Kbyte bộ nhớ flash, khả năng ghi/xóa 1000 lần
5
- Làm việc với tần số 0Hz – 24MHz
- Khóa bộ nhớ chương trình 3 mức
- 128 x 8 bit RAM nội
- 32 đường xuất/nhập lập trình được
- 2 bộ định thời/đếm 16 bit
- 6 nguồn ngắt
- Kênh nối tiếp lập trình được
- Chế độ tiêu thụ ít năng lượng
a/ Các chân của IC 89C51
- Vcc: nối với điện áp nguồn
- GND: nối đất
- Port 0: cổng xuất/nhập 8 bit. Khi làm cổng xuất, mỗi chân có thể ghép
nối với 8 đầu vào TTL. Khi các chân ở mức 1, các chân này có thể được
dùng làm đầu vào trở kháng cao. Ngoài ra, khi truy cập tới chương trình
và dữ liệu bên ngoài, port 0 có thể được sử dụng làm bus địa chỉ thấp/ dữ
6
liệu đa hợp. Port này có thể dùng để nhận chương trình nạp vào Flash
hoặc kiểm tra
- Port 1: cổng xuất/nhập 8 bit, các bộ đệm ra có thể ghép nối với 4 đầu
vào TTL. Các chân này có thể làm đầu vào khi tất cả được thiết lập ở
mức 1. Port 1 nhận các byte địa chỉ thấp trong quá trình ghi chương trình
và kiểm tra.
- Port 2: cổng xuât/nhập 8 bit, các bộ đệm ra có thể ghép nối với 4 đầu
vào TTL. Các chân này có thể làm đầu vào khi tất cả được thiết lập ở
mức 1. Port 2 truyền byte địa chỉ cao của bus địa chỉ với các thiết kế có
bộ nhớ chương trình ngoài hoặc các thiết kế có nhiều hơn 256 byte bộ
nhớ dữ liệu ngoài. Port 2 cũng nhận các bit địa chỉ cao và một vài tín hiệu
điều khiển trong quá trình nạp chương trình và kiểm tra.
- Port 3: cổng xuất/nhập 8 bit, các bộ đệm ra có thể ghép nối với 4 đầu
vào TTL. Khi tất cả các chân ở mức 1, Port 3 thực hiện nhận dữ liệu.
Ngoài ta, Port còn phục vụ một số chức năng đặc biệt của AT89C51 như:
Bit
Tªn
§Þa chØ bit Chøc n¨ng
P3.0
RXD
B0H
Ch©n nhËn d÷ liÖu cña port nèi tiÕp
P3.1
RXT
B1H
Ch©n ph¸t d÷ liÖu cña port nèi tiÕp
P3.2
INT0
B2H
Ngâ vµo ngÊt ngoµi 0
P3.3
INT1
B3H
Ngâ vµo ng¾t ngoµi 1
P3.4
T0
B4H
Ngâ vµo cña bé ®Þnh thêi/®Õm 0
P3.5
T1
B5H
Ngâ vµo cña bé ®Þnh thêi/®Õm 1
P3.6
WR
B6H
§iÒu khiÓn ghi bé nhí ngoµi
P3.7
RD
B7H
§iÒu khiÓn ®äc bé nhí ngoµi
Port 3 cũng nhận một số tín hiệu điều khiển trong quá trình nạp chương
trình và kiểm tra
- RST: đầu vào reset. Khi chân này ở mức cao trong 2 chu kỳ máy khi
osccilator đang hoạt động thì IC sẽ được reset
7
- ALE/PROG: chân cho phép chốt địa chiđưa ra xung để chốt byte địa
chỉ thấp trong quá trình truy cập bộ nhớ ngoài. Chân này cũng đóng vài
trò đầu vào xung chương trình PROG trong quá trình nạp chương trình. Ở
điều kiện bình thường, tín hiệu phát ra từ chân này có tấn số bằng 1/6 tần
số của mạch dao động trong chip và có thể được sử dụng làm xung clock
- PSEN: chân cho phép bộ nhớ chương trình. Khi AT89C51 thực thi các
lệnh từ bộ nhớ chương trình ngoài, chân này được tích cực 2 lần trong
mỗi chu kỳ máy
-EA/Vpp: chân này phải nối đất để IC có thể tìm mã từ các ô nhớ chương
trình ngoài bắt đầu từ địa chỉ 0000H đến FFFFH (64Kbyte). Để IC tìm và
thực thi các lệnh của chương trình trong bộ nhớ nội, chân này cần nối với
Vcc. Chân này cũng nhận điện áp cho phép ghi chương trình 12V trong
quá trình nạp chương trình.
- XTAL1: đầu vào của bộ khuếch đại dao động đảo
- XTAL2: đầu ra của bộ khuếch đại dao động đảo
b/ Tæ chøc bé nhí
Bé nhí bªn trong chip bao gåm ROM, RAM va EPROM. RAM trªn
chip bao gåm vïng RAM ®a chøc n¨ng, vïng RAM víi tõng bit ®−îc
®Þnh ®Þa chØ, c¸c d©y thanh ghi (bank) vµ c¸c thanh ghi chøc n¨ng ®Æc biÖt.
Cã 2 ®Æc tÝnh ®¸ng l−u ý:
+
C¸c thanh ghi vµ c¸c port I/O ®−îc ®Þnh ®Þa chØ theo kiÓu
¸nh x¹ bé nhí vµ ®−îc truy xuÊt nh− mét vÞ trÝ nhí trong bé nhí.
+ Vïng track th−êng tró trong RAM trªn chip thay v× ë trong
RAM ngoµi nh− ®èi víi c¸c bé vi xö lý.
Chi tiÕt bé nhí d÷ liÖu trªn chip:
8
FFFF
FFFF
Code
Data Memory
Memory
Enable via
RD and WR
Enable
via PSEN
FF
0000
0000
On- chip
External
Memory
Memory
Tãm t¾t kh«ng gian nhí cña chip
* Vïng RAM ®a môc ®Ých: Cã 80 byte, ®Þa chØ tõ 30H ®Õn 7FH
BÊt cø vÞ trÝ nµo trong vïng RAM ta ®Òu cã thÓ truy xuÊt tù do b»ng c¸ch
sö dông ®Þnh ®Þa chØ trùc tiÕp hoÆc gi¸n tiÕp.
VÝ dô:
+ KiÓu ®Þnh ®Þa chØ trùc tiÕp:
MOV A, 5FH ;§äc néi dung t¹i ®Þa chØ 5FH cña RAM
;vµo thanh chøa A.
+ KiÓu ®Þnh ®Þa chØ gi¸n tiÕp: (Qua c¸c thanh ghi R0,R1)
MOV R0, #5FH ; Di chuyÓn gi¸ trÞ5FH vµo thanh ghi R0
MOV A, @R0 ; Di chuyÓn d÷ liÖu trá tíi R0 vµo thanh chøa A
* Vïng RAM ®Þnh ®Þa chØ
9
Chip 89C51 chøa 210 vÞ trÝ ®Þnh ®Þa chØ trong ®ã cã 128 byte chøa
trong c¸c byte ë ®Þa chØ 20H ®Õn 2FH (16 byte x 8 = 128 bits), phÇn cßn
l¹i chøa trong c¸c thanh ghi chøc n¨ng ®Æc biÖt.
C«ng dông: + Truy xuÊt c¸c bit riªng rÏ th«ng qua c¸c phÇn mÒm.
+ C¸c port cã thÓ ®Þnh ®Þa chØ tõng bit, lµm ®¬n gi¶n
viÖc giao tiÕp b¨ng phÇn mÒm víi c¸c thiÕt bÞ xuÊt nhËp ®¬n bit.
VÝ dô: + Set bit trùc tiÕp:
SETB 67H; lÖnh lµm nhiÖm vô set bit 67H b»ng 1
+ HoÆc ta cã thÎ sö dông lÖnh sau ®Ó set bÝt 67H lµ bit lín
nhÊt cña byte 2CH:
MOV A,2CH
; §äc c¶ byte
ORL A,#10000000B ;T¸c dung set bit
MOV 2CH,A
; Ghi trë l¹i c¶ byte
FF
General purfose RAM
7F 7E
7D
7C
7B
7A
79
78
30
77
76
75
74
73
72
71
70
2F
6F 6E
6D
6C
6B
6A
69
68
67
66
65
64
63
62
61
60
5F 5E
5D
5C
5B
5A
59
58
57
56
55
54
53
52
51
50
4F 4E
4D
4C
4B
4A
49
48
47
46
45
44
43
42
41
40
3F 3E
3D
3C
3B
3A
39
38
37
36
35
34
33
32
31
30
2F 2E
2D
2C
2B
2A
29
28
27
26
25
24
23
22
21
20
1F 1E
1D
1C
1B
1A
19
18
17
15
14
13
12
11
10
16
10
0F 0E
0D
0C
0B
0A
09
08
07
05
04
03
02
01
00
06
BANK 3
BANK 2
20
1F
BANK 1
Default registor bank for R0-R7
00
* C¸c d·y thanh ghi:
Cã ®Þa chØ tõ 00H ®Õn 1FH, 32 vÞ trÝ thÊp nhÊt cña bé nhí néi chøa c¸c
d·y thanh ghi. C¸c lÖnh cña 89C51 hç trî 8 thanh ghi tö R0 ®Õn R7 (mÆc
®Þnh thuéc bank 0 sau khi reset hÖ thèng)
FF
F0
F7
F6
F5
F4
F3
F2
F1
F0
B
E0
E7
E6
E5
E4
E3
E2
E1
E0
ACC
D0
D7
D6
D5
D4
D3
D2
D1
D0
PSW
B8
-
-
-
BC
BB
BA
B9
B8
IP
B0
B7
B6
B5
B4
B3
B2
B1
B0
P3
-
AC
AB
AA
A9
A8
IE
A8 AF
-
A0
11
A0
A7
A6
A5
A4
A3
A2
A1
A0
SBUF
Not bit addressable
99
P2
9F
9E
9D
9C
9B
9A
99
98
SCON
97
96
95
94
93
92
91
90
P1
98
90
8D
8C
8B
Not bit addressable
TH1
Not bit addressable
TH0
Not bit addressable
Not bit addressable
TL1
Not bit addressable
TL0
8A
TMOD
89
88
8F
87
Not bit addressable
PCON
Not bit addressable
DPH
Not bit addressable
DPL
83
82
81
8E
8D
8C
8B
8A
89
88
Not bit addressable
87
86
85
TCON
SP
84
83
82
81
80
PO
80
Bé nhí d÷ liÖu trªn chip
* C¸c thanh ghi chøc n¨ng ®Æc biÖt (SFR)
Kh«ng ph¶i tÊt c¶ 128 ®Þa chØ tõ 80H ®Õn FFH ®Òu ®−îc ®Þnh nghÜa
mµ chØ cã 21 ®Þa chØ ®−îc ®Þnh nghÜa.
C¸c thanh ghi chøc n¨ng ®Æc biÖt bao gåm:
+ Tö tr¹ng th¸i ch−¬ng tr×nh PSW: cã ®Þa chØ lµ D0H
12
Bit
KÝ hiÖu §Þa chØ M« t¶
PSW.7
CY
D7H
Cê Nhí
PSW.6
AC
D6H
Cê nhí phô
PSW.5
F0
D5H
Cê 0
PSW.4
RS1
D4H
Chän d·y thanh ghi 1
PSW.3
RS0
D3H
Chänh d·y thanh ghi 0
00 = bank 0: ®Þa chØ tõ 00F ®Õn 07H
01 = bank 1: ®Þa chØ tõ 08F ®Õn 0FH
10 = bank 2: ®Þa chØ tõ 00F ®Õn 07H
11 = bank 3: ®Þa chØ tõ 00F ®Õn 07H
PSW.2
OV
D2H
Cê trµn
PSW.1
-
D1H
Dù tr÷
PSW.0
P
D0H
Cê kiÓm tra ch½n lÎ
+ Thanh ghi B: Cã ®Þa chØ F0H ®−îc dïng chung víi thanh chøa A
trong c¸c phÐp to¸n nh©n vµ chia.
+ Con trá Stack (SP) : lµ thanh ghi 8 bit ë ®Þa chØ 81H, nã chøa ®Þa
chØ cña d÷ liÖu hiÖn ®ang ë ®Ønh cña stack.
+ Con trá d÷ liÖu DPTR:
- Dïng ®Ó truy xuÊt bé nhí ch−¬ng tr×nh ngoµi hoÆc bé nhí d÷
liÖu ngoµi.
- DPTR lµ thanh ghi 16 bit cã ®Þa chØ 82H (byte thÊp ) vµ 83H
(byte cao).
VÝ dô:
MOV A, #55H
;N¹p h»ng d÷ liÖu 55H vµ thanh chøa A
MOV DPTR, %1000 ;N¹p h»ng ®Þa chØ 16 bit 1000H cho
; con trá DPTR
MOV @DPTR, A ; ChuyÓn d÷ liÖu tõ A vao RAM ngoµi
; t¹i ®Þa chØ DPTR trá tíi.
+ C¸c thanh ghi port:
- Port 0 : ®Þa chØ 80H
13
- Port 1 : ®Þa chØ 90H
- Port 2 : ®Þa chØ A0H
- Port 3 : ®Þa chØ B0H
+ C¸c thanh ghi ®Þnh thêi:
8951 cã 2 bé ®Þnh thêi/®Õm dïng ®Ó ®Þnh kho¶ng thêi gian hoÆc
®Õm c¸c sù kiÖn.
- Bé ®Þnh thêi 0: ®Þa chØ 8AH (TL0 ) va 8CH (TH0)
- Bé ®Þnh thêi 1: ®Þa chØ 8bH (TL1 ) va 8DH (TH1)
Ho¹t ®éng cña bé ®Þnh thêi ®−îc thiÕt lËpbëi thanh ghi chÕ ®é
®Þnh thêi TMOD ë ®Þa chØ 89H vµ thanh ghi ®ieÌu khiÓn bé ®Þnh thêi
TCON ë ®Þa chØ 88H (chØ cã TCON ®−îc ®Þnh ®Þa chØ tõng bit)
+ C¸c thanh ghi cña port nèi tiÕp: Chip 8951 cã 1 port nèi tiÕp ®Ó
truyÒn th«ng víi c¸c thiÕt bÞ nh− c¸c thiÕt bÞ ®Çu cuèi hoÆc modem...
+
C¸c thanh ghi ng¾t: cã mét cÊu tróc ng¾t víi 2 møc −u tiªn vµ 5
nguyªn nh©n ng¾t. C¸c ng¾t bÞ v« hiÖu ho¸ sau khi Reset hÖ thèng vµ
®−îc phÐp b»ng c¸ch vµo thanh ghi IE ë ®Þa chØ A8H.
Møc −u tiªn ng¾t ®−îc thiÕt lËp bëi thanh ghi IP ë ®Þa chØ B8H.
+ Thanh ghi ®iÒu khiÓn nguån: PCON cã ®Þa chØ 87H.
c/ Tãm t¾t tËp lÖnh
Th«ng qua viÖc kh¶o s¸t c¸c kiÓu ®Þnh ®Þa chØ vµ c¸c vÝ dô trªn c¸c t×nh
huèng lËp tr×nh ®iÓn h×nh ®Ó chóng ta tiÕp cËn tËp lÖnh cña hä MCS-51.
Ø C¸c kiÓu ®Þnh ®Þa chØ.
Cã 8 kiÓu ®Þnh ®Þa chØ :
+ Thanh ghi.:
VD: MOV PSW,#00011000B
+ Trùc tiÕp :
VD: MOV P1, A
+ Gi¸n tiÕp:
VD: MOV A,@R0
+ Tøc thêi:
14
VD: MOV A, #54
+ T−¬ng ®èi:
VD: SJMP THREE :Nh¶y ®Õn nh·n THREE
+ TuyÖt ®èi:
VD: AJMP THREE
+ Dµi:
+ ChØ sè.
VD: JMP @A+DPTR
Ø C¸c lo¹i lÖnh:
Cã 5 nhãm lÖnh:
+ Nhãm lÖnh sè häc.
ADD A , nguån: Céng to¸n h¹ng nguån vµo A
ADD A, #data : Céng d÷ liÖu data víi A
ADDC A, nguån: Céng nguån víi A vµ cê nhí.
ADDC A, #data : Céng d÷ liÖu data víi A vµ cê nhí.
SUBB A, nguån: Trõ A víi nguån
SUBB A, #data : Trõ A víi data
INC A
: T¨ngnéi dung thanh ghi A lªn 1
DEC A
: Gi¶m néi dung thanh ghi A lªn 1
INC DPTR
: T¨ng DPTR
MUL
AB
: Nh©n néi dung thanh ghi A vµ B
DIV
AB
: Chia A cho B
DA
A
: HiÖu ch×nh thËp ph©n thanh ghi A
+ Nhãm lÖnh Logic.
ANL A, nguån
AND
ANL A, #data
ANL direct, A
15
ANL direct , #data
ORL A, nguån
OR
ORL A, #data
ORL direct, A
ORL direct , #data
XRL A, nguån
OR
XRL A, #data
XRL direct, A
XRL direct , #data
CLR A
Xo¸ A
CPL A
LÊy bï A
RL A
Quay tr¸i A
RLC A
KÓ c¶ cê nhí
RR A
Quay ph¶i A
RRC A
KÓ c¶ cê nhí
SWAP A
Ho¸n ®åi 2 nöa 4 bit
+ Nhãm lÖnh di chuyÓn d÷ liÖu
MOV A, nguån
Di chuyÓn to¸n h¹ng ngu«ng ®Õn ®Ých
MOV A, #data
MOV dest , A
MOV dest , source
MOV dest, #data
MOV DPTR, #data16
MOVC A, @A+DPTR Di chuyÓn tõ bé nhí ch−¬ng tr×nh
MOVC A, #A+PC
MOVX A, @Ri
MOVX A, @DPTR
16
MOVX @Ri, A
MOVX @DPTR, A
PUSH direct
CÊt vµo Stack
POP direct
LÊy ra tõ Stack
XCH A, source
Trao ®åi c¸c byte
XCHD A, @Ri
Trao ®åi c¸c digit thÊp
+ Nhãm lÖnh xö lÝ bit.
CLR C xo¸ bit
CLR bit
SETB C
SETB bit
CPL C
CPL bit
ANL C, bit
AND
ANL C , /bit AND NOT bit víi C
ORL C, bit
ORL C, /bit
MOV C, bit
MOV bit, C
JC rel Nh¶y ®Õn Rel nÕu C=1
JNC rel Nh¶y ®Õn Rel nÕu C=0
JB bit, rel Nh¶y nÕu bit b»ng 1
JNB bit, rel Nhµy nÕu bit =0
JBC bit , rel Nh¶y nÕu bit =1 råi xo¸ bit
+Nhãm lÖnh rÏ nh¸nh.
ACALL addr11 Gäi ch−¬ng tr×nh con
LCALL addr16
17
RET
Quay vÒ tõ ch−¬ng tr×nh con
RETI
Quay vÒ tõ ch−¬ng tr×nh ng¾t
AJMP addr11
Nh¶y
LJMP addr16
SJMP rel
JMP @ A+DPTR
JZ rel
Nh¶y nÕu A=0
JNZ rel
Nh¶y nÕu A <>0
CJNE A,direct, rel So s¸nh vµ nh¶y
CJNE #data, rel
CJNE Rn,#data, rel
CJNE @ Ri,# data, rel
DJNZ Rn, rel
Gi¶m vµ nh¶y nÕu kh¸c 0
DJNZ direct, rel
NOP
Kh«ng lµm g×
d/ Ho¹t ®éng ®Þnh thêi
Lµ mét chuçi c¸c Flip-Flop nèi tiÕp nhau vµ nhËn tÝn hiÖu tõ
nguån xung nhÞp. Bé ®Þnh thêi ®−îc lËp tr×nh sao cho sÏ trµn trong mét
kho¶ng thêi gian nhÊt ®Þnh vµ set cê trµn cña bé ®Þnh thêi = 1.
C¸c bé ®Þnh thêi sö dông ®Ó:
- §Þnh thêi trong mét kho¶ng thêi gian.
- §Õm sù kiÖn.
- T¹o tèc ®é baud cho c¸c port nèi tiÕp.
C¸c bé ®Þnh thêi ®−îc truy xuÊt b»ng c¸ch sö dông 6 thanh ghi
chøc n¨ng ®Æc biÖt.
SFR cña bé
Môc ®Ých
®Þnh thêi
18
§Þa chØ
§Þa chØ cña Bit
TCON
§iÒu khiÓn
88H
Cã
TMOD
Chon chÕ ®é
89H
Kh«ng
TL0
Byte thÊp cña bé ®Þnh thêi 0
8AH
Kh«ng
TL1
Byte thÊp cña bé ®Þnh thêi 1
8BH
Kh«ng
TH0
Byte cao cña bé ®Þnh thêi 0
8CH
Kh«ng
TH1
Byte cao cña bé ®Þnh thêi 1
8DH
Kh«ng
e/ Ho¹t ®éng ng¾t
- Lµ sù x¶y ra mét sù kiÖn, mét ®iÒu kiÖn lµm cho ch−¬ng tr×nh hiÖn
hµnh t¹m dõng trong khi ®iÒu kiÖn ®−îc phôc vô bëi mét ch−¬ng tr×nh
kh¸c. Ng¾t ®ãng vai trß quan träng trong viÖc thiÕt kÕ, thùc hiÖn øng dông
c¸c bé vi ®iÒu khiÓn.
- Tæ chøc ng¾t cña 8951:
+ Cã 5 nguyªn nh©n t¹o ra ng¾t: 2 ng¾t do bªn ngoµi, 2 ng¾t do bé
®Þnh thêi, mét ng¾t do port nèi tiÕp.
+ Khi x¶y ra 2 hay nhiÒu ng¾t ®ång thêi hoÆc mét ng¾t trong khi
®ang thùc hiªn mét ng¾t kh¸c th× ta sÏ cã 2 s¬ ®å xö lý c¸c ng¾t: S¬ ®å
chuçi vßng vµ s¬ ®å 2 møc −u tiªn.
Ø C¸c c¸ch thøc cho phÐp ng¾t vµ kh«ng cho phÐp ng¾t:
Mét sè nguyªn nh©n ng¾t ®−îc cho phÐp vµ kh«ng ®−îc cho phÐp.
Bit
KÝ
§Þa chØ
M« t¶
hiÖu
bit
(0= Kh«ng cho phÐp; 1= Cho phÐp)
IE.7
EA
AFH
Cho phÐp/ kh«ng cho phÐp toµn côc
IE.6
-
AEH
Kh«ng sö dông
IE.5
ET2
ADH
Cho phÐp ng¾t do bé ®Þnh thêi 2
IE.4
ES
ACH
Cho phÐp ng¾t do port nèi tiÕp
IE.3
ET1
ABH
Cho phÐp ng¾t do bé ®Þnh thêi 1
IE.2
EX1
¢AH
Cho phÐp ng¾t tõ bªn ngoµi (Ng¾t ngoµi 1)
19
IE.1
ET0
A9H
Cho phÐp ng¾t do bé ®Þnh thêi 0
IE.0
EX0
A8H
Cho phÐp ng¾t tõ bªn ngoµi (Ng¾t ngoµi 0 )
ئu tiªn ng¾t:
C¸c −u tiªn ng¾t ®−îc lËp tr×nh riªng rÏ ®Ó cã mét trong 2 møc −u tiªn
th«ng qua c¸c thanh ghi chøc n¨ng ®Æc biÖt ®−îc ®Þnh ®Þa chØ bit.
Bit
KÝ
§Þa chØ
M« t¶
hiÖu
bit
(0= Kh«ng cho phÐp; 1= Cho phÐp)
IP.7
-
-
Kh«ng sö dông
IP.6
-
-
Kh«ng sö dông
IP.5
PT2
BDH
¦u tiªn ng¾t do bé ®Þnh thêi 2
IP.4
PS
BCH
¦u tiªn ng¾t do port nèi tiÕp
IP.3
PT1
BBH
¦u tiªn ng¾t do bé ®Þnh thêi 1
IP.2
PX1
BAH
¦u tiªn ng¾t tõ bªn ngoµi (Ng¾t ngoµi 1)
IP.1
PT0
B9H
¦u tiªn ng¾t do bé ®Þnh thêi 0
IP.0
PX0
B8H
¦u tiªn ng¾t tõ bªn ngoµi (Ng¾t ngoµi 0 )
ØXö lý ng¾t:
C¸c thao t¸c x¶y ra sau khi ng¾t:
- Hoµn tÊt viÖc thùc thi lÖnh hiÖn hµnh.
- Bé ®Õm ch−¬ng tr×nh PC ®−îc hoµn tÊt.
- Tr¹ng th¸i cña ng¾t hiÖn hµnh ®−îc l−u gi÷ l¹i.
- C¸c ng¾t ®−îc chÆn l¹i ë møc ng¾t.
- Bé ®Õm ch−¬ng tr×nh PC ®−îc n¹p ®Þa chØ vÐct¬ cña tr×nh phôc
vô ng¾t ISR
- ISR ®−îc thùc thi.
C¸c cê ng¾t:
Ng¾t
Cê
Thanh ghi SFR vµ vÞ trÝ bÝt
Do bªn ngoµi (ng¾t ngoµi 0)
IE0
TCON.1
Do bªn ngoµi (ng¾t ngoµi 1)
IE1
TCON.3
20
- Xem thêm -