Tải bản đầy đủ (.pdf) (13 trang)

mạch đo và hiển thị điện áp xoay chiều dùng vi điều khiển 89s52

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 (942.04 KB, 13 trang )

BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA ĐIỆN


BÀI TẬP LỚN
Vi điều khiển
Đề Tài:
Thiết kế mạch đo và cảnh báo điện áp xoay chiều có dải từ 0-400V sử
dụng vi xử lý 8051 và ADC 0808 hiển thị ra led 7 thanh.
Giáo viên hướng dẫn: Nguyễn Thu Hà
Nhóm thực hành: Nhóm 14- Lớp Tự động hóa 2 – K8
Sinh viên: Mai Công Sơn
Vũ Quang Sơn
Đặng Văn Tạo
Đàm Gia Thành
Nguyễn Văn Thành
Hà Nội,12-12-2015

Trang: 1


Link tải mô phỏng proteus trang cuối
Mở đầu
Ngày nay cùng với sự tiến bộ của khoa học kỹ thuật, đặc biệt là ngành kỹ thuật điện tử
đẫn đến đời sống xã hội ngày càng phát triển hơn sự trên những ứng dụng của khoa học vào
đời sống. Vì vậy mà những công điện tử mang tính tự động ngyaf càng được ứng dụng rộng
rãi. Trong đó có sự đóng góp không nhỏ của kỹ thuật vi điều khiển. Các bộ vi điều khiển đang
được ứng dụng rộng rãi và thâm nhập ngày càng nhiều trong các lĩnh vực kỹ thuật và đời
sống xã hội. Hầu hết các thiết bị được điều khiển tự động từ các thiết bị văn phòng cho đến
các thiết bị trong gia đình đều dùng các bộ vi điều khiển nhằm đem lại sự tiện nghi cho con


người trong thời đại công nghiệp hóa hiện đại hóa.
Điện áp là một đại lượng cơ bản trong kĩ thuật Điện - Điện tử, muốn điều khiển một
thiết bị hay một linh kiện điện tử nào đó ta phải quan tâm đến điện áp để điều khiển nó đầu
tiên. Thi trường đã sản xuất ra loại đồng hồ cơ, tuy có thể đo điện áp nhưng không thực sự
chính xác, do vậy việc chế tạo ra một thiết bị đo có độ chính xác cao là thật sự cần thiết.
Do đó nhóm chúng em thực hiện đề tài: “ Thiết kế mạch đo và cảnh báo điệ áp xoay
chiều dải đo 0-400V sử dụng vi xử lý 8051”.
Mục đích chính của đề tài là thiết kế một bộ đo điện áp sử dụng 8051, có thể cho ra
được kết quả hiển thị trực quan với độ chính xác cao.
Mặc dù cố gắng tìm hiểu thực hiện nhưng do còn thiếu kinh nghiệm nên trong bài khó
tránh khỏi sai xót, chúng e rất mong được sự hướng dẫn chỉ bảo thêm của thầy!

Trang: 2


Chương 1: Cơ sở lý thuyết
1.1 Mục đích và yêu cầu
1.1.1 Mục đích
Thiết kế mạch đo và cảnh báo điện áp xoay chiều có dải từ 0-400V sử dụng vi xử lý 8051
và ADC 0808 hiển thị ra led 7 thanh.
1.1.2 Yêu cầu
Đo và hiển thị chính xác ra led 7 thanh.
Có 2 nút bấm tăng giảm ngưỡng cảnh báo.
Có cảnh báo điện áp bằng loa hoặc đèn.
1.2 Các phương pháp đo
Có 2 cách phổ biến để đo điện áp xoay chiều:
-

Đo bằng đồng hồ đo điện


-

Đo bằng mạch điện tử

