Xem mẫu
- Đồ án môn: Đo lường và điều khiển bằng máy tính
Trường Đại học Công Nghiệp Hà Nội
Khoa Cơ Khí
Đồ án môn : Đo Lường Và Điều Khiển
Bằng Máy Tính
Đề tài : Đo Và Điều Khiển Nhiệt Độ Phòng
Giáo viên hướng dẫn : ĐỖ DUY PHÚ
Nhóm sinh viên thực hiện : TRẦN THỊ HẠNH
NGUYỄN VĂN HIỂN
PHẠM VĂN NAM
TRẦN VĂN TÙNG
Lớp : ĐH Cơ Điện Tử 1-K4
- Hà Nội 09/2012
Đo và điều khiển nhiệt độ phòng Page 1
Đồ án môn: Đo lường và điều khiển bằng máy tính
LỜI MỞ ĐẦU
.
Ngày nay, khi công nghiệp tự động hóa ngày càng phát triển thì vi
ệc sử dụng
máy tính để điều khiển các hệ thống tự động đã trở nên rất phổ biế
n. Với một
chiếc máy tính và một số thao tác chúng ta có thể điều khiển được c
ả một dây
truyền sản xuất tự động, các hệ thống đèn điện…
Máy tính có thể giao tiếp với các thiết bị ngoài thông qua cổng RS
232 ( cổng
nối tiếp), cổng LPT ( cổng song song ), qua các khe cắm mở rộng IS
A … Trong
công nghiệp thông dụng nhất hiện nay là sử dụng RS232 và LPT để
máy tính
giao tiếp với mạch ngoài. Ngôn ngữ lập trình được sử dụng có
thể là Visual
Basic, Turbo Pascan, hay ngôn ngữ lập trình C…
- Với kiến thức được học trên lớp và qua quá trình tìm tòi học hỏi c
húng em đã
thực hiện đồ án “Thiết kế mô hình đo và điều khiển nhiệt độ
phòng sử dụng
cổng nối tiếp ”Trong quá trình thiết kế chắc không thể tránh được
những thiếu
sót, vì vậy chúng em rất mong nhận được sự nhận xét và đóng góp c
ủa thầy cô
giáo.
Chúng em xin chân thà
nh cảm ơn!
NHÓM SINH VIÊ
N
Trần Thị Hạnh
Nguyễn Văn Hiển
Phạm Văn Nam
Trần Văn Tùng
Đo và điều khiển nhiệt độ phòng
Page 2
Đồ án môn: Đo lường và điều khiển bằng máy tính
Mục lục
CHƯƠNG I:GIỚI THIỆU
I.Đề tài.
II.Sơ đồ khối
III.Chức năng các khối.
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
- I. Giao tiếp cổng nối tiếp của máy tính.
1.Giới thiêu cổng nối tiếp của máy tính
2.Giới thiệu vi mạch Max232
II. Giao tiếp cổng nối tiếp của vi điều khiển AT89S52.
1.Sơ đồ và chức năng chip AT89S52
2.Chíp ADC0804
3.Cảm biến nhiệt độ LM35
III Phần mềm lập trình Visual basic 6.0.
1.Truyền thông nối tiếp của Visual basic.
2. Sự kiện OnComm.
CHƯƠNG III: THIẾT KẾ HỆ THỐNG
I Sơ đồ nguyên lí của hệ thống
1.Mạch in
2.Mạch nguyên lý
II. Chương trình điều khiển.
1.Lưu đồ thuật toán
2.Chương trình VB trên máy tính.
3.Chương trình trong vi điều khiển AT89S52.
CHƯƠNGIV : KẾT LUẬN
*Ưu điểm:
*Nhược điểm:
Đo và điều khiển nhiệt độ phòng
Page 3
Đồ án môn: Đo lường và điều khiển bằng máy tính
CHƯƠNG I:GIỚI THIỆU
- I. Đề tài.
-. Thiết kế mô hình đo và điều khiển nhiệt độ phòng
Chức năng của hệ thống:
+ Hệ thống thực hiện đo và điều khiển giám sát nhiệt độ phòng.
+ Máy tính cho phép đặt và hiển thị nhiệt độ trong phòng.
II. Sơ đồ khối
Đo và điều khiển nhiệt độ phòng Page 4
Đồ án môn: Đo lường và điều khiển bằng máy tính
III. Chức năng các khối.
- Máy tính: Phần mềm điều khiển và giám sát được thiết kế trên máy
tính có
chức năng gửi các tín hiệu điều khiển qua cổng nối tiếp của máy tính
đến mạch
điều khiển, đồng thời nhận các tín hiệu về trạng thái hoạt động của c
ác thiết bị
- và hiển thị trên giao diện của phần mềm.
- Khối xử lí trung
tâm: Có nhiệm vụ đọc tín hiệu điều khiển từ máy tính rồi điều
khiển các thiết bị ứng dụng(điều hòa, quạt…), đồng thời gửi các tín
hiệu về trạng
thái hoạt động của thiết bị lên máy tính.
- Các thiết bị ứng
dụng: được hoạt động dựa trên việc điều khiển các khối
trên.
- Khối cảm biến(LM35): Sử dụng để biến đổi đại lượng vật lí
(nhiệt độ) thành tín
điện để đưa tới bộ xử lí trung tâm.
- Khối chuyển đổi ADC0804: dùng để chuyển đổi tín hiệu tương tự lấy
ra từ khối
cảm biến thành tín hiệu số để đưa vào bộ vi điều khiển.
- Khối chuyển đổi Max232: Dùng để chuyển đối dữ liệu song song
sang dữ liệu
nối tiếp và ngược lại, để tương thích với dữ liệu trên máy tính và vi điều
khiển
Đo và điều khiển nhiệt độ phòng Page 5
Đồ án môn: Đo lường và điều khiển bằng máy tính
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
I. Giao tiếp cổng nối tiếp của máy tính
1. Giới thiệu cổng nối tiếp của máy tính
Cổng nối tiếp RS-
232 của máy tính là một giao diện phổ biến rộng rãi.
Cổng này còn được gọi là cổng COM (COM1,COM2…) hoặc
cổng RS232.
- Chuẩn RS232 chỉ cho phép sử dụng đường truyền ngắn với tốc độ
bít thấp.
Các tiêu chuẩn truyền thông ra đời sau như RS-422, RS-449 hay
RS-485 cho
phép truyền với khoảng cách dài và tốc độ bít rất cao. Giống như
cổng máy in
cổng nối tiếp được sử dụng khá rộng rãi và thuận tiện cho việc
ghép nối máy
tính với các thiết bị ngoại vi khác. Khoảng cách truy ền ở cổng nối
tiếp được cải
thiện hơn so với cổng song song
vì điện áp chênh lệch
Đồ án môn: Đo lường và điều khiển bằng máy tính
Bảng 1: Chức năng các chân tín hiệu ở cổng nối tiếp
Chân Kí hiệu Ý nghĩa
- 1 DCD Data carrier detect- Phát hiện tín hiệu mang dữ
2 RXD liệu
3 TXD Receive data- Nhận dữ liệu
4 DTR Transmit data – Truyền dữ liệu
5 GND Data terminal- Dữ liệu đầu cuôi sẵn sang
6 DSR Signal ground- Nối đất
7 RTS Data set ready- Dữ liệu sẵn sang được nhận
8 CTS Request to send – Tín hiệu yêu cầu gửi
9 RI Clear to send- Tín hiệu yêu cầu xóa để gửi tiếp
Ring indicator- Báo chuông
RS232 sử dụng phương thức truyền thông không đối xứng, tức là sử
dụng
tín hiệu điện áp chênh lệch giữa một dây dẫn và đất. Do đó ngay từ
đầu tiên
ra đời nó đã mang vẻ lỗi thời của chuẩn TTL, nó vấn sử dụng các
mức điện áp
tương thích TTL để mô tả các mức logic 0 và 1. Ngoài mức điện áp
tiêu chuẩn
cũng cố định các giá trị trở kháng tải được đấu vào bus của bộ phận
và các trở
kháng ra của bộ phát.
Mức điện áp của tiêu chuẩn RS232C ( chuẩn thường dùng bây giờ)
được mô tả
như sau:
+ Mức logic 0 : +3V , +12V
+ Mức logic 1 : -12V, -3V
T ham số chính đặc trưng cho quá trình truyền dữ liệu qua cổng
nối tiếp
RS232 là tốc độ truyền nhận dữ liệu hay còn gọi là tốc độ bit. Tốc
độ bit được
định nghĩa là số bit truyền được trong thời gian 1 giây hay số bit
truyền được trong
thời gian 1 giây. Tốc độ bit này phải được thiết lập ở bên phát và
bên nhận đều phải
có tốc độ như nhau ( Tốc độ giữa vi điều khiển và máy tính phải
chung nhau 1 tốc độ
truyền bit). Ngoài tốc độ bit còn một tham số để mô tả tốc độ
truyền là tốc độ Baud.
- Tốc độ Baud liên quan đến tốc độ mà phần tử mã hóa dữ liệu được
sử dụng để diễn
tả bit được truyền còn tôc độ bit thì phản ánh tốc độ thực tế mà các
bit được truyền
Vì một phần tử báo hiệu sự mã hóa một bit nên khi đó hai tốc độ
bit và tốc độ baud
là phải đồng nhất. Một số tốc độ Baud thường dùng: 50, 75, 110,
150, 300, 600, 1200,
2400, 4800, 9600, 19200, 28800, 38400, 56000, 115200 … Trong thiết bị
Đây là một
tham số đặc trưng của RS232. Tham số này chính là đặc trưng cho quá
trình truyền dữ
liệu qua cổng nối họ thường dùng tốc độ là 19200 Khi sử dụng chuẩn
nối tiếp RS232
thì yêu cầu khi sử dụng chuẩn là thời gian chuyển mức logic không vượt
quá 4% thời
gian truyền 1 bit. Do vậy, nếu tốc độ bit càng cao thì thời gian truyền 1 bit
càng nhỏ thì
thời gian chuyển mức logic càng phải nhỏ. Điều này làm giới hạn tốc
Baud và khoảng
cách truyền.
Truyền dữ liệu qua cổng nối tiếp RS232 được thực hiện theo kiểu
không
Đồng bộ.Do vậy nên tại một thời điểm chỉ có một bit được truyền (1 kí
tự) Bộ
truyềngửi một bit bắt đầu (bit start) để thông báo cho bộ nhận biết một
kí tự
sẽ được gửi đến trong lần truyền bit tiếp theo . Bit này luôn bắt
đầu bằng mức 0..
Tiếp theo đó là các bit dữ liệu (bits data) được gửi dưới dạng mã
ASCII( có thể là 5,6,7
hay8 bit dữ liệu) Sau đó là một Parity bit ( Kiểm tra bit chẵn, lẻ hay
không) và cuối
cùng là bit stop có thể là 1, 1,5 hay 2 bit dừng.
4) Các mức điện áp đường truyền
- 2. Giớ
i
thiệu vi mạch Max 232
Vi mạch MAX 232 của hãng MAXIM là một vi mạch chuyên dùng
trong
giao diện nối tiếp với máy tính. Chúng có nhiệm vụ chuyển đổi mức
TTL ở lối
vào thành mức +10V hoặc –10V ở phía truyền và các mức +3 => +15V
hoặc
-3=>-15V thành mức TTL ở phía nhận.
Vi mạch MAX 232 có hai bộ đệm và hai bộ nhận. Đường dẫn điều
khiển lối
vào CTS, điều khiển việc xuất ra dữ liệu ở cổng nối tiếp khi cần thiết,
được nối
với chân 9 của vi mạch MAX 232. Còn chân RST (chân 10 của vi mạch
MAX )
nối với đường dẫn bắt tay để điều khiển quá trình nhận. Thường thì
các đường dẫn
bắt tay được nối với cổng nối tiếp qua
các cầu nối, để khi không dùng đến nữa có
thể hở mạch các cầu này. Cách truyền dữ
liệu đơn giản nhất là chỉ dùng ba đường
dẫn TxD, RxD và GND (mass).
- Sơ đồ chân của vi mach Max232
II. Giao tiếp cổng nối tiếp của vi điều khiển AT89S52.
1. Tổng quan về IC AT89S52
1.1 Giới thiêụ
Họ vi điêu khiên 8051(con goi là họ C51) là môt trong những họ vi điêu
̀ ̉ ̀ ̣ ̣ ̀
̉
khiên
thông dung nhât hiên nay. Đây là bộ vi điêu khiên 8bits san xuât theo công
̣ ́ ̣ ̀ ̉ ̉ ́
nghệ CMOS,
môt số loai vi điêu khiên thuôc họ 8051 thông dung có thể kể như:
̣ ̣ ̀ ̉ ̣ ̣
AT989S52(40 chân),
AT89S51(40 chân) , AT89C51(40 chân), AT89C52(40 chân)...
Trong chương trinh môn hoc nay chung ta tâp chung nghiên cứu về bộ vi
̀ ̣ ̀ ́ ̣
̀
điêu khiên ̉
AT89S52.Đây là bộ vi điêu khiên thông dung, giá rẻ có nhiêu chức năng hay
̀ ̉ ̣ ̀
̣
đăc biêt ̣
là tich hợp săn bộ nap trên chip giup sinh viên có thể dễ dang thực hiên cac
́ ̃ ̣ ́ ́ ̀ ̣ ́
bai thí nghiêm
̀ ̣
với chi phí thâp. Cung trong chương trinh môn hoc nay ngôn ngữ được sử
́ ̃ ̀ ̣ ̀
dung để lâp trinh
̣ ̣ ̀
là ngôn ngữ C.
Họ vi điêu khiên AT89S52 bao gôm :
̀ ̉ ̀
- 8 kbyte ROM kiêu Flash(được lâp trinh bởi nhà san xuât chỉ có ở 8051)
̉ ̣ ̀ ̉ ́
- 256 byte RAM
- 4 port I/0 8 bit
- 3 bộ đinh thời 16 bit
̣ ́
̉
- 1 công nôi tiêp ́ ́
- 6 nguôn ngăt ̀ ́
1.2 Kiên truc phân cứng cua họ vi điêu khiên 8051(AT89S52)
́ ́ ̀ ̉ ̀ ̉
Bộ vi điêu khiên AT89S52 gôm cac khôi chức năng chinh sau.
̀ ̉ ̀ ́ ́ ́
• Bộ xử lí trung tâm ( CPU:central processing unit) bao
̀
gôm:
- - Thanh ghi tich luy A ̃
- Thanh ghi tich luy phụ B,dung cho phep nhân và phep
́ ̃ ̀ ́ ́
chia;
- Đơn vị số học (ALU: arithmetic logical unit)
- Thanh ghi trang thai chương trinh (PSW: Program status
̣ ́ ̀
word)
́
- Bôn băng thanh ghi
- Con trỏ ngăn xêp ́
• Bộ nhớ chương trinh (bộ nhớ Rom ) gôm 8 kbyte Flash
̀ ̀
• Bộ nhớ dữ liệu (bộ nhớ Ram) gôm 256 byte ̀
• Bộ UART có chức năng truyên nhân nôi tiêp , AT89S52 có
̀ ̣ ́ ́
thể giao
tiêp vơi cổng may tinh thông qua bộ UART.
́ ́ ́ ́
• 3 bộ timer/counter 16 bit thực hiện cac chưc năng định thơí ́ ̀
và đêm sự kiện
́
• WDM(Watch dog time): WDM được dung để phục hôi lại ̀ ̀
hoạt đông cua CPU khi nó bị treo bởi môt nguyên nhân nao
̣ ̉ ̣ ̀
đo. ́
• Khôi điêu khiển ngăt vơi 2 nguôn ngăt ngoai và 4 nguôn
́ ̀ ́ ́ ̀ ́ ̀ ̀
́
ngăt trong
• Bộ lập trinh ̀
• Bộ chia tân vơi hệ số chia là 12
̀ ́
• 4 cổng xuât nhập vơi 32 chân
́ ́
1.3 Sơ đồ và chức năng chân cua họ vi điêu khiên 8051
̉ ̀ ̉
Hinh 1.2 Sơ đồ kiêu
̀ ̉
DIP 40 chân cua vỉ
̀ ̉
điêu khiên 8051
1. Port 0
Port 0 gôm 8 chân từ
̀
P0.1- P0.7 ngoai chức năng xuât nhâp, Port 0 con là Bus đa
̀ ́ ̣ ̀
hợp dữ liêu và đia chi(AD0-AD7), chức năng nay sẽ được sử
̣ ̣ ̉ ̀
̣
dung khi AT89S52 giao
tiêp với cac thiêt bị ngoai có kiên truc BUS như mach nhớ, mach PIO.
́ ́ ́ ̀ ́ ́ ̣ ̣
2. Port 1
- Đôi với 8051 chức năng duy nhât cua Port 1 là chức năng xuât nhâp Port
́ ́ ̉ ́ ̣
1 có thể
́ ̣ ̣ ̀
xuât nhâp theo byte hoăc theo bit. Riêng dong 89xx , 3 chân P1.5, P1.6,
P1.7 được dung ̀
để nap Rom theo chuân ISP, hai chân P1.0 và P1.1 được dung cho bộ
̣ ̉ ̀
timer 2.
3. Port 2
Port 2 có tac dung lam nhiêm vụ xuât nhâp dữ liêu ngoai ra con là byte
́ ̣ ̀ ̣ ́ ̣ ̣ ̀ ̀
̉
cao cua bus
đia chỉ khi sử dung bộ nhớ ngoai.
̣ ̣ ̀
4. Port 3
Môi chân trên Port 3 ngoai chức năng xuât nhâp con có chức năng riêng
̃ ̀ ́ ̣ ̀
cụ thể như sau:
Bit Chân Chức năng
P3.0 RXD Dữ liêu nhân cho port nôi tiêp
̣ ̣ ́ ́
P3.1 TXD Dữ liêu truyên cho Port nôi tiêp
̣ ̀ ́ ́
P3.2 INT0 ́ ̀
Ngăt bên ngoai 0
P3.3 INT1 ́ ̀
Ngăt bên ngoai 1
P3.4 T0 Ngõ vao cua timer/counter0
̀ ̉
P3.5 T1 Ngõ vao cua timer/counter1
̀ ̉
P3.6 WR Xung ghi bộ nhớ dữ liêu ngoai
̣ ̀
P3.7 RD Xung đoc bộ nhớ dữ liêu ngoai
̣ ̣ ̀
5. PSEN (Program Store Enable ).
PSEN là chân điêu khiên đoc chương trinh ở bộ nhớ ngoai nó được nôi
̀ ̉ ̣ ̀ ̀ ́
với chân /OE để cho phep đoc cac byte mã lênh trên Rom ngoai. PSEN sẽ ở
́ ̣ ́ ̣ ̀
mức thâp trong thời gian đoc mã lênh. Mã lênh được đoc từ bộ nhớ ngoai
́ ̣ ̣ ̣ ̣ ̀
qua
bus dữ liêu thanh ghi lênh để được giai ma.Khi thực hiên chương trinh
̣ ̣ ̉ ̃ ̣ ̀
trong
Rom nôi thì /PSEN ở mức cao
̣
6. ALE (Address Latch Enable ).
Là tin hiêu điêu khiên chôt đia chỉ có tân số băng 1/6 tân số dao đông cua
́ ̣ ̀ ̉ ́ ̣ ̀ ̀ ̀ ̣ ̉
- vi điêu khiên .Tin hiêu ALE được dung để cho phep vi mach chôt bên ngoai
̀ ̉ ́ ̣ ̀ ́ ̣ ́ ̀
như 74374, 74573 chôt byte đia chỉ thâp ra khoi bus đa hợp đia chi/dữ liêu.
́ ̣ ́ ̉ ̣ ̉ ̣
7. EA (External Access) .
Tin hiêu /EA cho phep chon bộ nhớ chương trinh flash bộ nhớ trong hay
́ ̣ ́ ̣
bộ
nhớ ngoai cua vi điêu khiên. Nêu /EA ở mức cao (nôi với Vcc) thì vi điêu
̀ ̉ ̀ ̉ ́ ́ ̀
̉
khiên
thi hanh chương trinh trong Rom nôi. Nêu /EA ở mức thâp(nôi với GND)
̀ ̀ ̣ ́ ́ ́
thì vi điêu
̀
khiên thi hanh chương trinh từ bộ nhớ ngoai.
̉ ̀ ̀ ̀
8. RST(Reset).
Dung để thiêt lâp trang thai ban đâu cua hệ thông hay con goi là reset hệ
̀ ́ ̣ ̣ ́ ̀ ̉ ́ ̀ ̣
́
thông.
Khi tin hiêu nay được đưa lên mức cao, cac thanh ghi trong bộ vi điêu
́ ̣ ̀ ́ ̀
khiên được tai
̉ ̉
những giá trị thich hợp để khởi đông hệ thông.
́ ̣ ́
9. XTAL1, XTAL2.
Mach dao đông bên trong chip 8051 được ghep với thach anh bên ngoai
̣ ̣ ́ ̣ ̀
thông
qua 2 chân XTAL1 và XTAL2. Thường là tân số 12Mhz và cac tụ ôn đinh
̀ ́ ̉ ̣
33pF
10. VCC, GND :
AT89S52 dung nguôn môt chiêu có dai điên ap từ 4v-5v được cung câp
̀ ̀ ̣ ̀ ̉ ̣ ́ ́
qua
2 chân 40 và 20.
1.4 Hoat đông đinh thời
̣ ̣ ̣
1.4.1. Giới thiêu
̣
Cac bộ đinh thời được sử dung rông rai trong cac ứng dung đo lường
́ ̣ ̣ ̣ ̃ ́ ̣
và điêu khiên. Có thể coi môt bộ đinh thời là 1 bộ đêm n bit được tao ra
̀ ̉ ̣ ̣ ́ ̣
bởi n
flip-flop măc nôi tiêp với nhau. Đâu vao cua bộ đinh thời là đâu vao cua
́ ́ ́ ̀ ̀ ̉ ̣ ̀ ̀ ̉
̀ ̀ ́ ̀ ̉ ́ ̣ ́ ̀ ̉ ́
flip- flop đâu tiên, đâu ra bao tran phan anh trang thai tran cua no.
AT89s52
- có 3 bộ đinh thời 16 bit trong đó 2 bộ timer 0 và timer 1 có 4 chế độ hoat
̣ ̣
̣
đông,
timer 2 có 3 chế độ hoat đông. Cac bộ đinh thời dung để đinh khoang thời
̣ ̣ ́ ̣ ̀ ̣ ̉
gian,
đêm sự kiên xay ra bên ngoai hoăc tao tôc độ baud cho công nôi tiêp.
́ ̣ ̉ ̀ ̣ ̣ ̉ ́ ́
1.4.2 Cac thanh ghi đinh thời
́ ̣
1. Thanh ghi cua Timer 0 và Timer 1
̉
• Thanh ghi chế độ đinh thời TMOD
̣
• ̀ ̉
Thanh ghi điêu khiên TCON
Thanh ghi TCON chứa cac bit trang thai và cac bit điêu khiên cho Timer 0
́ ̣ ́ ́ ̀ ̉
và Timer 1.
Bit Kí hiêu Đia chỉ
̣ ̣ Mô tả
TCON.7 TF1 8FH Cờ bao tran cho timer 1 được đăt bởi
́ ̀ ̣
phân cứng, được xoa bởi phân mêm
̀ ́ ̀ ̀
TCON.6 TR1 8EH ́ ̀ ̉ ̣ ̣
Bit điêu khiên cho timer 1 hoat đông.
Được cai đăt và xoa băng phân mêm
̀ ̣ ́ ̀ ̀ ̀
TCON.5 TF0 8DH Cờ bao tran cho timer 0
́ ̀
- TCON.4 TR0 8CH ́ ̀ ̉ ̣
Bit điêu khiên timer 1 hoaatj đông.
TCON.3 IT1 8BH Cờ ngăt do timer 1
́
TCON.2 IT1 8AH Cờ ngăt ngoai 1
́ ̀
TCON.1 IT0 89H Cờ ngăt do timer 0
́
TCON.0 IE0 88H Cờ ngăt ngoai 0
́ ̀
̉
2. Thanh ghi cua Timer 2
• Thanh ghi T2CON
Bit Kí hiêu
̣ ̣
Đia Mô tả
chỉ
T2CON.7 TF2 CFH Cờ bao tran TIMER 2. TF2 được đăt khi timer tran và
́ ̀ ̣ ̀
được xoa băng phân mêm TF2 không được thiêt lâp khi
́ ̀ ̀ ̀ ́ ̣
̣ ̀
TCLK hoăc RCLK băng 1.
T2CON.6 EXF.2 CEH Cờ ngăt ngoai cua timer 2, TXF2=1 khi xay ra sự nap
́ ̀ ̉ ̉ ̣
lai EXF.2= 1 cung gây ra ngăt do timer 2 nêu như ngăt
̣ ̃ ́ ́ ́
nay được lâp trinh, EXF.2 được lâp trinhg băng phân
̀ ̣ ̀ ̣ ̀ ̀
mêm ̀
T2CON.5 RCLK CDH Bit chon timer cung câp xung nhip cho đường nhân cua
́ ̣ ́ ̣ ̣ ̉
̉ ́ ́
công nôi tiêp .
RCLK=1 timer 2 cung câp tôc độ baud cho công nôi
́ ́ ̉ ́
́
tiêp.
RCKL=0 timer 1 cung câp tôc độ baud cho công nôi
́ ́ ̉ ́
́
tiêp.
- T2CON.4 TCLK CCH Bit chon timer cung câp xung nhip cho đường truyên
́ ̣ ́ ̣ ̀
̉ ̉ ́ ́
cua công nôi tiêp .
TCLK=1 timer 2 cung câp tôc độ baud cho công nôi
́ ́ ̉ ́
́
tiêp.
TCKL=0 timer 1 cung câp tôc độ baud cho công nôi
́ ́ ̉ ́
́
tiêp.
T2CON.3 EXEN2 ́ ̀ ̉ ̣ ̣ ̉
CBH Bit điêu khiên hoat đông cua timer 2. Khi EXEN2=1
viêc nap lai hoăc thu nhân diên ra khi có sự chuyên
̣ ̣ ̣ ̣ ̣ ̃ ̉
trang thai từ 1 sang 0 ở chân T2EX nêu T2 không sử
̣ ́ ́
dung để cung câp tôc độ baud cho công nôi tiêp.
̣ ́ ́ ̉ ́ ́
T2CON.2 TR2 ́ ̀ ̉ ̣ ̣ ̉
CAH Bit điêu khiên hoat đông cua timer 2
T2CON.1 C/#T2 C9H Bit chon chế độ đêm hoăc đinh thời cua timer 2
́ ̣ ́ ̣ ̣ ̉
T2CON.0 CP/#RL2 C8H Bit chon chế độ thu nhân hay nap lai cua timer 2
̣ ̣ ̣ ̣ ̉
1.4.3 Cac chế độ cua bộ đinh thời
́ ̉ ̣
1.Cac chế độ ngăt cua timer 0 và timer 1
́ ́ ̉
Chế độ 0
Chế độ 0 là chế độ 13 bit (8bit cua TH và 5 bit cao cua TL) dung để chứa
̉ ̉ ̀
giá trị
đêm, 3 bit thâp cua TL không được sử dung. Nguôn xung clock đưa tới
́ ́ ̉ ̣ ̀
timer phụ
̣ ̀
thuôc vao bit C/#T trong thanh ghi TMOD
- Nêu C/#T=1 xung clock sẽ được lây từ bên ngoai qua chân Tx.
́ ́ ̀
- Nêu C/#T=0 xung clock được lây từ bộ chia tân trong chip tân
́ ́ ̀ ̀
số xung ở
đây là 1/12 tân số cua thach anh.
̀ ̉ ̣
Nguôn xung clock sẽ được điêu khiên để đưa tới cac Timer băng cac bit
̀ ̀ ̉ ́ ̀ ́ ́
TR, GATE
Và mức logic trên chân INTx
- Nêu TRx=0 cac timer sẽ bị câm không cân quan tâm tới GATE và
́ ́ ́ ̀
mức logic
trên chân INTx.
- Nêu TRx=1 cac timer sẽ hoat đông khi hoăc là bit GATE=0 hay
́ ́ ̣ ̣ ̣ ́
bit GATE=0 và
́
- chân / ITNx có mức logic 1
Chế độ 1
Trong chế độ 1 bộ timer dung cả 2 thanh ghi TH và TL để chứa giá trị đêm
̀ ́
vì vây chế
̣
độ nay được goi là chế độ 16 bit. Nguôn xung clock đưa tới timer phụ thuôc
̀ ̣ ̀ ̣
̀
vao bit C/#T
trong thanh ghi TMOD
- Nêu C/#T=1 xung clock sẽ được lây từ bên ngoai qua chân Tx.
́ ́ ̀
- Nêu C/#T=0 xung clock được lây từ bộ chia tân trong chip tân số
́ ́ ̀ ̀
xung ở đây là 1/12
tân số cua thach anh.
̀ ̉ ̣
Nguôn xung clock sẽ được điêu khiên để đưa tới cac timer băng cac bit
̀ ̀ ̉ ́ ̀ ́ ́
TR,GATE và
mức logic trên chân INTx
- Nêu TRx=0 cac timer sẽ bị câm không cân quan tâm tới GATE
́ ́ ́ ̀
và mức logic trên
chân INTx.
- Nêu TRx=1 cac timer sẽ hoat đông khi hoăc là bit GATE=0 hay
́ ́ ̣ ̣ ̣ ́
bit GATE=0 và
́
chân / ITNx có mức logic 1
Với chế độ nay giá trị lớn nhât mà cac timer đêm chứa được là 65635 khi
̀ ́ ́ ́
đêm quá
́
giá trị nay sẽ xay ra tran cờ tran TF được đăt băng 1. Sau khi xay ra tran
̀ ̉ ̀ ̀ ̣ ̀ ̉ ̀
́
muôn timer tiêp ́
tuc đêm chương trinh phai có câu lênh nap giá trị khởi tao băng cach xoa bit
̣ ́ ̀ ̉ ̣ ̣ ̣ ̀ ́ ́
TR.
Chế độ 2
Trong chế độ 2 bộ timer dung TL để chứa giá trị đêm và TH để chứa giá trị
̀ ́
̣ ̣
nap lai
vì vây chế độ nay goi là chế độ tự nap lai. Sau khi đêm quá 255 sẽ xay ra
̣ ̀ ̣ ̣ ̣ ́ ̉
tran khi đó TF
̀
được đăt băng 1 đông thời giá trị cua timer tự đông nap lai băng nôi dung
̣ ̀ ̀ ̉ ̣ ̣ ̣ ̀ ̣
̉
cua TH.
Chế độ 3
Trong chế độ 3 timer được tach lam 2 bộ timer hoat đông đôc lâp, chế độ
́ ̀ ̣ ̣ ̣ ̣
nay cung̀
câp cho timer môt chế độ nữa
́ ̣
- Bộ timer thứ nhât với nguôn xung được lây từ bộ chia tân hay
́ ̀ ́ ̀
bên ngoai phụ thuôc ̀ ̣
vao C/#T giá trị đêm cua timer được chứa trong TL0 khi xay ra
̀ ́ ̉ ̉
tran cờ TF0 được
̀
đăt băng 1 và gây ra ngăt do timer
̣ ̀ ́
- - Bộ timer thứ 2 với nguôn xung clock được lây từ bộ chia tân.
̀ ́ ̀
Giá trị đêm được
́
chứa trong TL0 cờ tran TF1 được đăt băng 1 và gây ngăt do
̀ ̣ ̀ ́
timer 1
2. Cac chế độ ngăt cua timer 2
́ ́ ̉
Chế độ tự thu nhân: ̣
Khi CP/#RL2=1 chế độ thu nhân cua timer 2 được chon bởi bit EXEN2.
̣ ̉ ̣
Xung clock cung được lây phụ thuôc vao C/#T2. Điêu khiên hoat đông cua
̃ ́ ̣ ̀ ̀ ̉ ̣ ̣ ̉
timer 2 là
bit TR2. Giá trị đêm được chứa trong TH2 và TL2. khi xay ra tran TF2
́ ̉ ̀
được đăt băng 1
̣ ̀
Giá trị hiên thời cua timer 2 năm trong TH và TL sẽ được chuyên tương
̣ ̉ ̀ ̉
ứng vao RCAP2H
̀
và RCAP2L
Chế độ nap lai : ̣ ̣
Chế độ nay khi bit DCEN=0 timer 2 hoat đông như môt timer 16 bit tự
̀ ̣ ̣ ̣
̣ ̣
nap lai.
Giá trị nap lai được chứa trong RCAP2Hvaf RCAP2L. Sự kiên nap lai khi
̣ ̣ ̣ ̣ ̣
- Xay ra tran khi có sự chuyên số đêm tư FFFFH đên 0
̉ ̀ ̉ ́
- Có sự chuyên từ mức 1 xuông mức 0
̉ ́
Chế độ tao tôc độ baud cho công nôi tiêp:
̣ ́ ̉ ́ ́
Timer 2 có thể dung để tao tôc độ baud cho công nôi tiêp trong thanh
̀ ̣ ́ ̉ ́ ́
T2CON.
̉ ́
1.5 Công nôi tiêp ́
1.5.1. Giới thiêu ̣
AT89S52 có môt công nôi tiêp có thể hoat đông ở nhiêu chế độ khac
̣ ̉ ́ ́ ̣ ̣ ̀ ́
nhau. Chức năng
chủ yêu cua công nôi tiêp là thực hiên chuyên đôi song song sang nôi tiêp
́ ̉ ̉ ́ ́ ̣ ̉ ̉ ́ ́
và ngược lai.
̣
́ ̉ ̉ ́
1.5.2 Cac thanh ghi cua công nôi tiêp ́
• ̀ ̉ ̉ ́ ́
Thanh ghi điêu khiên công nôi tiêp
- Bit Kí hiêu
̣ Đia chỉ
̣ Mô tả
SCON.7 SM0 9FH Bit 0 c hon chế độ cho port nôi tiêp
̣ ́ ́
SCON.6 SM1 9EH Bit 1 chon chế độ cho port nôi tiêp
̣ ́ ́
SM0SM1=00 chế độ 0
SM0SM1=01 chế độ 1
SM0SM1=10 chế độ 2
SM0SM1=11 chế độ 3
SCON.5 SM2 9DH Bit 2 chon chế độ cho công nôi tiêp
̣ ̉ ́ ́
Bit nay cho phep truyên thông đa xử lý
́ ̀ ́ ̀
SCON.4 REN 9CH Bit cho phep thu REN phai được đăt băng 1
̉ ̣ ̀
để cho phep nhân kí tự
́ ̣
SCON.3 TB8 9BH Bit truyên thông thứ 9 sử dung trong chế độ
̀ ̣
UART 9bit
SCON.2 RB8 9AH Biet nhân thứ 9 sử dung trong chế độ UART
̣ ̣
9bit
SCON.1 TI 99H Cờ ngăt truyên TI được đăt băng 1 bởi phân
́ ̀ ̣ ̀ ̀
cứng khi kêt thuc viêc truyên 1 kí tự TI được
́ ́ ̣ ̀
́ ̀ ̀
xoa băng phân mêm ̀
nguon tai.lieu . vn