ỨNG DỤNG VI ĐIỀU KHIỂN AT89C51 ĐO ĐỘ ẨM VÀ KHỐNG CHẾ ĐỘ ẨM TRONG PHÒNG KÍN - Pdf 19

Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện

Chương I: GIỚI THIỆU
I. Đặt vấn đề:
Ngày nay với sự phỏt triển của cụng nghiệp vi điện tử, kỹ thuật số các hệ
thống điều khiển dần dần được tự động hoỏ. Với kỹ thuật tiờn tiến vi xử lý, vi
mạch số….được ứng dụng vào lĩnh vực điều khiển tự động với chương trỡnh thiết
lập trước thay thế cho các hệ thống điều khiển cơ khí thô sơ, tốc độ xử lý chậm, ít
chính xác.
Hiện nay, hầu hết cỏc quy trỡnh sản xuất hàng tiờu dựng quỏ trỡnh sấy đóng
vai trũ quan trọng quyết định đến chất lượng sản phẩm. Do đó, việc đo được nhiệt
độ, độ ẩm và khống chế các yếu tố này theo đúng yêu cầu mong muốn là điều hết
sức quan trọng và cần thiết.
Để kiểm soát được nhiệt độ, độ ẩm trong buồng sấy, dùng vi điều khiển 8051
để tự động hoá quá trỡnh là phương pháp tiện lợi, giỏ thành thớch hợp cho những
ứng dụng rộng rói. Được sự đồng ý của Khoa Điện - Trường Đại học Bách khoa Đà
Nẵng, em tiến hành thực hiện đề tài “Dùng vi điều khiển để đo nhiệt độ, độ ẩm và
khống chế độ ẩm trong phũng kớn”.
II. Giới hạn đề tài:
- Đo nhiệt độ và độ ẩm phũng kớn, khống chế độ ẩm trong phũng theo một
giỏ trị đặt trước.
- Tính toán hệ số khối lượng hơi nước trong không khí trong phạm vi hoạt
động của thiết bị đo theo tiêu chuẩn của hơi nước bóo hoà theo nhiệt độ và hiển thị
thông số này khi giá trị độ ẩm được thiết lập.
III. Mục đích nghiên cứu:
Đề tài này nhằm các mục đích:
- Dùng kỹ thuật vi điều khiển để áp dụng vào các quy trỡnh sản xuất sản
phẩm cần đến công đoạn đo nhiệt độ, độ ẩm.
- Giúp người sử dụng có thể kiểm soát, điều khiển được độ ẩm của một
không gian kín thích hợp.
- Hổ trợ người vận hành có thể tính được nhanh chóng khối lượng hơi nước

chip.
Các công ty khác cũng lần lược cho ra đời các bộ vi điều khiển 8 bit tương tự
như 8048 và hình thành họ vi điều khiển MCS-48 (Microcontroller-sustem-48).
Đến năm 1980 Công ty INTEL cho ra đời thế hệ thứ hai của bộ vi điều khiển
đơn chip với tên gọi 8051.
Bộ vi điều khiển đầu tiên của Tập đoàn SIEMENS cung cấp chip SAB 8051,
một cải tiến của 8051 có 6 Port xuất/nhập 8 bit, đặc biệt có một bộ biến đổi AD 8
bit với 8 kênh ngõ vào.
Ngoài ra còn có các công ty khác cũng có những họ vi điều khiển riêng như:
Họ 68HCOS của công ty Motorola
Họ ST62 của công ty SGS-THOMSON
Họ H8 của công ty Hitachi
Họ pic cuả công ty Microchip
GVHD: ThS. Lâm Tăng Đức Trang:- 2 - SVTH: Võ Ngọc Tuyến
Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện
III.KHảO SáT Bộ VI ĐIềU KHIểN 8051 Và 8031 :
IC vi điều khiển 8051/8031 thuộc họ MCS51 có các đặt điểm sau :
- 4KB ROM (được lập trình bởi nhà sản xuất chỉ có ở 8051)
- 128 byte RAM
- 4port I/0 8 bit
- Hai bộ định thời 16 bit
- Mạch giao tiếp nối tiếp
- 64KB không gian bộ nhớ chương trình mở rộng
- 64 KB không gian bộ nhớ dữ liệu mở rộng
- Bộ xử lý Bit (thao tác trên các bit riêng lẻ)
- 210 bit được địa chỉ hóa
- Nhân/chia 4µs,
1./ Cấu trỳc bờn trong của 8051 / 8031:
GVHD: ThS. Lâm Tăng Đức Trang:- 3 - SVTH: Võ Ngọc Tuyến
OTHER

