Đồ án Đo và điều khiển tốc độ động cơ dùng 8051

Đồ án I:đo lường điều khiển tốc độ động cơ  
2012  
ĐỒ ÁN VI XỬ LÝ  
ĐO ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ DÙNG 8051”  
GVHD:Đào Đức Thịnh  
Sinh viên thực hiện: Trương Văn Trọng  
Phan Công Toán  
Li nói đầu  
Trong những năm gần đây với sự phát triển mạnh mẽ của khoa học kĩ  
thuật.Đặc biệt của ngành công nghiệp chế tạo các linh kiện bán dẫn,các các vi  
mạch tích hợp IC một hướng phát triển mới của Vi xử đã hình thành đó là Vi  
Điều Khiển.Với những ưu điểm to lớn về tốc độ,độ chính xác cao,khả năng sử lý  
các bìa toán,tính linh hoạt nên các Vi Điều khiển đã được ứng dụng trên hầu hết  
các lĩnh vực trong cuộc sống. Bằng cách áp dụng Vi Điều Khiển trong sản xuất và  
xử lý,Vi Điều Khiển đã thực sự thể hiện được các ưu điểm của mình so với các  
thiết bị thông thường khác.  
những ứng dụng to lớn của Vi điều khiển,do đó các trường Đại  
Học,Cao Đẳng,TCCN…. Về khoa học – công nghệ .Môn vi xử đã trở thành một  
môn học không thể thiếu được trong trương trình đào tạo.vi điều khiển 8051 sẽ  
cung cấp cho sinh viên những khái nhiện cơ bản cách thức hoạt động của Vi xử lý  
qua đó sinh viên có duy ,kiến thức nền tảng,để thể giải quyết các bài toán ứng  
dụng thực tế trong cuộc sống,cũng như cơ sở để học tập nghiên cứu các dòng Vi  
xử lý khác như :PIC,AVR….  
Qua đồ án này chúng em có cái nhìn thực tế hơn,sâu sắc hơn về vi điều  
khiển.chúng em cũng đã hiểu thêm nhiều về cách thức xử một bài toán thực tế  
phức tạp.  
Với sự hường đẫn tận tình của thầy:Đào Đức Thịnh chúng em hi vọng chúng  
em có thể hoàn thành tốt đồ án này.  
Chúng em xin chân thành cảm ơn thầy!  
GVHD:Đào Đức Thịnh  
1
Đồ án I:đo lường điều khiển tốc độ động cơ  
2012  
CHƯƠNG I.GIỚI THIỆU CHUNG  
I.1.khảo sát hệ thống.  
Hiện nay trong rất nhiều lĩnh vực đời sống sản xuất các loại động cơ điện  
ngày càng được ứng dụng rộng rãi hơn so với những loại động cơ sử dụng năng  
lượng như xăng, dầu, khí đốt…..Những loại động cơ điện này có những ưu điểm  
hơn hẳn về hiệu suất sử dụng, cấu tạo nhỏ gọn, giá thành hợp lý, dễ dàng điều  
chỉnh tốc độ, đảo chiều, cưỡng bức các quá trình khởi động, quá trình hãm dừng dễ  
dàng.Trong thực tế rất nhiều loại động cơ điện được sử dụng bao gồm:  
+Động cơ điện cơ điện 3 pha được chia làm các loại cơ bản là: Động cơ điện 3  
pha dây quấn và 3 pha roto lồng sóc, động cơ điện 1 pha.  
+Động cơ điện 1 chiều bao gồm các loại như: kích từ song song và loại kích từ  
nối tiếp.  
Thông thường với những động cơ thường xuyên đòi hỏi đảo chiều,tăng,  
giảm, hãm dừng thì thương sử dụng động cơ điện 1 chiều chủ yếu, sẽ dễ dàng  
điều khiển hơn so với đông cơ xoay chiều. Để tiến hành điều khiển động cơ 1  
chiều, rất nhiều biện pháp được ứng dụng như là: thay đổi điện áp phần ứng,  
thay đổi từ thông, hoặc sử dụng điện trở phụ mắc thêm vào phần ứng của động cơ.  
Để làm được điều đó, chúng ta cần đi xây dựng những hệ thống điều khiển, rất  
nhiều hệ thống được ứng dụng như là: các hệ thống điều khiển PID, điều khiển  
động cơ bằng Vi điều khiển, hay có thể điều khiển bằng cách sử dụng các loại khí  
cụ điện. Trong đề tài này chúng em sẽ tiến hành nghiên cứu các quá trình điều  
khiểu động cơ bằng phương pháp sử dụng Vi điều khiển họ 8051.  
I.2.Nhiệm vụ và yêu cầu kĩ thuật.  
* Thiết kế một mạch điện điều khiển động cơ DC 12 v.với các yêu cầu quoay  
thuận ,quoay nghịch, tăng tốc,giảm tốc,vad đảo chiều quoay động cơ.  
* Thực hiển thao tác điều chỉnh các chức năng trên thông qua các nút ấn bao gồm  
:nút khởi động động cơ,nút điều khiển quay thuận, nút điều khiển quay ngược, nút  
tăng tốc, nút giảm tốc, và nút dừng động cơ, thông qua các nút ấn này cho phép ta  
thể điều chỉnh động cơ làm việc ở 1 tốc độ như mong muốn.  
GVHD:Đào Đức Thịnh  
2
Đồ án I:đo lường điều khiển tốc độ động cơ  
2012  
* Hệ thống cho phép hiện thị tốc độ làm việc thể sử dụng LCD hoặc LED 7  
thanh, đồng thời có các led đơn thông báo trạng thái quay thuận, quay ngược, dừng  
còn giá trị tốc độ động cơ được hiển thị chi tiết là bao nhiêu trên LED 7 đoạn.  
* Thông qua đề tài, làm quen với cách thức, nguyên lý điều khiển đối tượng động  
1 chiều.  
* Tìm hiểu thực tế các linh kiện, các loại IC, hoạt động của các loại cảm biến….  
* Viết chương trình cho vi điều khiển thực hiện thành công theo yêu cầu đề ra.  
* Tìm hiểu các hướng phát triển của đề tài, nâng cao chất lượng của hệ thống.  
* chi phí cho hệ thống không quá cao,phù hợp với yêu cầu kinh tế.  
Mạch sử dụng các linh kiện sau:  
- Vi điều khiển :AT89c52.  
- Bộ cảm biến quang học:encoder (đã được gắn trực tiếp trên động cơ DC)  
- Động cơ điện một chiều: 12v  
- Led 7seg.  
- Nút nhấn.  
- Led đơn.  
- LM7805.  
- Mạch cầu H: L298.  
- Ngoài ra còn các phần tử điện khác như:tụ hóa,tụ phân cực,điện trở…  
GVHD:Đào Đức Thịnh  
3
Đồ án I:đo lường điều khiển tốc độ động cơ  
2012  
CHƯƠNG II:SƠ ĐỒ KHỐI  
II.1.sơ đồ khối của mạch  
NGUỒN 12 V  
Phím ấn  
HIỂN THỊ  
LED 7 seg  
ĐIỀU  
KHIỂN  
ĐỘNG CƠ  
VI XỬ LÝ  
8051  
ĐỘNG CƠ  
DC-12V  
L293  
ỔN ÁP  
NGUỒN 5V  
Xung điện  
ENCODER  
Sơ đồ khối của mạch.  
II.2.nhiệm vụ - chức năng của từng khối.  
Động cơ:động cơ điện được sử dụng trong mạch động cơ điện một chiều có  
điện áp đặt vào tối đa 24V.Trên trục động cơ gắn một đĩa tròn có khoét các  
lỗ tròn để cho ánh sáng từ led phát quang thể đi qua tới con mắt thu quang  
để thể đo được tốc độ động cơ.ở đây chúng ta dùng động cơ DC 12V.  
Encoder :dùng để đo số vòng quay của động cơ và phát hiện chiều quoay của  
động cơ.encoder sẽ đo tốc độ động cơ thông qua sự liên lạc, mất liên lạc của  
led phát quang bộ phận thu quang rồi chuyển thành các xung điện áp vuông  
gửi tới chân ngắt của Vi Xử Lý.  
GVHD:Đào Đức Thịnh  
4
Đồ án I:đo lường điều khiển tốc độ động cơ  
2012  
Vi Xử Lý:nhận các tín hiệu từ encoder thông qua cơ chế ngắt từ đó căn cứ vào  
số xung do đó sẽ tính toán xử để:  
- Đưa ra tốc độ động cơ hiển thị lên led 7 thanh.  
- Điều chế độ rộng xung PWM để điều khiển tốc độ động cơ cho phù hợp với  
yêu cầu.  
Khối vi xử lý là trái tim là khối óc của hệ thống phần quan trọng nhất điều  
khiển mọi hoạt động của mạch.  
Khối điều khiển:điều khiển hướng của động cơ điện một chiều.trong bài toán  
này chúng em xử dụng mạch cầu H để điều khiển hướng của động cơ.  
Khối hiển thị:nhận số liệu về tốc độ động cơ từ vi xử rồi hiển thlên các led 7  
thanh theo sự điều khiển của Vi điều khiển.  
Khối nguồn ổn áp 5V:có chức năng cung cấp điện áp ổn định cho các khối  
trong mạch.Cụ thể trong mạch ta sử dụng hai nguồn riêng biệt:  
- Nguồn 5V DC dùng để nuôi các IC trong mạch hoạt động tạo ra các tín hiệu  
xuất ra chuẩn TTL,tránh các trường hợp nhiễu điện áp không đúng với điện  
áp cấp cho IC => tránh IC không hoạt động,hỏng hóc,chập cháy.  
- Nguồn 12V DC dùng để cung cấp cho động cơ một chiều DC (trong đồ án  
này sử dụng động cơ một chiều DC 12V.)  
GVHD:Đào Đức Thịnh  
5
Đồ án I:đo lường điều khiển tốc độ động cơ  
2012  
CHƯƠNG III:CƠ SỞ THUYẾT GIẢI QUYẾT BÀI TOÁN  
III.1. Vi Điều Khiển 8051.  
III.1.1. Kiến trúc phần cứng AT89C52  
AT89C51 là phiên bản 8051 có ROM trên chip là Flash. Phiên bản này thích  
hợp cho ứng dụng nhanh vì bộ nhớ Flash có thể xoá trong vài giây. AT89C51 có  
thể được lập trình qua công COM của máy tính IBM PC.  
Các thành phần bên trong nó gồm có:  
- 128 byte RAM  
- 8Kbyte ROM  
- 32 đường xuất nhập  
- 3 bộ định thời đếm 16 bit  
- 8 nguyên nhân ngắt  
- một port nối tiếp song công  
- một mạch dao động tạo xung clock trên chi  
a. Cấu hình các chân của 89ATC52:  
U1  
39  
38  
37  
36  
35  
34  
33  
32  
21  
22  
23  
24  
25  
26  
27  
28  
P0.0/AD0  
P0.1/AD1  
P2.0/A8  
P2.1/A9  
P0.2/AD2 P2.2/A10  
P0.3/AD3 P2.3/A11  
P0.4/AD4 P2.4/A12  
P0.5/AD5 P2.5/A13  
P0.6/AD6 P2.6/A14  
P0.7/AD7 P2.7/A15  
1
2
3
4
5
6
7
8
10  
11  
12  
13  
14  
15  
16  
17  
P1.0/T2  
P1.1/T2-EX P3.1/TXD  
P3.0/RXD  
P1.2  
P1.3  
P1.4  
P1.5  
P1.6  
P1.7  
P3.2/INT0  
P3.3/INT1  
P3.4/T0  
P3.5/T1  
P3.6/WR  
P3.7/RD  
19  
18  
30  
29  
XTAL1  
XTAL2  
ALE/PROG  
PSEN  
31  
9
EA/VPP  
RST  
AT89C52  
b. Mô tả các chân  
GVHD:Đào Đức Thịnh  
6
Đồ án I:đo lường điều khiển tốc độ động cơ  
2012  
- Vcc (40):chân cấp điện (5V)  
- GND (20):chân đất (0V)  
* Cổng Port 1 được chỉ định cổng I/O từ chân 1 đến 8. Chúng được sử dụng  
cho mục đích duy nhất là giao tiếp với thiết bị khi cần thiết. Ngoài ra các chân  
P1.0, P1.1 là 2 chân liên quan đến hoạt động ngắt của bộ định thời 2.  
Trong những mô hình thiết kế không dùng bộ nhớ ngoài, Port 0 là cổng I/O.  
Còn đối với các hệ thống lớn hơn có yêu cầu một số lượng đáng kể bộ nhớ ngoài  
thì Port 0 trở thành các đường truyền dữ liệu và 8 bit thấp của bus địa chỉ. Ngoài ra  
chân P1.0(T2) là ngõ vào của bộ đếm thời gian 2. P1.1(T2EX) là chân  
capture/reload của bộ đếm thời gian 2.  
* Cổng Port 2 là cổng I/O hoặc đường tryển 8 bit cao của bus địa chỉ cho  
những mô hình thiết kế bộ nhớ chương trình ở nằm ngoài học hơn 256 byte  
bộ nhỡ dữ liệu ngoài .  
* Cổng Port 3 ngoài mục đích chung là cổng I/O, những chân này còn kiêm luôn  
nhiều chức năng khác liên quan đến đặc tính đăc biệt của vi điều khiển.  
Bit  
Tên  
Địa chỉ  
Chức năng thứ hai  
bit  
P3.0  
P3.1  
P3.2  
P3.3  
P3.4  
P3.5  
P3.6  
RXD  
TXD  
‘INTO  
‘INT1  
T0  
B0H  
B1H  
B2H  
B3H  
B4H  
B5H  
B6H  
Nhận dữ liệu cho cổng nối tiếp  
Truyền dữ liệu cho cổng nối tiếp  
Ngắt 0 bên ngoài  
Ngắt 1 bên ngoài  
Ngõ vào bộ đếm thời gian 0  
Ngõ vào bộ đếm thời gian 1  
T1  
‘WR  
Tín hiệu điều khiển ghi bộ nhớ dữ liệu  
ngoài  
P3.7  
‘RD  
B7H  
Tín hiệu điều khiển đọc bộ nhớ dữ liệu  
ngoài  
GVHD:Đào Đức Thịnh  
7
Đồ án I:đo lường điều khiển tốc độ động cơ  
2012  
Những chức năng thứ hai của chân cổng Port 3  
- /PSEN là một tín hiệu điều khiển cho phép bộ nhớ chương trình bên ngoài  
hoạt động. thường được kết nối đến chân /OE (Output Enable) của  
/EPROM để đọc các byte chương trình. Xung tín hiệu /PSEN luôn ở mức  
thấp trong suốt phạm vi quá trình của một lệnh. Còn khi thi hành chương  
trình từ ROM ngay bên trong chip, chân /PSEN luôn ở mức cao.  
- Tín hiệu ALE có chức năng đặc biệt tách byte địa chỉ thấp và bus dữ liệu  
khi cổng P0 được sử dụng cở chế độ tuần tự hay còn gọi chế độ dồn kênh,  
nghĩa sử dụng cùng một đường truyền cho các bit dữ liệu và byte thấp của  
bus địa chỉ  
- Khi chân /EA ở mức cao, vi điều khiển được thực hiện các chương trình  
lưu trữ ỏ vùng nhớ thấp hơn 8Kbyte ROM bên trong chip. Còn /EA ở mức  
thấp chỉ những chương trình lưu ở bộ nhớ ngoài mới được thực hiện  
- AT89S52có một bộ dao động nội bên trong chip hoạt động theo tần số của  
một dao động thạch anh nằm bên ngoài. Tần số thông dụng của thạch anh là  
11,0592 MHZ.  
- RST (9):ngõ vào reset ở mức cao trên chân này trong 2 chu kì máy.  
RST  
Mạch reset tác động bằng tay và sẽ tự động reset lại máy.  
- XTAL1 và XTAL2:là hai ngõ vào và ra của bộ khuếch đại đảo của mạch  
giao động,được cấu hình dùng để dùng như một bgiao động trên chíp.  
GVHD:Đào Đức Thịnh  
8
Đồ án I:đo lường điều khiển tốc độ động cơ  
2012  
Không có yêu cầu nào về chu kì nghiện vụ của tín hiệu xung Clock bên  
ngoài do tín hiệu này phải qua mạch flip-flop chia hai trước khi tới mạch tạo xung  
bên trong.Tuy nhiên các chi tiết kĩ thuật về thời gian mức thấp thời gian mức  
cao,điện áp cực đại ,điện áp cực tiểu cần được xem xét.  
c.tổ chức bộ nhớ  
Không gian bộ nhớ của bộ vi điều khiển được phân chia thành 2 phần: bộ nhớ  
dữ liệu bộ nhớ chương trình. Hầu hết các IC MCS đều bộ nhớ chương trình  
nằm bên trong chip, tuy nhiên cũng thể mở rộng dung lượng lên đến 64K bộ nhớ  
chương trình và 64K dữ liệu bằng cách sử dụng một số bộ nhớ ngoài.  
Bên trong chip vi điều khiển AT89C51 có 128 byte bộ nhớ dữ liệu. Không  
gian bộ nhớ bên trong được chia thành các bank thanh ghi, RAM địa chỉ theo bit,  
RAM dùng chung và các thanh ghi chức năng đặc biệt.  
7F  
FF  
F0  
F F F F F F F F B  
7 6 5 4 3 2 1 0  
E0 E E E E E E E E ACC  
7 6 5 4 3 2 1 0  
RAM dùng chung  
D0 D D D D D D D D PSW  
7 6 5 4 3 2 1 0  
CD  
CC  
TH2  
TL2  
GVHD:Đào Đức Thịnh  
9
Đồ án I:đo lường điều khiển tốc độ động cơ  
2012  
CB  
RCA  
P2L  
CA  
C8  
RCA  
P2H  
30  
T2C  
ON  
B8  
-
-
-
B B B B B IP  
C B A 9 8  
2F 7 7 7 7 7 7 7 7 B0 B B B B B B B B P3  
F E D C B A 9 8 7 6 5 4 3 2 1 0  
2E 7 7 7 7 7 7 7 7 A8 A -  
7 6 5 4 3 2 1 0  
-
A A A A A IE  
C B A 9 8  
F
2
D
6 6 6 6 6 6 6 6 A0 A A A A A A A A P2  
F E D C B A 9 8 7 6 5 4 3 2 1 0  
2C 6 6 6 6 6 6 6 6 99  
SBU  
F
7 6 5 4 3 2 1 0  
2B 5 5 5 5 5 5 5 5 98  
9 9 9 9 9 9 9 9 SCO  
F E D C B A 9 8 N  
F E D C B A 9 8  
2
A
5 5 5 5 5 5 5 5 90  
7 6 5 4 3 2 1 0  
9 9 9 9 9 9 9 9 P1  
7 6 5 4 3 2 1 0  
29 4 4 4 4 4 4 4 4 8D  
TH1  
TH0  
TL1  
TL0  
F E D C B A 9 8  
28 4 4 4 4 4 4 4 4 8C  
7 6 5 4 3 2 1 0  
27 3 3 3 3 3 3 3 3 8B  
F E D C B A 9 8  
26 3 3 3 3 3 3 3 3 8A  
7 6 5 4 3 2 1 0  
GVHD:Đào Đức Thịnh  
10  
Đồ án I:đo lường điều khiển tốc độ động cơ  
2012  
25 2 2 2 2 2 2 2 2  
F E D C B A 9 8  
24 2 2 2 2 2 2 2 2 89  
TMO  
D
7 6 5 4 3 2 1 0  
23 1 1 1 1 1 1 1 1  
F E D C B A 9 8  
22 1 1 1 1 1 1 1 1 88  
8 8 8 8 8 8 8 8 TCO  
F E D C B A 9 8 N  
7 6 5 4 3 2 1 0  
21 0 0 0 0 0 0 0 0  
PCO  
N
F E D C B A 9 8  
20 0 0 0 0 0 0 0 0  
7 6 5 4 3 2 1 0  
1F  
Bank Register  
83  
DPH  
DPL  
SP  
82  
81  
00  
80  
8 8 8 8 8 8 8 8 P0  
7 6 5 4 3 2 1 0  
Sơ đồ chi tiết không gian bộ nhớ dữ liệu bên trong vi điều khiển  
d.các thanh ghi đặc biệt.  
AT89C52 có các thanh ghi R0 đến R7 và 21 thanh ghi chức năng đặc biệt  
SFR (Special Function Register) nằm ở phần trên của RAM từ địa chỉ 80H đến  
FFH.  
GVHD:Đào Đức Thịnh  
11  
Đồ án I:đo lường điều khiển tốc độ động cơ  
2012  
-
Thanh ghi trạng thái PSW (program stastus word):  
Bit  
hiệu  
CY  
Địa chỉ  
D7H  
D6H  
D5H  
D4H  
D3H  
tả bit  
PSW.7  
PSW.6  
PSW.5  
PSW.4  
PSW.3  
Cờ nhớ  
AC  
Cờ nhớ phụ  
FO  
Cờ 0  
RS1  
RS0  
Chọn dãy thanh ghi(bit 1)  
Chọn dãy thanh ghi(bit 0)  
00=bank1: địa chỉ từ 00h đến 07h  
01=bank2: địa chỉ từ 08h đến 0Fh  
10=bank3: địa chỉ từ 10h đến 17h  
01=bank2: địa chỉ từ 18h đến 1Fh  
Cờ tràn  
PSW.2  
PSW.1  
PSW.0  
OV  
-
D2H  
D1H  
D0H  
Dự trữ  
P
Cờ kiểm tra chẵn lẻ  
- Thanh ghi B: thanh ghi luôn được sử dụng kèm theo thanh ghi A để thực  
hiện các phép toán nhân và chia. Thanh ghi B xem như là thanh ghi đệm dùng  
chung. Nó có địa chỉ từ F0 đến F7.  
- Con trở ngăn xếp: là một thanh ghi 8 bit, nó chứa địa chỉ của phần dữ liệu  
đang hiện diện tại đỉnh ngăn xếp. Ngăn xếp hoạt động theo phương thức LIFO.  
Hoạt động đẩy vào ngăn xếp làm tăng SP lên trước khi ghi dữ liệu vào. Hoạt động  
lấy ra khỏi ngăn xếp sẽ đọc dữ liệu ra rồI giảm SP.  
- Con trỏ dữ liệu DPTR(Data Pointer): DPTR được sử dụng để truy cập vào  
bộ nhớ chương trình và bộ nhớ dữ liệu ngoài, đó là thanh ghi 16 bot có 8 bit thấp ở  
địa chỉ 82H (DPL) và 8 bit cao ở địa chỉ 83h (DPL)  
GVHD:Đào Đức Thịnh  
12  
Đồ án I:đo lường điều khiển tốc độ động cơ  
2012  
- Các thanh ghi cổng: Các cổng I/O của VDL bao gồm P0 tại địa chỉ 80H,  
P1 ở địa chỉ 90H, P2 tại địa chỉ A0H, P3 tạI địa chỉ B0H. Tất cả các cổng đều có  
địa chỉ bit nên cung cấp khả năng giao tiếp với bên ngoài rất mạnh  
- Các thanh ghi bộ đếm thời gian: AT89C52 có 3 bộ đếm thời gian 16 bit  
để định các khoảng thời gian hay đếm các sự kiện. Timer0 có địa chỉ 8AH (TL0:  
bit thấp) và 8CH(TH0: byte cao). Timer1 có địa chỉ 8BH (TL1: bit thấp) và  
8DH(TH1: byte cao). Timer2 có địa chỉ CCH (TL2: bit thấp) và 8CD(TH2: byte  
cao). Hoạt động của các bộ đếm thời gian được thiết lập bởi các thanh ghi  
TMOD,TCON, T2CON. Ngoài ra các thanh ghi RCAP2L, RCAP2H được sử dụng  
trong chế độ tự nạp của 16 bitbộ định thời 2.  
- Các thanh ghi cổng tuần tự: IC AT89C52 chứa một cổng nối tiếp để kết  
nối với các thiết bị nối tiếp như moderm hoặc để giao tiếp với các IC khác sử dụng  
giao tiếp nối tiếp. Bộ đệm dữ liệu nối tiếp SBUF lưu giữ cả dữ liệu truyền đi dữ  
liệu nhận được.  
- Các thanh ghi ngắt: AT89C52 có 6 nguyên nhân ngắt và 2 ngắt ưu tiên.  
Các ngắt bị cấm sau khi hệ thống khởi động lại để được bật bằng cách ghi vào  
thanh ghi cho phep ngắt IE. Mức ưu tiên được thiết lập thông qua thanh ghi ưu tiên  
IP.  
- Thanh ghi điều khiển năng lượng PCON (Power Control Register): chứa  
nhiều bit điều khiển đảm bảo các chức năng khác nhau.  
III.1.2.hoạt động của timer.  
a.các thanh ghi của bộ định thời.  
Để truy cập bộ định thời ta sử dụng 11 thanh ghi FSR:  
SFR  
Mục đích  
Địa chỉ  
88H  
Định địa chbit  
Có  
TCON  
TMOD  
TL0  
Điều khiển  
Chọn chế độ  
89H  
Không  
Byte thấp của bộ định thời 0  
Byte thấp của bộ đinh thời 1  
Byte cao của bộ đinh thời 0  
8AH  
8BH  
8CH  
Không  
TL1  
Không  
TH0  
Không  
GVHD:Đào Đức Thịnh  
13  
Đồ án I:đo lường điều khiển tốc độ động cơ  
2012  
TH1  
Byte cao của bộ đinh thời 1  
8DH  
C8H  
Không  
Có  
T2CON Điều khiển bộ định thời 2  
RCAP2L Nhận byte thấp của bộ định thời 2 CAH  
Không  
Không  
RCAP2 Nhận byte cao của bộ định thời 2 CBH  
H
TL2  
TH2  
Byte thấp của bộ đinh thời 2  
Byte cao của bộ định thời 2  
CCH  
CDH  
Không  
Không  
- Thanh ghi TMOD (Timer Moder Register):  
Bit Tên Timer Chức năng  
7
GATE 1  
Khi bit Gate=1 và ‘INT1 cao thì Timer 1 mới hoạt  
động  
6
5
4
3
2
1
0
C/’T  
M1  
1
1
1
Bit chọn counter/timer (1/0)  
Bit mode 1  
M0  
Bit mode 0  
GATE 0  
Bit GATE của timer 0  
Bit chọn counter/timer (1/0) Timer 0  
Bit mode 1 của Timer 0  
Bit mode 0 của Timer 0  
C/’T  
M1  
0
0
0
M0  
Các bít địa chỉ của thanh ghi TMOD:  
Thanh ghi TMOD được chia thành 2 nhóm 4 bit dùng để truy cập các chế độ  
hoạt động của Timer0 và Timer1.  
Các chế độ hoạt động của bộ định thời:  
GVHD:Đào Đức Thịnh  
14  
Đồ án I:đo lường điều khiển tốc độ động cơ  
2012  
+ M1=0, M0=0: Mode 0 (Chế độ định thời 13-bit)  
+ M1=0, M0=1: Mode 1 (Chế độ định thời 16 bit)  
+ M1=1, M0=0: Mode 2 (Chế độ tự động nạp 8 bit)  
+ M1=1, M0=1: Mode 3 (Chế đô định thời chia xẻ).  
- Thanh ghi điều khiển bộ định thời TCON (Timer control register):  
Bit  
hiệu Địa chỉ bit  
tả  
Cờ tràn bộ định thời  
TCON.7  
TCON.6  
TCON.5  
TCON.4  
TCON.3  
TCON.2  
TCON.1  
TCON.0  
TF1  
TR1  
TF0  
TR0  
IE1  
8FH  
8EH  
8DH  
8CH  
8BH  
8AH  
89H  
88H  
Bit điều khiển hoạt động của bộ định thời 1  
Cờ tràn bộ định thời 0  
Bit điều khiển hoạt động của bộ định thời 1  
Cờ ngắt bên ngoài 1  
IT1  
Cờ ngắt bên ngoài 1  
IE0  
Cờ ngắt bên ngoài 0  
IT0  
Cờ ngắt bên ngoài 0  
c.các chế độ của timer và cờ tràn  
Chế độ định thời 13 bit (mode 0):  
Mode 0 ít được sử dụng trong các hệ thống mới. Byte cao của bộ định thời  
THx được kết hợp vớI 5 bit có trọng số nhỏ nhất vủa byte thấp của bộ định thời  
TLx để tạo nên bộ định thời 13 bit. #bit còn lại của TLx không được sử dụng.  
TLx (5bit)  
THx (8bit)  
Chế độ định thời 16 bit (mode1):  
Trong Mode 1, tín hiệu đồng hồ được đưa vào cả 2 byte cao và thấp của bộ  
định thời (TLx,THx). Khi nhận xung đồng hồ, bộ định thời bắt đầu đếm lên từ  
GVHD:Đào Đức Thịnh  
15  
Đồ án I:đo lường điều khiển tốc độ động cơ  
2012  
0000H. Hiện tượng tràn xảy ra khi có chuyển tiếp từ FFFFH về 0000H và làm bật  
cờ tràn.  
Timer Clock  
TLx(8bit)  
THx(8bit)  
TFx(cờ tràn)  
Chế độ định thời 8 bít tự động nạp lại (mode 2):  
Trong Mode 2, thanh ghi định thời TLx hoạt động như bộ dịnh thời 8  
bit trong khi byte cao của bộ dịnh thời lưu giá trị nạp lại. Khi quá trình đếm ở  
TLx bị tràn từ FFH về 00H thì không những ctràn bật lên mà giá trị tổng THx  
được nạp vào TLx, và tiếp tục quá trình đếm từ giá trị này tới khi xảy ra sự  
chuyển đổi tiếp theo từ FFH về 00H.  
Timer Clock  
TLx(8bit)  
TFx(cờ tràn)  
THx(8bit)  
Chế độ định thời phân chia (mode 3):  
Timer 0 trong mode 3 được chia thành 2 bộ định thời 8b bit. TL0 và TH0  
hoạt động như 2 bộ định thời riêng rẽ sử dụng các cờ tràn tương ứng là  
TF0,TF1. Timer 1 trong mode 3 ngừng làm việc nhưng thể hoạt động bằng  
cách chuyển nó sang một trong mode khác. Điều hạn chế duy nhất cờ tràn  
của Timer mode không bị ảnh hưởng khi xảy ra tràn Timer1, bởi vì nó được nối  
đến TH0  
Timer Clock  
TL1(8bit)  
TH1(8bit)  
Timer Clock  
1/12 FOSC  
TL0(8bit)  
TF0(cờ tràn)  
TF1(cờ tràn)  
TH0(8bit)  
GVHD:Đào Đức Thịnh  
16  
Đồ án I:đo lường điều khiển tốc độ động cơ  
2012  
III.1.4.hệ thống ngắt.  
a.giới thiệu chung.  
Ngắt đóng vai trò trong việc thiết kế thực hiện các ứng dụng của vi điều  
khiển. Chúng cho phép hệ thống đáp ứng một cách không đồng bộ đến một sự kiện  
giải quyết sự kiện đó khi chương trình khác đó khi chương trình khác đang  
chạy.  
Chương trình giải quyết yêu cầu của một ngắt gọi thủ tục phục vụ ngắt ISR.  
ISR dùng để đáp ứng lại một ngắt thường thực hiện các hoạt động vào ra đối  
với một thiết bị vào ra nối với vi điều khiển. Khi xảy ra một ngắt chương trình  
chính tạm dừng công việc đang thi hành và rẽ nhánh sang ISR, tiếp theo ISR hoạt  
động để đáp ứng yêu cầu của ngắt và nó sẽ kết thúc bằng lệnh quay trở về, chương  
trình chính sẽ hoạt đông tiếp tạu ngay sau điểm rẽ nhánh. Chương trình chính thực  
hiện ở mức cơ bản còn ISR thực hiện ở mức ngắt.  
Chương trình chính  
ISR  
Tới chương trình phục vụ ngắt  
rở về chương trình chính nơi xảy ra ngắt  
Cơ chế thực hiện ngắt  
b.tổ chức ngắt.  
AT89C51 có tất cả 6 nguyên nhân ngắt: hai ngắt do bên ngoài, ba ngắt do bộ  
định thời, một ngắt do port nối tiếp. Tất cả các ngắt đều bị cấm sau khi hệ thống  
khởi động (reset) sau đó chúng được cho phép bằng phần mềm.  
c.độ ưu tiên ngắt.  
Mỗi một nguồn ngắt thể được lập trình để đạt đươc một trong 2 mức ưu  
tiên thông qua thanh ghi chức năng đặc biệt địa chỉ bit IP tạI 0B8H. Thanh ghi  
GVHD:Đào Đức Thịnh  
17  
Đồ án I:đo lường điều khiển tốc độ động cơ  
2012  
IP bị xoá sau khi hệ thống khởi động để đặt các ngắt ở mức ưu tiên thấp hơn so với  
mặc định. Trong AT89C51 tồn tạI 2 mức ưu tiên. Khi một ưu ngắt mức ưu tiên  
cao xuất hiện trong một ISR có mức ưu tiên thấp đang thi hành thì ISR đó sẽ bị  
ngừng lại, ISR có mức ưu tiên cao hơn sẽ được thực hiện. Nếu 2 ngắt mức ưu  
tiên khác nhau xảy ra cùng một lúc thì ngắt mức ưu tiên cao hơn sẽ được phục  
trước:  
Thanh ghi IE.  
Các bít trong thanh ghi IP (thanh ghi điều khiển ưu tiên ngắt):  
Bit  
hiệu  
Địa chỉ tả  
bit  
IP.7  
IP.6  
IP.5  
IP.4  
IP.3  
IP.2  
IP.1  
IP.0  
-
-
Không định nghĩa  
-
-
Không định nghĩa  
PY2  
PS  
BDH  
BCH  
BBH  
BAH  
B9H  
B8H  
Ưu tiên cho ngắt Timer 2  
Ưu tiên cho ngắt cổng nốI tiếp  
Ưu tiên cho ngắt Timer 1  
Ưu tiên cho ngắt ngoài 1  
Ưu tiên cho ngắt Timer 0  
Ưu tiên cho ngắt ngoài 0  
PT1  
PX1  
PT0  
PX0  
GVHD:Đào Đức Thịnh  
18  
Đồ án I:đo lường điều khiển tốc độ động cơ  
2012  
d.cơ chế lựa chọn tuần tự.  
Nếu có 2 ngắt cùng mức ưu tiên xảy ra đồng thời, một cơ chế chọn lựa theo  
thứ tự sẵn sẽ xác định ngắt nào được đáp ứng trước. Việc chọn lựa theo thứ tự  
là: External 0, Timer 0, External 1, Timer 1, Serial Port, Timer 2.  
Quá trình xử ngắt:  
Khi một ngắt xuất hiện và nó được CPU chấp nhận, chương trình chính bị  
ngừng, các hoạt động tiếp theo xảy ra như sau:  
+ Thực hiện xong lệnh hiện hành đó  
+ Bộ đếm chương trình PC được lưu vào trong Stack  
+ Lưu giữ tình trạng của ngắt hiện tại  
+ Các nguồn ngắt được giữ tại mức của ngắt hiện tại  
+ Nap vào PC địa chỉ Vector của ISR  
+ ISR thực hiên  
ISR hoạt động để đáp ứng lại yêu cầu ngắt. ISR kết thúc bằng lệnh RETI có  
tác dụng quay trở về chương trình chính, lệnh này sẽ nạp lại giá trị cũ của PC trong  
ngăn xếp và khôi phục tình trạng của ngắt cũ. Việc thực hiện chương trình chính  
tiếp tục diễn ra tại nơi tạm dừng.  
e.vector ngắt.  
Khi một ngắt được chấp nhận thì giá trị nạp vào PC gọi vectơ ngắt. Nó  
chính là địa chỉ bắt đầu của ISR tương ứng với ngắt được chấp nhận.  
* Hàm ngắt:  
Void tenhamngat(void) interrupt nguồn ngắt  
{
// Chương trình ngắt ở đây  
}
GVHD:Đào Đức Thịnh  
19  
Đồ án I:đo lường điều khiển tốc độ động cơ  
2012  
* Chú ý về hàm ngắt.  
- Hàm ngắt không được trả lại hay truyền biến vào hàm  
- Tên hàm bất kỳ  
- Interrupt là hàm ngắt phải phân biệt với hàm khác  
- Nguồn ngắt từ 0-5 theo bảng vecto ngắt  
- Băng thanh ghi Ram chọn từ 0-3  
-
Sau đây bảng các vectơ ngắt  
Ngắt  
Cờ  
Địa chỉ Vector  
0000H  
System reset  
External 0  
Timer 0  
RST  
IE0  
0003H  
TF0  
000BH  
External 1  
Timer 1  
IE1  
0013H  
TF1  
001BH  
Serial Port  
Timer 2  
RI or TI  
0023H  
TF2 or EXF2  
Bảng:Các vecto ngắt.  
002BH  
III.2.cảm biến tốc độ (encoder).  
III.2.1.cấu tạo và phân loại encoder.  
III.2.1.1.phân loại.  
Gồm :  
encoder kiểu cảm ứng.  
encoder tương đối(encoder đếm xung).  
GVHD:Đào Đức Thịnh  
20  
Tải về để xem bản đầy đủ
docx 61 trang yennguyen 28/03/2022 8780
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Đo và điều khiển tốc độ động cơ dùng 8051", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • docxdo_an_do_va_dieu_khien_toc_do_dong_co_dung_8051.docx