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

Thiết kế bộ tạo tín hiệu phục vụ đo kiểm

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 (1.46 MB, 89 trang )

y với sự phát triển vượt bật của công nghệ Nano hàng loạt IC mới được chế
tạo. Những IC này thông minh hơn rất nhiều so với các IC trước và đặc biệt là
chúng ta có thể ghi/xóa dữ liệu vào một cách dể dàng. Vì thế nó được sử dụng
trong nhiều thiết bị Điện - Điện Tử và ngày càng thể hiện được bản chất ưu việt
của mình. Điển hình là dòng IC 8051/8052.
Với sự ra đời của dòng IC mới đã làm thúc đẩy sự phát triển của nhũng
IC chuyển đổi số sang tương tự như PCF8591,DAC0808,DAC0800...Nếu nói
việc chuyển đổi tín hiệu từ dạng tương tự sang dạng số là cổng ngõ vào thế giới
vi xử lý thì cũng có thể nói việc chuyển đổi tín hiệu từ dạng số sang dạng tương
tự là cổng ngõ ra .Vì đa số tín hiệu trong thực tế đều là dạng tương tự nên muốn
điều khiển, xử lý hay lưu trữ các dạng tín hiệu này cần phải tìm hiểu ,nghiên cứu
cũng như phát triển các phương pháp chuyển đổi tương tự sang số hoặc là
chuyển đổi số sang tương tự.Như vậy công việc chuyển đổi này có một vai trò
khá quan trọng ,cần phải được quan tâm,đầu tư và phát triển một cách đúng
mức.
Cùng với sự phát triển của khoa học kỹ thuật,các công cụ sửa chữa cũng
được phát triển theo,đặc biệt là các bộ nguồn tín hiệu.Các bộ nguồn tín hiệu là
một trong những công cụ rất quan trọng cung cấp cho kĩ thuật viên các dạng
điện áp chuẩn,các dạng tín hiệu mong muốn góp phần rất lớn vào việc nghiên
cứu ,phát triển hay sửa chữa các thiết bị điện tử.
Xuất phát từ thực tiển này em đã đi đến quyết định “Thiết kế Bộ Tạo Tín
Hiệu Phục Vụ Đo Kiểm”. Nhằm đáp ứng nhu cầu ham muốn học hỏi của bản
thân, cũng như là góp phần nâng giá trị của những mạch điện tử trong đời sống
của con người.

1


II. LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ
Bộ nguồn là một phần rất quan trọng và không thể thiếu trong các thiết bị
điện tử.Việc hỏng hóc đa phần là do các bộ nguồn gây ra,vì vậy việc cung cấp


nguồn cho các thiết bị với các yêu cầu về dạng tín hiệu ,công suất ... sẽ loại bỏ
rất nhiều các nguyên nhân gây hỏng thiết bị,giúp kĩ thuật viên khoanh vùng và
chuẩn đoán chính xác các pan bệnh trên thiết bị cần sửa chữa,giúp cho việc sửa
chữa cũng như đo kiểm được dễ dàng,tốn ít công sức hơn.
Bộ nguồn là bộ phận quan trọng và không thể thiếu trong các thiết bị điện
tử. Việc hỏng hóc đa phần là do các bộ nguồn gây ra, vì vậy việc cung cấp
nguồn cho các thiết bị với các yêu cầu về dạng tín hiệu, công suất ... sẽ loại bỏ
rất nhiều những nguyên nhân gây hỏng thiết bị, giúp kỹ thuật viên khoanh vùng
và chuẩn đoán chính xác các pan bệnh trên thiết bị cần sửa chữa giúp cho việc
sửa chữa cũng như đo kiểm được dễ dàng ít công sức hơn
Thực tế trên thị trường đã tồn tại rất nhiều các loại bộ nguồn tín hiệu
nhưng đa số các nguồn này đều không ứng dụng vi điều khiển vì vậy chỉ có thể
cung cấp một cách có giới hạn các dạng tín hiệu và việc điều chỉnh đa phần là
dùng triết áp , độ chính xác cũng không được cao.
Đề tài của em thực hiện sẽ ứng dụng vi điều khiển tạo ra các dạng tín hiệu
chuẩn với độ chính xác cao , cách sử dụng dễ dàng với giao diện bàn phím và
màn hình hiển thị.Việc tạo ra các dạng tín hiệu hoàn toàn ứng dụng cơ chế
chuyển đổi tín hiệu từ dạng số sang dạng tương tự qua việc sử dụng vi điều
khiển kết nối với IC chuyển đổi số sang tương tự PCF8591.
Đề tài em thực hiện sẽ góp phần chế tạo ra các bộ nguồn tín hiệu ngày
càng thông minh và chính xác ,thúc đẩy thị trường các bộ nguồn nói riêng và thị
trường các thiết bị điện tử nói chung.
Tuy nhiên do bản thân em kiến thức còn hạn hẹp ,khả năng chuyên môn
còn ít ỏi nên sản phẩm còn nhiều hạn chế.Đề tài mới chỉ dừng lại ở mức tạo ý
tưởng,tìm hiểu và nghiên cứu phương pháp chế tạo bộ nguồn.Sản phẩm tạo ra
2