1.3 Các linh kiện sử dụng trong bài
1.3.1 Vi điều khiển 89C52
1.3.1.1Sơ đồ khối và ý nghĩa các chân của 89C52
 89C52 có 4 cổng vào/ra số.
 P0 có 8 bit là P0.0 đến P0.7 (chân 32-39)
 P1 có 8 bit là P1.0 đến P1.7 ( chân 1 - 8 )
 P2 có 8 bit là P2.0 đến P2.7 (chân 21-28)
 P3 có 8 bit là P3.0 đến P3.7 (chân 10-17)
Ngoài chức năng là các cổng vào/ra số thì P0 còn là 8 bit (D0
đến D7) của bus dữ liệu hoặc là 8 bit thấp (A0 đến A7) của bus
địa chỉ ,P2 lá 8 bit cao (A8 đến A15) của bus địa chỉ khi cần
thiết mở rộng thêm các ngoại vi, bộ nhớ ngoài cho 8051
 Các chân đặc biệt
 RESET (chân 9): Dùng để khởi động lại toàn bộ hệ
thống khi chương trinh đang chạy mà gặp lỗi
 RxD,TxD (chân 10,11): Là hai chân nhận và truyền số
liệu của cổng truyền thông nối tiếp
 INT0,INT1 (chân 12,13): Là hai chân nhận tín hiệu ngắt từ bên ngoài
 WR (chân 16) Cho phép viết dữ liệu tới các ngoại vi, bộ nhớ bên ngoài vi điều khiển
 RD: (chân 17) Cho phép đọc dữ liệu từ các ngoại vi,bộ nhớ dữ liệu ngoài vi điều khiển
 X1,X2 (chân 18,19): Dùng để tạo xung nhịp cho vi điều khiển
 Vcc,GND(chân 40,20) Cấp nguồn cho vi điều khiển (Vcc=5 VDC)
 EA/VP : Là tín hiệu vào
=1: Vi điều khiển sử dụng cả bộ nhớ chương trình bên trong và bộ nhớ chương trình
bên ngoài
+ Nếu vi điều khiển có 4 Kb bộ nhớ chương trinh bên trong với địa chỉ 0000H đến

0FFFH thì bộ nhớ chương trình bên ngoai phải có địa chỉ 1000h đến 1FFFH
Trang: 3







+ Nếu vi điều khiển co 8 Kb bộ nhớ chương trinh bên trong với địa chỉ 0000H đến
1FFFH thì bộ nhớ chương trình bên ngoai phải có địa chỉ 2000h đến FFFFH
=0: vi điều khiển chỉ sử dụng bộ nhớ bên ngoài co địa chỉ là:0000H đến FFFFH
ALE/P: (tín hiệu ra) Là tín hiệu chốt địa chỉ .dùng để phân biệt khi nào P0 là bus dữ
liệu,khi nào là bus dữ liệu khi vi điều khiển cần gép nối với các ngoại vi
ALE=1:P0 là bus địa chỉ
ALE=1:P0 là bus dữ liệu
PSEN : Có chức năng giống như chân Rdnhunwg chỉ dùng để đọc bộ nhớ chương
trình bên ngoài

1.3.1.2 Các thanh ghi đặc biệt
Ký hiệu
Tên
* Acc
Thanh ghi chứa
*B
Thanh ghi B
* PSW
Thanh ghi trạng thái
SP
Con trỏ ngăn xếp (8bit)

DPTR
Con trỏ dữ liệu
DPL
Byte thấp của DPTR
DPH
Byte cao của DPTR
* P0
Thanh ghi đệm cổng P0
* P1
Thanh ghi đệm cổng P1
* P2
Thanh ghi đệm cổng P2
* P3
Thanh ghi đệm cổng P3
* IP
Thanh ghi điều khiển các mức ưu tiên ngắt
* IE
Thanh ghi cho phép/ che chắn các ngắt
TMOD
Thanh ghi chọn chế độ Time/Counter 0,1
* TCON
Thanh ghi điều khiển Time/Counter 0,1
*+T2CON Thanh ghi điều khiển Time/Counter 2
TH0
Byte cao của bộ đếm trong Timer/Counter 0
TL0
Byte thấp của bộ đếm trong Timer/Counter 0
TH1
Byte cao của bộ đếm trong Timer/Counter 1
TL1

