Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử Lớp Điện Tử 3-K3
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CNHN – KHOA ĐIỆN TỬ
========****========
BÁO CÁO
MÔN: VI ĐIỀU KHIỂN
Đề Tài: Thiết kế bộ đo và khống chế nhiệt độ hiển thị
trên máy tính.
Giáo viên hướng dẫn: Vũ Thị Thu Hương
Nhóm thực hiện: Nguyễn Văn Hà ( 0341050467)
Đào Bỏ Cảnh
Đinh Văn Khoản
Lớp: Điện tử 3 – K3
Bài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
1
Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử Lớp Điện Tử 3-K3
========== Hà Nội Tháng 6/ 2011
===========
Nhận xét của giáo viên hướng dẫn
Mục lục
Bài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
3
Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử Lớp Điện Tử 3-K3
Nhận xét của giáo viên hướng dẫn
1
Mục luc
3
Phần I: Giới thiệu đề tài
1. Đặt vấn đề
4
2. Mục đích thực hiện đề tài
4
3. Phương hướng giaØ quyết
5
Phần II: Nội dung
thiết lập trước.
Trong quá trình sản xuất ở các nhà máy, xí nghiệp hiện nay . vÖc đo và
khống chế nhiệt tự động là một yêu cầu hết sức cần thiết và quan trọng. Vì
nếu nắm bắt được yêu cầu đo và khống chế nhiệt độ tự động, thì có nhiều
phương pháp để nghiên cứu khỏa sát vi điều khiªnt 8051 nhóm thực hiện
nhận thấy rằng : ứng dụng vi điều khiªnt 8051 vào việc đo và khống chế
nhiệt độ tự động là phương pháp tối ưu nhất. Vì vậy nhóm chúng em tiến
hành thực hiện việc khảo sát và ứng dụng vi điều khiển vào mạch đo và
khống chế nhiệt độ.
2.Mục đích thực hiện đề tài:
Nếu nh những kiến thức ký thuyết là điều kiện cần thì thực hành lắp ráp
mạch thật là điều kiện đủ. Nó đem lại rất nhiều lợi ích cho chúng em:
-Chúng em có thẻ đưa những kiến thức lý thuyết khô khan vào thực tế để có
thể đánh giá một cách khách quan cơ sở lý thuyết.
-Từ những gì chúng ta đã làm được tư đó rót ra những kinh nghiệm cho quá
trình làm lần sau và xa hơn là các quá trình sản xuất công nghiệp sau này.
-Để làm được một mạch thật hoàn chỉnh chúng em phảI trảI qua rất nhiều
khâu. Qua đây chúng em có một cách nhìn tổng quát cho một dây chuyền
sản xuất các ứng dụng của ngành điện tử.
Chính những lợi ích đó cũng là những mục đích mà nhóm sinh viên chúng
em mong muốn đặt được.
3.Phương Hướng Giải Quyết:
Để thực hiện được các chức năng trên hệ thống được chia thành hai phần là
cứng và phần mềm với các giải pháp giải quyết nh sau:
Bài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
6
Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử Lớp Điện Tử 3-K3
a)Giải pháp phần cứng:
Phần cứng được xây dùng trên cơ sở giao tiếp với máy tính qua cổng COM
toán cho thuận lợi.
1.3.Vi điều khiển : 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 các yêu cầu cơ thể hiện kết quả đo của bộ
chỉ thị.
1.4.Khối hiển thị: Nhận tín hiệu từ vdk va hiển thị kết quả đo
2.Hệ thống đo lường số:
Đối tượng cần đo là các đạ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 loại cảm biến cho phù hợp để biến đổi thông số đại lượng
Bài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
Khối
chuyển
®æi
A/D
Vi điều
khiển
Hiển thịCảm biến
nhiệt
8
Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử Lớp Điện Tử 3-K3
vật lý cần đo thành đại lượng điện, sau đó đưa vào các mạch chế biến tín
hiệu ( gồm: cảm biến, hệ thống khuªch đại, xử lý tín hiệu)
Bộ chuyển đồi sang số ADC làm nhiệm vụ biến đổi tín hiệu tượng tự sang 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ự và bộ chuyển ADC được dùng chung cho tất cả các
kênh. Dữ liệu nhập vào bọ vi sử lý sẽ có tín hiệu chọn đúng của nó qua quá
trình tính toán để sã kết quả của đại lượng cần đo.
3.Các phương pháp đo nhiệt độ:
được điều này thì hệ thống phảI đảm bảo các yêu cầu sau:
-Số lượng đầu vào/ra số:
-Số ®µu vào/ ra tượng tự:
-Số lượng bộ đếm /định thời:
-Dung lượng bộ nhớ chương trình:
-Bộ nhớ dữ liệu cần thiết :
-Giao tiếp với máy tính do đó phải sử dụng truyền thông RS232
2. các khối chức năng :
- Cảm biến nhiệt dé : dùng để đo nhiệt độ hiện tại trong lò nhiệt.
- Khối biến đổi A/D: có nhiệm vụ số hóa tín hiệu của cảm biến nhiệt để
da vào bộ vi điều khiển –là nơi cài đặt thuật toán điều khiển và khống
chế nhiệt độ.
- Khối vi điều khiển (MCU): có nhiệm vụ thực hiện các chức năng mã hóa
hợp thành và giải mã.
3.Nhiệm vụ của từng khối:
3.1. Cảm biến nhiệt:
Với nhiệt độ khống chế từ 30 độ đến 130 độ, ta chon sử dụng cảm biến nhiệt
dé bán dẫn thông dụng là vi mạch LM35 của hãng National Semiconductor.
Vi mạch cảm biến nhiệt LM35có đặc điểm sau:
- chuẩn hóa theo thang đo nhiệt độ Cesius;
- đầu ra tuyến tính 10mV/C;
- Dải điện áp làm việc từ 4V đến 30V;
- Dòng tiêu thụ nhỏ cỡ 60 microampe, nên nhiệt tự tỏa rất nhỏ hầu nh
không ảnh hưởng đến kết quả đo.
Bài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
10
Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử Lớp Điện Tử 3-K3
Sai số nhỏ, chỉ khoảng 0.5 độ C.
Sơ đò mạch cảm biến được cho hình dưới.
- tất cả các tín hiệu đều tương thích møcTTL;
- Dòng tiêu thụ nhỏ, cỡ 1.9ma.
Hình dois mô tả mạch A/D ứng dụng vi mạch ADC0804 để đo nhiệt độ từ
LM35.
Sơ đồ mạch biến đổi A/D
Bài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
13
Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử Lớp Điện Tử 3-K3
Mạch này gồm hai phần chính :
-phần tương tự : Với dải nhiệt độ từ 0 độ đên 128 độ thì điện áp ra của
LM35laf từ 0 đến 1.28V, điện áp này được đưa đến lối vào IN+, cong lối
vào IN- được nối đất . Với điện áp vào cực đại là 1.28V thì điện áp chuẩn
Vref được đặt là 0.64V, việc điều chinht Vref được thực hiện bởi biến trở vi
chỉnh VR. Khi đó nếu nhiệt dé là 0 độ C thì điện áp IN+ là 0V, đầu ra Dout
là 00000000, vi điều khiển nhận được giá trị là 0; Khi nhiệt độ là 128 độ C
thì điện áp IN+là 1.28V, đầu ra Dout là 11111111, vi điều khiển nhạn được
giá trị tương ứng là 255.
-Phần giao tiếp với vi điều khiển: Để thực hiện giao tiếp với vi ®iÒukhiÓn
cần các tín hiệu sau :
+Tín hiệu chọn vi mạch biến đổi tương tự số CS_ADC, tích cực thấp., được
da từ mạch giả mã địa chỉ tới. Khi CS_ADC=0 thì ADC0804 được chọn,
chuẩn bị cho việc đọc sã liệu từ ADC .
+ Tín hiệu ra lệnh cho ADC0804 bắt đầu biến dổi WR_ADC, tích cực mức
thấp , được điều khiển trực tiếp bởi vi điều khieenr, khi WR_ADC chuyển từ
1 xuống 0 thì ADC bắt đầu quá trình biến dổi.
+ Tín hiệu báo kết thúc biến đổi ADC_OK , tích cực thấp , được nối với
chân INTR(interrup) của ADC0804, mỗi khi ADC0804 hoàn thành việc biến
đổi cho một mẫu nó báo hiệu cho bên ngoài bằng một mức logics 0 ở chân
này . Tín hiªu này được gửi tới vi điều khiển để váo cho vi điều khiển biế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.
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( P3.0=>P3.7)
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:
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
Tín hiệu liên quan:RxD(P3.0, chân số 10) va TxD(P3.1, chân số 11)
Dữ liệu đi và về hoàn toàn độc lập với nhau, do đó có thể truyền
nhận đồng thời, và cổng nối tiếp có đặc tính như vâyj được gọi là song
công(Full duplex)
Các thanh ghi liên quan:
Bài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
17
Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử Lớp Điện Tử 3-K3
Dữ liệu nhận về thong qua RxD, tới 1 thanh ghi chức năng đặc
biệt(8-bit) tên là SBUF
Dữ liệu truyền thong qua TxD, từ 1 thanh ghi chức năng đặc biệt(8-
bit) cũng tên là SBUF
Thanh ghi điều khiển SCON:
SM0-SM1
0-0=mode0:chế độ đồng bộ 8 bit,clock =1/12 Fosc
0-1=mode1:chế độ dị bộ 8-bit, clock thay đổi được tùy ý
1-0=mode2:chế độ dị bộ 9-bit,clock= 1/64 Fosc hoặc 1/32 Fosc
1-1=mode3:chế độ dị bộ 9-bit,clock thay đổi được tùy ý
SM2:bit cho phép chế độ gioa tiếp đa vi xử
lý(multimicroprocessor),mode 2 hoặc mode3.Trong các chế độ thong
thường,SM2=0.
REN:bit cho phép nhận dữ liệu nếu ghi vào đó giá trị logic 1.Giá trị
logic 0 tại bit này sẽ”khóa cổng “ với các dự lieuj gửi đến.
TB8:bit dữ liệu thứ 9 phát đi trong các chế độ truyền nhận 9-
bit(mode 2 và 3)
RB8: bit dữ liệu thứ 9 nhận về trong các chế độ truyền nhận 9-
bit(mode 2 và 3)
TI:cờ báo ngắt truyền ,khi =1 báo hiệu rằng 1 khung dữ liệu (8 hay
9 bit tùy chế độ) đã được truyền xong. Cờ này không tự động xóa về 0
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>
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.
Bài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
19
Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử Lớp Điện Tử 3-K3
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).
Bộ vi diều khiển AT89S52 có khả năng giao tiếp với thế giới bên ngoài qua
cổng nối tiếp. Vấn đề này duy nhất khi giao tiếp với máy tÝnhlaf mức logics
ở bộ vi điều khiển và cổng COM của máy tính khác với nhau, cụ thể nh sau:
So sánh điện áp ở các mức logics giữa RS232C và TTl
Đối tượng Mức logic Mức điện áp tương ứng
Cổng COM
(Mức RS232)
1 -12 V đến -3V
0 +3V đến +12V
Vi điều khiển
(Mức TTl)
1 +5V
0 0V
Khắc phục điều này, chúng ta sử dụng vi mạch MAX232 để chuªnr đổi mức
điện áp giữa hai chuẩn. Vi mạch này có chứa hai bộ chuyển mức gia vi điều
khiển với máy tính qua cổng RS232 sử dụng vi mạch đổi mức MAX232.
Bài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
22
Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử Lớp Điện Tử 3-K3
Hình vẽ(Truyền thông qua cổng nối tiếp)
Nh vậy thức chất của việc truyền thông qua cổng nối tiếp thực là việc truyền
mã ASCII của ký tự. Trong chương lập trình cho vi điều khiển để gửi cho
máy các ký tự từ ‘0’ đến ‘9’ ta phảI truyền mã ASCII của chúng lÇ lượt từ
0x30 đến 0x39.
Để kiểm tra xem máy tính có nhận được các ký tự này hay không, ta phảI
cho máy tính thi hành chương trình nhận số liêu qua cổng nối tiếp. Chương
trình này có thể viết bằng ngôn ngx lập trình Basis, Pascan, C, C++… Trong
Windown có cung cấp xắn cho chúng ta một công cụ truyền tin qua công nối
tiếp là Hyper Terminal.