chưa đáp ứng được yêu cầu,em mong các thầy cô thông cảm và các ý kiến đóng
góp quý giá của các thầy cô sẽ là không thể thiếu để sản phẩm có thể đưa vào

thực tế hoạt động.
III. MỤC ĐÍCH YÊU CẦU CỦA ĐỀ TÀI

Trong luận án này em sử dụng một IC chuyển đổi số sang tương
tự(PCF8591T) kết hợp với vi điều khiển 89S52 qua giao diện I2C, 89S52 có
nhiệm vụ điều khiển IC PCF8591,để IC này tạo ra một dải điện áp từ 0 – 5
vôn.Và việc điều chỉnh dải điện áp này thông qua bàn phím.Việc giao tiếp với
thiết bị này nhờ vào bàn phím và màn hình.Điện áp được lấy ra từ 1 giắc cắm và
có thể đo điện áp này nhờ đồng hồ đo điện vạn năng,tạo ra xung vuông biểu diễn
trên 8 LED đơn có tần số điều chỉnh được và đo tần số dao động của IC NE555.
Ý tưởng của em là tạo ra một sản phẩm sử dụng vi điều khiển điều khiển
một IC chuyển đổi số sang tương tự để tạo ra các tín hiệu như điện áp một
chiều,các tín hiệu dạng sóng hình sin,các tín hiệu xung với các thông số có thể
điều khiển được.Tuy nhiên trên thực tế sản phẩm chưa thể đáp ứng theo như ý
tưởng mong muốn mà em chỉ có thể sử dụng vi điều khiển để điều khiển IC
PCF8591 tạo ra một dải điện áp hẹp từ 0- 5 vôn ,và việc điêu chỉnh dải điện áp
là qua bàn phím,tạo xung vuông có tần số điều khiển được và đo tần số dao động
của ic NE555.
Tuy sản phẩm còn rất nhiều thiếu sót nhưng về cơ bản em đã tìm hiểu và
đi đúng hướng của đề tài.Việc sản phẩm có thể được như ý tưởng mong muốn
hay không ,phần lớn là nhờ các ý kiến quý giá của các thầy cô.

3


CHƯƠNG II: CƠ SỞ LÝ THUYẾT
I.GIỚI THIỆU VỀ VI ĐIỀU KHIỂN 89S52
1. Tổng quan về 89S52
AT89S52 là họ IC vi điều khiển do hãng Intel sản xuất. Các sản phẩm
AT89S52 thích hợp cho những ứng dụng điều khiển. Việc xử lý trên byte và các

toán số học ở cấu trúc dữ liệu nhỏ được thực hiện bằng nhiều chế độ truy xuất
dữ liệu nhanh trên RAM nội. Tập lệnh cung cấp một bảng tiện dụng của những
lệnh số học 8 bit gồm cả lệnh nhân và lệnh chia. Nó cung cấp những hổ trợ mở
rộng trên chip dùng cho những biến một bit như là kiểu dữ liệu riêng biệt cho
phép quản lý và kiểm tra bit trực tiếp trong hệ thống điều khiển.
AT89S52 cung cấp những đặc tính chuẩn như: 8 KByte bộ nhớ chỉ đọc có
thể xóa và lập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, 3
TIMER/COUNTER 16 Bit, 5 vectơ ngắt có cấu trúc 2 mức ngắt, một Port nối
tiếp bán song công, 1 mạch dao động tạo xung Clock và bộ dao động ON-CHIP.
Các đặc điểm của chip AT89S52 được tóm tắt như sau:
• 8 KByte bộ nhớ có thể lập trình nhanh, có khả năng tới 1000 chu kỳ

