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

Điều khiển thiết bị điện bằng điện thoại di động

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.35 MB, 65 trang )

LỜI NÓI ĐẦU
Ngày nay, ngành công nghệ thông tin đã đạt được những tiến bộ vượt bậc với sự ra
đời của ngành công nghiệp phần cứng, cũng như phần mềm việc giải quyết các công việc
giúp con người trở nên dễ dàng, thuận tiện và nhanh chóng.
Cùng với sự phát triển của ngành công nghệ thông tin là sự phát triển mạnh mẽ của
các hệ thống thông tin liên lạc, sự ra đời của các dịch vụ điện thoại mà cụ thể là điện thoại
di động với ưu thế dễ dàng hoạt động khi di chuyển mọi lúc mọi nơi. Chính vì vậy ngoài
việc dùng điện thoại để liên lạc một vấn đề được đặt ra là chúng ta có thể sử dụng điện
thoại như một chiếc Remote để điều khiển các thiết bị điện từ xa. Từ yêu cầu trên và
những kiến thức em được học ở trường em đã lựa chọn đề tài: “Điều khiển thiết bị điện
điện sử dụng điện thoại di động.”
Đề tài: Việc thiết kế các ứng dụng của PIC với điện thoại di động, IC thu phát
DTMF rất phong phú và phức tạp, do vậy trong đề tài này em tập trung giải quyết các vấn
đề chính:
 Thiết kế phần cứng điều khiển thiết bị điện thông qua IC MT8870.
 Điều khiển bật/tắt thiết bị điện..
 Hiển thị trên LED để kiểm tra kết nối .


NHẬN XÉT CỦA THẦY
…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..


…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..


MỤC LỤC ............................................................................................................................ 4
CHƯƠNG 1…………………….………………………………………………………….7
GIỚI THIỆU ĐỀ TÀI……………………………………………………………………...7
1.1 Ý tưởng bài toán ............................................................................................................ 7

1.2 Cấu tạo cơ bản và nguyên lý hoạt động của điện thoại ................................................. 8

1.3 Tín hiệu DTMF ............................................................................................................ 8
1.3.1 Định nghĩa .......................................................................................................... 8
1.3.2 KEYPAD ........................................................................................................... 9
1.3.3 IC MT8870 thu tín hiệu DTMF ....................................................................... 11

CHƯƠNG 2 ........................................................................................................................ 15
TÌM HIỂU VI ĐIỀU KHIỂN PIC 16F84A........................................................................ 15
2.1 Giới thiệu PIC 16F84A................................................................................................ 15


2.2 Sơ đồ bố trí chân ......................................................................................................... 16

2.3 Sơ đồ khối .................................................................................................................... 17

2.4 Cấu tạo bộ dao động .................................................................................................... 20

2.5 Hoạt động RESET ....................................................................................................... 22


2.6 Tổ chức bộ nhớ ............................................................................................................ 24

2.7 Cấu trúc cổng I/O ........................................................................................................ 37
2.7.1 PORTA ............................................................ Error! Bookmark not defined.
2.7.2 PORTB ............................................................................................................. 43

2.8 Bộ định thời(TMRO)…………………………………………………………………47
2.9 Watch dog timer(WDT)………………………………………………………………48

2.10 Ngắt…………………………………………………………………………………49

CHƯƠNG 3 Tập lệnh của PIC16F84A .............................................................................. 51
3.1 Bảng tóm tắt lệnh của PIC16F84A .............................................................................. 51

3.2 Định dạng tổng quát của lệnh ...................................................................................... 53

CHƯƠNG 4 ........................................................................................................................ 55
4.1 Ý tưởng ......................................................................................................................... 55
4.2 Sơ đồ khối của mạch………………………………………………………………….55
4.3 Nguyên lý hoạt động ................................................................................................... 56


4.4 Thiết kế phần cứng ...................................................................................................... 57


4.5 Thiết kế phần mềm ...................................................................................................... 63
CHƯƠNG 5………………………………………………………………………..……..65
Kết luận và hướng phát triển đề tài……………………………………………………...65

5.1 Kết quả…...………………………………………………………………………….65
5.2 Kết luận……………………………………………………………………………...65


CHƯƠNG 1
GIỚI THIỆU ĐỀ TÀI
1.1 Ý tưởng đề tài

