Tải bản đầy đủ (.doc) (34 trang)

đo và khống chế nhiệt độ qua cổng com

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.08 MB, 34 trang )

Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử

LỜI MỞ ĐẦU

Ngày nay, các thiết bị máy móc phục vụ đời sống con người trong sinh
hoạt cũng như trong sản xuất phát triển nhanh và ngày càng thông minh. Sở
dĩ có được điều đó là nhờ ứng dụng thành tựu của khoa học kỹ thuật. Một
trong vô số những thành tựu trên là kỹ thuật đo lường và điều khiển.
Trong các thiết bị điện và điện tử , các bộ điều khiển các hoạt động
trong hệ thống sản xuất tự động, điều khiển được sử dụng trong robot, dây
truyền tự động, các hệ thống càng thông minh thì vai trò của hệ đo lường và
điều khiển ngày càng quan trọng.
Qua quá trình học tập và tìm hiểu, chúng em thấy có rất nhiều đề tài
hay và thiết thực, trong đó đề tài : ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ QUA
CỔNG COM rất thực tế và có khả năng phát triển rộng rãi, đồng thời mở
ra nhiều hứa hẹn trong công tác nghiên cứu, khai thác và ứng dụng các đề
tài khác . Trên cơ sở đó chúng em đã triển khai thực hiện đề tài này.
Được sự hướng dẫn, giúp đỡ tận tình của cô giáo:Ths. Vũ Thị Thu
Hương chúng em đã nắm đựơc cấu tạo, nguyên lý hoạt động, cách thức lập
trình và ứng dụng của hệ thống đồng thời có sự mở rộng thêm phạm vi đồ án
nhằm nâng cao kết quả đề tài .
Do thời gian nghiên cứu, triển khai đề tài ngắn và kinh nghiệm bản
thân còn hạn chế nên chúng em có thể còn nhiều thiếu sót. Vì đó mà chúng
em rất mong nhận được sự quan tâm, góp ý và chỉ bảo ân cần của thầy cô và
các bạn.
Chúng em xin chân thành cảm ơn!



Hà Nội, Tháng 12 năm
2012


GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
1
Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử
Nhận xét của giáo viên hướng dẫn
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
Hà nội, ngày 21/12/2012 Hà nội, ngày …./12/2012

Sinh viên thực hiện Giảng viên hướng dẫn
Trần Việt Dũng
Nguyễn Công Minh
Nguyễn Hữu Hưng
GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
2
Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử

Mục Lục
Mục Lục
Chương I : Giao tiếp với máy tính
1.1 Tổng quan về giao tiếp máy tính
1.2 Giao tiếp qua cổng nối tiếp
Chương II : Cơ sở lý thuyết
1 .Giới thiệu về AT89S52
2. Bộ chuyển đổi tương tự_số ADC 0804
3. Tổng quan về LM 35
4. Giới thiệu sơ lược về MAX 232
Chương III : Thiết kế
GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
3
Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử
CHƯƠNG I: GIAO TIẾP MÁY TÍNH
1.1. Tổng quan về giao tiếp máy tính
Để có thể tiến hành điều khiển hoặc giám sát các quá trình thực hiện
bằng máy tính, trước hết phải có mối liên hệ cần thiết giữa máy tính và thế
giới bên ngoài. Cổng giao lưu với thế giới bên ngoài được mở rộng bằng giao
diện.Đối với máy tính PC tuân theo chuẩn công nghiệp có thể thực hiện các
khả năng ghép nối sau:
Sử dụng card mở rộng được cắm vào máy tính ( phương pháp này đạt

được tốc độ truy nhập lớn nhất nhưng chi phí cao)
Các giao diện đã được tiêu chuẩn hóa đóng vai trò ghép nối máy tính
với các mạch điện bên ngoài.Cách ghép nối qua cổng nối tiếp thường được
lựa chọn vì chi phí thấp.
Ghép nối với một bộ vi xử lý riêng để thực hiện những bài toán khác
mà không cần trao đổi dữ liệu với máy tính.
Các giao diện có trên máy tính PC như giao diện nối tiếp,giao diện
song song và cả cổng trò chơi (game port) cho phép sử dụng trực tiếp làm
giao diện.
GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
4
Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử
1.2. Giao tiếp qua cổng nối tiếp
1.2.1. Cấu trúc cổng nối tiếp ( cổng COM)
Cổng nối tiếp có các ưu điểm sau:
Khoảng cách truyền xa hơn cổng song song.
Số dây kết nối ít.
Có thể truyền không dây dùng hồng ngoại.
Có thể ghép nối với vi điều khiển hay PLC.
Cho phép nối mạng.
Có thể tháo lắp thiết bị trong lúc máy tính đang làm việc.
Có thể cung cấp nguồn cho các mạch điện đơn giản.
Cổng COM có hai loại: loại 9 chân và loại 25 chân.
Sơ đồ chân:
GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
5
Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử
1.2.2. Các chuẩn giao tiếp nối tiếp
Thường sử dụng nhiều nhất là chuẩn RS-232 và RS-485. Ở đề tài này
chỉ sử dụng chuẩn RS-232.

