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

Thực tập tốt nghiệp nghiên cứu lý thuyết và lắp ráp modul điều khiển nhà thông minh

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.24 MB, 60 trang )

ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA ĐIỆN TỬ
--------------

T
Đề à : N

ê

ứu lý uyế và lắ rá modul đ ều k ể
nhà thông minh

Giáo viên hướng dẫn: Lê Việt Tiến
Sinh viên thực hiện: Nguyễn Bách Khoa

Lớp: CNKT Điện Tử 3 Khóa 7
Hà Nội 03-2016
1


NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................


........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
Hà Nội, Ngày……..tháng……..năm 2016
Gả



ướ

dẫ

(Ký và ghi rõ họ tên)

2


Lờ ảm ơ

Trước tiên em xin gửi lời cảm ơn chân thành sâu sắc tới các thầy cô giáo
trong trường Đại Học Cơng Nghiệp Hà Nội nói chung và các thầy cơ giáo trong
khoa Điện Tử nói riêng đã tận tình giảng dạy, truyền đạt cho chúng em những
kiến thức, kinh nghiệm quý báu trong suốt 4 năm ngồi trên giảng đường qua.
Đặc biệt em xin gửi lời cảm ơn đến thầy Lê Việt Tiến, thầy đã tận tình
giúp đ , tr c tiếp ch bảo, hướng d n em trong suốt quá trình làm th c tập tốt

nghiệp. Trong thời gian làm việc với thầy, em không ngừng tiếp thu thêm nhiều
kiến thức bổ ích mà cịn học tập được tinh thần làm việc, thái độ nghiên cứu
khoa học nghiêm túc, hiệu quả, đây là những điều rất cần thiết cho em trong q
trình học tập và cơng tác sau này.
Sau cùng em xin gửi lời cảm ơn chân thành tới gia đình, bạn b đã động
viên, đóng góp ý kiến và giúp đ trong quá trình học tâp, nghiên cứu và hoàn
thành th c tập tốt nghiệp.
Đề tài này được hồn thành khơng th tránh kh i những thiếu sót nhất
định. Em mong nhận được s góp ý quý báu của các thầy cô giáo và các bạn.
Em xin chân thành cảm ơn.
à

i 03-2016

3


Mục lục
Lời cảm ơn. ...................................................................................................1
Bảng ký hiệu viết tắt .....................................................................................6
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI .............................................................7
I.

Cơ sở lý

II.

Ý

uyế ..................................................................................... 7


ĩa

ễ ................................................................................. 7

CHƯƠNG 2: CÁC HỌ VI ĐIỀU KHIỂN THÔNG DỤNG ..........................8
Họ v đ ều k ể 8051 .......................................................................... 9

I.

1. V đ ều k ể 8051................................................................................................. 9
2. V đ ều k ể 8052............................................................................................... 24
3. V đ ều k ể 8031............................................................................................... 25

II.
1.

HỌ VI ĐIỀU KHIỂN PIC ................................................................ 25
K ế rú PIC ......................................................................................................... 26

2. Cá dị
3.

N ơ

PIC và á
ữl




l a

ọ v đ ều k ể PIC ................................................ 27

o PIC .................................................................................... 28

4. V đ ều k ể PIC16F877A ................................................................................. 28

III. HỌ VI ĐIỀU KHIỂN AVR............................................................... 33
1. Sơ lượ về k ế
2. Cấu rú bộ

rú VĐK ................................................................................... 33
ớ .................................................................................................. 34

3. N ắ N oà ........................................................................................................... 37

CHƯƠNG 3: THIẾT KẾ MODUL ĐIỀU KHIỂN NHÀ THÔNG MINH .. 41
Cơ sở lý

I.

uyế ................................................................................... 41

1. K á quá về V đ ều k ể ATMEGA 8 ............................................................ 41
2. G ao
3. Tổ

II.


ứ 1-Wire ............................................................................................... 43
qua về ảm b ế qua

Quy rì

1. Hướ

............................................................................ 46

ế kế và ộ du

ế kế ............................................ 47

ế kế..................................................................................................... 48
4


2. T ế kế

III. Kế lu



............................................................................................. 48

.............................................................................................. 58

1. Về ưu đ ểm .......................................................................................................... 59
2. Về
3. Hướ


ượ đ ểm .................................................................................................... 59
á r ể ................................................................................................ 59

TÀI LIỆU THAM KHẢO:.......................................................................... 59

5


Bả


u



uvế ắ