Ngày nay, công nghệ điện thoại di động ngày một phát triển mạnh. Điện thoại trở
thành một nhu cầu không thể thiếu được của con người trong nhịp sống hiện đại chiếc
điện thoại gần như lúc nào cũng được chúng ta mang theo bên người. Bởi vậy ngoài khả
năng nghe, gọi, nhắn tin, truy cập internet, giải trí…vv thì một câu hỏi được đặt ra là: Có
thể dùng điện thoại di động để điều khiển các thiết bị điện như Tủ lạnh, TV, điều hoà
nhiệt độ, máy tính, lò vi sóng, quạt điện, đèn chiếu sáng, bình nóng lạnh….vv không.

Xuất phát từ những yêu cầu thực tế cuộc sống đề tài của em nghiên cứu thu tín
hiệu DTMF từ điện thoại di động để từ đó giải mã và đưa ra được các tín hiệu điều khiển
bật /tắt thiết bị điện.Với khả năng này chúng ta chỉ cần mang điện thoại ra và gọi điện
nhập mã điều khiển là có thể yên tâm các thiết bị điện chúng ta đã ở trạng thái tắt/bật như
ý muốn.


1.2 Cấu tạo cơ bản và nguyên lý hoạt động của điện thoại

1.2.1 cấu tạo cơ bản
Gồm ba phần chính sau:
 Phần chuyển đổi mạch điện: Phần này gồm hệ thống lá mạ tiếp điểm và có
nhiệm vụ đóng mở mạch điện khi có yêu cầu.
 Phần thu và phát tín hiệu gọi: Phần này gồm hai phần chính là máy điện quay tay
có nhiệm vụ phát tín hiệu gọi lên đường truyền và phần chuông máy có nhiệm vụ
biến dòng tín hiệu gọi thành tín hiệu gọi.
1.2.2 Nguyên lý hoạt động
Khi ta thực hiện cuộc gọi dao động âm thanh của tiếng nói sẽ tác động vào màng
rung của mic làm xuất hiện dòng điện biến đổi tương ứng trong mạch. Dòng điện biến đổi
này được truyền trên đường dây điện thoại và được chuyển mạch đến máy điện thoại
được gọi, làm cho màng rung của loa dao động, lớp không khí trước màng sẽ dao động
theo phát ra âm thanh tác động đến tai người nghe và quá trình truyền dẫn ngược lại cũng
tương tự.
1.3 Tín hiệu DTMF
1.3.1 Định nghĩa
DTMF(Dual Tone Multi Frequency): là tín hiệu gồm có hai tần số xếp trồng lên
nhau. Mỗi tần số được lựa chọn sao cho có lợi cho việc thiết kế bộ lọc và dễ dàng truyền
đi trên đường dây điện thoại có băng thông khoảng chừng 3,5KHz. DTMF phát ra là 1 tín
hiệu âm thanh ghép của 2 tín hiệu trong dải tần số từ 697Hz đến 1633Hz.


1.3.2 KEYPAD
Trong DTMF mỗi chữ số chọn lựa có tín hiệu dưới dạng tổ hợp của hai tần số xoay
chiều:

Hình 1.1: Dạng tín hiệu DTMF
Khi một nút được bấm, hai tần số mô tả chữ số được phát ra và được gửi một cách
đồng thời. Đặc biệt là hai âm thanh này không cùng âm, tức là tần số của âm thanh này
không có cùng ước số chung với âm thanh kia, điều này để tránh sự nhầm lẫn vô tình với

âm hiệu nói, sự phân tách rõ ràng giữa hai loại này là rất cần thiết. Ví dụ như hai tần số
750 và 500 là hai tần số không thể kết hợp thành tín hiệu DTMF vì có cùng ước số chung
là 250, hai tần số này là hai âm thanh cùng âm.
Keypad chuẩn là một ma trận chữ nhật gồm ba cột và bốn hàng (3x4) tạo nên tổng
cộng là 12 phím nhấn: trong đó có 10 phím cho chữ số (từ 0 đến 9), hai phím đặc biệt là
‘*’ và ‘#’. Mỗi hàng trên bàn phím bấm được gán cho một tần số tín hiệu thấp, mỗi cột
được gán cho tần số tín hiệu cao. Mỗi một phím sẽ có một tín hiệu DTMF riêng được
tổng hợp bởi hai tần số tương ứng với hàng và cột mà phím đó đang đứng. Những tần số
này đã được lựa chọn cẩn thận sao cho có lợi cho việc thiết kế bộ lọc và dễ dàng truyền đi
trên đường dây điện thoại.