Chuẩn RS-232: Tín hiệu truyền theo chuẩn RS-232 của EIA
(Electronics Industry Associations). Chuẩn RS-232 qui định mức logic 1 ứng
với điện áp từ -3V đến -25V, mức logic 0 ứng với điện áp từ 3V đến 25V và
có khả năng cung cấp dòng từ 10mA đến 20mA. Ngoài ra, tất cả các ngõ ra
đều có đặc tính chống chập mạch.
GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
6
Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử
Chuẩn RS-232 cho phép truyền tín hiệu với tốc độ đến 20.000 bps nhưng nếu
cáp truyền đủ ngắn có thể lên đến 115.200 bps. Chuẩn RS-232 chỉ có thể kết
nối nhiều nhất hai thiết bị, với khoảng cách dài nhất (12,7 m đến 25,4 m).
Chuẩn RS-485: có thể kết nối tối đa là 32 thiết bị, khoảng cách dài hơn
tối đa là (1016m đến hơn 1km) gấp 40 lần RS-232. Tốc độ cao 10Mbs/s.
1.2.3. Các đặc tính kỹ thuật của chuẩn RS-232:
Các tốc độ truyền dữ liệu thông dụng trong cổng nối tiếp là: 1200bps,
4800bps, 9600bps, 19200 bps.
1.2.4. Định dạng dữ liệu:
Sau đây giới thiệu về cách định dạng dùng trong truyền thông nối tiếp.
- Định dạng đồng bộ: Trong truyền đồng bộ, mọi thiết bị dùng một
xung đồng hồ được phát ra bởi một thiết bị hoặc từ một nguồn xung ngoài.
Xung đồng hồ có thể có một tần số cố định hoặc có thể chốt tại những
khoảng thời gian không đều. Mọi bít truyền đi được đồng bộ với đồng hồ.
- Định dạng không đồng bộ: Trong truyền không đồng bộ, liên kết
không bao gồm đường xung đồng hồ, bởi vì mỗi điểm đầu cuối của liên kết
đã có xung đồng hồ cho riêng từng cái. Mỗi điểm sẽ cần phải đồng ý cùng
một tần số của đồng hồ và mọi đồng hồ chỉ khác nhau một vài %. Mỗi byte
truyền đi bao gồm bít Start để đồng bộ đồng hồ và một hoặc nhiều bít Stop
GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
7
Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử

cho tín hiệu kết thúc việc truyền trong mỗi một từ được truyền đi. Cổng RS-
232 trong PC dùng định dạng không đồng bộ để giao tiếp với modems (thiết
bị mã hoá, giải mã dữ liệu) và các thiết bị khác. Dù RS-232 có thể truyền dữ
liệu đồng bộ nhưng liên kết không đồng bộ vẫn được dùng phổ biến 485 hơn.
GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
8
Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử
Chương II. Cơ sở lý thuyết
1, Giới thiệu về AT89S52

- Cấu trúc bên trong:
- Một số hình ảnh về AT89S52
GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
9
Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử
• CPU( CPU centra lprocessing unit):
 8- bit data bus; 16- bit address bus; không gian địa chỉ 64Kbyte
 Thanh ghi tích lũy A;
 Thanh ghi tích lũy phụ B;
 Đơn vị logic học (ALU);
 Thanh ghi từ trạng thái chương trình;
 Bốn băng thanh ghi;
 Con trỏ ngăn xếp;
• Bộ nhớ (Memory):
GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
10
Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử
 Bộ nhớ chương trình( ROM) gồm 8Kbyte Flash, ghi xóa hàng