PSEN\
P
0
P
1
P
2
P
3
Address\Data
TXD RXD
TEMER2
8032\8052
TEMER1
TEMER1
Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện
Hình 2.1 : Sơ Đồ Khối 8051 / 8031
Phần chính của vi điều khiển 8051 / 8031 là bộ xử lí trung tâm (CPU: central
processing unit ) bao gồm :
- Thanh ghi tích lũy A
- Thanh ghi tích lũy phụ B, dùng cho phép nhân và phép chia
- Đơn vị logic học (ALU : Arithmetic Logical Unit )
- Từ trạng thái chương trình (PSW : Prorgam Status Word)
- Bốn băng thanh ghi
- Con trỏ ngăn xếp
- Ngoài ra còn có bộ nhớ chương trình, bộ giải mã lệnh, bộ điều khiển thời
gian và logic.
Đơn vị xử lí trung tâm nhận trực tiếp xung từ bộ giao động, ngoài ra còn có
khả năng đưa một tín hiệu giữ nhịp từ bên ngoài.
Chương trình đang chạy có thể cho dừng lại nhờ một khối điều khiển ngắt ở

port3 có nhiều chức năng riêng (mỗi chân có chức năng riêng liên quan đến các đặc
trưng cụ thể của 8051).
Bit Tên Địa chỉ bit Chức năng chuyển đổi
P3.0 RxD B0H Nhận dữ liệu của port nối tiếp
P3.1 TxD B1H Phát dữ liệu của port nối tiếp
P3.2
INTO
B2H Ngắt 0 bên ngoài
P3.3
INT1
B3H Ngắt 1 bên ngoài
P3.4
T0
B4H Ngõ vào của timer/counter0
P3.5 T1 B5H Ngõ vào của timer/counter 1
P3.6 WR B6H Xung ghi bộ nhớ dữ liệu ngoài
P3.7 RD B7H Xung đọc bộ nhớ dữ liệu ngoài
Bảng 2.1 : Chức năng của các chân trên port3
e. PSEN (Program Store Enable ): 8051/8031 có 4 tín hiệu điều khiển bus
PSEN là tín hiệu ra trên chân 29. Nó là tín hiệu điều khiển để cho phép bộ nhớ
chương trình mở rộng và thường được nối đến chân OE (Output Enable) của một
EPROM để cho phép đọc các bytes mã lệnh.
PSEN sẽ ở trong thời gian tìm - nạp lệnh. Các mã nhị phân của chương trình
được đọc từ EPROM qua bus và được chốt vào thanh ghi lệnh của 8051 để giải mã
lệnh. Khi thi hành chương trình trong ROM nội (8051) PSEN sẽ ở mức thụ động
(logic1).
f. ALE (Address Latch Enable ) :
8051 sử dụng chân 30, chân xuất tín hiệu cho phép chốt địa chỉ ALE để giải
đa hợp (Demultiplexing) bú dữ liệu và bus địa chỉ. Khi Port0 sử dụng đa hợp phân
ALE xuất đến hiện chốt địa chỉ vào 1 thanh ghi ngoài hay nửa đầu chu kỳ bộ nhớ

32 AD7
33 AD6
34 AD5
35 AD4
36 AD3
37 AD2
38 AD1
39 AD0
8
7
6
5
4
3
2
1
28 A15
27 A14
26 A13
25 A12
24 A11
23 A10
22 A9
21 A8
Vcc
XTAL.1
XTAL.2
PSEN\
ALE
EA\

P3.5
P3.4
P3.3
P3.2
P3.1
P3.0
17
16
15
14
13
12
11
10
RD
WR
T1
T0
INT1
INT0
TXD
RXD
8951
29
30
31
9
Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện
Hình 2.2: Sơ đồ chân 8051
3. Tổ chức bộ nhớ :