Hình 1.2: Bàn phím chuẩn 12 nút
Ngày nay, người ta còn cho thêm một vài phím để tạo nên bảng mã được nằm trong
một ma trận (4x4) với mỗi hàng miêu tả bằng một tần số thấp và mỗi cột miêu tả bằng
một tần số cao.

Hình 1.3: Bàn phím mở rộng 16 phím


1.3.3 IC MT8870 thu tín hiệu DTMF

Hình 1.4: IC thu DTMF MT8870
Định nghĩa các chân như sau:
-

PIN 1 (IN+) Non- Investing op-amp: Ngõ vào không đảo.

-


PIN 2 (IN-) Investing op-amp: Ngõ vào đảo.

-

PIN 3 (GS) Gain Select: Giúp truy xuất ngõ ra của bộ khuếch đại vi sai đầu
cuối qua điện trở hồi tiếp.

-

PIN 4 (Vref ) Reference Voltage: Ngõ ra (Thông thường bằng VDD/2).

-

PIN 5 (INH) Inhibit: Ngõ vào (Khi chân này ở mức logic cao thì không
nhận được ký tự A,B,C ở ngõ ra).

-

PIN 6 ( PWDN) Power down: Ngõ vào tác động mức cao (Khi chân này tác
động thì sẽ cấm mạch dao động và IC 8870 hoạt động).

-

PIN 7 (OSC 1): Clock ngõ vào MHz

-

PIN 8 (OSC 2): Clock ngõ ra (Nối hai chân 7 và 8 với thạch anh 3.579545
MHz, để tạo một mạch dao động nội).


-

PIN 9 (Vss): Nối GND.

-

PIN 10(TOE) Three Stage Output Enable: Ngõ vào, Ngõ ra Q1-Q4 hoạt
động khi TOE ở mức cao.


-

PIN 11-14 từ Q1-Q4: Ngõ ra (khi TOE ở mức cao các chân này cung cấp
mã tương ứng với các cặp Tone dò tìm được theo bảng chức năng. Khi TOE
ở mức thấp dữ liệu ngõ ra ở trạng thái trở kháng cao).

-

PIN 15 (STD) Delayed Steering: Ngõ ra, ở mức cao khi gặp tần số Tone đã
được ghi nhận và gõ ra chốt thích hợp, trở về mức thấp khi điện áp trên
ST/GT nhỏ hơn điện áp ngưỡng VTST.

-

PIN 16 (EST): Early Steering (ngõ ra), chân này lên mức [1] khi bộ thuật
toán nhận được cặp tone và trở về mức[0] khi mất Tone.

-

PIN 17 (ST/GT): Steering Input /Guard tune output (ngõ ra), khi điện áp Vc

lớn hơn VTST thì ST sẽ điều khiển dò tìm cặp Tone và chốt ngõ ra.

-

PIN 18 (VDD): Điện áp cung cấp, thường là +5V.

IC nhận tín hiệu DTMF từ đường điện thoại qua chân 2 (IN -), sau khi thực hiện
giải mã nó đưa dữ liệu ra 4 chân (từ chân 11 đến chân 14) dưới dạng 4 bit nhị phân.


Hình 1.5: Sơ đồ khối của MT8870


Bảng trạng thái MT8870:

Digit

TOE

ANY

INH

Est

Q4

Q3

Q2


Q1

L

X

H

Z

Z

Z

Z

1

H

X

H

0

0

0


1

2

H

X

H

0

0

1

0

3

H

X

H

0

0


1

1

4

H

X

H

0

1

0

0

5

H

X

H

0


1

0

1

6

H

X

H

0

1

1

0

7

H

X

H


0

1

1

1

8

H

X

H

1

0

0

0

9

H

X


H

1

0

0

1

0

H

X

H

1

0

1

0

*

H


X

H

1

0

1

1

#

H

X

H

1

1

0

0

A


H

L

H

1

1

0

1

B

H

L

H

1

1

1

0


C

H

L

H

1

1

1

1

D

H

L

H

0

0

0


0


Đồ án thiết kế chun ngành 1