nghìn lần.
 Bộ nhớ dữ liệu( dạng SRAM) gồm 256 byte (chứa ngăn xếp –

Stack)
 Vùng thanh ghi có chức năng đặc biệt SFR (Special Funtion
Register).
• Bộ UART, có chức năng truyền nhận nối tiếp.
• 3 bộ Timer/Counter 16 bit thực hiện chức năng định thời và đếm sự
kiện.
• Khối điều khiển ngắt với 2 nguồn ngắt ngoài và 4 nguồn ngắt trong.
• Bộ lập trình (ghi chương trình lên Flash ROM) cho phép người sử
dụng có thể nạp các chương trình cho chíp mà không cần các bộ nạp chuyên
dụng.
• 4 cổng xuất nhập song song 2 chiều 8- bit với 32 chân.
1.2, Cấu tạo và chức năng các khối của AT89CS52
 Đơn vị xử lý trung tâm CPU:
Chức năng của CPU là tiến hành các thao tác tính toán xử lý, đưa ra các
tín hiệu địa chỉ, dữ liệu và điều khiển nhằm thực hiện một nhiệm vụ nào đó
do người lập trình đưa ra thong qua các lệnh (instrustions).
 Bộ nhớ:
Bộ nhớ chương trình và bộ nhớ dữ liệu có không gian địa chỉ riêng biêt.
Bộ nhớ chương trình có địa chỉ từ 0x0000 đến 0xFFFF (64Kbyte). Người
sử dụng có thể thiết kế để chip hoạt động với bộ nhớ chương trình tích hợp
sẵn trên chip bằng cách nối tín hiệu EA (31) lên Vcc, hoặc hoạt động với bộ
nhớ chương trình bên ngoài bằng cách nối tín hiệu EA (31) xuống GND.
Thông thường , tín hiệu EA được nối cố định lên Vcc hoặc GND nên chỉ
chạy với một trong hai loại bộ nhớ chương trình.
Bộ nhớ chương trình dùng để chứa mã chương trình hướng dẫn CPU thực
hiện một nhiệm vụ nào đó. AT89S52 có bộ nhớ chương trình 8Kbyte dạng
Flash, không bị mất dữ liệu khi ngừng cung cấp nguồn nuôi.Bộ nhớ chương
trình bên ngoài có dung lượng tối đa là 64Kbyte.
Bộ nhớ dữ liệu dùng để chứa dữ liệu (bao gồm các tham số, các biến tạm
thời…). AT89S52 có 256byte bộ nhớ dữ liệu dạng SRAM, mất dữ liệu khi

cắt nguồn nuôi. Ngoài ra có thể ghép nối với bộ nhớ SRAM bên ngoài với
dung lượng tối đa la 64Kbyte. RAM ngoài và RAM trong có thể cùng được
sử dụng trong cùng một thiết kế.
 Cổng vào ra song song (Parallel I/O Port)
AT89S52 có 4 cổng vào ra song song, tên lần lượt là P0, P1, P2, P3. Mỗi
cổng có 8 tín hiệu (nên còn gọi là cổng 8- bit), mỗi tín hiệu gọi là một bit và
có tên la Px.y. Trong đó x là số thứ tự của cổng (0→3), y là số thứ tự của bit (
0→7).
GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
11
Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử
Hầu hết các cổng đều tích hợp, kiêm nhiệm thêm một số tính năng nào đó
(ví dụ: ngắt ngoài, cổng truyền thông nối tiếp, đầu vào đếm sự kiện ). Trong
phần lớn trường hợp, khi sử dụng các tính năng kiêm nhiệm, người dùng
không nên sử dụng cổng đó ở chức năng vào/ra thong thường nữa. Ngoại vi
on- chip sẽ nắm quyền điều khiển mức logic tại cổng đó.
Tất cả các cổng đều là cổng hai chiều (bi-directional), tức là có thể dùng
làm cổng vào hoặc cổng ra.
Cổng vào dùng để đọc dữ liệu từ bên ngoài, cổng ra dùng để điều khiển
ngoại vi bên ngoài.
Chiều vào/ ra là độc lập giữa các cổng, thậm chí độc lập giữa các bit
trong cùng một cổng.
Sau khi reset, tất cả các cổng đều là cổng vào.
Các thanh ghi SFR liên quan: mỗi cổng liên quan đến một thanh ghi chức
năng đặc biệt 8-bit (SFR) có tên trùng với tên của cổng, lần lượt là P0, P1,
P2, P3.
Trước khi sử dụng cổng, phải cấu hình hướng vào/ra cho cổng.
Để cấu hình cổng vào (input port), người dùng phải ghi giá trị logic “1”
lên bit trong thanh ghi SFR tương ứng. Sau đó có thể đọc mức logic tại cổng
bằng cách đọc thanh ghi cổng (SFR) tương ứng.

