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
Bài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
2
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
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
6
1.Cơ sở lý thuyết chung
Bài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
4
Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử Lớp Điện Tử 3-K3
6
2.Quy trình thiết kế bài toán thực tế
8
Phần III:
Ưu nhược điểm,ứng dụng và hướng phát triển
26
Phần IV:
Tài liệu tham khảo
27
Phần i: giới thiệu đề tài
1.Đặt Vấn Đề:
Bài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
5
Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử Lớp Điện Tử 3-K3
Ngày nay với sự phát triển của nghµnh vi điện tử, kỹ thuật số các hệ thống
điều khiển dần được tự động hóa, Với những kỹ thuật tiến tiến như vi xử lý,
vi mạch số … được ứng dụng vào lĩnh vực điều khiển, thì các hệ thống điều
khiển cơ khí thô sơ , với tốc độ xử ló chậm chạm ít chính xác được thay thỊ
bằng các hệ thống điều khiển tự động với các lệnh chương trình đã được
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
nên tốc độ truyền dữ liệu cũng rất cao. Tuy nhiên, có một khó khăn duy nhất
khi giao tiếp với máy tính là mức logic ở bộ vi điều khiển và ở cổng COM
của máy tính khác nhau. Để khắc phục điều nay chúng ta sử dụng vi mạch
MAX232 nhằm chuyển đổi mức điện áp giữa hai chuẩn.
Do vậy chức năng chính của phần cứng bao gồm các khối sau:
-Bộ phận lấy tín hiệu cần khảo sát đó là nhiệt độ môi trường thông qua
cảm biến LM35.
-Bộ phận chuyển đối tương tự sang số, đưa vào vi xử lý.
-Bộ phận xử lý tín hiệu số và xuất ra cổng nối tiếp.
-Bộ phận truyền thông với máy tính.
-Ngoài ra còn có một khối điều khiển và hiển thị nh Nút NhÂn và LED.
b).Giải Pháp Phần Mềm:
Phần mềm đo và điều khiển nhiệt độ hiển thị bằng tiện ích của Windows dựa
trên phần cứng hệ thống và cấu trúc máy tính.
Chương trình phần mềm thực hiện giao tiếp với người dùng và giao tiếp với
phần cứng
Phần II. Nội dung
Bài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
7
Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử Lớp Điện Tử 3-K3
I.Cơ sở lý thuyết chung :
Để thực hiện phép đo của một đại lượng đại lượng nào đó thì tùy thuộc vào
dặ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ơ sá của hệ thống đo lường khác nhau .
1.Sơ đồ của một hệ thống đo lường tổng quát
1.1 Cảm biến nhiệt: Dựng để đo nhiệt độ
1.2.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 cần đo và biến
đổi thành các đại lượng vật lý thống nhất (dòng điện hay điện áp) để tính
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 độ:
Đo nhiệt độ là phương thức đo lườ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é lim 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
Việc sử dụng cảm biến IC cảm biến nhiệt để đo nhiệt ®él là một phương
pháp thông dĩng được nhóm trong bài này, nên ở đây chỉ giới thiệu về IC
cảm biến nhiệt độ.
3.1. Nguyên lý hoạt động của IC cảm biến nhiệt độ :
IC đo nhiệt là một mạch tích hợp nhận tín hiệu nhiệt độ chuyển tín hiệu điện
dưới dạng dòng điện hay điện áp. Dah vào đặc tính rất nhạy cảm 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 các 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
Bài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
9
Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử Lớp Điện Tử 3-K3
vùng cấu trúc mạng tinh thể tạo ra sự xuất hiện các lỗ trống. Làm cho tư leej
điện tư tự do va lỗ trống tăng lên theo qui luật hàm mò với nhiệt độ.
II.Quy trình thiết kế bài toán thực tế
1.Phân tích bài toán :
Bài toán đặt ra là thiết kế mạch đo và khống chế nhiệt độ . Để thực hiện
đượ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.
Sơ đò cảm biến nhiệt độ LM35.
Bài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
11
Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử Lớp Điện Tử 3-K3
3.2. Mạch biến đổi A/D: Có nhiệm vụ biến đổi điện áp tương tự từ cảm
biến nhiệt thành tín hiệu số để gửi đến vi điều khiển. Để lựa chọn sử dụng
các vi mạch A/D người ta thường căn cứ vào 2 thông số chính là :
- Độ phân giải hay số bít đầu ra, số bít ra của ADC quyết định đến độ chính
xác của pháp biến đổi, số bít càng lớn càng lớn sai số lượng tử càng nhỏ.
- Tốc độ biến đổi được tính bằng số mẫu hoàn thành trong một
giây( samples/s), nó tỉ lệ nghịch với thời gian hoàn thiện việc biến đỏi một
mẫu.
- Trong ứng dụng điều khiển nhiệt độ, nhiệt độ là một đại lượng biến đổi
chậm nên ta chọn vi mạch biến đổi A/D thông dụng trên thị trường là
ADC0804.
Bài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
12
Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử Lớp Điện Tử 3-K3
ADC0804 là bộ A/d 8 bít đủ đáp ứng được yêu cầu về độ chính xác đặt ra.
ADC0804 có các đặc điểm sau:
- Đầu ra được đếm bằng các cổng 3 trạng thái nên có thể ghép trực tiếp vào
bus dữ liệu mà không cần mạch đệ dữ kiệu ở ben ngoài ;
- Thời gian biến đổi câ 100 micro/mẫu;
- Không cần hiệu hcinhr điểm 0;
- Khi điện áp nguồn nuôi là 5V thì tín hiệu ®µu vào cực đại là 5V;
- 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
ADC đã biến đổi song ; để không phải hỏi vòng thì tín hiệu này được đưa tới
một đầu vào ngắt ngoài của vi điều khiển , mỗi khi ADC biến đổi xong sẽ
gây ra một ngắt vi điều khiển , vi điều khiển sẽ chuyển sang chương trình
con phục vụ ngắt để đọc số liệu từ ADC.
+ Tín hiệu đọc số liệu RD_ADC, tích cực thấp , sau khi nhận biết ADC đã
biến đổi xong bởi mức logics 0 ở ADC_OK, vi điều khiển thực hiện việc lấy
số liệu bằng cach chuyển tín hiệu RD_ADC cuống mức thấp, tín hiệu này
được nối với chân RD của ADC, lúc này các cổng đem 3 trạng thái ở đầu ra
Dout của ADC0804 mở , kết quả biến đổi được đưa kên bus dữ liệu .
Bài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
14
Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử Lớp Điện Tử 3-K3
3.2 Khối vi điều khiển:
IC AT89S52:
So đồ chân :
Cấu tạo IC có:
• 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ài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
15
Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử Lớp Điện Tử 3-K3
• Bộ nhớ (Memory):
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
P3.2 INT0 Ngắt ngoài 0
P3.3 INT1 Ngắt ngoài 1
Bài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
16
Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử Lớp Điện Tử 3-K3
P3.4 T0 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 (pin 29): là chân điều khiển đọc chương trình ở
bộ nhớ ngoài.
Chân ALE (pin 30): 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 (pin 31): 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: pin 9): 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 (pin 18, 19): 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.
Cổng Vào Ra Nối Tiếp(Serial Port)
Tổng quan:
8051 có 1 cổng vào ra nối tiếp(UART)
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
khi chương trình phục vụ ngắt thực hiện.User phải xóa bằng lệnh.
RI:cờ báo ngắt nhận,khi =1 báo hiệu rằng 1 khung dữ liệu (8 hay 9-
bit tùy chế độ) đã được nhận về đầy đủ,Cờ này không tự động xóa về 0
khi chương trình phục vụ ngắt thực hiện.User phải xóa bằng lệnh
Với cổng nối tiếp các bit dữ liệu được truyền lần lượt trên cùng 1
đường tín hiệu thay vì truyền cùng một lúc trên các đường tín hiệu khác
nhau.Thông thường thì việc truyền dữ liệu bằng cổng nối tiếp phải tuân
theo một cơ chế, một giao thức hay một nguyen tắc nhất định .Có thể kể
ra một số giao thức như SPI,I2C,SCI
Cổng nối tiếp có 2 kiểu truyền dữ liệu chính:
Truyền đồng bộ(synchronous):thiết bị truyền và nhận đều dung
chung một xung nhịp (clock)
Bài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
18
Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử Lớp Điện Tử 3-K3
Truyền dị bộ(asynchronous):thiết bị truyền và thiết bị nhận sử dụng
hai nguồn xung nhịp riêng .Tuy nhiên hai nguồn xung này không đươc
khác nhau quá nhiều
Xung nhịp là yếu tố không thể thiếu trong truyền dữ liệu nối tiếp và
nó có vai trò xác định giá trị của bit dữ liệu
Cổng nối tiếp có thể có một trong các tính năng sau:
Đơn công:thiết bị chỉ có thể hoặc truyền hoặc nhận dữ liệu
Bán song công:thiết bị có thể truyền và nhận dữ liệu nhưng tại một
thời điểm có thể làm 1 trong 2 việc đó
Song công:thiết bị có thể truyền và nhận dữ liệu đồng thời
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>
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).
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.
Vi điều khiển là nơi thực hiện thuật toán điều khiển , bao gồm các chức năng
:mã hóa, hợp thành, giã . Ngoài ra để có thể giao tiếp được với người sử
dụng thì ta cần phải bổ sung:
-HÍ thống phím bấm chức năng để người sử dụng sã thể ®Æ nhiệt độ trực
tiªp
-Cổng giao tiep với PC, để từ PC ngươi sử dụng có thể giám sát hoat dộng
của hệ thống .
Bài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
20
Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử Lớp Điện Tử 3-K3
Sơ đồ khối của vi điều khiển
Trong khối điều khiển chúng tôi sử dụng các linh kiện sau :
+Vi điều khiển 89S52.
+Vi mạch MAX 232 làm nhiệm vụ ghép nối vi điều khiển với PC qua cáng
RS232.
Bài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
21
Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử Lớp Điện Tử 3-K3
3.3Truyền thông với máy tính qua cổng nối tiếp:
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.
Bài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
23
Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử Lớp Điện Tử 3-K3
Cách mở chương trình nay như sau:
Từ menu chọn Start / programs/ Acessoties /Communication / Hyper
Terminal.
Sau đó nhập kết nối, chọn cổng nối tiếp và thiết lập các tông số cho cổng nối
tiếp. Lưu ý rằng các thông số này phải gèng các thông số đã thiết lập chho
cổng nối tiªp của vi điều khiển.
Bài Tập Lớn Môn Vi Điều Khiển Nhóm 3 Thực Hiện
24
Trường Đại học CNHN
Khoa Công Nghệ Kỹ Thuật Điện Tử 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
25