CHƯƠNG 2
KIẾN TRÚC PHẦN CỨNG PIC16F84A
2.1. Giới thiệu PIC16F84A
PIC16F84A là một vi điều khiển 8 bit sử dụng cấu trúc RISC ( Reduced Instruction
Set Computer = Máy tính có tập lệnh rút ngọn ). Các bus dữ liệu và lệnh riêng biệt
theo cấu trúc Harvard cho phép từ lệnh có độ dài 14 bit trong khi một từ dữ liệu có
độ dài 8 bit. Vùng ngăn xếp có độ sâu 8 mức và độc lập với bộ nhớ RAM
Các đặc điểm
+ Có 35 lệnh đơn.
+ Mỗi lệnh được thực hiện trong một chu kỳ máy ( ngoại trừ các lệnh rẽ nhánh
được thực hiện trong hai chu kỳ máy ).
+ Bộ nhớ chương trình : 1024 từ, mỗi từ có độ dài 14 bit.
+ Bộ nhớ dữ liệu RAM : 68 byte, mỗi byte có độ dài 8 bit.
+ Bộ nhớ dữ liệu EEPROM : 64 byte, mỗi byte có độ dài 8 bit.
+ 16 thanh ghi có chức năng đặc biệt.
+ 13 chân xuất/nhập được chia thành 2 port. Port A có 5 chân, port B có 8 chân.
+ Có 4 nguồn ngắt
 Ngắt ngoài trên chân RB0/INT.
 Hoàn thành việc ghi dữ liệu vào EEPROM.
 Ngắt tràn của bộ đònh thời TMR0.
 Port B thay đổi trạng thái trên các chân RB< 7:4 > .
Các tính năng
+ PIC16F84A có thể giao tiếp và điều khiển thiết bò ngoại vi thông qua các
chân xuất/nhập.

+ Có thể đáp ứng các mạch đòi hỏi thời gian thực.
+ Sử dụng công nghệ CMOS nên dòng sử dụng thấp 20mA.
+ Có thể lựa chọn bộ dao động.
+ Reset
Chức năng Reset PIC trong khi nguồn cung cấp chưa ổn đònh. Khi bật nguồn thì bộ
dao động thạch anh lúc đầu chưa ổn đònh do đó ở thời gian đầu cần phải Reset PIC
cho đến khi bộ dao động thạch anh ổn đònh. Có hai bộ đònh thời làm trễ lúc bật
điện, một là bộ đònh thời khởi động bộ dao động, hai là Power-up Timer (PWRT)
cung cấp khoảng trễ cố đònh là 72 ms chỉ khi bật điện.
 Power-on Reset (POR)
 Power-up Timer (PWRT)
 Bộ đònh thời khởi động bộ dao động
+ Ngắt
+ Watchdog Timer (WDT)


Đồ án thiết kế chun ngành 1
Chế độ Watchdog Timer chỉ được chọn hoặc tắt thông qua các bit cấu hình. Chức
năng này dùng để Reset PIC hay đánh thức PIC ( khi ở chế độ SLEEP) sau một
khoảng thời gian.
+ Chế độ SLEEP
Khi chế độ này được thực hiện nó làm cho PIC ngưng xử lý chương trình ứng dụng.
Chế độ này đưa PIC vào trạng thái nghỉ tạm thời với một dòng tiêu thụ rất thấp. Có
thể cho PIC hoạt động trở lại bằng 3 cách : reset tại chân MCLR , cho bộ Watchdog
timer hoạt động, dùng ngắt ngoài.
+ Sự bảo vệ mã.
2.2. Sơ đồ bố trí chân
PIC16F84A có tất cả 18 chân thường được tìm thấy là loại DIP 18 nhưng cũng có
thể tìm thấy loại SMD, loại này có kích thước nhỏ hơn DIP. DIP là từ viết tắt của
Dual In Package, SMD là từ viết tắt của Surface Mount Devices.