Để cấu hình làm cổng ra (output port), người dùng không phải thực hiện
them bất kỳ thao tác nào. Đơn giản, chỉ cần ghi mức logic mong muốn vào
thanh ghi cổng tương ứng.
Đặc tính điện: Mức logic 0: U<= 0.45V; I= 1.6mA
Mức logic 1: U>= 2.4V; I= 60µA
 Ngắt (Interrupts)
Ngắt la những yêu cầu do ngoại vi (là các phần cứng tích hợp trên IC
hoặc các tác động từ bên ngoài) guwit tới CPU nhằm đòi hỏi những đáp ứng
nhất định. Mục đích của việc thiết kế cơ chế ngắt trong vi xử lý nhằm tiết
kiệm thời gian cho CPU. Trong hầu hết các trường hợp, vi xử lý cần phải
thực hiện nhiều nhiệm vụ trong thời gian rất ngắn và liên tục. Để đáp ứng kịp
thợi với các sự kiện cần xử lý, CPU có thể tiến hành thăm dò (polling) liên
tục các sự kiện để xem khi nào chúng xảy ra thì xử lý, đáp ứng lại.Tuy nhiên
nếu làm như vậy thì lãng phí rất nhiều thời gian của CPU trong khi còn có rất
GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
12
Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử
nhiều nhiệm vụ khác đang chờ được thực hiện, ngoài ra CPU không thể thăm
dò liên tục nhiều sự kiện trong cùng một lúc được. Người ta tạo ra ngắt để
CPU không phải thăm dò liên tục một hay nhiều sự kiện đó. Bằng cách ghép
các sự kiện cần đáp ứng với các cơ chế ngắt khác nhau, khi một sự kiện nào
đó xảy ra, phần cứng phụ trách ngắt tích hợp trên CPU sẽ tự động báo cho
CPU biết rằng sự kiện đã xảy ra. CPU dừng công việc đang làm lại ( nhưng
phải thực hiện xong lệnh đang thực hiện, dù mới chỉ ở giai đoạn tìm nạp mã
lệnh), và chuyển sang xử lý xong sự kiện gây ngắt, CPU sẽ tiếp tục quay lại
lam tiếp công việc đang dang dở (nhờ hoạt động của ngăn xếp). Nói đến ngắt
không thể không nói đến mức ưu tiên của các loại ngắt khác nhau. Có 2 loại
mức ưu tiên ngắt cơ bản là ưu tiên giữa các ngắt xảy ra đồng thời và ưu tiên
giữa các ngắt xảy ra khác thời điểm, chen vào nhau. Trong cả hai trường hợp,
ngắt có ưu tiên cao hơn sẽ luôn được phục vụ ngay lập tức.

AT89S52 có 6 nguyên nhân gây ngắt:
Tên ngắt
Nguyên nhân gây ra
ngắt
Địa chỉ
vector
ngắt
Mức
độ ưu
tiên
cứng
Cờ báo
ngắt
Ngắt ngoài 0
Tín hiệu INT0 thay
đổi mức logic 1→0,
hoặc giữ ở mức logic
0
0x0003 1
IE0(TCO
N)
Ngắt
timer/counter
0
Timer/Counter0 đếm
tràn trên
0x000B 2
TF0(TCO
N)
Ngắt ngoài 1

Tín hiệu INT1 thay
đổi mức logic 1→0,
hoặc giữ ở mức logic
0
0x0013 3
IE1(TCO
N)
Ngắt
timer/counter
1
Timer/Counter1 đếm
tràn trên
0x001B 4
TF1(TCO
N)
Ngắt cổng
nối tiếp
Cổng nối tiếp nhận
được hoặc truyền
xong một khung dữ
liệu đầy đủ
0x0023 5
TI,RI
(SCON)
Ngắt
timer/counter
2
Timer/Counter2 đếm
tràn trên hoặc tín hiệu
T2EX thay đổi mức