Byte thấp của bộ đếm trong Timer/Counter 1
+ TH2
Byte cao của bộ đếm trong Timer/Counter 2
+ TL2
Byte thấp của bộ đếm trong Timer/Counter 2
Byte cao của thanh ghi Capture/ Reload trong
+ RCAP2H
Timer/Counter 2
Byte thấp của thanh ghi Capture/ Reload trong
+ RCAP2L
Timer/Counter 2
* SCON
Thanh ghi điều khiển cổng truyền thông nối tiếp
SBUF
Bộ đếm cổng truyền thông nối tiếp
PCON
Thanh ghi điều khiển công suất tiêu thụ của 8051
1.3.1.3 Ngắt và xử lý các ngắt
 Ngắt tràn của T0, T1: TF0,TF1
 Ngắt cổng truyền thông nối tiếp: RI, TI
 Ngắt bên ngoài vi điều khiển: INT 0 , INT 1
 Ngắt của Timer 2: TF2
Trang: 4

Địa chỉ
0E0H
0F0H
0D0H
81H
82H

83H
80H
90H
0A0H
0B0H
0B8H
0A8H
89H
88H
0C8H
8CH
8AH
8DH
8BH
0CDH
0CCH
0CBH
0CAH
98H
99H
87H


* Thanh ghi cho phép ngắt IE
IE

EA

-


ET2

ES

ET1

EX1

EA : Cho phép/cấm tất cả ngắt ngoài
ET2:Cho phép/cấm ngăt Timer 2
ES: Cho phép/cấm ngắt cổng truyền thông nối tiếp
ET1: Cho phép/cấm ngăt Timer 1
EX1: Cho phép/cấm ngăt ngoài INT 1
ET0: Cho phép/cấm ngăt Timer 0
EX0: Cho phép/cấm ngăt ngoài INT 0
1.3.1.4 Địa chỉ vectơ ngắt
STT
Nguồn gây ngắt
Địa chỉ
1
IE0
0003H
2
TF0
000BH
3
IE1
0013H
4
TF1

001BH
5
RI_TI
0023H
6
TF2+EXF2
002BH
1.3.2. BỘ CHUYỂN ĐỔI TƯƠNG TỰ SANG SỐ (ADC0808)
1.3.2.1. Sơ đồ khối và ý nghĩa các chân
Chân 1 IN3 - ngõ vào tín hiệu Analog Input 3
Chân 2 IN4 - ngõ vào tín hiệu Analog Input 4
Chân 3 IN5 - ngõ vào tín hiệu Analog Input 5
Chân 4 IN6 - ngõ vào tín hiệu Analog Input 6
Chân 5 IN7 - ngõ vào tín hiệu Analog Input 7
Chân 6 START - chân điều khiển tín hiệu bắt
đầu quá trình biến đổi ADC.
Chân 7 EOC - Chân phát tín hiệu báo kết thúc
quá trình chuyển đổi ADC.
Chân 8 2 (-5) - Ngõ ra Tín hiệu số- Data Bit 5
Chân 9 OUT EN - Chân cho phép xuất.
Chân 10 CLK - chân nhận nguồn xung Clock
Chân 11 Vcc - Chân nhận điện nguồn dương
Chân 12 Vref+ - Chân nhận(input) điện áp
tham chiếu.
Chân 13 GND - Chân nhận điện áp
âm(Ground=0v)
Chân 14 2(-7) - Ngõ ra Tín hiệu số- Data Bit 7
Chân 15 2(-6) - Ngõ ra Tín hiệu số- Data Bit 6
Chân 16 Vref- - Voltage Reference Negative Input
Chân 17 2(-8) - Ngõ ra Tín hiệu số- Data bit 8

Chân 18 2(-4) - Ngõ ra Tín hiệu số- Data Bit 4
Chân 19 2(-3) - Ngõ ra Tín hiệu số- Data Bit 3
Trang: 5