Hình 1 : Sơ đồ bố trí chân PIC16F84A
Ý nghóa các chân :
Chân 1: RA2
Chân thứ hai của port A, là chân nhập/xuất.
Chân 2: RA3
Chân thứ ba của port A, là chân nhập/xuất.
Chân 3: RA4/T0CKI Chân thứ tư của port A, là chân nhập/xuất. T0CKI chọn
ngõ vào Clock tới bộ đònh thời TMR0.
Chân 4: MCLR Ngõ vào Reset vi điều khiển, tích cực mức thấp và còn dùng để
lập trình cho vi điều khiển với điện áp lập trình là 13V.
Chân 5: Vss
Chân nối mass.
Chân 6: RB0/INT
Chân thứ 0 của port B, là chân xuất/nhập, ngoài ra còn
có chức năng là chân ngắt ngoài.
Chân 7:RB1
Chân thứ nhất của port B, là chân nhập/xuất.
Chân 8:RB2
Chân thứ hai của port B, là chân nhập/xuất.
Chân 9:RB3
Chân thứ ba của port B, là chân nhập/xuất.
Chân 10:RB4
Chân thứ tư của port B, là chân nhập/xuất.
Chân 11:RB5
Chân thứ năm của port B, là chân nhập/xuất.


Đồ án thiết kế chun ngành 1
Chân 12:RB6 Chân thứ sáu của port B, là chân nhập/xuất. Khi lập trình nó là

đường ‘clock’.
Chân 13:RB7 Chân thứ bảy của port B, là chân nhập/xuất. Khi lập trình nó là
đường dữ liệu.
Chân 14:VDD
Chân cung cấp nguồn +5V.
Chân 15:OSC2/CLKOUT Chân nối tới bộ dao động.
Chân 16:OSC1/CLKOUT Chân nối tới bộ dao động.
Chân 17:RA0
Chân thứ 0 của port A, là chân xuất/nhập.
Chân 18:RA1
Chân thứ nhất của port A, là chân xuất/nhập.

2.3. SƠ ĐỒ KHỐI

Hình 2 : Sơ đồ khối PIC16F84A
 Đơn vi xử lý trung tâm ( Central Processing Unit) CPU
Đơn vò xử lý trung tâm ( CPU ) là bộ não của vi điều khiển, nó có nhiệm vụ phát
hiện và tìm nạp thứ tự lệnh cần để thực hiện, mã hoá lệnh đó và cuối cùng nó cho
lệnh này thực hiện


Đồ án thiết kế chun ngành 1

Hình 2.1 : Sơ đồ khối CPU
CPU kết nối với tất cả các bộ phận của vi điều khiển tạo thành một khối thống
nhất. Chức năng quan trọng nhất của CPU là đọc và giải mã các lệnh chương trình.
Khi ta viết một chương trình, chương trình này bao gồm các dòng lệnh ví dụ
MOVLW 0x20 . Tuy nhiên, vi điều khiển sẽ không hiểu các ký tự này mà nó chỉ
làm việc với các trạng thái ‘0’ và ‘1’, vì vậy ta cần một chương trình biên dòch các
dòng lệnh này thành dãy ‘0’ và ‘1’ như là chương trình biên dòch hợp ngữ. Như vậy

khi nạp vào bộ nhớ chương trình nó sẽ được CPU giải mã thành các lệnh. Khi các
lệnh này chỉ đònh sự chuyển tiếp dữ liệu từ bộ nhớ này đến bộ nhớ khác, từ bộ nhớ
lên các port hoặc một vài sự tính toán khác, CPU phải được kết nối với tất cả các
bộ phận của vi điều khiển, sự kết nối này được thực hiện qua bus dữ liệu và bus đòa
chỉ
 Đơn vò số học – logic ( Arithmetic Logic Unit) ALU
ALU thực hiện các thao tác như cộng, trừ, di chuyển ( trái hay phải trong một thanh
ghi ) và các phép logic cơ bản. PIC16F84A bao gồm một ALU 8 bit và thanh ghi W
8 bit


Đồ án thiết kế chun ngành 1

Hình 2.2 : Sơ đồ khối ALU
Ở các lệnh có hai toán hạn, thông thường 1 toán hạn là thanh ghi W và toán hạn
kia có thể là một hằng số hoặc là một trong các thanh ghi GPR hay SFR. GPRGeneral Purposes Registers là các thanh ghi mục đích chung và SFR-Special
Function Registers là các thanh ghi có chức năng đặc biệt
Ở các lệnh có một toán hạn, toán hạn này có thể là thanh ghi W hoặc một thanh
ghi khác. Khi một phép cộng trong hoạt động số học và logic, ALU điều khiển các
bit trạng thái ( các bit này trong thanh ghi trạng thái ‘STATUS’). Sự thực hiện của
một vài lệnh sẽ ảnh hưởng đến các bit trạng thái. Sự ảnh hưởng này phụ thuộc vào
kết quả của lệnh đó, ALU có thể ảnh hưởng đến giá trò của các bit C (Carry), DC
(Digit Carry), Z (Zero) trong thanh ghi trạng thái (STATUS).
 Thanh ghi chỉ lệnh ( Instruction Register)