ghi/xoá
• Tần số hoạt động từ: 0Hz đến 24 MHz
• 3 mức khóa bộ nhớ lập trình
• 3 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
4


• 64 KB vùng nhớ dữ liệu ngoại.
• 4 µs cho hoạt động nhân hoặc chia

Hình 1.1: Sơ đồ khối của AT89S52

5



2.Mô tả chân 89S52
2.1 Sơ đồ chân 89S52
Mặc dù các thành viên của họ 8051(ví dụ 8751, 89S52, 89C51, DS5000)
đều có các kiểu đóng vỏ khác nhau, chẳng hạn như hai hàng chân DIP (Dual InLine Pakage), dạng vỏ dẹt vuông QPF (Quad Flat Pakage) và dạng chip không
có chân đỡ LLC (Leadless Chip Carrier) thì chúng đều có 40 chân cho các chức
năng khác nhau như vào ra I/O, đọc

RD

, ghi

WR

, địa chỉ, dữ liệu và ngắt. Cần

phải lưu ý một số hãng cung cấp một phiên bản 8051 có 20 chân với số cổng vào
ra ít hơn cho các ứng dụng yêu cầu thấp hơn. Tuy nhiên vì hầu hết các nhà phát
triển sử dụng chíp đóng vỏ 40 chân với hai hàng chân DIP nên ta chỉ tập trung
mô tả phiên bản này.

A
T
89
S

Hình 1.2: Sơ đồ chân của AT89S52
2.2 Chức năng của các chân 89S52
Port 0: từ chân 32 đến chân 39 (P0.0 _P0.7). Port 0 có 2 chức năng: 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

6


IO, đối với thiết kế lớn có bộ nhớ mở rộng nó được kết hợp giữa bus địa chỉ và
bus dữ liệu.
Port 1: từ chân 1 đến chân 9 (P1.0 _ P1.7). Port 1 là port IO dùng cho giao
tiếp với thiết bị bên ngoài nếu cần.
Port 2: từ chân 21 đến chân 28 (P2.0 _P2.7). Port 2 là một port có tác dụng
kép 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: từ chân 10 đến chân 17 (P3.0 _ P3.7). Port 3 là port có tác dụng
kép. Các chân của port này có nhiều chức năng, có công dụng chuyển đổi có liên
hệ đến các đặc tính đặc biệt của 89S52 như ở bảng sau:
Bit

Tên

Chức

năng

chuyển đổi
P3.0

RXD

Ngõ vào dữ liệu

P3.1


TXD

nối tiếp.

P3.2

INT0

Ngõ xuất dữ liệu

P3.3

INT1

P3.4

T0

P3.5

T1

P3.6

WR

cứng thứ 1.

P3.7


RD

Ngõ

nối tiếp.
Ngõ

vào

ngắt

cứng thứ 0.
Ngõ

vào

ngắt

vào

TIMER/
COUNTER thứ
0.
Ngõ

vào

của

TIMER/

COUNTER thứ
7


1.
Tín hiệu ghi dữ
liệu lên bộ nhớ
ngoài.
Tín hiệu đọc bộ
nhớ

dữ

liệu

ngoài.

Bảng 1.1:Chức năng đặc biệt các chân port3
PSEN (Program store enable):
PSEN là tín hiệu ngõ ra có tác dụng cho phép đọc bộ nhớ chương trình
mở rộng và thường được nối đến chân OE của Eprom cho phép đọc các byte
mã lệnh.
PSEN ở mức thấp trong thời gian 89S52 lấy lệnh. Các mã lệnh của
chương trình được đọc từ Eprom qua bus dữ liệu, được chốt vào thanh ghi lệnh
bên trong 89S52 để giải mã lệnh. Khi 89S52 thi hành chương trình trong ROM
nội, PSEN ở mức cao.
ALE (Address Latch Enable):
Khi 89S52 truy xuất bộ nhớ bên ngoài, Port 0 có chức năng là bus địa chỉ
và dữ liệu do đó phải tách các đường dữ liệu và địa chỉ. Tín hiệu ra ALE ở chân
thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ liệu

