Thứ Năm, 27 tháng 2, 2014

bai_tap_lon_nguyen_manh_ha

§å ¸n m«n: Vi xư lý vµ §o lêng Sinh viªn: ngun m¹nh hµ
-Ý nghĩa khi làm bài tâp lớn mơn vi điều khiển.
-Nêu ra ý kiến đóng góp để cải tiến cơng nghệ của bài tốn.
PhÇn i. ĐO NHIỆT ĐỘ
I. Hệ Thống Đo Lường
1. Giới thiệu
Để thực hiện phép đo của một đại lượng nào đó thì tuỳ thuộc vào đặc tính của
đại lượng cần đo,điều kiện đo,cũng như độ chính xác theo yêu cầu của một phép đo mà
ta có thể thực hiện đo bằng nhiều cách khác nhau trên cơ sỡ của các hệ thống đo lường
khác nhau.
Sơ đồ khối của một hệ thống đo lường tổng quát
_ Khối chuyển đổi: làm nhiệm vụ nhận trực tiếp các đại lượng vật lý đặc trưng cho
đối tượng cần đo biến đổi các đại lượng thành các đại lượng vật lý thống nhất(dòng điện
hay điện áp) để thuận lợi cho việc tính toán.
_ Mạch đo: có nhiệm vụ tính toán biến đổi tín hiệu nhận được từ bộ chuyển đổi
sao cho phù hợp với yêu cầu thể hiện kết quả đo của bộ chỉ thò.
_ Khối chỉ thò:làm nhiệm vụ biến đổi tín hiệu điện nhận được từ mạch đo để
thể hiện kết quả đo.
2. Hệ thống đo lường số
Hệ thống đo lường số được nhóm áp dụng để thực hiện luận văn nầy vì có các
ưu điểm:các tín hiệu tương tự qua biến đổi thành các tín hiệu số có các xung rỏ ràng ở
trạng thái 0,1 sẽ giới hạn được nhiều mức tín hiệu gây sai số .Mặt khác ,hệ thống này
tương thích với dữ liệu của máy tính,qua giao tiếp với máy tính ứng dụng rộng rãi trong
kỹ thuật.
5
Chuyển đổi
Mạch đo
Chỉ thò
§å ¸n m«n: Vi xư lý vµ §o lêng Sinh viªn: ngun m¹nh hµ
a. Sơ đồ khối

