Tải bản đầy đủ (.docx) (39 trang)

Ứng dụng họ vi điều khiển 8051 ghép nối 04 led bảy 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 - do tan so ac - Vi xử lý, vi điều khiển

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 (807.85 KB, 39 trang )

BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

MỤC LỤC
LỜI NĨI ĐẦU.................................................................................................................................2
CHƯƠNG I : PHÂN TÍCH U CẦU CƠNG NGHỆ..................................................................4
1.1.

Phân tích và giới hạn về đặc điểm thiết bị và tham sô......................................................4

1.1.1.

Tổng quan về họ vđk 8051......................................................................................4

1.1.2.

Cấu trúc và chức năng trong 8051.........................................................................4

1.1.3.

Hoạt động của timer trong 8051.............................................................................9

1.1.4.

Ngắt và sử lý ngắt..................................................................................................13

1.1.5.

Sơ lược về led 7 thanh............................................................................................14

1.1.6.


Kết nối với vi điều khiển.......................................................................................16

1.1.7.

Chuẩn RS232..........................................................................................................18

1.1.8.

Sơ đồ ghép nối RS232.............................................................................................22

1.2.

Trình bày về đo tần số bằng phương pháp số..................................................................23

CHƯƠNG II : THIẾT KẾ HỆ THỐNG........................................................................................25
2.1. Phân tích giới hạn tính tốn:...............................................................................................25
2.2

Lựa chọn thiết bị.............................................................................................................26

2.2.2

Tổng quan về opto PC817.......................................................................................28

2.3 Mạch nguyên lý...................................................................................................................30
2.3.1

Khối nguồn..............................................................................................................31

2.3.2


Khối cấp xung cho vi xử lí.......................................................................................31

2.3.3

Khối cảnh báo và điều khiển...................................................................................32

2.3.4

Khối hiển thị LED 7 thanh.......................................................................................33

2.3.5

Khối vi xử lí AT89C52.............................................................................................34

2.4

Thực hiện mô phỏng.......................................................................................................35

CHƯƠNG III : TỔNG KẾT..........................................................................................................38
3.1.

Ưu điểm...........................................................................................................................38

3.2.

Nhược điểm.....................................................................................................................38

Trang 1



BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

LỜI NĨI ĐẦU
Ngày nay, với những ứng dụng của khoa học kỹ thuật tiên tiến, thế giới của chúng
ta đã và đang ngày một thay đổi, văn minh và hiện đại hơn. Sự phát triển của kỹ thuật
điện tử đã tạo ra hàng loạt những thiết bị với các đặc điểm nổi bật như sự chính xác cao,
tốc độ nhanh, gọn nhẹ là những yếu tố rất cần thiết góp phần cho hoạt động của con
người đạt hiệu quả cao.
Các bộ điều khiển sử dụng vi điều khiển tuy đơn giản nhưng để vận hành và sử
dụng được lại là một điều rất phức tạp. Các bộ vi điều khiển theo thời gian cùng với sự
phát triển của công nghệ bán dẫn đã tiến triển rất nhanh, từ các bộ vi điều khiển 4 bit đơn
giản đến các bộ vi điều khiển 32 bit, rồi sau này là 64 bit. Điện tử đang trở thành một
ngành khoa học đa nhiệm vụ. Điện tử đã đáp ứng được những địi hỏi khơng ngừng từ
các lĩnh vực công – nông – lâm – ngư nghiệp cho đến các nhu cầu cần thiết trong hoạt
động đời sống hằng ngày.
Một trong những ứng dụng thiết thực trong đó là ứng dụng về nhiệt kế điện tử.
Với môn học Vi điều khiển này, em đã quyết định nhận làm bài tập lớn với đề tài ứng
dụng họ vi điều khiển 8051 ghép nối 04 led bảy 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
Nội dung báo cáo gồm 3 phần:
I – Cơ sở lý thuyết
II – Nội dung thiết kế
III – kết luận
Mặc dù đã rất cố gắng thiết kế và làm mạch nhưng do thời gian ngắn và năng lực
còn hạn chế nên mạch vẫn còn những sai sót. Em mong thầy giáo và các bạn góp ý để
việc học tập của em được tốt hơn.
Em xin chân thành cảm ơn!

Trang 2



BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

CHƯƠNG I : PHÂN TÍCH U CẦU CƠNG NGHỆ

1.1. Phân tích và giới hạn về đặc điểm thiết bị và tham sô
1.1.1. Tổng quan về họ vđk 8051
AT89C51 là một vi điều khiển 8 bit, chế tạo theo công nghệ CMOS chất lượng cao, công
suất thấp với 4 KB PEROM (Flash Programeable and erasable read only memory).
Các đặc điểm của 8951 được tóm tắt như sau:
- 4KB bộ nhớ, có thể lập trình lại nhanh, có khả năng ghi xóa tới
- Tần số hoat động từ 0 Hz đến 24 MHz
- 3 mức khóa bộ nhớ lập trình
- 2 bộ Timer/Counter 16 bit
- 128 Byte RAM nội
- 4 Port xuất/nhập (I/O) 8 bit
- Giao tiếp nối tiếp
- 64 KB vùng nhớ mã ngoài
- 64 KB vùng nhớ dữ liệu ngoài
- Xử lý Boolean (hoạt động trên bit đơn)
- 210 vị trí nhớ có thể định vị bit
- 4μs cho hoạt động nhân hoặc chia