V ế đ y đủ

Gả

í

VĐK

Vi Điều Khi n

PIC
CPU


Programmable
Intelligent Computer
Central Processing Unit

Máy tính khả trình
thơng minh
Bộ xử lý trung tâm

ROM

Read-only Memory

Bộ nhớ ch đọc

RAM

Random Access Memory Bộ nhớ truy cập ng u
nhiên

6


CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI
I.

Cơ sở lý

uyế


Khi cuộc sống con người càng được nâng cao, những nhu cầu cuộc sống
ngày càng đòi h i phải được hỗ trợ tốt hơn. Và từ những nhu cầu th c tế đó ý
tưởng về một ngơi nhà thơng minh mà nơi đó ngồi s ấm áp của tình u
hạnh phúc, mọi hoạt động của con người đều được hỗ trợ và giúp đ một cách
linh hoạt, không những được giúp đ mà ngơi nhà cịn t động quản lý một
cách thơng minh
Ngày nay với s phát tri n mạnh mẽ vượt bậc của khoa học kỹ thuật, đặc
biệt là s phát tri n của vi điều khi n thì ý tưởng về một ngơi nhà thơng minh
khơng cịn vướng bởi rào cản cơng nghệ. Khi đó con người sẽ có cảm giác an
tồn hơn khi ngơi nhà của chúng ta sẽ được tích hợp của các hệ thống như hệ
thống điều khi n và giám sát môi trường: hệ thống đảm b a nhiệt độ, hệ thống
đảm bảo ánh sáng…, mạch đóng ngắt, điều khi n ra vào, giám sát cảnh báo
cháy…, thành một hệ thống mạng thống nhất.
II.

Ý

ĩa



Chúng ta không th phủ nhận lợi ích của việc nghiên cứu và phát tri n nhà
thơng minh tới đời sống hiện tại, nó mang lại tính tiện nghi, thoải mái, sang
trọng, an tồn cho cuộc sống nhiều âu lo, vất vả hằng ngày. Khơng những vậy
nhà thơng minh cịn là giải pháp tiết kiệm nguồn năng lượng, đang là vấn đề
làm đau đầu các nhà khoa học.
Con người sẽ có cuộc sống tốt đẹp hơn, khơng phải dành q nhiều tâm trí
trong việc quản lý ngơi nhà, mà con người có th dành thời giờ cho nhiều việc
khác. Chúng ta gần như tương tác đươc những vật liệu mà trước đây gần như là
không th .


7