qua RO hay R1. Ví dụ,hai lệnh sau thi hành cùng nhiệm vụ như lệnh trên :
MOV R0, #5FH
MOV A, @R0
Lệnh đầu dùng địa chỉ tức thời để di chuyển giá trị 5FH vào thanh ghi R0 và
lệnh thứ hai dùng địa chỉ trực tiếp để di chuyển dữ liệu “được trỏ bởi R0” vào
thanh ghi tích luỹ.
địa chỉ byte địa chỉ bit
7F
30
2F
2E
2D
2C
2B
2A
29
28
27
26
25
24
23
22
21
20
1F
18
17
10
0F

F0
E0
D0
B8
B0
A8
A0
99
98
90
8D
8C
8B
8A
89
F7 F6 F5 F4 F3 F2 F1 F0 B
E7 E6 E5 E4 E3 E2 E1 E0 ACC
D7 D6 D5 D4 D3 D2 D1 D0 PSW
- - - BC BB BA B9 B8 IP
B7 B6 B5 B4 B3 B2 B1 B0 P3
AF - - AC AB AA A9 A8 IE
A7 A6 A5 A4 A3 A2 A1 A0 P2
Không định địa chỉ bit
9F 9E 9D 9C 9B 9A 99 98 SCON
97 96 95 94 93 92 91 90 P1
Không định địa chỉ bit
Không định địa chỉ bit
Không định địa chỉ bit
Không định địa chỉ bit
Không định địa chỉ bit