Thanh ghi này chứa mã lệnh đọc từ bộ nhớ chương trình. Khi thực hiện việc ghi mã
lệnh từ bộ nhớ chương trình tới thanh ghi chỉ lệnh thì đòa chỉ của mã lệnh này được
đọc từ bộ đếm chương trình.
 Giải mã và điều khiển lệnh (Instruction Decode & Control)
Khối này có nhiệm vụ giải mã nội dung của thanh ghi chỉ lệnh thành lệnh và nó thi
hành theo nội dung của lệnh đó.

 Thanh ghi W ( W reg)
Đây là thanh ghi làm việc, nó dùng để lưu trữ tạm thời nội dung của ALU. Thanh
ghi W cần thiết cho các hoạt động tính toán. Nội dung của thanh ghi này có thể
được chuyển đến các thanh ghi khác và ngược lại, nó cũng được sử dụng để điều
khiển cổng I/O


Đồ án thiết kế chun ngành 1

2.4. Cấu tạo bộ dao động
Mạch dao động dùng để cung cấp cho vi điều khiển một dao động xung clock . Nó
cần thiết cho vi điều khiển có thể thực hiện một chương trình hay một lệnh của
chương trình
Các loại dao động
PIC16F84A có thể làm việc với 4 cấu hình dao động khác nhau. Người lập trình có
thể chọn cấu hình dao động khi lập trình PIC hoặc chọn bằng 2 bit cấu hình FOSC1
và FOSC0
 LP tinh thể nguồn thấp
 XT tinh thể/cộng hưởng
 HS tinh thể tốc độ cao/cộng hưởng
 RC điện trở/ tụ điện
Bộ dao động tinh thể / hộp cộng hưởng bằng gốm :
Trong kiểu XT, LP hoặc HS một tinh thể thạch anh gồm có hai chân thường được
giữ trong vỏ bọc bằng kim loại được nối tới các chân OSC1/CLKIN và
OSC2/CLKOUT theo kiểu song song. Hai tụ loại ceramic có trò số bằng nhau một
chân được nối mass chân còn lại nối với tinh thể được trình bày như hình sau
16
C1

ZTA


OSC1/CLKIN

PIC16F84A
15OSC2/CLKOUT

0

C2

Hình 3 : Sơ đồ kết nối bộ dao động tinh thể
Bộ dao động tinh thể và tụ điện có thể gộp chung trong một vỏ bọc bằng gốm với 3
chân, được gọi là hộp cộng hưởng. Chân ở giữa được nối mass, hai chân còn lại
được nối đến chân OSC1 và OSC2 của vi điều khiển. Khi thiết kế một thiết bò, theo
nguyên tắc là phải đặt bộ tạo dao động gần con vi điều khiển để tránh nhiễu trên
đường mạch khi con vi mạch đang nhận clock.


Đồ án thiết kế chun ngành 1
Hình 4 : Kết nối bộ cộng hưởng tới vi điều khiển
Ngoài ra trong các kiểu XT, LP hoặc HS, thiết bò có thể sử dụng một nguồn clock
ngoài để điều khiển chân OSC1/CLKIN.

Hình 5 : Kết nối với nguồn xung clock bên ngoài
Bảng lựa chọn tụ cho bộ dao động tinh thể
Kiểu
LP
XT

HS


Tần số
32 kHz
200 kHZ
100 kHz
2 MHz
4 MHz
4 MHz
20 MHz

OSC1/C1
68-100 pF
15-33 pF
100-150 pF
15-33 pF
15-33 pF
15-33 pF
15-33 pF

OSC2/C2
68-100 pF
15-33 pF
100-150 pF
15-33 pF
15-33 pF
15-33 pF
15-33 pF

Khi điện dung cao hơn sẽ làm tăng thêm sự vững vàng của bộ dao động nhưng thời
gian khởi động cũng tăng.

Bộ tạo dao động RC
Bộ dao động RC thường được dùng trong những ứng dụng không cần thời gian
chính xác. Tần số cộng hưởng của bộ dao động RC được quyết đònh bởi mức điện
áp nguồn, điện trở R, tụ điện C và nhiệt độ hoạt động