Và ngơi nhà của chúng ta cũng có một cái nhìn hồn tồn mới, th c s như
một vật th t vận hành đ phục vụ con người. Giờ đây ta hồn tồn hãnh diện
với ngơi nhà th hiện dẳng cấp của s chuyên nghiệp, hiện đại, phong cách mà
bất cứ đặc trưng nào ta muốn có. Với tiêu chí đó khóa luận lần này em sẽ trình
vày về cách xây d ng và thiết kế modul điều khi n nhiệt độ và ánh sáng trong
nhà thông minh.
CHƯƠNG 2: CÁC HỌ VI ĐIỀU KHIỂN THÔNG DỤNG
Vi điều khi n là một máy tính được tích hợp trên một chíp, nó thường được
sử dụng đ điều khi n các thiết bị điện tử. Vi điều khi n, th c chất, là một hệ
thống bao gồm một vi xử lý có hiệu suất đủ dùng và giá thành thấp (khác với
các bộ vi xử lý đa năng dùng trong máy tính) kết hợp với các khối ngoại vi
như bộ nhớ, các mô đun vào/ra, các mô đun biến đổi số sang tương t và tương
t sang số,... Ở máy tính thì các mơ đun thường được xây d ng bởi các chíp và
mạch ngoài.
Vi điều khi n thường được dùng đ xây d ng các hệ thống nhúng. Nó xuất
hiện khá nhiều trong các dụng cụ điện tử, thiết bị điện, máy giặt, lị vi sóng, điện
thoại, đầu đọc DVD,thiết bị đa phương tiện, dây chuyền t động, v.v.
Các họ vi điều khi n hiện nay:
Họ v đ ều k ể AMCC (do tập đoàn "Applied Micro Circuits
Corporation" sản xuất). Từ tháng 5 năm 2004, họ vi điều khi n này được
phát tri n và tung ra thị trường bởi IBM.
+ 403 PowerPC CPU
+ PPC 403GCX
Họ v đ ều k ể A mel
8



+ Dòng 8051 (8031, 8051, 8751, 8951, 8032, 8052, 8752, 8952)
+ Dòng Atmel AT91 (Kiến trúc ARM THUMB)
Họ v đ ều k ể Cy ress M roSys ems
+ CY8C2xxxx (PSoC)
Họ v đ ều k ể Frees ale Semiconductor. Từ năm 2004, những vi điều
khi n này được phát tri n và tung ra thị trường bởi Motorola.
+ Dòng 8-bit
Họ v đ ều k ể Fuj su
+ F²MC Family (8/16 bit)
+ FR Family (32 bit)
+ FR-V Family (32 bit RISC)
Họ v đ ều k ể I el
+ Dòng 8-bit
+ Dòng 16-bit
+ Dòng 32-bit
Họ v đ ều k ể M ro
+ PIC 8-bit (xử lý dữ liệu 8-bit, 8-bit data bus)
+ PIC 16-bit (xử lý dữ liệu 16-bit)
+ PIC 32-bit (xử lý dữ liệu 32-bit): PIC32MX
Trong bài báo cáo này em xin trình bày về 3 họ vi điều khi n thơng dụng và
được nhiều người sử sụng nhất hiện nay là: Họ VĐK 8051 (bao gồm vđk 8051,
8052, 8031) , họ VĐK PIC ( PIC16F877A) và họ VĐK AVR.
I.

Họ v đ ều k ể 8051

1. V đ ều k ể 8051
9



a. Tóm tắt về lịch sử của 8051
Vào năm 1981 hãng Intel giới thiệu một số bộ vi điều khi n được gọi là
8051. Bộ vi điều khi n này có 128 byte RAM, 4K byte ROM trên chíp, hai bộ
định thời, một cổng nối tiếp và 4 cổng (đều rộng 8 bit) vào ra tất cả được đặt
trên một chíp. Lúc ấy nó được coi là một „hệ thống trên chíp‟. 8051 là một bộ
xử lý 8 bit có nghĩa là CPU ch có thẻ làm việc với 8 bit dữ liệu tại một thời
đi m. Dữ liệu lớn hơn 8 bit đƣợc chia ra thành các dữ liệu 8 bit đ cho xử lý.
8051 có tất cả 4 cổng vào ra I/O mỗi cổng rộng 8 bit (hình vẽ). Mặc dù 8051 có
một ROM trên chíp c c đại là 64Kbyte, nhưng các nhà sản xuất lúc đó đã xuất
xưởng ch với 4Kbyte Rom trên chíp.
8051 đã trở nên phổ biến sau khi Intel cho phép các nhà sản xuất khác
nhau sản xuất và bán bất kỳ dạng biến th nào của 8051 mà họ thích với điều
kiện họ phải đ lại mã tương thích với 8051. Điều này d n đến s ra đời nhiều
phiên bản của 8051 với các tốc độ khác nhau và dung lượng Rom trên chíp khác
nhau. Điều này quan trọng là mặc dù có nhiều biến th khác nhau của 8051 về
tốc độ và dung lượng nhớ ROM trên chíp nhưng tất cả chúng đều tương thích
với 8051 ban đầu về các lệnh. Điều này có nghĩa là nếu ta viết chương trình cho
một phiên bản nào đó thì nó cũng sẽ chạy với mọi phiên bản bất kỳ khác mà
không phân biệt nó từ hãng sản xuất nào.
Bả

2.1. Các đặc tính của 8051 đầu tiên.

Đặc tính

Số lượng

ROM trên chip


4Kbyte

RAM

128 byte

Bộ định thời

2

Các chân vào ra

32

Cổng nối tiếp

1
10


Nguồn cắt

6

Bộ vi điều khi n 8051 là thành viên đầu tiên của họ 8051, hãng Intel ký hiệu nó
là MSC51.
b. Sơ đồ chân

Hình 2.1 Sơ đồ chân 8051
Từ hình 2.1. ta thấy trong 40 chân có 32 chân dùng cho các cổng P0, P1,

P2, P3 với mỗi cổng có 8 chân. Các chân còn lại dành cho nguồn Vcc, đất
GND, các chân dao động XTAL1 và XTAL2, khởi động lại RST cho phép chốt
địa ch ngoài EA , cho ngắt cất chƣơng trình PSEN . Trong 8 chân này thì 6
chân Vcc, GND, XTAL1, XTAL2, RST và EA đƣợc các họ 8031 và 8051 sử
dụng. Hay nói cách khác là chúng phải được nối đ cho hệ thống làm việc mà
không cần biết bộ vi điều khi n thuộc họ 8051 hay 8031. Còn chân PSEN và
chân ALE được sử dụng trong các hệ thống d a trên 8031.
11


+ Chân Vcc và chân GND tương ứng với chân số 40 và chân số 20 cung
cấp nguồn (+5V) và nối mass
+ Chân XTAL1 (chân 19) và XTAL2 (chân 18): 8051 có bộ dao động
trên chíp nhưng nó u cầu có một xung đồng hồ ngồi đ chạy nó. Bộ
dao động thạch anh được nối với XTAL1 và XTAL2 cùng hai tụ điện có
giá trị 30pF
+ Chân RST: Chân số 9 là chân tái lập RESET. Nó là chân đầu vào có
mức tích c c cao. Khi cấp xung cao tới chân này thì bộ vi điều khi n sẽ
tái lập và kết thúc mọi hoạt động. Nó có th coi như s tái bật nguồn.
+ Chân EA (là chân IN): Truy cập bộ nhớ ngoài, chân số 31 trên v chíp
như 8751, 89C51 hoặc DS5000 thì chân EA được nối với nguồn Vcc.
Trường hợp khơng có ROM trên chíp như 8031 và 8051 thì mã chương
trình được lưu cất ở bộ nhớ ngồi, khi đó chân EA được nối đất. Như vậy
chân này không bao giờ được đ hở.
+ Chân PSEN là chân có chức năng cho phép lưu chƣơng trình. Ở hệ
thống 8031, khi chương trình cất ở bộ nhớ ROM ngồi thì chân này được
nối tới chân OE của ROM.
+ ALE cho phép chốt địa ch là chân có mức tích c c cao. Khi nối 8031
tới bộ nhớ ngồi thì cổng 0 cũng được cấp địa ch và dữ liệu. Hay nói
cách khác, 8031 dồn địa ch và dữ liệu qua cổng 0 đ tiết kiệm số chân.

Chân ALE được sử dụng đ phân kênh địa ch và dữ liệu bằng cách nối
tới chân G của của chíp 73LS373.
+ Nhóm chân cổng vào ra I/O: bốn cổng P0, P1, P2, P3 đều có 8 chân và
tạo thành cổng 8 bít. Tất cả các cổng khi RESET đều được cấu hình làm
cổng ra. Đ làm đầu vào thì cần được lập trình.
Các cổng bình thường là cổng ra. Cổng P0 có th vừa làm đầu ra,
vừa làm đầu vào cổng P0 từ chân 32 đến 39 phải được nối với điện
trở kéo 10K bên ngoài. Cổng P1 cũng có 8 chân, từ chân 1 đến
chân 8, và có th sử dụng làm đầu vào hoặc ra. Khác với cổng P0,
12


cổng P1 khơng cần đến điện trở kéo bên ngồi vì nó đã có điện trở
kéo bên trong. Cổng P2 cũng có 8 chân từ chân 21đến 28, và có th
sử dụng làm đầu vào hoặc ra. Cũng giống như cổng P1, cổng P2
khơng cần điện trở kéo vì bên trong đã có các điện trở kéo. Cổng
P3 có 8 chân từ chân 10 đến chân 17. Cổng này có th sử dụng làm
đầu vào hoặc ra. Cũng như chân P1và P2, cổng P3 cũng không cần
điện trở kéo.
Bả

2.2. Chức năng các chân cổng P3.

Bít cổng P3

Chức năng

Chân số

P3.0


Nhận dữ liệu (RXD)

Nhận dữ liệu (RXD)

P3.1

Phát dữ liệu (TXD)

Phát dữ liệu (TXD)

P3.2

Ngắt 0(INT0)

Ngắt 0(INT0)

P3.3

Ngắt 1(INT1)

Ngắt 1(INT1)

P3.4

Bộ định thời 0 (TO)

Bộ định thời 0 (TO)

P3.5


Bộ định thời 1(T1)

Bộ định thời 1(T1)

P3.6

Ghi (WR)

Ghi (WR)

P3.7

Đọc (RD)

Đọc (RD)

Có hai bộ vi điều khi n thành viên khác của họ 8051 là 8052 và 8031.
c. Tổ chức bộ nhớ
Các vi điều khi n thuộc họ 8051 đều tổ chức thành 2 khơng gian chương
trình và dữ liệu, hình 2.2 và hình 1.3 sẽ mơ tả điều này. Kiến trúc vi xử lý 8 bit
của 8051 này cho phép truy nhập và tính tốn nhanh hơn đối với không gian dữ
liệu nhờ việc phân chia 2 không gian bộ nhớ chương trình và dữ liệu như trên.
Tuy nhiên bộ nhớ ngoài được truy nhập bởi hệ thống 16 bit địa ch v n có th
th c hiện nhờ thanh ghi con tr .
Bộ nhớ chương trình (ROM, EPROM) là bộ nhớ ch đọc, có th mở rộng
tối đa 64Kbyte. Với họ vi điều khi n 89xx, bộ nhớ chương trình được tích hợp

13



sẵn trong chip có kích thước nh nhất là 4kByte. Với các vi điều khi n khơng
tích hợp sẵn bộ nhớ chương trình trên chip, buộc phải thiết kế bộ nhớ chương
trình bên ngồi. Ví dụ sử dụng EPROM: 2764 (64Kbyte), khi đó chân PSEN
phải ở mức tích c c (5V).

14


Hình 2.2: Cấu trúc chương trình vi điều khi n 89C51
Bộ nhớ dữ liệu (RAM) tồn tại độc lập so với bộ nhớ chương trình. Họ vi
điều khi n 8051 có bộ nhớ dữ liệu tích hợp trên chip nh nhất là 128byte và có
th mở rộng với bộ nhớ dữ liệu ngoài lên tới 64kByte. Với những vi điều khi n
khơng tích hợp ROM trên chip thì v n có RAM trên chip là 128byte. Khi sử
dụng RAM ngồi, CPU đọc và ghi dữ liệu nhờ tín hiệu trên các chân RD và
15


WR. Khi sử dụng cả bộ nhớ chương trình và bộ nhớ dữ liệu bên ngồi thì buộc
phải kết hợp chân RD và PSEN bởi cổng logic AND đ phân biệt tín hiệu truy
xuất dữ liệu trên ROM hay RAM ngồi.

Hình 2.3: Địa ch các ngắt trên bộ nhớ chương trình
Hình 2.2 mơ tả cấu trúc bộ nhớ chương trình. Sau khi khởi động, CPU
bắt đầu th c hiện chương trình ở vị trí 0000H. Hình 2.3 mơ tả địa ch ngắt mặc
định trên bộ nhớ chương trình. Mối khi xảy ra ngắt, con tr của CPU sẽ nhảy
đến đúng địa ch ngắt tương ứng và th c thi chương trình tại đó. Ví dụ ngắt
ngồi 0 sẽ có địa ch là 0003H, khi xảy ra ngắt ngồi 0 thì con tr chương trình
sẽ nhảy đến đúng địa ch 0003H đ th c thi chương trình tại đó. Nếu trong
chương trình ứng dụng khơng xử dụng đến ngắt ngồi 0 thì địa ch 0003H v n

có th dùng cho mục đích khác (sử dụng cho bộ nhớ chương trình).

16


Hình 2.4: Cấu trúc bộ nhớ dữ liệu
Hình 2.4 mơ tả cấu trúc bộ nhớ dữ liệu trong và bộ nhớ dữ liệu ngoài của
họ vi điều khi n 8051. CPU sẽ dùng đến các chân RD và WR khi truy cập đến
bộ nhớ dữ liệu ngồi.
Hình 2.5 mơ tả cấu trúc bộ nhớ dữ liệu trong chip, được chia thành 3
khối là 128 byte thấp, 128 byte cao và 128 byte đặc biệt.

Hình 2.5: Cấu trúc bộ nhớ trong
8051 chứa 210 vị trí bit được định địa ch trong đó 128 bit chứa trong
các byte ở địa ch từ 20H đến 2FH (16 byte x 8 bit = 128 bit) và phần còn lại
chứa trong các thanh ghi đặc biệt. Ngồi ra 8051 cịn có các port xuất/nhập có
th định địa ch từng bit, điều này làm đơn giản việc giao tiếp bằng phần mềm
với các thiết bị xuất/nhập đơn bit.
17


Vùng RAM đa mục đích có 80 byte đặt ở địa ch từ 30H đến 7FH, bên
dưới vùng này từ địa ch 00H đến 2FH là vùng nhớ có th được sử dụng tương
t . Bất kỳ vị trí nhớ nào trong vùng RAM đa mục đích đều có th được truy
xuất t do bằng cách sử dụng các ki u định địa ch tr c tiếp hoặc gián tiếp.
Bất kỳ vị trí nhớ nào trong vùng RAM đa mục đích đều có th được truy
xuất t do bằng cách sử dụng các ki u định địa ch tr c tiếp hoặc gián tiếp.
Cũng như các thanh ghi từ R0 đến R7, ta có 21 thanh ghi chức năng đặc
biệt SFR chiếm phần trên của Ram nội từ địa ch 80H đến FFH. Cần lưu ý là
không phải tất cả 128 địa ch từ 80H đến FFH đều được định nghĩa mà ch có 21

địa ch được định nghĩa.
d. Các thanh ghi đặc biệt
8051 có 21 thanh ghi chức năng đặc biệt SFR chiếm phần trên của Ram
nội từ địa ch 80H đến FFH. Cần lưu ý là không phải tất cả 128 địa ch từ 80H
đến FFH đều được định nghĩa mà ch có 21 địa ch được định nghĩa. Hình
2.6 mơ tả các thanh ghi đặc biệt trong vùng nhớ dữ liệu 80H đến FFH và giá trị
của chúng sau khi Reset.

18


Hình 2.6: Các thanh ghi đặc biệt
Thanh ghi chính:
Thanh ghi tính tốn chính của vi điều khi n 8051 ACC (Accumulator).
Là thanh ghi đặc biệt của 8051 dùng đ th c hiện các phép tốn của CPU,
thường kí hiệu là A.
T a

ụ:
Thanh ghi tính tốn phụ của vi điều khi n 8051 là B. Thanh ghi B ở địa

ch F0H được dùng chung với thanh chứa A trong các phép toán nhân, chia.
Lệnh MUL AB nhân 2 số 8 bit không dấu chứa trong A và B và chứa kết quả

19


16 bit vào cặp thanh ghi B, A (thanh chứa A cất byte thấp và thanh ghi B cất
byte cao).
Lệnh chia DIV AB chia A bởi B, thương số cất trong thanh chứa A và dư

số cất trong thanh ghi B. Thanh ghi B còn được xử lý như một thanh ghi nháp.
Các bit được định địa ch của thanh ghi B có địa ch từ F0H đến F7H.
T a

rạ

á

ươ



(PSW):

Thanh ghi trạng thái chương trình PSW (địa ch : D0H) là thanh ghi mơ tả
tồn bộ trạng thái chương trình đang hoạt động của hệ thống. Bả

2.2 và Bả

2.3 sẽ mô tả thanh ghi này.

7

6

5

4

3


2

1

0

CY

AC

F0

RS1

RS0

0V

-

P

Bả

Bit
PSW.7

2.2: Thanh ghi trạng thái chương trình PSW


Ký H u
CY

Mơ ả b

Địa C ỉ
D7H

Cờ

ớ (Carry Flag): được Set

nếu có Bit nhớ từ Bit 7 trong
phép cộng hoặc có Bit mượn
cho Bit 7 trong phép trừ.
PSW.6

AY

D6H

Cờ



ụ: được Set trong

phép cộng nếu có Bit nhớ từ Bit
3 sang Bit 4 hoặc kết quả trong
4 Bit thấp nằm trong khoảng

0AH->0FH.
PSW.5

FO

D5H

Cờ O: dành cho người sử dụng.

20


PSW.4

RS1

D4H

C ọ dãy

a

(Bit 1)

PSW.3

RS0

D3H


C ọ dãy

a

(Bit 0)

00=Bank 0: Địa ch 00H->07H
01=Bank 1: Địa ch 08H->0FH
10=Bank 2: Địa ch 10H->17H
11=Bank 3: Địa ch 18H->1FH
PSW.2

0V

D2H

Cờ rà (Overflow Flag): được
Set khi phép toán có dấu có kết
quả > +127 hoặc < -128.

PSW.1

-

D1H

PSW.0

P


D0H

Chưa dùng
Cờ k ểm ra

ẵ lẻ: được Set

hoặc Clear bởi phần cứng sau
mỗi 1 chu kỳ lệnh, đ ch ra rằng
có 1 số chẵn hoặc số lẻ Bit 1
trong thanh chứa.

Bả
T a

2.3: Chi tiết các bit trong thanh ghi PSW

ă xế (S a k Po

er):

Con tr stack SP (stack pointer) là 1 thanh ghi 8 bit ở địa ch 81H. SP
chứa địa ch của dữ liệu hiện đang ở đ nh của stack. Các lệnh liên quan đến
satck bao gồm lệnh cất dữ liệu vào stack và lệnh lấy dữ liệu ra kh i stack. Việc
cất vào stack làm tăng SP trước khi ghi dữ liệu và việc lấy dữ liệu ra kh i stack
sẽ giảm SP. Vùng stack của 8051 được giữ trong RAM nội và được giới hạn
đến các địa ch truy xuất được bởi ki u định địa ch gián tiếp. Các lệnh PUSH
21



và POP sẽ cất dữ liệu vào stack và lấy dữ liệu từ stack, các lệnh gọi chương
trình con (ACALL, LCALL) và lệnh trở về (RET, RETI) cũng cất và phục hồi
nội dung của bộ đếm chương trình PC (Program counter)
Co

rỏ dữ l u DPTR:
Con tr dữ liệu DPTR (data pointer) được dùng đ truy xuất bộ nhớ

chương trình ngồi hoặc bộ nhớ dữ liệu ngoài. DPTR là một thanh ghi 16 bit có
địa ch là 82H (DPL, byte thấp) và 83H (DPH, byte cao).
Thanh

á



P0-P3:

Các port xuất/nhập của 8051 bao gồm Port 0 tại địa ch 80H, Port 1 tại
địa ch 90H, Port 2 tại địa ch A0H và Port 3 tại địa ch B0H. Tất cả các port
đều được định địa ch từng bit nhằm cung cấp các khả năng giao tiếp mạnh.
T a

bộ đ m ruyề

ô

ế (Ser al Da a Buffer):

Bộ đệm truyền thông được chia thành hai bộ đệm, bộ đệm truyền dữ liệu

và bộ đệm nhận dữ liệu. Khi dữ liệu được chuy n vào thanh ghi SBUF, dữ liệu
sẽ được chuy n vào bộ đệm truyền dữ liệu và sẽ được lưu giữ ở đó cho đến khi
q trình truyền dữ liệu qua truyền thơng nối tiếp kết thúc. Khi th c hiện việc
chuy n dữ liệu từ SBUF ra ngoài, dữ liệu sẽ được lấy từ bộ đệm nhận dữ liệu
của truyền thông nối tiếp.
T a

ủa bộ đị

ờ /bộ đếm:

8051 có 2 bộ đếm/định thời (counter/timer) 16 bit đ định các khoảng
thời gian hoặc đ đếm các s kiện. Các cặp thanh ghi (TH0, TL0) và (TH1,
TL1) là các thanh ghi của bộ đếm thời gian. Bộ định thời 0 có địa ch 8AH
(TL0, byte thấp) và 8CH (TH0, byte cao). Bộ định thời 1 có địa ch 8BH (TL1,
byte thấp) và 8DH (TH1, byte cao).

22


Hoạt động của bộ định thời được thiết lập bởi thanh ghi chế độ định thời
TMOD (Timer Mode Register) ở địa ch 88H. Ch có TCON được định địa ch
từng bit.


a

đ ều k ể :

Các thanh ghi điều khi n đặc biệt như IP, IE, TMOD, TCON, SCON và

PCON là các thanh ghi điều khi n và ghi nhận trạng thái của hệ thống ngắt, bộ
đếm/định thời, truyền thông nối tiếp. Chi tiết của các thanh ghi này sẽ được mơ
tả sau.
e. Các bộ định thời của 8051
8051 có hai bộ định thời là Timer 0 và Timer 1, ở phần này chúng ta
bàn về các thanh ghi của chúng và sau đó trình bày cách lập trình chúng như thế
nào đ tạo ra các độ trễ thời gian.
Cả hai bộ định thời Timer 0 và Timer 1 đều có độ dài 16 bit được truy
cập như hai thanh ghi tách biệt by e

ấ và byte cao. Chúng ta sẽ bàn riêng về

từng thanh ghi.


a

ủa bộ T mer 0

Thanh ghi 16 bit của bộ Timer 0 được truy cập như byte thấp và byte cao:
 Thanh ghi byte thấp được gọi là TL0 (Timer0 Low byte).
 Thanh ghi byte cao được gọi là TH0 (Timer0 High byte).
Các thanh ghi này có th được truy cập, hoặc được đọc như mọi thanh ghi
khác chẳng hạn như A, B, R0, R1, R2 v.v...


a

ủa bộ T mer 1


Giống như timer 0, bộ định thời gian Timer 1 cũng dài 16 bit và thanh
ghi 16 bit của nó cũng được chia ra thành hai byte là TL1 và TH1. Các thanh
ghi này được truy cập và đọc giống như các thanh ghi của bộ Timer 0 ở trên.

23


Thanh ghi TMOD
Cả hai bộ định thời Timer 0 và Timer 1 đều dùng chung một thanh ghi được
gọi là TMOD: đ thiết lập các

ế độ làm v

k á

au ủa bộ đị

ờ.

Thanh ghi TMOD là thanh ghi 8 bit gồm có:
 4 bit thấp đ thiết lập cho bộ Timer 0.
 4 bit cao đ thiết lập cho Timer 1.
Tro

đó:

 2 bit thấp của chúng dùng đ thiết lập chế độ của bộ định thời.
 2 bit cao dùng đ xác định phép toán.
2. V đ ều k ể 8052
Bộ vi điều khi n 8052 là thành viên khác của họ 8051, 8052 có tất cả các

đặc tính chuẩn của 8051 ngồi ra nó có thêm 128 byte RAM và một bộ định
thời nữa. Hay nói cách khác là 8052 có 256 byte RAM và 3 bộ định thời, nó
cũng có 8K byte ROM trên chíp thay vì 4K byte như 8051.
Bả

2.4. So sánh các đặc tính của các thành viên họ 8051.

Đặc tính

8051

8052

8031

ROM trên chip

4K byte

8K byte

0K

RAM

128 byte

256 byte

128 byte


Bộ định thời

2

3

2

Chân vào – ra

32

32

32

Cổng nối tiếp

1

1

1

Nguồn cắt

6

8


6

Qua bảng trên ta thấy thì 8051 là tập con của 8052, nên mọi chương trình
viết cho 8051 đều chạy được trên 8052 nhưng điều ngược lại là không đúng.

24


3. V đ ều k ể 8031
Một thành viên khác của 8051 là chíp 8031. Chíp này khơng có ROM
trên chíp nên đ sử dụng chíp này ta phải bổ sung ROM ngồi cho nó, ROM
ngồi phải chứa chương trình mà 8031 sẽ nạp và th c hiện. So với 8051 mà
chương trình được chứa trong ROM trên chíp bị giới hạn bởi 4K byte, cịn
ROM ngồi chứa chƣơng trình được gắn vào 8031 thì có th lớn đến 64K byte.
Khi bổ xung cổng, như vậy ch còn lại hai cổng đ thao tác. Đ giải quyết vấn
đề này ta có th bổ xung cổng vào ra cho 8031 bằng cách phối ghép 8031 với bộ
nhớ và cổng vào ra chẳng hạn với chíp 8255. Ngồi ra cịn có các phiên bản
khác nhau về tốc độ của 8031 từ các hãng sản xuất khác nhau.
II.

HỌ VI ĐIỀU KHIỂN PIC
PIC là viết tắt của “Programable Intelligent Computer”, có th tạm dịch là

“máy tính thơng minh khả trình” do hãng Genenral Instrument đặt tên cho vi
điều khi n đầu tiên của họ: PIC1650 được thiết kế đ dùng làm các thiết bị ngoại
vi cho vi điều khi n CP1600. Vi điều khi n này sau đó được nghiên cứu phát tri n
thêm và từ đó hình thành nên dịng vi điều khi n PIC ngày nay.
Hiện nay trên thị trường có rất nhiều họ vi điều khi n như 8051,
Motorola 68HC, AVR, ARM,... Ngoài họ 8051 được hướng d n một cách căn bản

ở môi trường đại học, bản thân người viết đã chọn họ vi điều khi n PIC đ mở rộng
vốn kiến thức và phát tri n các ứng dụng trên cơng cụ này vì các ngun nhân sau:
+ Họ vi điều khi n này có th tìm mua dễ dàng tại thị trường
Việt Nam. Giá thành không quá đắt
+ Có đầy đủ các tính năng của một vi điều khi n khi hoạt động độc lập.
Là một s bổ sung rất tốt về kiến thức cũng như về ứng dụng cho họ vi điều
khi n mang tính truyền thống: họ vi điều khi n 8051.
Số lượng người sử dụng họ vi điều khi n PIC. Hiện nay tại Việt Nam cũng
như trên thế giới, họ vi điều khi n này được sử dụng khá rộng rãi. Điều này tạo nhiều
thuận lợi trong quá trình tìm hi u và phát tri n các ứng dụng như: số lượng tài liệu, số
25


×