Chú ý rằng “địa chỉ bit 67H” là bit có trọng số lớn nhất (MSB) ở “địa chỉ byte
2CH” lệnh trên sẽ không tác động đến các bit khác của địa chỉ này.
c.Các dãy thanh ghi:
32 byte thấp của bộ nhớ nội là các dãy thah ghi. Bộ nhớ lệnh của
8051/8031hổ trợ 8 thanh ghi (R0 đến R7) và theo mặc định(sau khi reset hệ thống)
và các thanh ghi này ở các địa chỉ 00H-07H. Lệnh sau đây sẽ đọc nội dung ở đia
chỉ 05H vào thanh ghi tích luỹ.
MOV A,R5
ẹaõy laứ leọnh moọt byte duứng ủũa chổ thanh ghi. Taỏt nhieõn, thao taực
tửụng tửù coự theồ ủửụùc thi haứnh baống leọnh 2 byte duứng ủũa chổ trửùc tieỏp
naốm trong byte thửự hai:
MOV A,05H
Caực leọnh duứng caực thanh ghi R0 ủeỏn R7 thỡ seừ ngaộn vaứ nhanh hụn
caực leọnh duứng ủũa chổ trửùc tieỏp. Caực giaự trũ dửừ lieọu ủửụùc duứng
thửụứng xuyeõn neõn duứng moọt trong caực thanh ghi naứy.
Bank thanh ghi tớch cửùc coự theồ chuyeồn ủoồi baống caựch thay ủoồi
caực bit choùn bank thanh ghi trong tửứ traùng thaựi chửụng trỡnh (PSW). Giaỷ
sửỷ raống bank thanh ghi 3 ủửụùc tớch cửùc, leọnh sau seừ ghi noọi dung cuỷa
thanh ghi tớch luừy vaứo ủũa chổ 18H:
MOV R0,A
Y tưởng dùng các dãy thanh ghi cho phép “chuỷên hướng” chương trình
nhanh và hiệu quả( từng phần riêng rẽ của phần mềm sẽ có một hanh ghi riêng rẽ
không phụ thuộc vào các phần khác.
4./ Các thanh ghi chức năng đặc biệt:
GVHD: ThS. Lâm Tăng Đức Trang:- 10 - SVTH: Võ Ngọc Tuyến
Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện
Các thanh ghi nội của 8051/8031 được truy xuất ngầm định bởi lệnh. Ví dụ
lệnh “INC A” sẽ tăng nội dung của thanh ghi tích lũy A lên 1. Tác động này được
ngầm định trong mã lệnh.
Các thanh ghi trong 8051/8031 được định dạng như một phần của RAM trên

OV
P
D7H
D6H
D5H
D4H
D3H
D2H
D1H
D0H
Cờ nhớ
Cờ nhớ phụ
Cờ 0
Chọn dãy thanh ghi (bit 1)
Chọn dãy thanh ghi (bit 0).
00=bank 0;địa chỉ 00H-07H
01=bank 1:địa chỉ 08H-0FH
10=bank 2:địa chỉ 10H-17H
11=bank 3:địa chỉ 18H-1FH
Cờ tràn
Dự trữ
Cờ kiểm tra chẳn lẻ.
Bảng 2.2: Thanh ghi PSW
• Cờ nhớ (CY) có cơng dụng kép. Thơng thường nó được dùng cho các lệnh số
học: có sẽ được set nếu có một số nhớ sinh ra bởi phép cộng hoặc có một số
mượn phép trừ. Ví dụ, nếu thanh chứa A có nội dung là FFH, thì lệnh sau:
ADD A,#1
Sẽ trả về thanh ghi tích luỹ kết quả 00H và set cờ nhớ trong PSW.
GVHD: ThS. Lâm Tăng Đức Trang:- 11 - SVTH: Võ Ngọc Tuyến
Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện

cao). Leọnh DIV AB seừ chia A cho B rồi traỷ về keỏt quỷa nguyẽn trong A
vaứ phần dử trong B. Thanh ghi B cuừng coự theồ ủửụùc xem nhử thanh ghi
ủeọm ủa dúng. Noự ủửụùc ủũa chổ hoựa tửứng bit baống caực ủũa chổ bit FOH
ủeỏn F7H.
c. Con trỏ ngăn xếp(stack):
Con troỷ ngaờn xeỏp (Stack Pointer) laứ moọt thanh ghi 8 bit ụỷ ủũa chổ 81H.
Noự chửựa ủũa chổ cuỷa byte dửừ lieọu hieọn haứnh trẽn ủổnh cuỷa ngaờn xeỏp.
Caực leọnh trẽn ngaờn xeỏp bao gồm caực thao taực caỏt dửừ lieọu vaứo ngaờn
xeỏp vaứ laỏy dửừ lieọu ra khoỷi ngaờn xeỏp. Leọnh caỏt dửừ lieọu vaứo ngaờn
xeỏp seừ laứm taờng SP trửụực khi ghi dửừ lieọu, vaứ leọnh laỏy dửừ lieọu ra
GVHD: ThS. Lâm Tăng Đức Trang:- 12 - SVTH: Võ Ngọc Tuyến
Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện
khoỷi ngaờn xeỏp seừ laứm giaỷm SP. Ngaờn xeỏp cuỷa 8051/8031 ủửụùc giửừ
trong RAM noọi vaứ ủửụùc giụựi hán caực ủũa chổ coự theồ truy xuaỏt baống
ủũa chổ giaựn tieỏp. chuựng laứ 128 byte ủầu cuỷa 8051/8031.
Để khởi động lại SP ngăn xếp bắt đầu tại 60H, các lệnh sau đây được dùng:
MOV SP,#5FH
Trên 8051/8031 ngăn xếp bị giới hạn 32 byte vì địa chỉ cao nhất của RAM
trên chip là 7FH. Dùng giá trị 5FH vì SP sẽ tăng lên 60H trước khi cất byte dữ liệu
đầu tiên.
Người thiết kế có thể chon khơng phảI khởi động lại con trỏ ngăn xếp mà để
nó lấy giá trị mặc định khi reset hệ thống. Giá trj mặc định đó là 07H và kết quả là
ngăn đầu tiên để cất dữ liệu có địa chỉ 08H. Nếu phần mềm ứng dụng khơng khởi
động lại SP , dãy thanh ghi 1 (có thể cả 2 và 3) sẽ khơng được dùng vì vùng RAM
này đã được dùng làm ngăn xếp.
Ngaờn xeỏp ủửụùc truy xuaỏt trửùc tieỏp baống caực leọnh PUSH vaứ POP
ủeồ lửu giửừ tám thụứi vaứ laỏy lái dửừ lieọu hoaởc ủửụùc truy xuaỏt ngầm
baống caực leọnh gói chửụng trỡnh con (ACALL, LACALL) vaứ caực leọnh trụỷ
về (RET,RETI) ủeồ caỏt vaứ laỏy lái boọ ủeỏm chửụng trỡnh.
d. Con trỏ dữ liệu(DPTR):