khi kết nối chúng với IC chốt.
Tín hiệu ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai
trò là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự động.
EA (External Access): Tín hiệu vào EA (chân 31) thường được mắc lên
mức 1 hoặc mức 0. Nếu ở mức 1, 89S52 thi hành chương trình từ ROM nội. Nếu
8


ở mức 0, 89S52 thi hành chương trình từ bộ nhớ mở rộng. Chân EA được lấy
làm chân cấp nguồn 21V khi lập trình cho Eprom trong 89S52.
RST (Reset): Khi ngõ vào tín hiệu này đưa lên mức cao ít nhất 2 chu kỳ
máy, các thanh ghi bên trong được nạp những giá trị thích hợp để khởi động hệ
thống. Khi cấp điện mạch phải tự động reset.
Các giá trị tụ và điện trở được chọn là:
R1=10Ω, R2=220Ω, C=10 F.

Hình 1.3: Thiết lập cho nút reset

9


Các ngõ vào bộ dao động X1, X2:
Bộ tạo dao động được tích hợp bên trong 89S52. Khi sử dụng 89S52, người
ta chỉ cần nối thêm thạch anh và các tụ. Tần số thạch anh tùy thuộc vào mục
đích của người sử dụng, giá trị tụ thường được chọn là 33p.

Hình 1.4: Thiết lập dao động ngoài cho vi điều khiển
3. Tổ chức bộ nhớ bên trong 89S52
n Bộ nhớ trong 89S52 bao gồm ROM và RAM. RAM trong 89S52 bao gồm
nhiều thành phần: phần lưu trữ đa dụng, phần lưu trữ địa chỉ hóa từng bit, các

bank thanh ghi và các thanh ghi chức năng đặc biệt.
AT89S52 có bộ nhớ được tổ chức theo cấu trúc Harvard: có những vùng
vbộ nhớ riêng biệt cho chương trình và dữ liệu. Chương trình và dữ liệu có thể
chứa bên trong 89S52 nhưng 89S52 vẫn có thể kết nối với 64K byte bộ nhớ
chương trình và 64K byte dữ liệu bên ngoài.
RAM bên trong AT89S52 được phân chia như sau:
 Các bank thanh ghi có địa chỉ từ 00H đến 1FH.
 RAM địa chỉ hóa từng bit có địa chỉ từ 20H đến 2FH.
 RAM đa dụng từ 30H đến 7FH.
 Các thanh ghi chức năng đặc biệt từ 80H đến FFH

10


Bản đồ bộ nhớ Data bên trong Chip 89S52 được tổ chức như sau:

Bảng 1.2: Bản đồ bộ nhớ của vi điều khiển AT89S523.1. RAM đa dụng
11


RAM đa dụng có địa chỉ từ 30h – 7Fh có thể truy xuất mỗi lần 8 bit bằng
cách dùng chế độ định địa chỉ trực tiếp hay gián tiếp.
Các vùng địa chỉ thấp từ 00h – 2Fh cũng có thể sử dụng cho mục đích như
trên, ngoài các chức năng đặc biệt được đề cập ở phần sau.
3.2. RAM có thể định địa chỉ bit
Vùng địa chỉ từ 20h -2Fh gồm 16 byte có thể thực hiện như vùng RAM đa
dụng (truy xuât mỗi lần 8 bit) hay thực hiện truy xuất mỗi lần 1 bit bằng các
lệnh xử lý bit.
3.3. Các bank thanh ghi
Vùng địa chỉ 00h – 1Fh được chia thành 4 bank thanh ghi: bank 0 từ 00h –