logic 1→0
0x002B 6
TX2,EXF
2
(T2CON)
GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
13
Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử
Các cờ báo ngắt do INT0, INT1, Timer 0, Timer 1 bị xóa khi CPU xử lý
chương trình ngắt. Còn cờ ngắt của cổng nối tiếp và ngắt do Timer 2 không
tự động xóa, người dùng phải xóa bằng phần mềm.
Thanh ghi cho phép ngắt IE (Interrupt Enable):
EA: bít cho phép hoặc cấm tất cả các ngắt. Để cho phép một ngắt thì bít
tương ứng với ngắt đó và bít EA pahir được đặt bằng 1. Nếu É=0 tất cả các
ngắt đều bị cấm.
ET2: bít cho phép ngắtt do Timer 2.
ES: bít cho phép ngắt truyền thong nối tiếp.
ET1: bít cho phép ngắtt do Timer 1.
EX1: bít cho phép ngắt ngoài INT1.
ET0: bít cho phép ngắtt do Timer 0.
EX0: bít cho phép ngắt ngoài INT0.
Mức ưu tiên của ngắt là chỉ số giúp CPU phân xử xem sẽ xử lý ngắt nào
trước khi hai hay nhiều ngắt đồng thời xảy ra, hoặc sẽ dừng việc xử lý một
ngắt lại hay không khi bị một ngắt khác chen vào. Khi xảy ra ngắt đồng
thời,CPU sẽ phân xử theo trình tự ưu tiên cứng liệt kê ở bảng trên. Khi một
ngắt xảy ra chen vào quá trình xử lý dang dở của một ngắt khác, CPU sẽ phân
xử theo mức độ ưu tiên quy định bởi người dùng thông qua thanh ghi đặt
mức ưu tiên ngắt IP.
Thanh ghi ưu tiên ngắt IP (Interrupt Priority):
- - PT2 PS PT1 PX1 PT0 PX0

MSB
LSB
PT2: bít ưu tiên ngắt do timer 2.
PS: bít ưu tiên ngắt truyền thông nối tiếp.
PT1: bít ưu tiên ngắt do timer 1.
PX1: bít ưu tiên ngắt ngoài INT1.
PT0: bít ưu tiên ngắt do timer 0.
PX0: bit ưu tiên ngắt ngoài INT0.
 Bộ định thời/ Bộ đếm (Timers/ Counters)
Timer/Counter là các ngoại vi có chức năng đếm xung nhịp (clock).
Khi đếm xung nhịp bên trong chip gọi là bộ đinh thời hay timer.
GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
14
Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử
Khi đếm xung nhịp bên ngoài chip đưa và gọi là bộ đếm sự kiện hay
counter.
Mỗi xung nhịp xuất hiện them, giá trị của timer/counter sẽ tự động tăng
thêm 1.
Khi timer/counter đếm vượt quá giá trị giới hạn mà nó có thể biểu diễn,
giá trị đếm sẽ tự động xóa về 0 và đếm lại từ đầu. Sự kiện này được gọi là
tràn trên (overflow).
Giá trị lớn nhất tùy thuộc vào chế độ hoạt động.
Khi dừng đếm, giá trị đếm của timer/counter vẫn giữ nguyên, trừ khi mất
nguồn nuôi, reset hay người dùng chủ định xóa bằng lệnh.
Khi được cho phép đếm, timer/counter sẽ đếm từ giá trị hiện đang giữ.
AT89S52 có 3 timer/counter 16bit lần lượt là timer/counter 0,
timer/counter 1, timer/counter 2.
Các timer đều có ngắt:
Timer 0 có ngắt do tràn.
Timer 1 có ngắt do tràn.