Hình 5.1 Sơ đồ khối của hệ thống đo lường số
b. Nguyên lý hoạt động
Đối tượng cần đo là đại lượng vật lý,dựa vào các đặc tính của đối tượng cần đo
mà ta chọn một loại cảm biến phù hợp để biến đổi thông số đại lượng vật lý cần đo
thành đại lượng điện ,đưa vào mạch chế biến tín hiệu(gồm:bộ cảm biến,hệ thống
khuếch đại,xử lý tín hiệu).
Bộ chuyển đổi tín hiệu sang số ADC(Analog Digital Converter) làm nhiệm vụ
chuyển đổi tín hiệu tương tự sang tín hiệu số và kết nối với vi xử lý.
Bộ vi xử lý có nhiệm vụ thực hiện những phép tính và xuất ra những lệnh trên cơ
sở trình tự những lệnh chấp hành đã thực hiện trước đó.
Bộ dồn kênh tương tự (multiplexers) và bộ chuyển ADC được dùng chung tất cả
các kênh . Dữ liệu nhập vào vi xử lý sẽ có tín hiệu chọn đúng kênh cần xử lý đê đưa
vào bộ chuyển đổi ADC và đọc đúng giá trò đặc trưng của nó qua tính toán để có kết quả
của đại lượng cần đo.
Cảm
biến
Chế
biến
tín
hiệu
Cảm
biến
Chế
biến
tín
hiệu
.
.
.
.
ADC
Vi
điều
Khiển
Hiển thị
Sử dụng
Chương
trình
đại
lượng
đại
lượng
Hình:Sơ đồ khối của hệ thống đo lường số
6
§å ¸n m«n: Vi xư lý vµ §o lêng Sinh viªn: ngun m¹nh hµ
II. Các Phươg Pháp Đo Nhiệt Độ
Đo nhiệt độ là một phương thức đo lường không điện,đo nhiệt độ được chia thành
nhiều dãi:
+ Đo nhiệt độ thấp
+ Đo nhiệt độ trung bình
+ Đo nhiệt độ cao.
Việc đo nhiệt độ được tiến hành nhờ các dụng cụ hổ trợ chuyên biệt như:
+ Cặp nhiệt điện
+ Nhiệt kế điện kế kim loại
+ Nhiệt điện trở kim loại
+ Nhiệt điện trở bán dẫn
+ Cảm biến thạch anh.
I . Khèi ®o nhiƯt ®é.
I.1. §Ỉc ®iĨm cđa PT100:
ë nhiƯt ®é 0 C th× PT100 cã ®iƯn trë lµ 100º Ω. §iƯn trë cđa PT100 tû lƯ thn víi nhiƯt ®é vµ
®ỵc tÝnh theo c«ng thøc sau:
R(t) = R
nom
(1+a.t+b.t
2
).
Trong ®ã:
R(t) lµ ®iƯn trë cđa PT100 ë nhiƯt ®é t C.º
R
nom
lµ ®iƯn trë cđa PT100 ë nhiƯt ®é 0 C.º
a, b lµ c¸c tham sè:
a = 3.90830*10
-3
.
b = -5.77500*10
-7
.
§å thÞ thĨ hiƯn ®iƯn trë cđa PT100 øng víi nhiƯt ®é tõ -100 C~500 C.º º
Tõ c«ng thøc trªn ta cã thĨ tÝnh ®ỵc ë nhiƯt ®é 400 C th× PT100 cã ®iƯn trë Rt=247.092º Ω
I.2. §å thÞ thĨ hiƯn ®iƯn trë cđa PT100 øng víi nhiƯt ®é tõ 0 C~400 C.º º
PHẦN II. GIỚI THIỆU VỀ ADC 0808
7
§å ¸n m«n: Vi xư lý vµ §o lêng Sinh viªn: ngun m¹nh hµ
+ ThiÕt bÞ chun ®ỉi t¬ng tù sang sè, ta chän lo¹i ADC0808:
- §iƯn ¸p ®Çu vµo (0->5V) VDC
- Cã 8 kªnh ®Çu vµo IN0-> IN7
- §é ph©n gi¶i bit (cã 8 bit ®Çu ra).
- §iƯn ¸p chn U
ref
=5VDC
- TÇn sè xung nhÞp, f
clk
=500KHz, cao nhÊt lµ 640KHz.
- Sai sè lỵng tư lµ 1LSB.
- IN0->IN7: lµ 8 kªnh ®Çu vµo.
- DB0->DB7: lµ 8 bit ®Çu ra.
- -Vref, +ref: lµ cÊp ®iƯn ¸p chn.
- Clock: lµ ch©n cÊp xung nhÞp cho ADC.
- ALE: lµ ch©n chèt ®Þa chØ kªnh ®ỵc chän ®Ĩ biÕn ®ỉi.
- Start: lµ ch©n ra lƯnh cho ADC b¾t ®Çu biÕn ®ỉi.
- EOC (End Off Conversion): ch©n b¸o kÕt thóc qu¸ tr×nh chun ®ỉi.
- Enable: lµ ch©n cho phÐp më ®Ưm ®Çu ra ®Ĩ ®äc kÕt qu¶ biÕn ®ỉi.
U 5
A D C 0 8 0 8
7
1 0
1 1
1 21 3
1 6
2 2
2 3
2 4
2 5
2 6
2 7
2 8
1
2
3
4
5
9
6
1 7
1 4
1 5
8
1 8
1 9
2 0
2 1
E O C
C L K
V C C
+ V R E FG N D
- V R E F
A L E
A D D C
A D D B
A D D A
I N 0
I N 1
I N 2
I N 3
I N 4
I N 5
I N 6
I N 7
O E
S T A R T
D B 0
D B 1
D B 2
D B 3
D B 4
D B 5
D B 6
D B 7
- Chän kªnh biÕn ®ỉi ADC:
ADDC ADDB ADDA Kªnh
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
IN0
IN1
IN2
IN3
IN4
IN5
IN6
IN7
)()(
)(
).(256
−+



=
refref
refIN
VV
VV
N
Trong ®ã Vin lµ ®iƯn ¸p ngâ vµo.
NÕu chän Vref(-) = 0 th×: N = 256.
)(
+
ref
in
V
V
Vref(+) = 5VDC.
1 LSB =
12
5
8

= 0,0196 V/byte.
BiĨu ®å thêi gian cđa ADC 0808.
8
§å ¸n m«n: Vi xư lý vµ §o lêng Sinh viªn: ngun m¹nh hµ
*) §Ĩ 8051 cã thĨ ®äc ®ỵc gi¸ trÞ nhiƯt ®é tõ PT100 th× ta ph¶i lµm mét m¹ch ®iƯn chn ho¸ tÝn
hiƯu ®Çu vµo thµnh tÝn hiƯu ®iƯn ¸p råi biÕn ®ỉi sang tÝn hiƯu sè.
NhiƯt ®é ®o §iƯn trë PT100 (Rt) §Çu ra chn ho¸ §Çu ra cđa ADC0808
0 Cº
100Ω
0 VDC 00H = 0
400 Cº
247.092Ω
4.902 VDC FAH = 250
X Cº Rt U VDC kenh
Ta lÊy sè trßn 250, t¬ng øng ta ph¶i chØnh c¸c biÕn trë cđa bé chn ho¸ sao cho tho¶ m·n b¶ng
th«ng sè trªn. Bé chn ho¸ ta dïng khch ®¹i tht to¸n lo¹i LM324, m¾c thµnh m¹ch khch ®¹i
vi sai.
+ Trong m¹ch cßn cã c¸c vi m¹ch: chèt ®Þa chØ 74HC373, gi¶i m· ®Þa chØ 74HC139, led bÈy thanh
sư dơng lo¹i Catèt chung .…
*) Mạch tạo xung clock cho ADC 0808:
9
§å ¸n m«n: Vi xư lý vµ §o lêng Sinh viªn: ngun m¹nh hµ
3. C¸c s¬ ®å m¹ch ®iƯn.
3.1 S¬ ®å m¹ch ®iƯn chn ho¸ tÝn hiƯu ®iƯn ¸p dïng khch ®¹i vi sai:
-
+
U 3 A
L M 3 2 4
3
2
1
4 1 1
- 1 2 V
R 7
5 0 K
R 8 1 0 K
R 1 1
1 0 K
+ 1 2 V
R 4 0
1 0 k
R 9
1 0 K
R 6
5 0 K
R 5
2 K
R 1 0
1 0 K
- 1 2 V
R 1
1 K
- 1 2 V
R 3 7
1 0 k
R 3
9 0 0
-
+
U 2 A
L M 3 2 4
3
2
1
1 1 4
+ 1 2 V
+ 1 2 V
- 1 2 V
R 2
1 K
+ 1 2 V
I N 0 _ A D C
-
+
U 1 1 A
L M 3 2 4
3
2
1
4 1 1
-
+
U 1 A
L M 3 2 4
3
2
1
41 1
S E N S O R - 1
P T 1 0 0
1
2
+ 1 2 V
R 3 9
2 0 k
R 3 8
1 0 k
+ §©y lµ mét m¹ch chn ho¸ cho Sebsor-1 ®Çu ra nèi víi ch©n IN0_ADC cđa ADC0808
Víi c¸c sensor 2->7 t¬ng tù.
+ Sư dơng m¹ch khuªch ®¹i vi sai víi khch ®¹i tht to¸n LM324.
+ §iỊu chØnh c¸c biÕn trë ®Ĩ khi nhiƯt ®é t¨ng tõ 0~400 C th× ®Çu ra t¨ng tõ 0~4,902V ®º a ®Õn ADC
0808.
+ HƯ sè khch ®¹i tÇng 1 lµ: K1=(1+R
8
/R
7
) = (1+R
9
/R
7
)=1,2 ; chän R
7
vµ R
8
sao cho R
7
=R
8
ta chän
R
8
=R
9
=10kΩ.
+TÇng 2 lµ m¹ch trõ. HƯ sè khch ®¹i tÇng 2 lµ: K2=R
40
/R
10
=1; chän R
40
; R
11
; R
10
; R
37
víi ®iỊu
kiƯn R
40
*R
11
=R
10
*R
37
; vµ ta chän R
40
=R
11
=R
10
=R
37
=10kΩ.
+ TÇng 3 lµ m¹ch khch ®¹i ®¶o. HƯ sè khch ®¹i tÇng ci lµ: K3=-(R
6
+R
39
)/R
38
.
+ Khi nhiƯt ®é t¨ng tõ 0~400 C th× ®iƯn trë cđa PT100 t¨ng tõ 100º Ω~247.092Ω, ®iƯn ¸p ra cđa cÇu
®o t¨ng tõ 0~411mV, ®Ĩ t¬ng øng ®Çu ra lµ 0~4,902V, th× ta ph¶i ®iỊu chØnh hai biÕn trë R
5
vµ R
6