07h, bank 1 từ 08h – 0Fh, bank 2 từ 10h – 17h và bank 3 từ 18h – 1Fh. Các bank
thanh ghi này được đại diện bằng các thanh ghi từ R0 đến R7. Sau khi khởi động
thì hệ thống bank 0 được chọn sử dụng.
Do có 4 bank thanh ghi nên tại một thời điểm chỉ có một bank thanh ghi
được truy xuất bởi các thanh ghi R0 đến R7. Viêc thay đổi bank thanh ghi được
thực hiện thông qua thanh ghi từ trạng thái chương trình (PSW).
3.4. Các thanh ghi có chức năng đặc biệt
Các thanh ghi trong 89S52 được định dạng như một phần của RAM trên
chip vì vậy mỗi thanh ghi sẽ có một địa chỉ (ngoại trừ thanh ghi bộ đếm chương
trình và thanh ghi lệnh vì các thanh ghi này hiếm khi bị tác động trực tiếp).
Cũng như R0 đến R7, 89S52 có 21 thanh ghi có chức năng đặc biệt (SFR:
Special Function Register) ở vùng trên của RAM nội từ địa chỉ 80H đến 0FFH.
Sau đây là một vài thanh ghi đặc biệt thường được sử dụng:

12


3.4.1. Thanh ghi trạng thái chương trình (PSW: Program Status Word)
BIT

SYMBOL

ADDRESS

DESCRIPTION

PSW.7

CY


D7H

Cary Flag

PSW.6

AC

D6H

Auxiliary Cary Flag

PSW.5

F0

D5H

Flag 0

PSW4

RS1

D4H

Register Bank Select 1

PSW.3


RS0

D3H

Register Bank Select 0
00=Bank 0; address 00H÷07H
01=Bank 1; address 08H÷0FH
10=Bank 2; address 10H÷17H
11=Bank 3; address 18H÷1FH

PSW.2

OV

D2H

Overlow Flag

PSW.1

-

D1H

Reserved

PSW.0

P


DOH

Even Parity Flag

Bảng 1.3:Nội dung thanh ghi trạng thái chương trình PSW
Chức năng từng bit trạng thái chương trình
- Cờ Carry CY (Carry Flag):
Cờ nhớ thường nó được dùng cho các lệnh toán học: C =1 nếu phép toán
cộng có sự tràn hoặc phép trừ có mượn và ngược lại C = 0 nếu phép toán cộng
không tràn và phép trừ không có mượn.
13


- Cờ Carry phụ AC (Auxiliary Carry Flag):
Khi cộng những giá trị BCD (Binary Code Decimal), cờ nhớ phụ AC
được set nếu kết quả 4 bit thấp nằm trong phạm vi điều khiển 0AH - 0FH.
Ngược lại AC = 0
- Cờ 0 (Flag 0):
Cờ 0 (F0) là 1 bit cờ đa dụng dùng cho các ứng dụng của người dùng.
- Những bit chọn bank thanh ghi truy xuất:
RS1 và RS0 quyết định dãy thanh ghi tích cực. Chúng được xóa sau khi
reset hệ thống và được thay đổi bởi phần mềm khi cần thiết.
Tùy theo RS1, RS0 = 00, 01, 10, 11 sẽ được chọn Bank tích cực tương
ứng là Bank 0, Bank1, Bank2 và Bank3.
RS1

RS0

BANK


0

0

0

0

1

1

1

0

2

1

1

3

Bảng 1.4:Cách chọn bank thanh ghi thông qua RS0 và RS1
- Cờ tràn OV (Over Flag):
Cờ tràn được set sau một hoạt động cộng hoặc trừ nếu có sự tràn toán
học.
- Bit Parity (P):
14



Bit tự động được set hay Clear ở mỗi chu kỳ máy để lập Parity chẵn với
thanh ghi A. Sự đếm các bit 1 trong thanh ghi A cộng với bit Parity luôn luôn
chẵn. Ví dụ A chứa 10101101B thì bit P set lên một để tổng số bit 1 trong A và P
tạo thành số chẵn.

Bit Parity thường được dùng trong sự kết hợp với những thủ tục của Port
nối tiếp để tạo ra bit Parity trước khi phát đi hoặc kiểm tra bit Parity sau khi thu.
3.4.2. Thanh ghi TIMER
Vi Điều Khiển 89S52 có 3 timer 16 bit, mỗi timer có bốn cách làm việc.
Người ta sử dụng các timer để:
o Định khoảng thời gian.
o Đếm sự kiện.
o