Timer 2 có ngắt do tràn hoặc do sự kiện capture.
Các thanh ghi liên quan:
- Thanh ghi dữ liệu (hay thanh ghi giá trị đếm):
Thanh ghi dữ liệu TH0, TL0 ,TH1, TL1, TH2, TL2:
- Thanh ghi điều khiển TMOD(Sử dụng cho timer/counter 0 và
timer/counter 1):
-
GATE: bit quy định yếu tố cho phép timer/counter đếm hay dừng. Nếu
GATE=0, timer/counter sẽ đếm hay dừng phụ thuộc vào trạng thái bit TRx
(thanh ghi TCON). Nếu GATE=1, timer/counter sẽ đếm nếu bit TRx=1
(thanh ghi TCON) và tín hiệu ngắt ngoài INTx ở mức cao. Trong trường hợp
này, nếu TRx-0 hoặc tín hiệu ngắt ngoài INTx ở mức thấp, timer/counter sẽ
dừng đếm.
C/T: bit lựa chọn xung nhịp đưa vào đếm. Nếu C/T = 0, xung nhịp đưa
vào đếm chính là xung nhịp của CPU (lúc này gọi là bộ định thời – timer).
Nếu C/T = 1, xung nhịp đưa vào đếm là xung nhịp lấy từ bên ngoài vào qua
tín hiệu T0 và T1 (lúc này gọi là bộ đếm sự kiện – counter).
M1:M0
0:0 = Mode 0: timer/counter 13bit ghép bởi <5bit thấp TL>:<thanh ghi TH>
0:1 = Mode 1: timer/counter 16bit ghép bởi <thanh ghi TH>:<thanh ghi TL>
GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
15
Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử
1:0 = Mode 2: timer/counter 8bit, đếm bằng TL, khi tràn tự động nạp TH vào
TL.
1:1 = Mode 3: TL0 là timer/counter 8bit, sử dụng các bit điều khiển của
timer0. TH0 là timer 8bit, sử dụng các bit điều khiển của timer 1. Timer 1
không hoạt động ở chế độ này.
- Thanh ghi TCON (Sử dụng cho timer/counter 0 và timer/counter 1):
TF1: Cờ ngắt của timer/countet 1, khi =1 báo hiệu rằng timer/counter 1 đã

đếm vượt quá trị lớn nhất mà nó có thể biểu diễn (255 đối với chế độ 8bit và
65535 đối với chế độ 16bit).
TR1: bit cho phép timer/counter 1 hoạt động đếm hoặc dừng.
TF0: Cờ ngắt của timer/countet 0, khi =1 báo hiệu rằng timer/counter 0 đã
đếm vượt quá trị lớn nhất mà nó có thể biểu diễn (255 đối với chế độ 8bit và
65535 đối với chế độ 16bit).
TR0: bit cho phép timer/counter 0 hoạt động đếm hoặc dừng.
IE1: Cờ ngắt của ngắt ngoài 1.
IT1: Bit cho phép chọn loại ngắt ngoài cho INT1.
IE0: Cờ ngắt của ngắt ngoài 0.
IT0: Bit cho phép chọn loại ngắt ngoài cho INT0.
Thanh ghi T2CON (Sử dụng cho Timer/counter 2):
TF2: Cờ báo tràn của Timer 2. TF2 không được thiết lập khi TCLK hoặc
RCLK được đặt bằng 1.
EXF2: Cờ ngắt ngoài của Timer 2. EXF2 =1 khi xảy ra sự nạp lại hoặc
thu nhận. EXF2=1 cũng gây ra ngắt do Timer 2 nếu như ngắt này được lập
trình cho phép.
RCLK: Bit chọn Timer cung cấp xung nhịp cho đường nhận của cổng nối
tiếp.
TCLK: Bit chọn Timer cung cấp xung nhịp cho đường truyền của cổng
nối tiếp.
EXEN2: Bit điều khiển hoạt động của Timer2, khi EXEN2=1 việc nạp lại
hoặc thu nhận (capture) diễn ra khi có sự chuyển trạng thái từ 1 sang 0 ở chân
T2EX nếu Timer2 không sử dụng để cung cấp tốc độ baud cho cổng nối tiếp.
GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
16
Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử
TR2: Bit điều khiển hoạt động của Timer 2.
C/T2: Bit lựa chọn xung nhịp đưa vào đếm (tương tự TR0 và TR1).
CP/RL2: Bit chọn chế độ capture hay nạp lại của Timer 2. Khi CP/RL2=1

việc thu nhận được thực hiện khi có sườn xuống ở chân T2EX và bit EXEN2
được đặt bằng 1. Khi CP/RL2=0 việc nạp lại được thực hiện khi hoặc là
Timer2 tràn hoặc khi có sương xuống ở chân T2EX và bit EXEN2 được đặt
bằng 1.Nếu RCLK hoặc TCLK=1, bit này được bỏ qua, Timer 2 tự nạp khi
tràn.
Các chế độ của Timer 2:
- Thanh ghi điều khiển T2MOD (Sử dụng cho Timer 2):
T2OE: Bit cho phép đầu ra khi sử dụng Timer 2 để tạo xung (chế độ
Clock Out).
DCEN: Bit cho phép Timer 2 hoạt động như một bộ đếm tiến/lùi.
- Thanh ghi chứa giá trị nạp lại (chế độ Auto- Reload) hoặc chứa giá trị
capture (chế độ Capture) (Sử dụng cho Timer 2):
Thanh ghi RCAP2H:
Thanh ghi RCAP2L:
 Cổng vào ra nối tiếp (Serial Port)

GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
17
Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử
1.3, Chức năng các chân của AT89S52
Cấu trúc của các chân trên các Port:
 Port 0( P0.0=>P0.7)
Port 0 gồm 8 chân, ngoài chức năng xuất nhập, port 0 còn là bus đa hợp
dữ liệu và địa chỉ( AD0-AD7), chức năng này sẽ được sử dụng khi AT89S52
giao tiếp với các thiết bị ngoài có kiến trúc Bus như các vi mạch nhớ, mạch
PIO…
 Port 1( P1.0=>P1.7)
Chức năng duy nhất của Port 1 là chức năng xuất nhập cũng như các Port
khác. Port1 có thể xuất nhập theo bit và theo byte.
 Port 2( P2.0=>P2.7)

Port 2 ngoài chức năng là cổng vào/ra như Port 0 và Port 1, Port 2 còn là
byte cao của bus địa chỉ khi sử dụng bộ nhớ ngoài.
 Port 3
Mỗi chân trên Port 3 ngoài chức năng xuất nhập còn có một chức năng
riêng, cụ thể như sau:
GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
18
Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử
Bit Tê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 ngoài 0
P3.3 INT1 Ngắt ngoài 1
P3.4 TO Ngõ vào của Timer/counter0
P3.5 T1 Ngõ vào của Timer/counter1
P3.6 /WR Xung ghi bộ nhớ dữ liệu
ngoài.
P3.7 /RD Xung đọc bộ nhớ dữ liệu
ngoài.
 Chân /PSEN : là chân điều khiển đọc chương trình ở bộ nhớ
ngoài.
 Chân ALE.
ALE là tín hiệu điều khiển chốt địa chỉ có tần số bằng 1/6 tần số dao động
của vi điều khiển. Tín hiệu ALE được dùng để cho phép vi mạch chốt bên
ngoài như 7473.
 Chân /EA.
Tín hiệu /EA cho phép chọn bộ nhớ chương trình là bộ nhớ trong hay
ngoài. EA=1 thì thực hiện chương trình trong RAM nội. EA=0 thực hiện ở
RAM ngoài.

 RST( reset)
Ngõ vào reset trên chân số 9. khi RST=1 thì bộ vi điều khiển sẽ được
khởi động lại thiết lập ban đầu.
 XTAL1, XTAL2
Hai chân này được nối song song với thạch anh tần số max=33 Mhz. Để
tạo dao động cho bộ vi điều khiển.
 Vcc, GND : cung cấp nguồn nuôi cho bộ vi điều khiển. cấp qua chân
20 và 40.
GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
19
Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử
2. Bộ chuyển đổi tương tự-số: ADC0804
2. 1, Cấu tạo:
- ADC0804 là một thiết bị thông dụng để chuyển đổi tín hiệu tương tự
sang tín hiệu số.
- Một số hình ảnh thức tế ADC0804

.
- Một số đặc điểm của ADC0804:
Độ phân giải 8bit. Tức là khi điện áp đầu vào thay đổi lớn hơn điện áp
tham chiếu chia cho 2
8
thì ADC vẫn phân biệt được.
Thời gian chuyển đổi la 100µs (là thời gian từ khi ra lệnh chuyển đổi đến
khi nhận được giá trị trả về).
Điện áp đầu vào có thể là điện áp vi sai hoặc là điện áp so đất.
Có bộ tạo clock onchip.Không yêu cầu điều chỉnh điểm 0.
- Bố trí chân và chức năng của các chân:
GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
20

Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử
DB0 →DB7: là 8 đường dữ liệu ra song song của ADC0804. Có thể nối
trực tiếp với Port của vi điều khiển để đọc dữ liệu.
Mạch tạo clock liên quan đến 2 chân CLK IN và CLK R. Clock này quyết
định thời gian chuyển đổi của ADC0804
Điện áp tham chiếu được đưa vào chân V
REF/2
.Tên chân là V
REF/2
nên điện
áp tham chiếu thực tế bằng 2 lần điện áp đưa vào chân này.
Điện áp khoảng từ 0-5V được đưa vào chân V
in+
và V
in-
nếu là điện áp vi
sai. Hoặc đưa vào chân V
in+
(V
in-
nối đất) nếu là điện áp so đất.
CS (chân 1): là tín hiệu chọn chip (Chip Select). Trước khi muốn ADC
hoạt động phải đặt CS ở mức thấp.
WR (chân 3): là tín hiệu dùng để ra lệnh cho ADC chuyển đổi.
INTR (chân 5): mỗi khi ADC chuyển đổi xong thì ADC chủ động báo
bằng cách xóa INTR.
RD (chân 2): là chân cho phép các đầu ra số (DB0 →DB7) của
ADC0804.
2.2) Nguyên lý hoạt động
- Chi tiết về mạch tạo Clock: clock của ADC0804 có thể được tạo từ một