Hình 6 : Cấu tạo bộ dao động RC


Đồ án thiết kế chun ngành 1
Hình 6 biểu diễn cách nối bộ dao động RC với PIC16F84A. Với giá trò của
điện trở R dưới 2,2K bộ dao động có thể bắt đầu không ổn đònh, hoặc nó có thể
ngưng dao động. Với giá trò rất cao của điện trở R ( ví dụ 1M) bộ dao động rất dễ bò
hỏng bởi tạp nhiễu và độ ẩm. Điện trở R nên chọn giá trò nằm trong khoảng 3K đến
100K. Mặc dù bộ dao động làm việc không có một tụ điện bên ngoài, nhưng để
tránh tạp nhiễu và cho mạch ổn đònh nên mắc một tụ 20pF hoặc lớn hơn. Một clock
của bộ dao động được phân biệt bởi 4 chu kỳ. Bộ dao động clock phân biệt bởi 4
chu kỳ cũng có thể thu được ở chân OSC2/CLKOUT, và cũng có thể dùng để thử
hay đồng bộ các mạch logic
Các chu kỳ máy
Một chu kỳ máy của PIC16F84A gồm có 4 trạng thái được đánh số từ Q1 đến Q4.
mỗi trạng thái chiếm 1 chu kỳ của bộ dao động. Như vậy một chu kỳ máy chiếm 4
chu kỳ của bộ dao động hay 1  s nếu tần số của bộ dao động là 4MHz

Sau khi cấp nguồn, bộ dao động bắt đầu dao động. chu kỳ đầu tiên sự dao động
không ổn đònh nhưng sau đó vài chu kỳ nó bắt đầu hoạt động bình thường

Hình 8 : Tín hiệu của bộ dao động sau khi cấp nguồn
Để ngăn chặn bộ dao động hoạt động không chính xác khi cấp nguồn có thể ảnh
hưởng đến sự thực hiện chương trình của vi điều khiển, nên reset vi điều khiển
trong suốt thời gian làm ổn đònh bộ dao động

2.5. Hoạt động RESET
PIC16F84A có các nguồn RESET sau :
 Reset trong thời gian mở nguồn Power – On Reset ( POR)


Đồ án thiết kế chun ngành 1
 Reset trong thời gian thao tác bình thường bằng cách tác động mức ‘0’ tới
chân MCLR của vi điều khiển
 Reset ở chân MCLR trong thời gian thực hiện chế độ SLEEP
 Reset khi Watchdog Timer (WDT) tràn ở chế độ bình thường.
 Reset khi WDT tràn ở chế độ SLEEP
Chân MCLR thường được nối qua một điện trở tới VDD, điện trở này có giá trò trong
khoảng 5 đến 10k. khi mang một mức ‘0’ tới chân này thì PIC sẽ được Reset.
Điều kiện Reset cho bộ đếm chương trình ( PC ) và thanh ghi STATUS
Điều kiện
PC
Thanh ghi
STATUS
POR
000h
0001 1xxx
000h
000u uuuu
MCLR Reset ở thời gian thao tác bình thường
MCLR Reset khi đang ở chế độ SLEEP

000h

0001 0uuu


Reset bằng WDT ( ở thời gian hoạt động bình
000h
0000 1uuu
thường )
WDT Wake-up
PC + 1 uuu0 0uuu
Ngắt ngoài ở thời gian thực hiện chế độ SLEEP
PC + 1 uuu1 0uuu
Chú thích : u : không thay đổi
x : không biết
Khi dùng ngắt ngoài ở thời gian thực hiện chế độ SLEEP nếu bit GIE được set thì
PC được nạp với đòa chỉ 004h.
Điều kiện Reset các thanh ghi
Thanh ghi

Đòa
chỉ

Power-on
Reset

W
INDF
TMR0
PCL
STATUS
FSR
PORTA
PORTB


--00h
01h
02h
03h
04h
05h
06h

xxxx xxxx
---- ---xxxx xxxx
0000 0000
0001 1xxx
xxxx xxxx
---x xxxx
xxxx xxxx

MCLR Reset trong
:
- Hoạt động bình
thường
- Chế độ SLEEP
WDT Reset trong
thời gian thao tác
bình thường
uuuu uuuu
---- ---uuuu uuuu
0000 0000
000q quuu
uuuu uuuu
---u uuuu