Tạo tốc độ baud cho port nối tiếp trong 89S52.

Trong các ứng dụng định khoảng thời gian, người ta lập trình timer ở
những khoảng đều đặn và đặt cờ tràn timer. Cờ được dùng để đồng bộ hóa
chương trình để thực hiện một tác động như kiểm tra trạng thái của các ngõ vào
hoặc gửi sự kiện ra các ngõ ra. Các ứng dụng khác có thể sử dụng việc tạo xung
nhịp đều đặn của timer để đo thời gian trôi qua giữa hai sự kiện (ví dụ đo độ
rộng xung).
3.4.3. Thanh ghi ngắt (INTERRUPT)
Một ngắt là sự xảy ra một điều kiện, một sự kiện mà nó gây ra treo tạm thời
thời chương trình chính trong khi điều kiện đó được phục vụ bởi một chương
trình khác.
Các ngắt đóng một vai trò quan trọng trong thiết kế và cài đặt các ứng dụng
vi điều khiển. Chúng cho phép hệ thống đáp ứng bất đồng bộ với một sự kiện và

giải quyết sự kiện đó trong khi một chương trình khác đang thực thi.
15


- Tổ chức ngắt của 89S52:
Có 5 nguồn ngắt ở 89S52: 2 ngắt ngoài, 2 ngắt từ timer và 1 ngắt port
nối tiếp. Tất cả các ngắt theo mặc nhiên đều bị cấm sau khi reset hệ thống
và được cho phép từng cái một bằng phần mềm. Mức độ ưu tiên của các ngắt
được lưu trong thanh ghi IP (Interrupt Priority) hay nói cách khác thanh ghi IP
cho phép chọn mức ưu tiên cho các ngắt (giá trị thanh ghi IP khi reset là 00h).

16


Bit

Ký hiệu

Địa chỉ

Mô tả

bit
IP.7

_

_

Không được mô tả


IP.6

_

_

Không được mô tả

IP.5

ET2

BDH

Chọn mức ưu tiên cao (=1) hay thấp (=0) tại
timer 2

IP.4

ES

BCH

Chọn mức ưu tiên cao (=1) hay thấp (=0) tại
cổng nối tiếp.

IP.3

ET1


BBH

Chọn mức ưu tiên cao (=1) hay thấp (=0) tại
timer 1

IP.2

EX1

BAH

Chọn mức ưu tiên cao (=1) hay thấp (=0) tại
ngắt ngoài 1

IP.1

ET0

B9H

Chọn mức ưu tiên cao (=1) hay thấp (=0) tại
timer 0

IP.0

EX0

B8H


Chọn mức ưu tiên cao (=1) hay thấp (=0) tại
ngắt ngoài 0
Tóm tắt thanh ghi IP

Bảng 1.5: Tóm tắt nội dung thanh ghi IP
 Nếu 2 ngắt xảy ra đồng thời thì ngắt nào có nào có mức ưu tiên cao hơn
sẽ được phục vụ trước.
 Nếu 2 ngắt xảy ra đồng thời có cùng mức ưu tiên thì thứ tự ưu tiên được
thực hiện từ cao đến thấp như sau: ngắt ngoài 0 – timer 0 – ngắt ngoài 1 – timer
1 – cổng nối tiếp – timer 2.

17


 Nếu chương trình của một ngắt có mức ưu tiên thấp đang chạy mà có
một ngắt xảy ra với mức ưu tiên cao hơn thì chương trình này tạm dừng để chạy
một chương trình khác có mức ưu tiên cao hơn.
- Cho phép và cấm ngắt:
Mỗi nguồn ngắt được cho phép hoặc cấm ngắt qua một thanh ghi chức
năng đặt biệt có định địa chỉ bit IE (Interrupt Enable: cho phép ngắt) ở địa chỉ
A8H.

18


Bit

Ký hiệu

Địa chỉ


Mô tả

bit
IE.7

EA

AFH

Cho phép / Cấm toàn bộ

IE.6

_