tieỏp (SBUF) ụỷ ủũa chổ 99H seừ giửừ caỷ hai giửừ lieọu truyền vaứ nhaọn. Khi
truyền dửừ lieọu thỡ ghi lẽn SBUf, khi nhaọn dửừ lieọu thỡ ủóc SBUF. Caực
mode vaọn haứnh khaực nhau ủửụùc laọp trỡnh qua thanh ghi ủiều khieồn port
noỏi tieỏp (SCON) (ủửụùc ủũa chổ hoựa tửứng bit) ụỷ ủũa chổ 98H.
h. Các thanh ghi ngắt:
8051/8031 coự caỏu truực 5 nguồn ngaột, 2 mửực ửu tiẽn. Caực ngaột bũ
caỏm sau khi reset heọ thoỏng vaứ seừ ủửụùc cho pheựp baống vieọc ghi thanh ghi
cho pheựp ngaột (IE) ụỷ ủũa chổ A8H mức ưu tiên ngắt được thiết lập qua thanh
ghi ưu tiên ngắt IP có địa chỉ B8H.Cả hai thanh ghi ủửụùc ủũa chổ hoựa tửứng bit.
i. Các thanh ghi điều khiển nguồn:
Thanh ghi ủiều khieồn nguồn (PCON) ụỷ ủũa chổ 87H chửựa nhiều bit
ủiều khieồn. Chuựng ủửụùc toựm taột trong baỷng sau:
Bit Kyự hieọu Mơ tả
7
6
5
4
3
2
1
0
SMOD
GF1
GF0
PD
IDL
Bit gaỏp ủõi toỏc ủoọ baud, neỏu ủửụùc
set thỡ toỏc ủoọ baud seừ taờng gaỏp ủõi
trong caực mode 1,2 vaứ 3 cuỷa port noỏi
tieỏp

Moọt chu kyứ maựy cuỷa 8051/8031 coự 12 chu kyứ xung nhũp. Neỏu boọ
dao ủoọng trẽn chip ủửụùc laựi bụỷi moọt thách anh 12MHz thỡ chu kyứ maựy
keựo daứi 1µs. Trong moọt chu kyứ maựy seừ coự 2 xung ALE vaứ 2 byte ủửụùc
ủóc tửứ boọ nhụự chửụng trỡnh (neỏu leọnh chỉ có 1 byte thỡ byte thửự 2ừ ủửụùc
loái boỷ). Giaỷn ủồ thụứi gian cuỷa moọt lần laỏy leọnh ủửụùc veừ ụỷ hỡnh
2.5:
Hình 2.4:Giao tiếp giữa 8051 và EPROM
GVHD: ThS. Lâm Tăng Đức Trang:- 15 - SVTH: Võ Ngọc Tuyến
Port 0
EA
8051
ALE

Port 2
PSEN
D0-D7
A0-A7
EPROM
A8-A15
OE
D Q
74HC373
G
O S C
A L E
P S E N
P o r t 2
P o r t 1
P C L O p c o d e
P C L

(OE) cua RAM va chaừn WR ực noi ti chaừn ghi (WR) cua RAM.
Hỡnh2.6: Giao tip gia 8051/8031 v RAM
Gian thi gian cho lnh c b nh d liu ngoi c v trờn hỡnh sau
i vi lnh MOVX A,@DPTR:
GVHD: ThS. Lõm Tng c Trang:- 16 - SVTH: Vừ Ngc Tuyn
Port 0
8051
EA
ALE
Port 2

RD
WR
D
0
-D
7
RAM
A
0
-A
7
A
8
-A
15
OE
WE
74HC373
O D