uuuu uuuu

Wake-up từ
SLEEP :
- Thông qua
ngắt ngoài
- Thông qua
tràn WDT

uuuu uuuu
---- ---uuuu uuuu
PC + 1(2)
uuuq quuu
uuuu uuuu
---u uuuu
uuuu uuuu


Đồ án thiết kế chun ngành 1
EEDATA
EEADR
PCLATH
INTCON
INDF
OPTION_REG
PCL
STATUS
FSR
TRISA
TRISB

EECON1
EECON2
PCLATH
INTCON

08h
09h
0Ah
0Bh
80h
81h
82h
83h
84h
85h
86h
88h
89h
8Ah
8Bh

xxxx xxxx
xxxx xxxx
---0 0000
0000 000x
---- ---1111 1111
0000 0000
0001 1xxx
xxxx xxxx
---1 1111

1111 1111
---0 x000
---- ------0 0000
0000 000u

uuuu uuuu
uuuu uuuu
---0 0000
0000 000u
---- ---1111 1111
0000 0000
000q quuu
uuuu uuuu
---1 1111
1111 1111
---0 q000
---- ------0 0000
0000 000u

uuuu uuuu
uuuu uuuu
---u uuuu
uuuu uuuu(1)
---- ---uuuu uuuu
PC + 1(2)
uuuq quuu
uuuu uuuu
---u uuuu
uuuu uuuu
---0 uuuu

---- ------u uuuu
uuuu
uuuu(1)

Ghi chú : u = không thay đổi
x = không biết
---- = bit không dùng đọc như ‘0’
q = giá trò được quyết đònh trên điều kiện
Chú ý : (1) một hay nhiều bit trong thanh ghi INTCON sẽ bò ảnh hưởng ( do thực
hiện Wake-up)
(2) khi WAKE-up được thực hiện bằng ngắt ngoài và bit GIE được set thì PC được
nạp với vecto ngắt 004h
2.6. Tổ chức bộ nhớ
PIC16F84A có hai khối nhớ riêng biệt, đó là bộ nhớ dữ liệu và bộ nhớ chương
trình , bộ nhớ EEPROM với các thanh ghi GPR và SFR trong bộ nhớ RAM nằm
trong khối nhớ dữ liệu, bộ nhớ FLASH nằm trong khối nhớ chương trình


Đồ án thiết kế chun ngành 1

Hình 9 : Tổ chức bộ nhớ của vi điều khiển PIC16F84A


Đồ án thiết kế chun ngành 1
2.6.1. Khối nhớ chương trình

Hình 10 : Tổ chức bộ nhớ chương trình
Bộ nhớ chương trình dùng công nghệ FLASH, đặc điểm của bộ nhớ FLASH là dữ
liệu trong bộ nhớ sẽ không bò mất đi khi tắt nguồn và nó cho phép ghi lại nhiều lần
nhưng số lần ghi lại được giới hạn là 1000 lần.

Bộ nhớ FLASH được dùng để lưu chương trình, không gian sử dụng bộ nhớ là 1024
từ, 1 từ có chiều dài là 14 bit (1024 Word  14 bit). Đòa chỉ của bộ nhớ FLASH từ
0000h đến 03FFh.
Đòa chỉ 0000h : vectơ Reset ( Reset Vector ). Khi có một điều kiện Reset xảy ra do
mở nguồn, bằng WDT (Watchdog timer) hay một vài nguồn Reset khác, chương
trình sẽ bắt đầu từ đòa chỉ này.
Đòa chỉ 0004h : vectơ ngắt (Interrupt Vector). Khi có một điều kiện ngắt xảy ra do
thanh ghi TMRO tràn khi cho phép ngắt tràn của bộ đònh thời hoặc do một nguồn
ngắt ngoài, chương trình sẽ thực hiện lệnh tại đòa chỉ này.
Như vậy không gian sử dụng chương trình sẽ bắt đầu từ đòa chỉ 0005h đến 03FFh.
Đòa chỉ 0400h đến 1FFFh : không gian bộ nhớ này không được sử dụng.
Đòa chỉ 2007h : đòa chỉ này chứa những bit cấu hình.

2.6.2. Khối nhớ dữ liệu
Khối nhớ dữ liệu bao gồm bộ nhớ dữ liệu và bộ nhớ EEPROM


×