AEH

Không được mô tả

IE.5

ET2

ADH

Cho phép ngắt từ Timer 2 (8052)

IE.4


ES

ACH

Cho phép ngắt port nối tiếp

IE.3

ET1

ABH

Cho phép ngắt từ Timer 1

IE.2

EX1

AAH

Cho phép ngắt ngoài 1

IE.1

ET0

A9H

Cho phép ngắt từ Timer 0


IE.0

EX0

A8H

Cho phép ngắt ngoài 0

Tóm tắt thanh ghi IE

19


Bảng 1.6: Tóm tắt nội dung thanh ghi IE
- Các cờ ngắt:
Khi điều kiện ngắt xảy ra thì ứng với từng loại ngắt mà loại cờ đó được đặt
lên mức cao để xác nhận ngắt.
Ngắt

Cờ

Thanh ghi SFR và vị trí bit

Bên ngoài 0

IE0

TCON.1

Bên ngoài 1


IE1

TCON.3

Timer 1

TF1

TCON.7

Timer 0

TF0

TCON.5

Port nối tiếp

TI

SCON.1

Port nối tiếp

RI

SCON.0

Các loại cờ ngắt


Bảng1.7:Các loại cờ ngắt
- Các vectơ ngắt:
Khi chấp nhận ngắt, giá trị được nạp vào PC gọi là vector ngắt.
Nó là địa chỉ bắt đầu của ISR cho nguồn tạo ngắt, các vector ngắt được
cho ở bảng sau :
Vector reset hệ thống (RST ở địa chỉ 0000H) được để trong bảng này vì
theo nghĩa này, nó giống ngắt: nó ngắt chương trình chính và nạp cho PC giá trị
mới.

20


Ngắt

Cờ

Địa chỉ vector

Reset hệ thống

RST

0000H

Bên ngoài 0

IE0

0003H


Timer 0

TF0

000BH

Bên ngoài 1

IE1

0013H

Timer 1

TF1

001BH

Port nối tiếp

TI và RI

0023H

Timer 2

002BH
Bảng 1.8: Các vector ngắt


II.CƠ SỞ LÝ THUYẾT CHUYỂN ĐỔI SỐ - TƯƠNG TỰ
Có thể nói sự biến đổi qua lại giữa các tín hiệu từ dạng tương tự sang dạng
số là cần thiết vì:
- Hệ thống số xử lý tín hiệu số mà tín hiệu trong tự nhiên là tín hiệu tương
tự: cần thiết có mạch đổi tương tự sang số.
- Kết quả từ các hệ thống số là các đại lượng số: cần thiết phải đổi thành tín
hiệu tương tự để có thể tác động vào các hệ thống vật lý và thể hiện ra bên ngoài
(thí dụ tái tạo âm thanh hay hình ảnh) hay dùng vào việc điều khiển sau đó (thí
dụ dùng điện thế tương tự để điều khiển vận tốc động cơ).

1. Các phương pháp chuyển đổi số sang tương tự (DAC)
Chuyển đổi số tương tự (DAC) là quá trình tìm lại tín hiệu tương tự từ N số
hạng(N bít) đã biết của tín hiệu số với độ chính xác là một mức lượng tử tức là
một LSB.

21


Hình 2.1 Sơ đồ khối quá trình chuyển đổi số sang tương tự
Đồ thị thời gian của tín hiệu ra sau mạch chuyển đổi DA có dạng như hình vẽ:

Hình 2.2 Đồ thị thời gian của tín hiệu sau mạch chuyển đổi DA
Tín hiệu ra là tín hiệu rời rạc theo thời gian như trên hình vẽ.Tín hiệu này được
đưa qua bộ lọc thông thấp lý tưởng LTT.Trên đầu ra của LTT có tín hiệu Va biến
thiên liên tục theo thời gian là tín hiệu nội suy của Vm.
Sau đây sẽ xét các phương pháp biến đổi cơ bản:
1.1 Chuyển đổi DA bằng phương pháp thang điện trở

22