1.1.2. Cấu trúc và chức năng trong 8051

Trang 3

1000 chu kỳ



BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

Sơ đồ cấu trúc của 8051
-

ROM : là loại bộ nhớ không mất dữ liệu khi mất nguồn cung cấp, được gọi là bộ
nhớ chương trình bên trong có dung lương 4Kbytes dùng để lưu giừ các mã lệnh của
chương trình (phần mềm ứng dụng).
RAM : Bộ nhớ dữ liệu bên trong có dung lượng 128 Bytes đối với 8051, 256 Bytes
với 8052 dùng đẻ lưu trữ dữ liệu như biển số, hằng số, bộ đệm, truyền thông…
Timer0, Timer1(T0,T1) : là loại bộ đếm thời gian hoặc là bộ đếm xung.
Sẻial port : là cổng truyền thông nối tiếp.
OSC : Bộ phát xung nhịp nhằm tạo sự làm việc một cách đồng bộ cho cả hệ thống vi
điều khiển.
BUS : Khối điều khiển các bus địa chỉ, bus dữ liệu(data bus),và bus điều khiển
(control bus).

Trang 4


BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

Port 0 (P0.0 – P0.7 hay chân 32 – 39): Ngoài chức năng xuất nhập ra, 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 AT89C51
giao tiếp với thiết bị ngồi có kiến trúc bus.

Port 0

Trang 5



BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

+ Port 1 (P1.0 – P1.7 hay chân 1 – 8): có chức năng xuất nhập theo bit và byte.
Ngoài ra, 3 chân P1.5, P1.6, P1.7 được dùng để nạp ROM theo chuẩn ISP, 2 chân P1.0 và
P1.1 được dùng cho bộ Timer 2.

Port 1
+ Port 2 (P2.0 – P2.7 hay chân 21 – 28): là một port có cơng dụng kép. Là đường xuất
nhập hoặc là byte cao của bus địa chỉ đối với các thiết kế dùng bộ nhớ mở rộng.

Port 2
+ Port 3 (P3.0 – P3.7 hay chân 10 – 17): mỗi chân trên port 3 ngoài chức năng
xuất nhập ra cịn có một số chức năng đặc biệt sau:
Trang 6


BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

Bit
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7


Tên
RXD
TXD
INT0
INT1
T0
T1
WR
RD

Chức năng chuyển đổi
Dữ liệu nhận cho port nối tiếp
Dữ liệu truyền cho port nối tiếp
Ngắt bên ngoài 0
Ngắt bên ngoài 1
Ngõ vào của Timer/Counter 0
Ngõ vào của Timer/Counter 1
Xung ghi bộ nhớ dữ liệu ngoài
Xung đọc bộ nhớ dữ liệu ngoài

