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

Ứng dụng Họ vi điều khiển 8051 điều khiển ghép nối 04 LED 7 thanh để hiển thị số đo và cảnh báo tần số lưới điện công nghiệp, khoảng đo (45:55)Hz

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 (609.92 KB, 46 trang )

BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý

LỜI NÓI ĐẦU
Với sự tiến bộ của con người, với sự phát triển của khoa học kỹ thuật thì các
ngành cơng nghiệp phát triển mạnh mẽ , đặc biệt là ngành kỹ thuật điện tử, bên
cạnh sự phát triển của ngành thì vi xử lý đóng vai trị quan trọng trong sự phát triển
đó và nó có nhiều ứng dụng trong đời sống. Các hệ thống ứng dụng ra đời, điều đó
cũng đặt ra yêu cầu cao về chất lượng, độ chính xác.Một trong những hệ thống
được ứng dụng là: hệ thống điều khiển ghép nối 04 LED 7 thanh với 8051 để hiển
thị số đo và cảnh báo tần số lưới điện công nghiệp.Các hệ thống đang ngày dần
được tự động hóa với những kỹ thuật như vi xử lý, vi điều khiển… đang ngày một
làm cho các bộ tự động dần trở nên tốt hơn đảm bảo yêu cầu hơn.
Chúng em được thầy bộ môn giao nhiệm vụ thiết kế : ứng dụng họ vi điều
khiển 8051 điều khiển ghép nối với 4 led 7 thanh. Với đề tài thiết kế này cần phải
tuân thủ theo các yêu cầu đã ở phía trên. Dựa trên nỗ lực của bản thân và hợp tác
nhiệt tình của các bạn trong nhóm cũng như sự tận tình chỉ bảo của các thầy , cô
trong bộ môn đặc biệt là cô Tống Thị Lý. Qua đó giúp chúng em hồn thành đề tài
thiết kế của mình

1


BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý

Đề tài:
Ứng dụng Họ vi điều khiển 8051 điều khiển ghép nối 04 LED 7 thanh để hiển
thị số đo và cảnh báo tần số lưới điện công nghiệp, khoảng đo (45:55)Hz . Hệ
thống gồm có:
+ 01 Vi điều khiển 89C51RD2
+ Mạch truyền thông chuẩn RS_232 ( dùng vi mạch MAX 232)
+ Ghép nối 04 LED bảy thanh


+ Ghép nối mạch chuẩn hóa đo tần số
+ Ghép nối loa cảnh báo ngưỡng thấp, ngưỡng cao
+ Hai nút ấn RUN, STOP
Hoạt động:Khi nhấn RUN , hệ thống thực hiện đo tần số, còn khi nhấn STOP hệ
thống lưu lại giá trị đo cuối cùng
Quá trình thực hiện:
1)
2)
3)
4)
5)
6)

Xây dựng mạch nguyên lý
Làm mạch in
Lắp linh kiện và kiểm tra phần cứng
Xây dựng thuật tốn
Viết chương trình
Thực nghiệm

2


BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý

Chương 1: Cơ sở lý thuyết
1. Tổng quan họ vi điều khiển 8051
AT89C51 là một vi điều khiển 8bit, chế tạo theo công nghệ CMOS, với 4Kb
PEROM
 Một số đặc điểm của AT89c51

 Bộ nhớ 4Kb, với khả năng ghi xóa tới 1000 chu kì
 Tần số hoạt động 0 -24Mz
 3 mức khóa bộ nhớ lập trình
 2 bộ timer- counter 16bit
 128byte RAM nội
 4 Port xuất nhập(I/O) 8bit
 Giao tiếp nối tiếp
 64Kb vùng nhớ mã ngoài
 64Kb vùng nhớ dữ liệu ngoài
 Xử lý boolean (xử lý trên từng bit)
 4µs cho một phép tính nhân, chia
Nội dung
AT89x51
flash
4Kb
Bộ định thời
2
Vào/ra
32
Cổng nối tiếp
1
Chức năng các chân của 8952:

AT89x52
8Kb
3
32
1

3



BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý

1.1 sơ đồ chân AT89s52
Giớ Thiệu sơ qua về phần cứng.
89s52 có tất cả 40 chân có chức năng như các đường xuất nhập. Trong đó
có 24 chân có tác dụng kép (có nghĩa 1 chân có 2 chức năng), mỗi đường có
thể hoạt động như đường xuất nhập hoặc như đường điều khiển hoặc là
thành phần của các bus dữ liệu và bus địa chỉ.
 Chân số 40,31 được nối với nguồn dương 3.5-6V
VCC

Chan 40

 Chân số 20 được nối nới âm nguồn

4


BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý
Chan 20

GND

 Chân số 19 và chân số 18 là 2 chân mắc với thạnh anh tạo dao động ngoại
C1

Chan 18


33pF
GND

X1
12Mhz

C2

Chan 19

33pF

 Chân số 9 là chân reset chương trình hoạt động lại trong IC

1

VCC

2

C3
10uF

SW1
SW

Chan 9
R1
10k


GND

 Chân 29, 30 bỏ trống
 Các chân còn lại tướng ứng với các Port P0,P1,P2,P3 là các chân chúng ta có
thể lập trình thiết lập tín hiệu vào ra

Port 0 : Port 0 là port có 2 chức năng ở các chân 32 – 39 của 8951. Trong
các thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các
đường IO. Đối với các thiết kế cỡ lớn có bộ nhớ mở rộng, nó được kết hợp
giữa bus địa chỉ và bus dữ liệu.

5


BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý
Port 1 : Port 1 là port IO trên các chân 1-8. Các chân được ký hiệu P1.0,
P1.1, P1.2, … có thể dùng cho giao tiếp với các thiết bị ngoài nếu cần. Port 1
khơng có chức năng khác, vì vậy chúng chỉ được dùng cho giao tiếp với các
thiết bị bên ngồi.
Port 2 : Port 2 là 1 port có tác dụng kép trên các chân 21 - 28 được dùng
như các đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết
bị dùng bộ nhớ mở rộng.
Port 3 : Port 3 là port có tác dụng kép trên các chân 10 - 17. Các chân của
port này có nhiều chức năng, các cơng dụng chuyển đổi có liên hệ với các
đặc tính đặc biệt của 8951 như ở bảng sau:
Chân(bit)
P3.0
P3.1
P3.2
P3.3

P3.4
P3.5
P3.6
P3.7

Tên
RXT
TXD
INT0
INT1
T0

Chức năng chuyển đổi
Ngõ vào dữ liệu nối tiếp
Ngõ xuất dữ liệu nối tiếp
Ngõ vào ngắt cứng thứ 0
Ngõ vào ngắt cứng thứ 1
Ngõ vào của
TIMER/COUNTER thứ 0
T1
Ngõ vào của
TIMER/COUNTER thứ 1
WR
Tín hiệu ghi dữ liệu lên
bộ nhớ ngồi
RD
Tín hiệu đọc dữ liệu
ngồi
Bảng 1.1 chức năng các chân của port 3


6


BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý

Các thanh ghi đặc biệt
Ký hiệu
Tên
ACC
Thanh ghi chứa
B
Thanh ghi B
PSW
Thanh ghi từ trạng thái
SP
Con trỏ ngăn xếp(8 bit)
DPTR
Con trỏ dữ liệu (16 bit)
DPL
Byte thấp của DPTR
DPH
Byte cao của DPTR
P0
Thanh ghi đệm P0
P1
Thanh ghi đệm P1
P2
Thanh ghi đệm P2
P3
Thanh ghi đệm P3

IP
Thanh ghi điều khiển mức ưu tiên ngắt
IE
Thanh ghi cho phép chắn các ngắt
TMOD
Thanh ghi chọn chế độ cho Timer/Counter0
TCON
Thanh ghi điều khiển Timer/Counter0,1
T2CON
Thanh ghi điều khiển Timer/Counter2
TH0
Byte cao của bộ đếm trong Timer/Counter0
TL0
Byte thấp của bộ đếm trong Timer/Counter0
TH1
Byte cao của bộ đếm trong Timer/Counter1
TL1
Byte thấp của bộđếm trong Timer/Counter1
TH2
Byte cao của bộ đếm trong Timer/Counter2
TL2
Byte thấp của bộ đếm trong Timer/Counter2
Byte cao của thanh ghi Capture/Reload trong
RCAP2H
Timer/Counter2
Byte thấp của thanh ghi Capture/Reload trong
RCAP2L
Timer/Counter2
SCON
Thanh ghi điều khiển cổng truyền thông nối tiếp