c/ Giải mã địa chỉ:
Nếu có nhiều EPROM hoặc có nhiều RAM hoặc cả hai giao tiếp với 8051 ta
cần giãi mã địa chỉ. Thí dụ, nếu các RAM và ROM 8 bit được sử dụng, địa chỉ phải
được giãi mã để chọn IC nhớ này trên các giới hạn 8K: 0000H-1FFFH, 2000H –
3FFFH,…Một IC giải mã điển hình là 74HC138 với các ngõ ra được nối với ngõ
vào chọn chip CS của IC nhớ (như hình) cho bộ nhớ có nhiều EPROM 2764(8K)
và RAM 6264 (8K). Do đường cho phép riêng rẽ (PSEN cho bộ nhớ chương trình,
RD và WR cho bộ nhớ dữ liệu), 8051 có thể quản lý bộ nhớ đến 64K với EPROM
và 64 K cho RAM.
GVHD: ThS. Lâm Tăng Đức Trang:- 17 - SVTH: Võ Ngọc Tuyến
Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện
Hình 2.8:Giãi mã địa chỉ (Address Decording)
6/. Lệnh reset:
8051/8031 ủửụùc reset baống caựch giửừ chaõn RST ụỷ mửực cao tối thiểu
2 chu kyứ maựy vaứ traỷ noự veà mức thaỏp. RST coự theồ ủửụùc kớch khi caỏp
ủieọn duứng moọt maùch R-C.
Hình 2.9:Mạch reset hệ thống
Trạng thái của tất cả các thanh ghi của 8051/8031 sau khi reset hệ thống
được tóm tắt trong bảng sau:
GVHD: ThS. Lâm Tăng Đức Trang:- 18 - SVTH: Võ Ngọc Tuyến
+ 5 V
+ 5 V
1 0 0
8 , 2 K
1 0 U F
RAM
RAM
text
Address Bus (A0- A15)
Data Bus (D0-D7)

2764
6264
Select another EPROM/RAM
Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện
Thanh ghi Noọi dung
Đếm chương trình
Thanh chứa A
Thanh ghi B
PSW
SP
DPTR
Port 0-3
IP
IE
Các thanh ghi định thời
SCON
SBUF
PCON(HMOS)
PCON(CMOS)
0000H
00H
00H
00H
07H
0000H
FFH
xxx00000B
0xx00000B
00H
00H

ẹeỏm sửù kieọn duứng ủeồ xaực ủũnh soỏ lần xaồy ra cuỷa moọt sửù kieọn.
Moọt “sửù kieọn” laứ baỏt cửự taực ủoọng ngoaứi naứo coự theồ cung caỏp moọt
chuyeồn tráng thaựi trẽn moọt chãn cuỷa 8051/8031. Caực timer cuừng coự
theồ cung caỏp xung nhũp toỏc ủoọ baud cho port noỏi tieỏp trong 8051/8031.
Truy xuaỏt timer cuỷa 8051/8031 duứng 6 thanh ghi chửực naờng ủaởc bieọt
cho trong baỷng sau:
SFR MUẽC ẹÍCH ẹềA CHặ ẹũa chổ hoựa tửứng
bit
TCON
TMOD
TL0
TL1
TH0
TH1
ẹiều khieồn timer
Cheỏ ủoọ timer
Byte thaỏp cuỷa timer
0
Byte thaỏp cuỷa timer
1
Byte cao cuỷa timer 0
Byte cao cuỷa timer 1
88H
89H
8AH
8BH
8CH
8DH
Coự
Khõng

0
0
0
Bit (Mụỷ) coồng, khi lẽn 1 timer chổ cháy khi INT1
ụỷ mửực cao.Bit
Bit chọn chế độ counter/timer
1 bộ đếm sự kiện
0 bộ định khoảng thời gian
Bit 1 của chế độ (mode)
Bit 0 của chế độ
00:chế độ 0 : timer 13 bit
01: chế độ 1 :timer 16 bit
10: chế độ 2 :tự động nạp lại 8255A bit
11: chế độ 3 :tỏch timer
Bit mở cổng
Bit chọn counter/timer
Bit 1 của chế độ
Bit 0 của chế độ
GVHD: ThS. Lâm Tăng Đức Trang:- 20 - SVTH: Võ Ngọc Tuyến
Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện
Bảng 2.5: Túm tắt thanh ghi TMOD
7.3 Thanh ghi ủiều khieồn timer (TCON)
Thanh ghi TCON chửựa caực bit tráng thaựi vaứ caực bit ủiều khieồn cho
timer 0 vaứ timer 1.
Bit Kyự
hieọu
ẹũa chổ Mõ taỷ
TCON.7
TCON.6
TCON.5