mạch dao động RC bên ngoài qua chân CLK IN và CLK R như hình vẽ dưới
đây:
Trong chế độ chạy liên tục thường mắc R=10kΩ , C=150 pF.
- Giản đồ mô tả quá trình chuyển đổi của ADC0804:
GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
21
Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử
Ra lệnh chuyển đổi:
Đọc dữ liệu:
+ Đầu tiên để ADC hoạt động thì CS phải được đặt ở mức thấp.
GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
22
Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử
+ Sau đó cần một xung trên chân WR để ra lệnh cho ADC chuyển đổi.
Cần một khoảng thời gian là 1 T08 × 1/ f
CLK
kể từ thời điểm có xung WR từ
thấp lên cao. ADC0804 sẽ bắt đầu quá trình chuyển đổi và ở trạng thái bận
trong suốt quá trình này.
+ Quá trình chuyển đổi diễn ra trong thời gian T
C
. Sau khi chuyển đổi
xong 1/2 chu kỳ clock thì ADC0804 tự động đưa tín hiệu INTR xuống thấp
để báo kết thúc quá trình chuyển đổi.
+ Khi quá trình chuyển đổi đã kết thúc, cần 1 xung clock từ cao xuống
thấp trên chân RD để đưa dữ liệu đến các đầu ra từ DB0 → DB7. Xung RD
này phải xuất hiện trong 8 chu kì clock kể từ thời điểm INTR xuống mức
thấp.
Sau khi xuất hiện xung từ cao xuống thấp trên chân RD một khoảng thời
gian là t

RI
thì chân INTR sẽ trở lại mức cao.
GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
23
Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử
3. Tổng quan về LM35
IC đo nhiệt độ là một mạch tích hợp nhận tín hiệu nhiệt độ chuyển
thành tín hiệu điện dưới dạng dòng điện hay điện áp. Dựa vào đặc tính rất
nhạy của các bán dẫn với nhiệt độ, tạo ra điện áp hoặc dòng điện tỷ lệ thuận
với nhiệt độ tuyệt đối. Đo tín hiệu điện ta biết được giá trị của nhiệt độ cần
đo. Sự tác động của nhiệt độ tạo ra điện tích tự do và các lỗ trống trong chất
bán dẫn. Bằng sự phá vỡ các phân tử, bứt các electron thành dạng tự do di
chuyển qua vùng cấu trúc mạng tinh thể tạo sự xuất hiện các lỗ trống. Làm
cho tỷ lệ điện tử tự do và lỗ trống tăng lên theo quy luật hàm mũ với nhiệt độ.
+LM135, LM35
Ngõ ra là điện áp.
Độ nhạy 10mv/1
0
C
Sai số cực đại 1,5
0
C khi nhiệt độ lớn hơn 100
0
C.
Phạm vi sử dụng :0
0
C=>150
0
C
4. Giới thiệu sơ lược về MAX232

Khi thực hiện giao tiếp với vi điều khiển, ta phải dùng thêm mạch chuyển
mức
logic từ TTL Æ 232 và ngược lại. Các vi mạch thường sử dụng là MAX232
của Maxim hay DS275 của Dallas. Mạch chuyển mức logic mô tả như sau:
GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
24
Trường Đại Học Công Nghiệp Hà Nội Khoa: Điện Tử
Tuy nhiên, khi sử dụng mạch chuyển mức logic dùng các vi mạch thì đòi
hỏi phải
dùng chung GND giữa máy tính và vi mạch Æ có khả năng làm hỏng cổng
nối tiếp khi xảy ra hiện tượng chập mạch ở mạch ngoài. Do đó, ta có thể
dùng thêm opto 4N35 để cách ly về điện.
GVHD:Vũ Thị Thu Hương Đo và khống chế nhiệt độ qua cổng COM
25

×