SBUF
Bộ đệm của cổng truyền thông nối tiếp
PCON
Thanh ghi điều khiển công suất tiêu thụ

Địa chỉ
0EOH
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

7


BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý

2. Tổng quan LED 7 thanh

Hình 1.2 led 7 thanh

LED 7 đoạn hay LED 7 thanh (Seven Segment display) là 1 linh kiện rất phổ
dụng , được dùng như là 1 công cụ hiển thị đơn giản nhất .
Trong LED 7 thanh bao gồm ít nhất là 7 con LED mắc lại với nhau , vì vậy mà có
tên là LED 7 đoạn là vậy ,7 LED đơn được mắc sao cho nó có thể hiển thị được
các số từ 0 - 9 , và 1 vài chữ cái thông dụng, để phân cách thì người ta cịn
dùng thêm 1 led đơn để hiển thị dấu chấm (dot) .

8


BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý
Các led đơn lần lượt được gọi tên theo chữ cái A- B -C-D-E-F-G, và dấu chấm
dot .
Như vậy nếu như muốn hiển thị ký tự nào thì ta chỉ cần cấp nguồn vào chân đó
là led sẽ sáng như mong muốn .

Thơng số :
LED 7 thanh dù có nhiều biến thể nhưng tựu chung thì cũng chỉ vẫn có 2 loại

đó là :
+ Chân Anode chung (chân + các led mắc chung lại với nhau .)
+ Chân Catode chung (Chân - các led được mắc chung với nhau .)
* Đối với loại Anode chung :
+ Chân 3 và 8 là 2 chân Vcc(nối ngắn mạch lại với nhau , sau đó nối chung với
chân anode của 8 led đơn .), vậy muốn led nào đó sáng thì chỉ việc nối chân
catot xuống mass .
Điện áp giữa Vcc và mass phải lớn hơn 1.3 V mới cung cấp đủ led sáng, tuy
nhiên không được cao quá 3V .

9


BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý

Cathode chung :

3. Trở hạn dịng :

Trong các mạch thì thường dùng nguồn 5V nên để tránh việc đót cháy led
thì cách đơn giản nhất là mắc thêm trở hạn dòng .
Thông số làm việc của LED :
Điện áp = 2V .
Dịng = 20mA .
Vậy nếu dùng nguồn 5V , thì áp rơi trên trở = 5 -2 = 3 V.
R = U / I = 3/(20*10^-3) = 150 ôm .

10



BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý
bảng giải mã LED 7 đoạn Anode chung

11


BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý

bảng giải mã LED 7 đoạn catot chung

12


BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý

4. Giới thiệu opto PC817
Opto là một trong những linh kiện điện tử cơ bản được người dùng sử dụng
rộng rãi trong lĩnh vực điện tử.
-Opto hay còn được gọi là bộ cách ly quang dùng để truyền tín hiệu điện bằng
cách chuyển tín hiệu ánh sáng và sau đó mới truyền đi.
-Nó dùng để cách ly điện giữa đầu vào và đầu ra.
Opto PC 817.

PC-817
hình 1.3 opto
Định nghĩa.
-PC 817 cũng là dạng opto nó hoạt động tượng tự như các opto khác.
-khi cung cấp 5V vao chân số 1, LED phía trong Opto nối giữa chân số 1 và 2 sáng,
xảy ra hiệu ứng quang điện dẫn đến 3-4 thông,mức logic sẽ bị chuyển từ 1 sang 0
mà không cần tác động trực tiếp từ IC

 Cấu tạo.

13


BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý

-Sơ đồ chân PC817.

Hình 1.4 Sơ đồ chân PC817
-Chân 1: Anode
-Chân 2: Cathode
-Chân 3: Emitter-Phát
-Chân 4: Collector -Thu