ET0

EX0


Chân 20 2(-2) - Ngõ ra Tín hiệu số- Data Bit 2
Chân 21 2(-1) - Ngõ ra Tín hiệu số- Data Bit 1
Chân 22 ALE - Address Latch Enable
Chân 23 ADD C - Address Input C
Chân 24 ADD B - Address Input B
Chân 25 ADD A - Address Input A
Chân 26 IN0 - ngõ vào tín hiệu Analog Input 0
Chân 27 IN1 - ngõ vào tín hiệu Analog Input 1
Chân 28 IN2 - ngõ vào tín hiệu Analog Input 2
1.3.2.2. Khảo sát ý nghĩa hoạt động của các chân ADC0808
- IN0, IN1, IN2, IN3, IN4, IN5, IN6, IN7 : 8 ngõ vào tín hiệu tương tự.
- A, B, C : các đường địa chỉ để chọn kênh ở ngõ vào
Các đường địa chỉ
Chọn kênh ngõ
vào
A
B
C
L
L
L

IN0
H
L
L
IN1
L
H
L
IN2
H
H
L
IN3
L
L
H
IN4
H
L
H
IN5
L
H
H
IN6
H
H
H
IN7
- ALE : chân chốt địa chỉ, khi có xung tác động vào chân ALE đường địa chỉ

A,B,C mới được ADC nhận vào.
- START : điều khiển bắt đầu chuyển đổi
Khi START = 1 : bắt đầu chuyển đổi.
Khi START = 0 : kết thúc chuyển đổi.
- EOC : báo hiệu kết thúc quá trình chuyển đổi
Khi START = 1 thì EOC =1.
Khi chuyển đổi xong thì EOC = 0.
- CK : ngõ vào xung clock (fCK = 100KHz – 1,28MHz).
- 2-1, 2-2, 2-3, 2-4, 2-5, 2-6, 2-7, 2-8: 8 ngõ tín hiệu số từ 00-FFH
- OE : cho phép xuất tín hiệu ra
OE = 1 : cho phép.
OE = 0 : không cho phép.
- VRef+, VRef- : điện áp tham chiếu dương và âm, dùng để thay đổi độ phân giải. Ta
có công sau:
N = 256*(Vi – VRef-)/(VRef+ - VRef-)
Với :
N : 1 số nhị phân được chuyển đổi
Vi : điện áp ngõ vào tín hiệu tương tụ.
Để tiện cho việc tính toán thông thường ta nối chân VRef- xuống mass.
1.2.3 Các bước để chuyển đổi của ADC
 Chọn kênh ngõ vào
 Chốt địa chỉ kênh vào ALE = 1).
Trang: 6


 Bắt đầu chuyển đổi (START=1)
 Chờ chuyển đổi xong , đọc kết quả
1.2.4 giản đồ xung giao tiếp IC ADC0808

1.3. LED BẢY THANH

1.3.1 Cấu tạo
- Cấu tạo LED bảy thanh bao gồm 8 led phát quang được gọi là các thanh lần lượt
là : a. b, c, d, e, f ,g và dp(dấu chấm).
- LED bảy thanh thường dùng làm cơ cấu quan sát, hiện thị các con số hệ thập
phân. Trong một số trường hợp đặt biệt có thể dùng để hiện thị các số hệ HEX và các
ký tự
a
1.3.2 Phân loại
LED bảy thanh có hai loại là:
Loại Anode chung
Loại Cathode chung
a. Loại Anode chung
g
f A a b

f

b
g

e
d

10 9

8 7 6

c
dp


Vcc

Trang: 7