Hình 2.3 Sơ đồ nguyên lý bộ chuyển đổi D/A theo phương pháp thang điện trở
Trên đầu vào bộ khuếch đại thuật toán là một thang điện trở mà trị số của chúng
phân bố theo mã nhị phân: các điện trở lân cận nhau có trị số hơn kém nhau 2
lần.Tín hiệu điều khiển chính là tín hiệu số cần chuyển đổi.Bit có ý nghĩa nhỏ
nhất LSB được đưa đến điều khiển khóa nối với điện trở R,bit có ý nghĩa lớn
hơn tiếp đó được đưa đến điều khiển khóa nối với điện trở nhỏ hơn R/2….và
MSB điều khiển khóa nối với điện trở nhỏ nhất(R/(2^(N-1))).Nếu một bít có giá
trị 0 thì khóa tương ứng nối với đất và nếu một bít có giá trị 1 thì khóa tương
ứng nối với điện áp chuẩn Uch để tạo nên một dòng điện tỷ lệ nghịch với trị số
điện trở của nhánh đó nghĩa là I0 có giá trị nhỏ nhất và In-1 có giá trị lớn
nhất.Dòng điện sinh ra trong các nhánh đưa tới đầu vào bộ khuếch đại thuật toán
,trên đầu ra bộ khuếch đại thuật toán có điện áp

23


Hình 2.4 Minh họa nguyên tắc làm việc của chuyển mạch K trên hình 2.3
Để thực hiện chuyển mạch K có thể dùng sơ đồ hình 2.4 .Đây là một mạch
khuếch đại vi sai làm việc ở trạng thái bão hòa.Khi tín hiệu điều khiển có giá trị
0 thì I0 qua T1 xuống đất, khi tín hiệu điều khiển có giá trị 1 thì I0 được dẫn qua
T2 đến đầu vào bộ khuếch đại thuật toán.Chuyển đổi D/A theo phương pháp này
yêu cầu trị số của các điện trở phải rất chính xác.
1.2 Chuyển đổi DA bằng phương pháp mạng điện trở

Trong mạch này các nguồn dòng được tạo ra từ các nguồn điện áp chuẩn Uch.

24



Hình 2.5 Sơ đồ nguyên lý bộ chuyển đổi D/A theo phương pháp mạng điện trở
Dòng điện của chúng bằng nhau và bằng I0.Tín hiệu cần chuyển đổi (tín hiệu
điều khiển) được đưa đến chuyển mạch K.Khi một bit nào đó của tín hiệu điều
khiển là 0 thì I0 tương ứng với bit đó bị ngắn mạch qua khóa xuống đất.Ngược
lại,nếu một bit nào đó của tín hiệu điều khiển là 1 thì I0 tương ứng với bit đó
được dẫn đến đầu vào bộ khuếch đại thuật toán qua mạng điện trở.Trong sơ đồ
này mạng điện trở làm nhiệm vụ phân dòng.Vì điện trở nhánh ngang bằng một
nửa điện trở nhánh dọc,nên dòng điện khi qua mỗi khâu điện trở thì giảm đi một
nửa.Dòng điện ứng với LSB đi qua (N-1) khâu điện trở,dòng điện ứng với bít có
ý nghĩa lớn hơn đi qua (N-2) khâu…..và dòng điện ứng với MSB được đưa trực
tiếp đến đầu vào bộ khuếch đại thuật toán (I0).Kết quả là các dòng điện ở cửa
vào bộ khuếch đại thuật toán có trị số tương ứng với bit mà nó đại diện.Chúng
có trị số giảm dần từ MSB đến LSB theo mã nhị phân.Trong sơ đồ,điện trở ở
nhánh ngang cuối cùng có trị số là 2R bằng điện trở nhánh dọc.Kết cấu này
nhằm đảm bảo sự phân dòng cho I(N-2)=I0/2 ở khâu cuối cùng cũng giống các
khâu trước.Trong sơ đồ này số điện trở phải dùng khá lớn,nếu phải chuyển đổi N
bit thì số điện trở phải dùng là 2*(N-1),trong khi phương pháp thang điện trở thì
chỉ cần dùng N điện trở mà thôi.
1.3 Chuyển đổi DA bằng phương pháp mã hóa Shannon-Rach

Mạch mã hóa Shannon-Rach được biểu diễn trên hình 2.6

25


×