14


BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý

Chương 2: thiết kế hệ thống
I.

lưu đồ thuật toán

Lưu đồ thuật tốn chương trình khởi tạo

Init

EA=0

T2CON,TH2,TL2 (timer2 auto_reload 10ms)
TMOD=01H (timer 0 lam bo dem 16bit )
dn=0
digit=01h
R0=D1
loa=0
TR0=1
TR2=1
EX0=1
IE.5=1
EA=1

Doi ngắt

15


BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý

Lưu đồ thuật tốn chương trình con phục vụ ngắt tràn timer 2

TF=0
KT_START_STOP

begin=1 ?

S

D


f=TS
KT_TAN_SO

QUET_LED

reti

16


BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý

Lưu dồ thuật toán iểm tra nút bấm start, stop
INIT_T2
KT_START_STO
P

start=0 ?

D

begin=1

S

stop=0 ?
S

D


begin=0
loa=0

ret

17


BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý

Lưu đồ thuật toán kiểm tra tần số để cảnh báo

D

f<49 ?

CHUONG_THAP

S

f>53 ?
S

D

CHUONG_THAP

loa=0

RET


18


BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý

Luu do thuat toan chuong cao, chuong thap
KT_TAN_SO

CHUONG_CAO

CHUONG_CAO

D

dn=0 ?

Loa=1

S
dn=3 ?
S

RET

D

dn=0 ?

D


Loa=1

S
dn=3 ?

Loa=1

D
Loa=1

S
RET

19


BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý

Luu do thuat toan phuc vu ngat ngoai INT0 de tinh tan so

20


BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý
T_TAN_SO

Luu do thuat toan doi ma HEX sang ma BCD
TR0=0
XH=TH0

XL=TL0
TR0=1
HEX_BCD
TS=10^6/(XH,XL)
HEX_BCD
D4=f/10
(phép chia số nguyên lấy phần dư)
Z=f/10
(phép chia số nguyên lấy phần nguyên)

reti
D3=Z/10
(phép chia số nguyên lấy phần dư)
Z=Z/10
(phép chia số nguyên lấy phần nguyên)

D2=Z/10
(phép chia số nguyên lấy phần dư)
D1=KQ/10
(phép chia số nguyên lấy phần nguyên)

RET

21


BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý

Luu do thuat toan quet led


QUET_LED

P0=SEG[R0]
P2=digit
R0=R0+1 (R0 nhay dia chi lech len 1)
digit dich trai 1 bit

dn=4 ?

S

D

dn=0
digit=01h
R0=D1 (R0 nhay ve dia chi D1)

RET

22


BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý

II.

viết chương trình
;
================================================================
====

$NOMOD51
$INCLUDE (80C52.MCU)
;
================================================================
====
org 0000h ; Reset Vector
ljmp Init

org 0003H

; ngat ngoai INT0

ljmp T_TAN_SO

org 002Bh
ljmp INIT_T2

;
================================================================
====
D1 equ 50h

23


BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý
D2 equ

51h


D3 equ

52h

D4 equ

53h

digit

equ 56h

dn

equ

57h

;
================================================================
====
;cac bien dung trong phep tinh cong tru nhan chia
ZOV

equ 00h

XH

equ 65h


XL

equ

66h

YH

equ

67h

YL

equ

68h

ZH

equ 69h

ZL

equ 70h

Z0

equ


71h

Z1

equ

72h

z2

equ 73h

z3

equ 74h

; khai bao trong vung dia chi bit

;
================================================================
====

24


BTL Vi Xử Lý Nhóm 8 GVHD: Tống Thị Lý
TS

equ


_TS

75h ;
equ

F

equ

_F

equ 78H

76h ;

77h ;

;
================================================================
====
begin

equ

79H

start

equ


P3.6

stop

equ

P3.7

loa

equ P3.5

;
================================================================
====

org 100h
;
================================================================
====
;chuong trinh khoi tao
Init:
clr EA
mov T2CON,#00h

; timer 2 auto reload

mov TH2,#0F4h

; ngat tran 4ms


25


×