Port 3
+ RST (Reset – chân 9): mức tích cực của chân này là mức 1, để reset ta phải đưa
mức 1 (5V) đến chân này với thời gian tối thiểu 2 chu kỳ máy (tương đương 2µs đối với
thạch anh 12MHz.
+ XTAL 1, XTAL 2: AT89S52 có một bộ dao động trên chip, nó thường được nối
với một bộ dao động thạch anh có tần số lớn nhất là 33MHz, thôn thường là 12MHz.
+ EA (External Access): EA thường được mắc lên mức cao (+5V) hoặc mức thấp
(GND). Nếu ở mức cao, bộ vi điều khiển thi hành chương trình từ ROM nội. Nếu ở mức
thấp, chương trình chỉ được thi hành từ bộ nhớ mở rộng.
+ ALE (Address Latch Enable): ALE là tín hiệu để chốt địa chỉ vào một thanh ghi

bên ngoài trong nửa đầu của chu kỳ bộ nhớ. Sau đó các đường port 0 dùng để xuất hoặc
nhập dữ liệu trong nửa chu kỳ sau của bộ nhớ.
Trang 7


BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

+ PSEN (Program Store Enable): PSEN là điều khiển để cho phép bộ nhớ chương
trình mở rộng và thường được nối với đến chân /OE (Output Enable) của một EPROM để
cho phép đọc các bytes mã lệnh. PSEN sẽ ở mức thấp trong thời gian đọc lệnh. Các mã nhị
phân của chương trình được đọc từ EPROM qua Bus và được chốt vào thanh ghi lệnh của
bộ vi điều khiển để giải mã lệnh. Khi thi hành chương trình trong ROM nội, PSEN sẽ ở
mức thụ động (mức cao).
+ Vcc, GND: AT89S52 dùng nguồn một chiều có dải điện áp từ 4V – 5.5V được
cấp qua chân 40 (Vcc) và chân 20 (GND).

1.1.3. Hoạt động của timer trong 8051
Bộ định thời của timer là một chuỗi các Flip Flop được chia làm 2, nó nhận tín hiệu
vào là một nguồn xung clock, xung clock được đưa vào flip flop thứ nhất là xung clock của
flip flop thứ hai mà nó cũng chia tần xố clock này cho 2 và cứ tiếp tục như thế.
Hoạt động của timer đơn giản 3 bit được minh họa như sau:

Trang 8


BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN



Timer Flip Flops


Các timer được ứng dụng thực tế cho các hoạt động định hướng. 8951 có 2 bộ timer
16 bit, mỗi Timer có 4 mode hoạt động. Các Timer dùng để đếm giờ, đếm các kiện cần
thiết và sự sinh ra tốc độ của tốc độ Baud bởi sự gắn liền Port nối tiếp. mỗi sự định thời là
một timer 16 bit, do đó tầng cuối cùng là tầng thứ 16 sẽ chia tần số clock vào cho
216=65.536.
Các timer của 8951 được truy xuất bởi việc dùng 6 thanh ghi chức năng đặc biệt như
sau:
Timer SPR

Perpose

Address

TCON
TMOD
TL0
TL1
TH0
TH1

Control
Mode
Timer 0 low-byte
Timer 1 low-byte
Timer 0 high-byte
Timer 1 high-byte

88H
89H

8AH
8BH
8CH
8DH

Bit
Addressable
YES
NO
NO
NO
NO
NO

-

 Các thanh ghi điều khiển
- Các thanh ghi điều khiển timer 0,1
Thanh ghi chế độ định thời Timer TMOD:
Thanh ghi TMOD gồm hai nhóm 4 bit là : 4 bit thấp đặt mod hoạt động của timer 0 và
4 bit cao đặt hoạt động của timer 1. 8 bit thanh ghi TMOD được tóm tắt như sau:

Trang 9


BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

- Thanh ghi điều khiển Timer (Timer Control)
Thanh ghi TCON chức các bit tràng thái và các bit điều khiển Timer 0 và Timer 1.
7

6
5
4
3
2
1
0
TF1
TR1
TF0
TR0
IT1
IE1
IT0
IE0
Thanh ghi TCON
- Các thanh ghi chứa giá trị của các bộ định thời
Các Timer 0 và Timer 1 dều là các Timer 16 bit, mỗi Timer có thanh ghi 8 bit để chúa
các giá trị khởi tạo hoặc giá trị hiện thời của các Timer. Cụ thể Timer 0 có TH0 và TL0;
Timer 1 có TH1 và TL1. Và các thanh ghi này thì khơng được định địa chỉ bit.
- Các thanh ghi điều khiển Timer 2
Thanh ghi T2CON
7
TF2

6
EXF2

5
RCLK


4
3
2
TCLK
EXEN2 TR2
Hình cụ thể tùng bit

1
C/#t2

0
CP/#RL

Thanh ghi T2MOD
T2MOD có địa chỉ 0C9H, thanh ghi này không định địa chỉ bit.
Bit
7
6
5
4
3
2
1

Kí hiệu

T2OE

Mơ tả

Khơng sử dụng
Khơng sử dụng
Khơng sử dụng
Khơng sử dụng
Không sử dụng
Không sử dụng
Cho phép đầu ra sử dụng timer 2 để tạo xung (chế độ
Trang 10


BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

0

DCEN

tạo xung – clock out)
Bit cho phép timer 2 hoạt động nhu một bộ đếm
tiến/lùi

Thanh ghi TH2,TL2, RCAP2H, RCAP2L
Cũng giống như TH0,1, TL0,1, TH2 và TL2 chứa giá trị đếm của timer 2, tuy nhiên
khác nhau ở chỗ timer 0,1 dùng THx chứa các giá trị nạp lại còn timer 2 dùng RCAP2H và
RCAP2L để chứa.
 Các chế độ của bộ định thời
- Các chế độ định thời của timer 0, 1.
Chế độ 0
Chế độ 0 là chế độ định thời dùng 13 bit (8bit của TH và 5 bit của TL ) để chứa giá trị
đếm. tuy nhiên trong các ứng dụng ngày nay chế độ này khơng cịn thích hợp.
Chế độ 1

Trong chế độ 1, timer dùng cả hai thanh ghi TH và TL để chứa các giá trị đếm. vì vậy
nó cịn được gọi là chế độ định thồi 16 bit.
Chế độ 2
Chế độ 2 này bộ timer ùng TL để chứa giá trị đếm và TH chứa giá trị vì vậy chế độ
này cịn được gọi là chế độ tự nạp lại 8 bit.
Chế độ 3
Trong chế độ 3, timer 0 được tách thành hai bộ timer hoạt động độc lập, chế độ này
cung cấp cho bộ vi điều khiển thêm một bộ timer
- Các chế độ của timer 2
Timer 2 có 3 chế độ hoạt động và được môt tả trong bảng sau:
TCL
K
0
0
1

T

CP/
R2
#RL2
0
1
1
1
x
1

Chế độ
16 bit Auto reload: 16 bit tự nạp lại.

16 bit capture: 16 bit thu nhận.
Baud Rate General: cung cấp tốc độ baud

1.1.4. Ngắt và sử lý ngắt
Trong thực tế người ta rất muốn tận dụng khả năng của CPU để làm thêm được nhiều
việc nữa nên, chỉ khi nào có cần trao đổi dữ liệu thì mới u cầu CPU tạm dừng cơng việc
hiện tại để phục vụ việc trao đổi dưc liệu. sau khi hồn thành cơng việc trao đổi dữ liệu thì
CPU phải quay lại công việc đang gián đoạn để thực hiện tiếp. Cách làm việc này gọi là
ngắt CPU (gián đoạn haotj động của CPU).
Trang 11


BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

 Các nguồn ngắt của 8951
8951 có 6 nguồn ngắt:
Ngắt ngồi đến từ chân #INT0.
Ngắt ngoài đến từ chân # INT1.
Ngắt do bộ timer 0
Ngắt do bộ timer 1
Ngắt do bộ timer 2
Ngắt do port nối tiếp.
6 nguồn ngắt này được xóa khi Reset và được dặt riêng bằng phần mềm bởi các bit
trong các thanh ghi cho phép ngắt (IE) và thanh ghi ưu tiên ngắt (IP).
 Các thanh ghi phục vụ ngắt
+ Thanh ghi cho phép ngắt IE (Interupt enable)
Bit
7
6
5

4
3
2
1
0

Kí hiệu
EA
ET5
ES
ET1
EX1
ET0
EX0

Địa chỉ bit
AFH
AEH
ADH
ACH
ABH
AAH
A9H
A8H

Mơ tả
Cho phép hoặc cấm tồn bộ
Khơng được định nghĩa
Cho phép ngát từ timer 2(8052)
Cho phép ngát port nối tiếp

Cho phép ngắt từ timer 1
Cho phép ngắt ngoài 1
Cho phép ngắt từ timer 1
Cho phép ngắt ngoài 0

+ Thanh ghi ưu tiên ngắt (interrupt priority)
Bit
7
6
5
4
3
2
1
0

Kí hiệu
PT2
PS
PT1
PX1
PT0
PX0

Địa chỉ bit
BDH
BCH
BBH
BAH
B9H

B8H

Mơ tả
Không được định nghĩa
Không được định nghĩa
Cho phép ngát từ timer 2(8052)
Cho phép ngát port nối tiếp
Cho phép ngắt từ timer 1
Cho phép ngắt ngoài 1
Cho phép ngắt từ timer 1
Cho phép ngắt ngồi 0

Các ngắt được ưu tiên xóa khi reset hệ thống để đặt tất cả các ngắt ở mức ưu tiên thấp
hơn.
 Xử lí ngắt
Khi có một ngắt xảy ra và được CPU chấp nhận, chương trình chính bị ngắt quãng
những hoạt động sau xảy ra
Trang 12


BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

-

Thi hành hoàn chỉnh lệnh đang hiện hành.
Các DC vào ngăn xếp.
Trạng thái ngắt hiện hành được cất vào trong.
Các ngắt được chặn tại mức ngắt.
Nạp vào DC địa chỉ Vector của ISR.
ISR thực thi.


ISR thực thi và đáp ứng ngắt. ISR hoàn tất bằng lệnh RETS. Điều này làm lấy lại các
giá trị cũ của DC từ ngăn xếp và lấy lại trạng thái ngắt cũ. Chương trình lại tiếp tực tại nơi
mà nó dừng.
Vector ngắt.
Khi ngắt được chấp nhận giá trị được đưa vào PC (Program Counter) goi là vector
ngắt (interrupt vector).
Ngắt
Reset hệ thống
Bên ngoài 0
Timer 0
Bên ngoài 1
Timer 1
Port nối tiếp
Timer 2

Cờ
RST
IE0
TF0
IE1
TF1
TI hoặc RI
TX2 hoặc EXF2

Địa chỉ vector
0000H
0003H
000BH
0013H

001BH
0023H
002BH

Số hiệu
0
1
2
3
4
5

1.1.5. Sơ lược về led 7 thanh

Led 7 đoạn có cấu tạo bao gồm 7 led đơn có dạng thanh xếp theo hình

và có thêm một

led đơn hình trịn nhỏ thể hiện dấu chấm trịn ở góc dưới, bên phải của led 7 đoạn.
8 led đơn trên led 7 đoạn có Anode(cực +) hoặc Cathode(cực -) được nối chung với nhau
vào một điểm, được đưa chân ra ngoài để kết nối với mạch điện. 8 cực còn lại trên mỗi led
Trang 13


BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

đơn được đưa thành 8 chân riêng, cũng được đưa ra ngoài để kết nối với mạch điện. Nếu
led 7 đoạn có Anode(cực +) chung, đầu chung này được nối với +Vcc, các chân còn lại
dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các
chân này ở mức 0. Nếu led 7 đoạn có Cathode(cực -) chung, đầu chung này được nối

xuống Ground (hay Mass), các chân còn lại dùng để điều khiển trạng thái sáng tắt của các
led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 1.

Vì led 7 đoạn chứa bên trong nó các led đơn, do đó khi kết nối cần đảm bảo dòng qua mỗi
led đơn trong khoảng 10mA-20mA để bảo vệ led. Nếu kết nối với nguồn 5V có thể hạn
dịng bằng điện trở

330Ω trước các chân nhận tín

hiệu điều khiển

Sơ đồ vị trí các led
Trang 14


BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

Các điện trở 330Ω là các điện trở bên ngoài được kết nối để giới hạn dòng điện qua led nếu
led 7 đoạn được nối với nguồn 5V.
Chân nhận tín hiệu a điều khiển led a sáng tắt, ngõ vào b để điều khiển led b. Tương tự với
các chân và các led còn lại.

1.1.6. Kết nối với vi điều khiển
Ngõ nhận tín hiệu điều khiển của led 7 đoạn có 8 đường, vì vậy có thể dùng 1 Port
nào đó của Vi điều khiển để điều khiển led 7 đoạn. Như vậy led 7 đoạn nhận một dữ liệu 8
bit từ Vi điều khiển để điều khiển hoạt động sáng tắt của từng led led đơn trong nó, dữ liệu
được xuất ra điều khiển led 7 đoạn thường được gọi là "mã hiển thị led 7 đoạn". Có hai
kiểu mã hiển thị led 7 đoạn: mã dành cho led 7 đoạn có Anode(cực +) chung và mã dành
cho led 7 đoạn có Cathode(cực -) chung. Chẳng hạn, để hiện thị số 1 cần làm cho các led ở
vị trí b và c sáng, nếu sử dụng led 7 đoạn có Anode chung thì phải đặt vào hai chân b và c

điện áp là 0V(mức 0) các chân còn lại được đặt điện áp là 5V(mức 1), nếu sử dụng led 7
đoạn có Cathode chung thì điện áp(hay mức logic) hồn tồn ngược lại, tức là phải đặt vào
chân b và c điện áp là 5V(mức 1).
Bảng mã hiển thị led 7 đoạn:
 Phần cứng được kết nối với 1 Port bất kì của Vi điều khiển, để thuận tiện cho việc
xử lí về sau phần cứng nên được kết nối như sau: Px.0 nối với chân a, Px.1 nối với chân b,
lần lượt theo thứ tự cho đến Px.7 nối với chân h.
 Dữ liệu xuất có dạng nhị phân như sau : hgfedcba
Bảng mã hiển thị led 7 đoạn dành cho led 7 đoạn có Anode chung (các led đơn sáng ở
mức 0):

Số hiển thị trên led 7 Mã hiển thị led 7 đoạn dạng Mã hiển thị led 7 đoạn dạng thập
đoạn
nhị phân
lục phân
hgfedcba
0
11000000
C0
1
11111001
F9
2
10100100
A4
3
10110000
B0
Trang 15



BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

4
5
6
7
8
9
A
B
C
D
E
F
-

10011001
10010010
11000010
11111000
10000000
10010000
10001000
10000011
11000110
10100001
10000110
10001110
10111111


99
92
82
F8
80
90
88
83
C6
A1
86
8E
BF

Bảng mã hiển thị led 7 đoạn dành cho led 7 đoạn có Cathode chung (các led đơn sáng
ở mức 1)
Số hiển thị trên led 7 Mã hiển thị led 7 đoạn dạng Mã hiển thị led 7 đoạn dạng thập
đoạn
nhị phân
lục phân
0
00111111
3F
1
00000110
06
2
01011011
5B

3
01001111
4F
4
01100110
66
5
01101101
6D
6
01111101
7D
7
00000111
07
8
01111111
7F
9
01101111
6F
A
01110111
77
B
01111100
7C
C
00111001
39

D
01011110
5E
E
01111001
79
F
01110001
71
01000000
40

1.1.7. Chuẩn RS232
Trang 16


BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

Vấn đề giao tiếp giữa PC và vi điều khiển rất quan trọng trong các ứng dụng điều
khiển, đo lường... Ghép nối qua cổng nối tiếp RS232 là một trong những kỹ thuật được sử
dụng rộng rãi để ghép nối các thiết bị ngoại vi với máy tính.Nó là một chuẩn giao tiếp nối
tiếp dùng định dạng không đồng bộ, kết nối nhiều nhất là 2 thiết bị , chiều dài kết nối lớn
nhất cho phép để đảm bảo dữ liệu là 12.5 đến 25.4m, tốc độ 20kbit/s đôi khi là tốc độ
115kbit/s với một số thiết bị đặc biệt. Ý nghĩa của chuẩn truyền thông nối tiếp nghĩa là
trong một thời điểm chỉ có một bit được gửi đi dọc theo đường truyền.
Có hia phiên bản RS232 được lưu hành trong thời gian tương đối dài là RS232B và
RS232C. Nhưng cho đến nay thì phiên bản RS232B cũ thì ít được dùng còn RS232C hiện
vẫn được dùng và tồn tại thường được gọi là tên ngẵn gọn là chuẩn RS232
Các máy tính thường có 1 hoặc 2 cổng nối tiếp theo chuẩn RS232C được gọi là cổng
Com. Chúng được dùng ghép nối cho chuột, modem, thiết bị đo lường...Trên main máy

tính có loại 9 chân hoặc lại 25 chân tùy vào đời máy và main của máy tính. Việc thiết kế
giao tiếp với cổng RS232 cũng tương đối dễ dàng, đặc biệt khi chọn chế độ hoạt động là
không đồng bộ và tốc độ truyền dữ liệu thấp.
 Ưu điểm của giao diện nối tiếp RS232
+ Khả năng chống nhiễu của các cổng nối tiếp cao
+ Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện
+ Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua công nối tiếp
 Những đặc điểm cần lưu ý trong chuẩn RS232
+ Trong chuẩn RS232 có mức giới hạn trên và dưới (logic 0 và 1) là +-12V. Hiện nay
đang được cố định trở kháng tải trong phạm vi từ 3000 ôm - 7000 ôm
+ Mức logic 1 có điện áp nằm trong khoảng -3V đến -12V, mức logic 0 từ +-3V đến
12V
+ Tốc độ truyền nhận dữ liệu cực đại là 100kbps ( ngày nay có thể lớn hơn)
+ Các lối vào phải có điện dung nhỏ hơn 2500pF
+ Trở kháng tải phải lớn hơn 3000 ôm nhưng phải nhỏ hơn 7000 ôm
+ Độ dài của cáp nối giữa máy tính và thiết bị ngoại vi ghép nối qua cổng nối tiếp
RS232 không vượt qua 15m nếu chúng ta không sử model
Trang 17


BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

+ Các giá trị tốc độ truyền dữ liệu chuẩn :
50,75,110,750,300,600,1200,2400,4800,9600,19200,28800,38400....56600,115200
bps
 Các mức điện áp đường truyền
RS 232 sử dụng phương thức truyền thơng khơng đối xứng, tức là sử dụng tín hiệu
điện áp chênh lệch giữa một dây dẫn và đất. Do đó ngay từ đầu tiên ra đời nó đã mang vẻ
lỗi thời của chuẩn TTL, nó vấn sử dụng các mức điện áp tương thích TTL để mơ tả các
mức logic 0 và 1. Ngoài mức điện áp tiêu chuẩn cũng cố định các giá trị trở kháng tải được

đấu vào bus của bộ phận và các trở kháng ra của bộ phát.
Mức điện áp của tiêu chuẩn RS232C ( chuẩn thường dùng bây giờ) được mô tả như
sau:
+ Mức logic 0 : +3V , +12V
+ Mức logic 1 : -12V, -3V
Các mức điện áp trong phạm vi từ -3V đến 3V là trạng thái chuyển tuyến. Chính vì từ
- 3V tới 3V là phạm vi không được định nghĩa, trong trường hợp thay đổi giá trị logic từ
thấp lên cao hoặc từ cao xuống thấp, một tín hiệu phải vượt qua quãng quá độ trong một
thơì gian ngắn hợp lý. Điều này dẫn đến việc phải hạn chế về điện dung của các thiết bị
tham gia và của cả đường truyền. Tốc độ truyền dẫn tối đa phụ thuộc vào chiều dài của dây
dẫn. Đa số các hệ thống hiện nay chỉ hỗ trợ với tốc độ 19,2 kBd .
 Cổng RS232 trên PC
Hầu hết các máy tính cá nhân hiện nay đều được trang bị ít nhất là 1 cổng Com hay
cổng nối tiếp RS232. Số lượng cổng Com có thể lên tới 4 tùy từng loại main máy tính. Khi
đó các cổng Com đó được đánh dấu là Com 1, Com 2, Com 3...Trên đó có 2 loại đầu nối
được sử dụng cho cổng nối tiếp RS232 loại 9 chân (DB9) hoặc 25 chân (DB25). Tuy hai
loại đầu nối này có cùng song song nhưng hai loại đầu nối này được phân biệt bởi cổng
đực (DB9) và cổng cái (DB25)
Ta xét sơ đồ chân cổng Com 9 chân:

Trang 18


BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

Trên là các kí hiệu chân và hình dạng của cổng DB9
Chức năng của các chân như sau:
+ chân 1 : Data Carrier Detect (DCD) : Phát tín hiệu mang dữ liệu
+ chân 2: Receive Data (RxD) : Nhận dữ liệu
+ chân 3 : Transmit Data (TxD) : Truyền dữ liệu

+ chân 4 : Data Termial Ready (DTR) : Đầu cuối dữ liệu sẵn sàng được kích hoạt bởi
bộ phận khi muốn truyền dữ liệu
+ chân 5 : Singal Ground ( SG) : Mass của tín hiệu
+ chân 6 : Data Set Ready (DSR) : Dữ liệu sẵn sàng, được kích hoạt bởi bộ truyền khi
nó sẵn sàng nhận dữ liệu
+ chân 7 : Request to Send : yêu cầu gửi,bô truyền đặt đường này lên mức hoạt động
khi sẵn sàng truyền dữ liệu
+ chân 8 : Clear To Send (CTS) : Xóa để gửi ,bơ nhận đặt đường này lên mức kích
hoạt động để thơng báo cho bộ truyền là nó sẵn sàng nhận tín hiệu
+ chân 9 : Ring Indicate (RI) : Báo chuông cho biết là bộ nhận đang nhận tín hiệu
rung chng
Cịn DB28 bây giờ hầu hết các main mới ra đều khơng có cổng này nữa. Nên tơi
khơng đề cập đến ở đây.
 Q trình dữ liệu
- Quá trình truyền dữ liệu
Truyền dữ liệu qua cổng nối tiếp RS232 được thực hiện không đồng bộ. Do vậy nên
tại một thời điểm chỉ có một bit được truyền (1 kí tự). Bộ truyền gửi một bit bắt đầu (bit
start) để thơng báo cho bộ nhận biết một kí tự sẽ được gửi đến trong lần truyền bit tiếp the .
Bit này luôn bắt đầu bằng mức 0.. Tiếp theo đó là các bit dữ liệu (bits data) được gửi dưới
Trang 19


BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

dạng mã ASCII( có thể là 5,6,7 hay 8 bit dữ liệu) Sau đó là một Parity bit ( Kiểm tra bit
chẵn, lẻ hay không) và cuối cùng là bit dừng - bit stop có thể là 1, 1,5 hay 2 bit dừng.
-

Tốc độ Baud
Đây là một tham số đặc trưng của RS232. Tham số này chính là đặc trưng cho q


trình truyền dữ liệu qua cổng nối tiếp RS232 là tốc độ truyền nhận dữ liệu hay còn gọi là
tốc độ bit. Tốc độ bit được định nghĩa là số bit truyền được trong thời gian 1 giây hay số bit
truyền được trong thời gian 1 giây. Tốc độ bit này phải được thiết lập ở bên phát và bên
nhận đều phải có tốc độ như nhau ( Tốc độ giữa vi điều khiển và máy tính phải chung nhau
1 tốc độ truyền bit)
Ngồi tốc độ bit cịn một tham số để mô tả tốc độ truyền là tốc độ Baud. Tốc độ Baud
liên quan đến tốc độ mà phần tử mã hóa dữ liệu được sử dụng để diễn tả bit được truyền
cịn tơc độ bit thì phản ánh tốc độ thực tế mà các bit được truyền.Vì một phần tử báo hiệu
sự mã hóa một bit nên khi đó hai tốc độ bit và tốc độ baud là phải đồng nhất
Một số tốc độ Baud thường dùng: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600,
19200, 28800, 38400, 56000, 115200 … Trong thiết bị họ thường dùng tốc độ là 19200
Khi sử dụng chuẩn nối tiếp RS232 thì yêu cầu khi sử dụng chuẩn là thời gian chuyển
mức logic không vượt quá 4% thời gian truyền 1 bit. Do vậy, nếu tốc độ bit càng cao thì
thời gian truyền 1 bit càng nhỏ thì thời gian chuyển mức logic càng phải nhỏ. Điều này làm
giới hạn tốc Baud và khoảng cách truyền.
-

Bit chẵn lẻ hay Parity bit
Đây là bit kiểm tra lỗi trên đường truyền. Thực chất của quá trình kiểm tra lỗi khi

truyền dữ liệu là bổ xung thêm dữ liệu được truyền để tìm ra hoặc sửa một số lỗi trong q
trình truyền . Do đó trong chuẩn RS232 sử dụng một kỹ thuật kiểm tra chẵn lẻ.
Một bit chẵn lẻ được bổ sung vào dữ liệu được truyền để ch thấy số lượng các bit "1"
được gửi trong một khung truyền là chẵn hay lẻ.
Một Parity bit chỉ có thể tìm ra một số lẻ các lỗi chả hạn như 1,3,,5,7,9... Nếu như một
bit chẵn được mắc lỗi thì Parity bit sẽ trùng giá trị với trường hợp khơng mắc lỗi vì thế
khơng phát hiện ra lỗi. Do đó trong kỹ thuật mã hóa lỗi này khơng được sử dụng trong
trường hợp có khả năng một vài bit bị mắc lỗi.
Trang 20



BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

Cịn cách thức truyền dẫn. Phần này tôi không đề cập các bạn vui lịng xem trong giáo
trình.

1.1.8. Sơ đồ ghép nối RS232
Mạch chuẩn giao RS232 dùng IC Max232
Max232 là IC chuyên dùng cho giao tiếp giữa RS232 và thiết bị ngoại vi. Max232 là
IC của hãng Maxim. Đây là IC chay ổn định và được sử dụng phổ biến trong các mạch
giao tiếp chuẩn RS232. Giá thành của Max232 phù hợp (12K hay 10K) và tích hợp trong
đó hai kênh truyền cho chuẩn RS232. Dịng tín hiệu được thiết kế cho chuẩn RS232 . Mỗi
đầu truyền ra và cổng nhận tín hiệu đều được bảo vệ chống lại sự phóng tĩnh điện ( hình
như là 15KV). Ngồi ra Max232 cịn được thiết kế với nguồn +5V cung cấp nguồn cơng
suất nhỏ.

1.2.

Trình bày về đo tần số bằng phương pháp số
Đo tần số có tương đối nhiều phương pháp nhưng ở đây ta lực chọn phương
pháp số để thực hiện đo
Cấu trúc đo tần số bằng phương pháp sô

Trang 21


BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

Tín hiệu

mang thơng
tin đo x(t)

Mạch vào

Thiết bị
biến đổi

Thiết bị chỉ
thị

Nguồn cung
cấp

x(t): tín hiệu cần đo đưa tới đầu vào máy
Mạch vào: truyền dẫn tín hiệu từ đầu vào tới
Thiết bị biến đổi. Thựchiện tiền xử lý tín hiệu vào như tiền khuếch đại, suy giảm,
giới hạn băngtần, lọc nhiễu, phối hợp trở kháng,… nhưng không làm mất thông tin
đo. Mạch vào thường là bộ KĐ tải catốt (Zvào cao), thực hiện phối hợp trở kháng.
Thiết bị biến đổi: thực hiện so sánh và phân tích.
Có thể tạo ra tín hiệu cần thiết để so sánh tín hiệu cần đo với tín hiệu mẫu.
Có thể phân tích tín hiệu đo về biên độ, tần số, hay chọn lọc theo thời gian.
Thường là các mạch KĐ, tách sóng, biến đổi dạng điện áp tín hiệu, chuyển
đổi dạng năng lượng,...
Thiết bị chỉ thị: biểu thị kết quả đo dưới dạng thích hợp với giác quan giao
tiếp của sinh lí con người hay với tin tức đưa vào bộ phận điều chỉnh, tính
tốn,...
VD: Các cơ cấu chỉ thị , Ống tia điện tử, cơ cấu chỉ thị số dùng LED 7
đoạn hay LCD 7 đoạn…
Nguồn cung cấp: cung cấp năng lượng cho máy và làm nguồn tạo tín

hiệu chuẩn

Trang 22


BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

CHƯƠNG II : THIẾT KẾ HỆ THỐNG

2.1. Phân tích giới hạn tính tốn:
- Ở bài này ta đo tín hiệu tần số và dải đo từ 45-55Hz
- Nên chu kỳ của của tần số đo sẽ dao động từ ~18 ms - ~ 22 ms tương ứng
với 18000 đến 22000 chu kì máy của vi điều khiển
- Có 2 phương pháp đo tần số
+ Cách 1: Lấy trực tiêp tần số
Ta sẽ sử dụng một timer để tạo một khỏang thời T gọi là thời gian lấy mẫu
Trong khoảng thời gian đấy ta sẽ nhận xung từ mạch chuẩn hóa khi đó tần số sẽ
được tính theo cơng thức
F=

Trong đó:
F: Tần số lưới điện
a : xung nhận được từ mạch chuẩn hóa
: thời gian lấy mẫu (ms)
+Cách 2: Lấy gián tiếp tần số
Ta sẽ không đo trực tiếp tần số mà sẽ đo qua chu kì giữa 2 xung trả về từ
mạch chuẩn hóa vì theo cơng thức f= do vậy ta có thể đo gián tiếp tần số qua chu kỳ
Trang 23



BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

Khi đó tần số sẽ được tính theo cơng thức

F=
F: tần số lưới điện
t: thời gian giữa 2 xung
Thời gian giữa 2 xung của bài này sẽ nằm trong khoảng từ ~18ms-~22ms
tương ứng vơi ~18000 đến ~22000 chu kỳ máy. Khi đó công thức sẽ thành

Trang 24


BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN

F=
: ~18000 đến ~22000
Để tránh phải tính tốn với số liệu q lớn như vậy ta chia cho cả tử và mẫu
của phép tính trên cho 100 , khi đó cơng thức sẽ thành

F=
: ~180 đến ~220
Khi đó số liệu đã nhỏ đi đáng kể để ta nhập vào các thanh ghi dữ liệu trong
khi lập tình, nhưng ta phải chấp nhận sai số khi dùng cách này.
2.2

Lựa chọn thiết bị

2.2.1 Cấu trúc chung về VĐK AT89C52
VĐK 89C52 mà chúng ta sử dụng có những đặc điểm sau:

·

4KB ROM bên trong

·

256 Byte ngoài

·

4 Port xuất nhập dữ liệu I/O

·

Giao tiếp nối tiếp

·

64 KB vùng nhớ mã ngoài

·

64 KB vùng nhớ dữ liệu ngoài

·

Xử lý Boolean

2.Khảo sát sơ đồ chân.
Trên sơ đồ chân trên có các nhóm chân sau:

1. Nhóm chân nguồn ni.
+ nguồn nuôi 5V (chân số 40) .
+ nối đất (chân số 20).
2.

Nhóm chân điều khiển.

Nhóm này cịn phân biệt các tín hiệu vào, ra.
a.

Nhóm tín hiệu vào điều khiển.

+ Xtal1 (chân số 18), Xtal2 (chân số 19): nối
nhịp chu trình.

tinh thể thạch anh cho mày phát xung

+ RST(Reset): (chân số 9): nối chuyển mạch để xóa về trạng thái ban đầu hay khởi
động lại.
Trang 25


×