Bit ủiều khieồn timer 0 cháy
Cụứ cánh ngaột 1 bẽn ngoaứi
Cụứ cánh ngaột 1 bẽn ngoaứi, phần cửựng khi
phaựt hieọn moọt cánh xuoỏng ụỷ INT1, xoựa
baống phần mềm hoaởc phần cửựng khi CPU
chổ ủeỏn chửụng trỡnh phúc vú ngaột.
ẹaởt/xoựa baống phần mềm ủề ngaột ngoaứi
tớch cửùc cánh xuoỏng/mửực thaỏp.
Cụứ cánh ngaột 0 bẽn ngoaứi.
Cụứ kieồu ngaột 0 bẽn ngoaứi.
Baỷng 2.6: Toựm taột thanh ghi TCON
7. 4 Caực cheỏ ủoọ timer.
a/ Cheỏ ủoọ 0, cheỏ ủoọ timer 13 bit.
ẹeồ tửụng thớch vụựi 8048 (coự trửựụực 8051)
Ba bit cao cuỷa TLX (TL0 / TL1) khõng duứng
Xung nhũp
Timer Cụứ baựo traứn
b/ Cheỏ ủoọ 1- cheỏ ủoọ timer 16 bit :
Hoát ủoọng nhử timer 16 bit ủầy ủuỷ.
Cụứ baựo traứn laứ bit TFx trong TCON coự theồ ủóc hoaởc ghi baống
phầm mềm.
GVHD: ThS. Lâm Tăng Đức Trang:- 21 - SVTH: Võ Ngọc Tuyến
TLx THx
(5 bit) (8 bit)
TFx
Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện
MSB cuỷa giaự trũ trong caực thanh ghi timer laứ bit 7 cuỷa THx vaứ LBS
laứ bit 0 cuỷa TLx. Caực thanh ghi timer (TLx/THx) coự theồ ủửụùc ủóc hoaởc
ghi baỏt cửự luực naứo baống phầm mềm.
Xung nhũp

TLx
(8 bit)
TFx
THx
(8 bit)
TL1 TH1
TL0
TF0
TH0
TF1
Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện
Xung nhũp
Timer
Cụứ baựo traứn
I/12 Fosc
Cụứ baựo traứn
7.5 Nguồn táo xung nhũp.
Coự hai nguồn táo xung nhũp coự theồ coự,ủượcù chón baống caựch ghi
vaứo bit C/T (counter/timer) trong TMOD khi khụỷi ủoọng timer. Moọt nguồn
táo xung nhũp duứng cho ủũnh khoaỷng thụứi gian, caựi khaực cho ủeỏm sửù
kieọn.
Crytal
Timer
Clock
T0 or T1
pin
0=Up (Internal Timing)
1=Down (Event Counting)
Nguồn xung táo nhũp
- ẹũnh khoaỷng thụứi gian (interval timing)

Timer Caực thanh ghi timer
0=lẽn : timer dửứng
1=xuoỏng : timer cháy