Để các thanh sáng ta cấp dòng điện ( 5 – 20mA) chảy qua các Diode tương ứng.Để
hiện thị các số 0 – 9 trong hệ thập phân ta lựa chọn cách thanh cần sáng để hiện thị
được các số tương ứng. Như vậy ta nối chân A vào dương nguồn (5VDC) còn các
chân a, b, c, d, e, f, g, và dp điều khiển chúng sao cho:
Nếu = “1” các thanh tối
Nếu = “0” các thanh sáng
b. Loại Cathode chung
Đối với loại Cathode chung thì chân C nối xuống đất (0VDC) còn các chân a, b, c, d,
e, f, g, và dp điều khiển chúng sao cho:
Nếu = “1” các thanh sáng
Nếu = “0” các thanh tối
g f C a b
Vcc

10 9

8 7 6

a
1.3.3 Bảng mã bảy thanh
Mã bảy thanh các số 0 – 9 loại Anode chung
DEC

dp


1 2 3 4 5
g
f
e

b

c

d

e

d

c

b

a

0
1
1
0
0
0
e
d
C

c
dp
1
1
1
1
1
1
2
1
0
1
0
0
3
1
0
1
1
0
4
1
0
0
1
1
5
1
0
0

1
0
6
1
0
0
0
0
7
1
1
1
1
1
8
1
0
0
0
0
9
1
0
0
1
0
Mã bảy thanh các số 0 – 9 loại catot chung

0
0

1
0
0
0
0
0
0
0

0
0
0
0
0
1
1
0
0
0

0
1
0
0
1
0
0
0
0
0


DEC

dp

g

f

e

d

c

b

a

0

0

0

1

1

1


1

1

1

Trang: 8

f

g
Mã Bảy
Thanh
C0H
F9H
A4H
B0H
99H
92H
82H
F8H
80H
90H

Mã Bảy
Thanh
3FH

dp



1

0

0

0

0

0

1

1

0

06H

2

0

1

0


1

1

0

1

1

5BH

3

0

1

0

0

1

1

1

1


4FH

4

0

1

1

0

0

1

1

0

66H

5

0

1

1


0

1

1

0

1

6DH

6

0

1

1

1

1

1

0

1


7DH

7

0

0

0

0

0

1

1

1

07H

8

0

1

1


1

1

1

1

1

7FH

9

0

1

1

0

1

1

1

1


6FH

1.4. CÁC LINH KIỆN KHÁC
1.4.1. Phím bấm

- Sơ đồ nguyên lý
Vcc
10K

2,2μF
Output

1.5.2. Các linh kiện khác
- Tụ điện: Chọn tụ điện có các giá trị sau 2,2μF, 3,3pF
+ Đối với loại tụ có giá trị 2,2μF ta chọn tụ hóa
+ Đối với loại tụ có giá trị 3,3pF ta chọn tụ gốm
- Transzito : Chọn loại NPN có cấu tạo như sau
E

N

P

B

N

C

E


5VDC

B

Trang: 9
C


Chức năng Khuếch đại dòng để quét LED hiện thị
- Điện trở: Chọn loại điện trở có giá trị 10KὨ và 330Ὠ

Trang: 10


PHẦN II
2.1. SƠ ĐỒ KHỐI VÀ CHỨC NĂNG TỪNG KHỐI
2.1.1. Sơ đồ khối
Cấu trúc chung của hệ thống

Điện áp
Đo

Bộ chuyển
đổi ADC

Vi xử lý

Khối
hiển thị


Nguồn

2.1.2 Chức năng tùng khối.
a) Khối nguồn: để cung cấp nguồn cho bộ chuyển đổi, vi xử lí, và khối hiển thị.
Sử dụng IC LM7805 để tạo nguồn 5V cấp cho ADC, vi xử lý và khối hiển thị

`
b) Bộ chuyển đổi ADC: chuyển đổi tín hiệu Analog từ khối công suất thành tín
hiệu Digital.

Trang: 11


c) Khối hiển thị: để hiển thị giá trị đo.

d) Vi xử lí: nhận tín hiệu từ bộ chuyển đổi ADC hiển thị dữ liệu trên Led 7 vạch.

Trang: 12


`2.2. Sơ đồ mạch nguyên lý

/>aring

Trang: 13




×