sao cho K1*K2*K3=5/0.411=12,165.
****************************************************************************
3.2 S¬ ®å m¹ch ngn ỉn ¸p
C 1 2
1 0 0 0 u f
J 5
2 2 0 V A C
1
2
R 2 0
3 3 0
+ -
~
~
D 9
D I O D E B R I D G E _ 1 3 2 4
+ 1 2 V
C 1 8
4 7 0 u f
J 4
5 V D C
1
2
+ 5 V
D 1 0
L E D
U 1 7
L M 7 9 1 2 C / T O 2 2 0
2 3
1
I N O U T
G N D
C 1 6
1 0 4
U 1 8
L M 7 8 0 5 / T O
1
3
2
V I N
G N D
V O U T
C 1 5
1 0 4
U 1 6 L M 7 8 1 2 / T O
1
3
2
V I N
G N D
V O U T
+ 5 V
C 1 1
1 0 0 0 u f
C 1 4
4 7 0 u f
T 1
T R A N S F O R M E R C T
2 2 0 V A C 1 5 V
0 V
4 1 5 V
- 1 2 V
C 1 7
1 0 4
+
-
~
~
D 8
D I O D E B R I D G E _ 1 3 2 4
C 1 3
4 7 0 u f
+ Ngn ®èi xøng +12V, -12V dïng ®Ĩ cÊp ngn cho khch ®¹i tht to¸n LM324.
10
§å ¸n m«n: Vi xư lý vµ §o lêng Sinh viªn: ngun m¹nh hµ
+ Ngn ỉn ¸p 5VDC dïng ®Ĩ cÊp ngn cho Vi ®iỊu khiĨn vµ c¸c vi m¹ch sè ADC0809 vµ
74HC74
+ LM7812 lµ vi ỉn ¸p +12V. Vi m¹ch nµy cã thĨ chÞu ®ỵc dßng ®iƯn qua nã lµ 1A.
+ LM7912 lµ vi ỉn ¸p -12V. Vi m¹ch nµy cã thĨ chÞu ®ỵc dßng ®iƯn qua nã lµ 1A.
+ LM7805 lµ vi ỉn ¸p +5V. Vi m¹ch nµy cã thĨ chÞu ®ỵc dßng ®iƯn qua nã lµ 1A.
+ C¸c tơ ®iƯn C11, C12, C13, C14, C18 lµ c¸c tơ läc ngn, ta cã thĨ sư dơng phÇn mỊm
thiÕt kÕ m¹ch ®iƯn Orcad 9.2 hc Protel 7.1 ®Ĩ m« pháng m¹ch ®iƯn vµ chän c¸c gi¸ trÞ cđa tơ,
cđa ®iƯn trë.
M¹ch dõng khÈn cÊp
PhÇn iii. Giíi thiƯu v®k 8051
Ch¬ng 1. S¬ lỵc vỊ c¸c bé ®Þnh thêi, b¶n ®å Ram, Rom
3.1 Bé ®Õm ch ¬ng tr×nh trong 8051.−
Mét thanh ghi quan träng kh¸c trong 8051 l bé ®Õm ch ¬ng tr×nh . Bé ®Õm ch ¬ng tr×nh μ − −
chØ ®Õm ®Þa chØ cđa lƯnh kÕ tiÕp cÇn ® ỵc thùc hiƯn. Khi CPU n¹p m· lƯnh tõ bé nhí ROM ch ¬ng− −
tr×nh th× bé ®Õm ch ¬ng tr×nh t¨ng lªn chØ ®Õm lƯnh kÕt tiÕp. Bé ®Õm ch ¬ng tr×nh trong 8051 cã − −
thĨ truy cËp c¸c ®Þa chØ ch ¬ng tr×nh trong 8051 réng 16 bit. §iỊu n y cã nghÜa l 8051 cã thĨ truy− μ μ
cËp c¸c ®Þa chØa ch ¬ng tr×nh tõ 0000 ®Õn FFFFH tỉng céng l 64k byte m· lƯnh. Tuy nhiªn, − μ
kh«ng ph¶i tÊt c¶ mäi th nh viªn cđa 8051 ®Ịu cã tÊt c¶ 64k byte ROM trªn chÝp ® ỵc c i ®Ỉt. VËyμ − μ
khi 8051 ® ỵc bËt ngn th× nã ®¸nh thøc ë ®Þa chØa n o?− μ
3.2 §Þa chØ b¾t ®Çu khi 8051 ® ỵc cÊp ngn.−
Mét c©u hái m ta ph¶i hái vỊ bé vi ®iỊu khiĨn bÊt kú l th× nã ® ỵc cÊp ngn th× nã b¾t μ μ −
®Çu tõ ®Þa chØ n o? Mçi bé vi ®iỊu khiĨn ®Ịu kh¸c nhau. Trong tr êng hỵp hä 8051 th× mäi th nh μ − μ
viªn kĨ tõ nh s¶n xt n o hay phiªn b¶n n o th× bé vi ®iỊu khiĨn ®Ịu b¾t ®Çu tõ ®Þa chØ 0000 khi μ μ μ
11
§å ¸n m«n: Vi xư lý vµ §o lêng Sinh viªn: ngun m¹nh hµ
nã ® ỵc bËt ngn. BËt ngn ë ®©y cã nghÜa l ta cÊp ®iƯn ¸p Vcc ®Õn ch©n RESET nh sÏ tr×nh − μ −
b y ë ch ¬ng 4. Hay nãi c¸ch kh¸c, khi 8051 ® ỵc cÊp ngn th× bé ®Õm ch ¬ngμ − − −
tr×nh cã gi¸ trÞ 0000. §iỊu n y cã nghÜa l nã chê m· lƯnh ®Çu tiªn ® ỵc l u ë ®Þa chØa ROMμ μ − −
0000H. V× lý do n y m trong vÞ trÝ nhí 0000H cđa bé nhë ROM ch ¬ng tr×nh v× ®©y l n¬iμ μ − μ
m nã t×m lƯnh ®Çu tiªn khi bËt ngn. Chóng ta ®¹t ® ỵc ®iỊu n y b»ng c©u lƯnh ORG trongμ − μ
ch ¬ng tr×nh ngn nh ®· tr×nh b y tr íc ®©y. D íi ®©y l ho¹t ®éng tõng b íc cđa bé ®Õm− − μ − − μ −
ch ¬ng tr×nh trong qóa tr×nh n¹p v thùc thi mét ch ¬ng tr×nh mÉu.− μ −
3.3 §Ỉt m· v o ROM ch ¬ng tr×nh.μ −
§Ĩ hiĨu tèt h¬n vai trß cđa bé ®Õm ch ¬ng tr×nh trong qu¸ tr×nh n¹p v thùc thi mét − μ
ch ¬ng tr×nh, ta kh¶o s¸t mét ho¹t ®éng cđa bé ®Õm ch ¬ng tr×nh khi mçi lƯnh ® ỵc n¹p v thùc − − − μ
thi. Tr íc hÕt ta kh¶o s¸t mét lÇn n÷a tƯp liƯt kª cđa ch ¬ng tr×nh mÉu v c¸ch ®Ỉt m· v o ROM − − μ μ
ch ¬ng tr×nh 8051 nh thÕ n o? Nh ta cã thĨ thÊy, m· lƯnh v to¸n h¹ng ®èi víi mçi lƯnh ® ỵc − − μ − μ −
liƯt kª ë bªn tr¸i cđa lƯnh liƯt kª.
§©y l mét chi c¸c c©u lƯnh hc c¸c dßng lƯnh ® ỵc viÕt hc b»ng c¸c lƯnh hỵpμ −
ng÷ nh ADD v MOV hc b»ng c¸c c©u lƯnh ® ỵc gäi l c¸c chØ dÉn.− μ − μ
Trong khi c¸c lƯnh hỵp ng÷ th× nãi CPU ph¶i l m g× th× c¸c chØ lƯnh (hay cßn gäi l gi¶ lƯnh)μ μ
th× ® a ra c¸c chØ lƯnh cho hỵp ng÷. VÝ dơ, trong ch ¬ng tr×nh 2.1 th× c¸c lƯnh ADD v MOV− − μ
l c¸c lƯnh ®Õn CPU, cßn ORG v END l c¸c chØ lƯnh ®èi víi hỵp ng÷. ORG nãi hỵp ng÷ ®Ỉtμ μ μ
m· lƯnh t¹i ng¨n nhí 0 v END th× b¸o cho hỵp ng÷ biÕt kÕt thóc m· ngn. Hay nãi c¸chμ
kh¸c mét chØ lƯnh ®Ĩ b¾t ®Çu v chØ lƯnh thø hai ®Ĩ kÕt thóc ch ¬ng tr×nh.μ −
CÊu tróc cđa mét lƯnh hỵp ng÷ cã 4 tr êng nh sau:− −
[nh·n:] [tõ gỵi nhí] [c¸c to¸n h¹ng] [; chó gi¶i]
C¸c tr êng trong dÊu ngc vu«ng l t chän v kh«ng ph¶i dßng lƯnh n o còng cã − μ μ μ
chóng. C¸c dÊu ngc vu«ng kh«ng ® ỵc viÕt v o. Víi d¹ng thøc trªn ®©y cÇn l u ý c¸c ®iĨm sau: − μ −
Tr êng nh·n cho phÐp ch ¬ng tr×nh tham chiÕu ®Õn mét dßng lƯnh b»ng tªn. Nã kh«ng ® ỵc viÕt − − −
qu¸ mét sè ký tù nhÊt ®Þnh. H·y kiĨm tra quy ®Þnh n y cđa hỵp ng÷ m ta sư dơng.μ μ
Tõ gỵi nhí (lƯnh) v c¸c to¸n h¹ng l c¸c tr êng kÕt hỵp víi nhau thùc thi c«ng viƯc thùc tÕμ μ −
cđa ch ¬ng tr×nh v ho n thiƯn c¸c nhiƯm vơ m ch ¬ng tr×nh ® ỵc viÕt cho chóng. Trong hỵp− μ μ μ − −
ng÷ c¸c c©u lƯnh nh :−
“ ADD A, B”
“MOV A, #67H”
Th× ADD v MOV l nh÷ng tõ g¬i nhí t¹o ra m· lƯnh, cßn “A, B” v “A, #67H” lμ μ μ μ
nh÷ng to¸n h¹ng th× hai tr êng cã thĨ chøa c¸c lƯnh gi¶ hc chØ lƯnh cđa hỵp ng÷. H·y nhí−
r»ng c¸c chØ lƯnh kh«ng t¹o ra m· lƯnh n o (m· m¸y) v chóng chØ dïng bëi hỵp ng÷, ng ỵcμ μ −
l¹i ®èi víi c¸c lƯnh l chóng ® ỵc dÞch ra m· m¸y (m· lªnh) cho CPU thùc hiƯn. Trongμ −
ch ¬ng tr×nh 2.1 c¸c lƯnh ORG v END l c¸c chØ lƯnh (mét sè hỵp ng÷ cđa 8051 sư dơng− μ μ
d¹ng .ORG v .END). H·y ®äc quy ®Þnh cơ thĨ cđa hỵp ng÷ ta sư dơng. Tr ¬ng chó gi¶i lu«n ph¶i μ −
b¾t ®Çu b»ng dÊu chÊm phÈy (;). C¸c chó gi¶i cã thĨ b¾t ®Çu ë ®Çu dßng hc gi÷a dßng. Hỵp ng÷ bá
qua (l m ng¬) c¸c chó gi¶i nh ng chóng l¹i rÊt cÇn thiÕt ®èi víi lËp tr×nh viªn. MỈc dï c¸c chó gi¶i μ −
l t chän, kh«ng b¾t bc nh ng ta nªn dïng chóng ®Ĩ m« t¶ ch ¬ng tr×nh ®Ĩ gióp cho ng êi μ − − −
kh¸c ®äc v hiĨu ch ¬ng tr×nh dƠ d ng h¬n.μ − μ
L u ý ®Õn nh·n HERE trong tr êng nh·n cđa ch ¬ng tr×nh 2.1. Mét nh·n bÊt kú tham− − −
chiÕu ®Õn mét lƯnh ph¶i cã dÊu hai chÊm (:) ®øng ë sau. Trong c©u lƯnh nh¶y ng¾n SJMP th×
8051 ® ỵc ra lƯnh ë l¹i trong vßng lỈp n y v« h¹n. NÕu hƯ thèng cđa chóng ta cã mét ch ¬ng− μ −
tr×nh gi¸m s¸t th× takh«ng cÇn dßng lƯnh n y v nã cã thĨ ® ỵc xo¸ ®i ra khái ch ¬ng tr×nh.μ μ − −
3.4 TƯp liƯt kª
Sau khi ch ¬ng tr×nh ® ỵc ®èt v o trong ROM cđa th nh viªn hä 8051 nh 8751 hc− − μ μ −
AT 8951 hc DS 5000 th× m· lƯnh v to¸n h¹ng ® ỵc ® a v o c¸c vÞ trÝ nhí ROM b¾t ®Çu tõμ − − μ
®Þa chØ 0000 nh b¶ng liƯt kª d íi ®©y.− −
§Þa chØ ROM Ng«n ng÷ m¸y Hỵp ng÷
0000 7D25 MOV R5, #25H
0002 7F34 MOV R7, #34H
12
§å ¸n m«n: Vi xư lý vµ §o lêng Sinh viªn: ngun m¹nh hµ
0004 7400 MOV A, #0
0006 2D ADD A, R5
0007 2F ADD A, R7
0008 2412 ADD A, #12H
000A 80EF HERE: SJMP HERE
B¶ng néi dung ROM
B¶ng liƯt kª chØ ra ®Þa chØ 0000 chøa m· 7D l m· lƯnh ®Ĩ chun mét gi¸ trÞ v o thanh ghi μ μ
R5 v ®Þa chØ 0001 chøa to¸n h¹ng (ë ®©y l gi¸ trÞ 254) cÇn ® ỵc chun v o R5. Do vËy,μ μ − μ
lƯnh “MOV R5, #25H” cã m· l “7D25” trong ®ã 7D l m· lƯnh, cßn 25 l to¸n h¹ng. T ¬ngμ μ μ −
tù nh vËy, m· m¸y “7F34” ® ỵc ®Ỉt trong c¸c ng¨n nhí 0002 v 0003 v biĨu diƠn m· lƯnh− − μ μ
v to¸n h¹ng ®èi víi lƯnh “MOV R7, #34H”. Theo c¸ch nh vËy, m· m¸y “7400” ® ỵc ®Ỉt t¹iμ − −
®Þa chØ 0004 v 0005 v biĨu diƠn m· lƯnh v to¸n h¹ng ®èi víi lƯnh “MOV A, #0”. Ng¨n nhíμ μ μ
0006 cã m· 2D l m· ®èi víi lƯnh “ADD A, R5” v ng¨n nhí 0007 cã néi dung 2F l m· lƯnhμ μ μ
cho “ADD A, R7”. M· lƯnh ®èi víi lƯnh “ADD A, #12H” ® ỵc ®Ỉt ë ng¨n nhí 0008 v to¸n− μ
h¹ng 12H ® ỵc ®Ỉt ë ng¨n nhí 0009. Ng¨n nhí 000A cã m· lƯnh cđa lƯnh SJMP v ®Þa chØ− μ
®Ých cđa nã ® ỵc ®Ỉt ë ng¨n nhí 000B. Lý do v× sao ®Þa chØ ®Ých l FE ® ỵc gi¶i thÝch ë− μ −
3.5 B¶n ®å nhí ROM trong hä 8051.
Nh ta ®· thÊy ë ch ¬ng tr íc, mét sè th nh viªn hä 8051 chØ cã 4k byte bé nhí ROM − − − μ
trªn chÝp (vÝ dơ 8751, AT 8951) v mét sè kh¸c nh AT 8951 cã 8k byte ROM, DS 5000-32 cđa μ −
Dallas Semiconductor cã 32k byte ROM trªn chÝp. Dallas Semiconductor còng cã motä 8051 víi
ROM trªn chÝp l 64k byte. §iĨm cÇn nhí l kh«ng cã th nh viªn n o cđa hä 8051 cã thĨ truy cËp μ μ μ μ
® ỵc h¬n 64k byte m· lƯnh v× bé ®Õm ch ¬ng tr×nh cđa 8051 l 16 bit (d¶i ®Þa chØ tõ 0000 ®Õn − − μ
FFFFH). CÇn ph¶i ghi nhí l lƯnh ®Çu tiªn cđa ROM ch ¬ng tr×nh ®Ịu ®Ỉt ë 0000,μ −
cßn lƯnh ci cïng phơ thc v o dung l ỵng ROM trªn chÝp cđa mçi th nh viªn hä 8051.μ − μ
Trong sè c¸c th nh viªn hä 8051 th× 8751 v AT 8951 cã 4k byte ROM trªn chÝp. Bé nhíμ μ
ROM trªn chÝp n y cã c¸c ®Þa chØ tõ 0000 ®Õn 0FFFH. Do vËy, ng¨n nhí ®Çu tiªn cã ®Þa chØμ
0000 v ng¨n nhí ci cïng cã ®Þa chØa 0FFFH. H·y xÐt vÝ dơ.μ
VÝ dơ:
T×m ®Þa chØ bé nhí ROM cđa mçi th nh viªn hä 8051 sau ®©y.μ
a) AT 8951 (hc 8751) víi 4k byte
b) DS 5000-32 víi 32k byte
Lêi gi¶i:
a) Víi 4k byte cđa kh«ng gian nhí ROM trªn chÝp ta cã 4096 byte b»ng 1000H ë d¹ng
Hex (4 × 1024 = 4096 hay 1000 ë d¹ng Hex). Bé nhí n y ® ỵc x¾p xÕp trong c¸c ng¨nμ −
nhí tõ 0000 ®Õn 0FFFFH. L u ý 0 lu«n l ng¨n nhí ®Çu tiªn.− μ
b) Víi 32k byte nhí ta cã 32.768 byte (32 × 1024). Chun ®ỉi 32.768 vỊ sè Hex ta nhËn
® ỵc gi¸ trÞ 8000H. Do vËy, kh«ng gian nhí l d¶i tõ 0000 ®Õn 7FFFH.− μ
13
§å ¸n m«n: Vi xư lý vµ §o lêng Sinh viªn: ngun m¹nh hµ
D¶i ®Þa chØ cđa ROM trªn chÝp mét sè th nh viªn hä 8051μ .
3.6 C¸c kiĨu d÷ liƯu v c¸c chØ lƯnhμ .
a) Ph©n bè kh«ng gian bé nhí RAM trong 8051.
Cã 128 byte RAM trong 8051 (mét sè th nh viªn ®ang chó ý l 8052 cã 256 byte RAM). μ μ
128 byte RAM bªn trong 8051 ® ỵc g¸n ®Þa chØ tõ 00 ®Õn 7FH. Nh ta sÏ thÊy ë ch ¬ng 5, chóng− − −
cã thĨ ® ỵc truy cËp trùc tiÕp nh c¸c ng¨n nhí 128 byte RAM n y ® ỵc ph©n chia th nh tõng − − μ − μ
nhãm nh sau:−
1. Tỉng céng 32 byte tõ ng¨n nhí 00 ®Õn 1FH ® ỵc d nh cho c¸c thanh ghi v ng¨n xÕp.− μ μ
2. Tỉng céng 16 byte tõ ng¨n nhí 20H ®Õn 2FH ® ỵc d nh cho bé nhí ®äc/ ghi ®¸nh ®Þa− μ
chØ ® ỵc theo bit. Ch ¬ng 8 sÏ b n chi tiÕt vỊ bé nhí v c¸c lƯnh ®¸nh ®Þa chØ ® ỵc− − μ μ −
theo bit.
3. Tỉng céng 80 byte tõ ng¨n nhí 30H ®Õn 7FH ® ỵc dïng cho l u ®äc v ghi hay nh− − μ −
vÉn th êng gäi l b¶ng nh¸p (Serach pad). Nh÷ng ng¨n nhí n y (80 byte) cđa RAM− μ μ
® ỵc sư dơng réng r·i cho mơc ®Ých l u d÷ liƯu v tham sè bëi c¸c lËp tr×nh viªn 8051.− − μ
Chóng ta sÏ sư dơng chóng ë c¸c ch ¬ng sau ®Ĩ l u d÷ liƯu nhËn v o CPU qua c¸c− − μ
cỉng v o-ra.μ
b) C¸c b¨ng thanh ghi trong 8051.
Nh ®· nãi ë tr íc, tỉng céng 32 byte RAM ® ỵc d nh riªng cho c¸c b¨ng thanh ghi v − − − μ μ
ng¨n xÕp. 32 byte n y ® ỵc chia ra th nh 4 b¨ng c¸c thanh ghi trong ®ã mçi b¨ng cã 8 thanh ghi tõμ − μ
R0 ®Õn R7. C¸c ng¨n nhí RAM sè 0, R1 l ng¨n nhí RAM sè 1, R2 l ng¨n nhí RAM sè 2 v.v μ μ
B¨ng thø hai cđa c¸c thanh ghi R0 ®Õn R7 b¾t ®Çu tõ thanh nhí RAM sè 2 cho ®Õn ng¨n nhí RAM
sè 0FH. B¨ng thø ba b¾t ®Çu tõ ng¨n nhí 10H ®Õn 17H v ci cïng tõ ng¨n nhí 18H ®Õn 1FH l μ μ
dïng cho b¨ng c¸c thanh ghi R0 ®Õn R7 thø t .−
Ng¨n xÕp c¸c thanh nhí RAM trong 8051
14

Xem chi tiết: bai_tap_lon_nguyen_manh_ha


Không có nhận xét nào:

Đăng nhận xét