Cho cháy vaứ dửứng timer
Vỡ TRx ụỷ trong thanh ghi TCON coự ủũa chổ bit, nẽn d daứng cho vieọc
ủiều khieồn caực timer trong chửụng trỡnh.Vớ dú: cho timer 0 cháy baống
leọnh : SETB TR0 vaứ dửứng baống leọnh SETB TR0.
Trỡnh biẽn dũch seừ thửùc hieọn vieọc chuyeồn ủoồi kyự hieọu cần thieỏt tửứ
“TR0” sang ủũa chổ bit ủuựng. SETB TR0 chớnh xaực gioỏng nhử SETB 8CH.
7.7. Khụỷi ủoọng vaứ truy xuaỏt caực thanh ghi timer.
Thõng thửụứng caực thanh ghi ủửụùc khụỷi ủoọng moọt lần ụỷ ủầu
chửụng trỡnh ủeồ ủaởt cheỏ ủoọ laứm vieọc cho ủuựng. Sau ủoự trong thãn
chửụng trỡnh caực timer ủửụùc cho cháy, dửứng, caực bit cụứ ủửụùc kieồm tra
vaứ xoựa, caực thanh ghi timer ủửụùc ủóc vaứ cập nhaọt theo ủoứi hoỷi cuỷa
caực ửựng dúng.
TMOD laứ thanh ghi thửự nhaỏt ủửụùc khụỷi ủoọng vỡ noự ủaởt cheỏ ủoọ
hoát ủoọng. Vớ dú caực leọnh sau khi khụỷi ủoọng timer 1 nhử timer 16 bit
(cheỏ ủoọ 1) coự xung nhũp tửứ boọ dao ủoọng trẽn chớp cho vieọc ủũnh
khoaỷng thụứi gian.
MOV TMOD,#00010000B
Leọnh naứy seừ ủaởt M1=0 vaứ M0=1 cho cheỏ ủoọ 1, C/T=0 vaứ GATE=0
cho xung nhũp noọi vaứ xoựa caực bit cheỏ ủoọ timer 0. Dú nhiẽn timer thaọt sửù
khõng baột ủầu ủũnh thụứi cho ủeỏn khi bit ủiều khieồn cháy TR1 ủửụùc ủaởt
lẽn 1.
Neỏu cần soỏ ủeỏm ban ủầu, caực thanh ghi timer TL1/TH1 cuừng phaỷi ủửụùc
khụỷi ủoọng. Nhụự lái laứ caực timer ủeỏm lẽn vaứ ủaởt cụứ baựo traứn khi coự
sửù chuyeồn tieỏp.
FFFFH sang 0000H.
- ẹóc timer ủang cháy.

Caực kyừ thuaọt ủeồ laọp trỡnh caực khoaỷng thụứi gian (FOSC=12 MHz)
8. Hoát ủoọng port noỏi tieỏp.
8.1. Giụựi thieọu.
8051/8031 coự moọt port noỏi tieỏp trong chip coự theồ hoát ủoọng ụỷ
nhiều cheỏ ủoọ khaực trẽn moọt daừy tần soỏ roọng. Chửực naờng chuỷ yeỏu
cuỷa moọt port noỏi tieỏp laứ thửùc hieọn chuyeồn ủoồi song song sang noỏi tieỏp
vụựi dửừ lieọu xuaỏt vaứ chuyeồn ủồi noỏi tieỏp sang song song vụựi dửừ lieọu
nhaọp.
Truy xuaỏt phần cửựng ủeỏn port noỏi tieỏp qua caực chãn TxD vaứ
RxD. Caực chãn naứy coự caực chửực naờng khaực vụựi hai bit cuỷa port 3. P3
ụỷ chãn 11 (TxD) vaứ P3.0 ụỷ chãn 10 (RxD).
Port noỏi tieỏp cho hoát ủoọng song cõng (full duplex : thu vaứ phaựt
ủồng thụứi) vaứ ủeọm luực thu (receiver buffering) cho pheựp moọt kyự tửù seừ
ủửụùc thu vaứ ủửụùc giửừ trong khi kyự tửù thửự hai ủửụùc nhaọn. Neỏu CPU
ủóc kyự tửù thửự nhaỏt trửụực khi kyự tửù thửự hai ủửụùc thu ủầy ủuỷ thỡ dửừ
lieọu seừ khõng bũ maỏt.
Hai thanh ghi chửực naờng ủaởc bieọt cho pheựp phần mềm truy xuaỏt
ủeỏn port noỏi tieỏp laứ : SBUF vaứ SCON. Boọ ủeỏm port noỏi tieỏp (SBUF) ụỷ
ủịa chổ 99H thaọt sự laứ hai boọ ủeỏm.Vieỏt vaứo SBUF ủeồ truy xuaỏt dửừ lieọu
GVHD: ThS. Lâm Tăng Đức Trang:- 25 - SVTH: Võ Ngọc Tuyến


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status