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

Thiết kế mạch cảnh báo anh ninh trong phòng khách gia đình

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 (2.16 MB, 65 trang )

LỜI CẢM ƠN
Trong suốt thời gian học tập và làm đồ án tại trường ĐH CÔNG NGHỆ
THÔNG TIN VÀ TRUYỀN THÔNG, em đã nhận được sự hướng dẫn, giúp đỡ
nhiệt tình của q thầy cơ, các anh chị và các bạn. Quý thầy cô không chỉ
truyền đạt cho chúng em những kiến thức về chuyên môn cần thiết sau khi ra
trường mà chúng em còn học hỏi được rất nhiều kiến thức thực tế từ thầy cô
trong khoa cũng như cơ hướng dẫn. Do vậy em đã có thể hồn thành đồ án tốt
nghiệp trong đúng thời gian quy định.
Với lịng kính trọng và biết ơn sâu sắc, em xin được bày tỏ lời cảm ơn
chân thành tới: Quý thầy cô trường ĐH CNTT &TT đã giảng dạy cho chúng
em nhiều kiến thức quý báu. Bộ môn Công nghệ viễn thông cùng tất cả quý
thầy cô trong khoa Công nghệ điện tử và truyền thông đã giảng dạy những kiến
thức chuyên môn làm cơ sở để em thực hiện tốt đồ án tốt nghiệp và tạo điều
kiện thuận lợi cho chúng em hồn tất khóa học.
Đặc biệt, em xin được cảm ơn thầy giáo Vũ Văn Diện- giáo viên hướng
dẫn đã nhiệt tình giúp đỡ và chỉ dạy, giúp em định hướng tốt trong trong suốt
thời gian hoàn thành đồ án.
Bên cạnh đó, em cũng xin cảm ơn các bạn sinh viên viễn thông cũng
như các bạn bên bộ môn điện tử đã đóng góp ý kiến và giúp đỡ em hoàn thành
sản phẩm thực tế.
Thái nguyên, ngày…tháng….năm 2014
SINH VIÊN THỰC HIỆN
Hoàng Thanh Tùng

1


LỜI CAM ĐOAN
Tôi xin cam đoan:
Những nội dung trong đồ án này là do tôi thực hiện dưới sự hướng dấn
trực tiếp của thầy Vũ Văn Diện- giáo viên hướng dẫn, nghiên cứu trên Internet,


sách báo, và các tài liệu trong và ngồi nước có liên quan. Khơng sao chép hay
sử dụng bài làm của bất kỳ ai khác.
Mọi tham khảo dùng trong đồ án đều được trích dẫn rõ ràng tên tác giả,
tên cơng trình.
Tơi xin chịu hồn tồn trách nhiệm về lời cam đoan của mình trước Quý
thầy cơ và nhà trường.

Thái Ngun, ngày…tháng…năm 2014
.

SINH VIÊN THỰC HIỆN
Hồng Thanh Tùng

2


MỤC LỤC

3


DANH MỤC HÌNH ẢNH

4


DANH MỤC BẢNG BIỂU

5



LỜI NĨI ĐẦU
Truyền dữ liệu khơng dây là một mảng lớn trong điện tử thông tin, dữ liệu
được truyền đi có thể là tương tự cũng có thể là số. Trong truyền dữ liệu không
dây, hiệu quả nhất vẫn là truyền bằng sóng điện từ hay sóng Radio, bởi những ưu
điểm là truyền ở khoảng cách xa, đa hướng, tần số hoạt động cao, không bị ảnh
hưởng bởi vật cản hay tường. Vì những ưu điểm trên, các ứng dụng của sóng RF
đã được áp dụng rộng rãi trong điều khiển dân dụng. Như trong lĩnh vực y tế,
trong các phịng xạ trị bằng phóng xạ, cũng như chụp bức xạ Xquang, điều khiển
từ xa các thiết bị qua sóng RF đang được ứng dụng rộng rãi để tránh cho các
nhân viên y tế tiếp xúc trực tiếp với phóng xạ và tia Xquang. Ngồi lĩnh vực y tế,
sóng RF hiện nay cũng được áp dụng rộng rãi trong các mơ hình điều khiển mơ
hình robot và máy bay.
Trong xã hội hiện nay đời sống tinh thần, vật chất của con người khơng
ngừng nâng cao. Chính vì thế mà sự tích lũy về của cải, vật chất nói chung ngày
càng nhiều với các hình thức đa dạng, xong việc bảo vệ những của cải và vật chất
đó vẫn cịn gặp nhiều khó khăn. Nhìn chung những vụ trộm cắp tài sản riêng hay
chung thường gây thiệt hại lớn về vật chất và cả tinh thần.
Vì hai lý do trên và với những kiến thức đã được học, tìm hiểu từ các tài
liệu liên quan, em đã nghiên cứu và hoàn thành đề tài “Thiết kế mạch cảnh báo
anh ninh trong phịng khách gia đình” có sử dụng truyền dữ liệu khơng dây
bằng RF dưới sự hướng dẫn tận tình của thầy Vũ Văn Diện, khoa CNĐT & TT,
trường ĐH Công nghệ thông tin và truyền thông Thái Nguyên.
Hi vọng với đề tài này sẽ làm cơ sở nghiên cứu cho các nhóm khác sau
này có thể mở rộng và phát triển hơn nữa.
Mặc dù đã cố gắng rất nhiều trong thời gian thực hiện đề tài nhưng cũng
không thể tránh khỏi những sai sót do kiến thức cũng như kinh nghiệm cịn hạn chế.
Rất mong được sự góp ý từ các thầy cô và các bạn để đề tài đạt kết quả tốt hơn.
Xin chân thành cảm ơn thầy giáo Vũ Văn Diện đã tận tình hướng dẫn em
hồn thành đề tài này !

Thái Nguyên, tháng….năm 2014

6


CHƯƠNG 1 : KHẢO SÁT HỆ THỐNG
1.1.

Tổng quan về đề tài

1.1.1. Khái quát chung về đề tài
Cùng với sự tiến bộ của khoa học kỹ thuật, các thiết bị điện tử ra đời ngày
càng nhiều. Và nhu cầu sử dụng các thiết bị một cách tự động cũng như các chức
năng tự động cảnh báo trong gia đình cũng như cơ quan là rất cần thiết. Có thể ở
Việt Nam chưa phát triển mạnh trong các lĩnh vực này nhưng hiện nay ở trên thế
giới thì mơ hình ngơi nhà thông minh đã phát triển rất mạnh mẽ.
Với xu hướng phát triển theo mơ hình ngơi nhà thơng minh thì các chức
năng điều khiển cảnh báo tự động là không thể thiếu. Một trong những chức
năng làm nên sự thông minh cho ngơi nhà đó chính là chức năng cảnh báo
chống trộm. Đó chính là lý do em chọn đề tài này với mong muốn đề tài này có
thể đem ra ứng dụng trong thực tế. Mơ hình cảnh báo chống trộm sử dụng cảm
biến hồng ngoại PIR có truyền thơng RF về mạch điều khiển trung tâm.
Mục đích chính của đề tài là nhằm phát hiện sớm các đột nhập trong
phạm vi giám sát và báo động cho chủ nhà hoặc bảo vệ thông qua việc truyền
thông RF về mạch điều khiển trung tâm.
Từ những mục đích trên, đề tài phải thỏa mãn được các yêu cầu sau:
-

Hệ thống dễ dàng lắp đặt.


-

Báo động kịp thời, nhanh chóng, chính xác khi xảy ra sự cố ở nơi lắp đặt hệ
thống.
Đề tài có thể ứng dụng trong các cơ quan, nhà máy, phân xưởng hoặc
nhà riêng...
1.1.2. Lý do thực hiện đề tài
Ngày nay với sự phát triển về cơ sở vật chất, kinh tế ở nước ta và trên
thế giới thì việc xuất hiện những loại tội phạm tinh vi, thủ đoạn ngày càng cao
đặc biệt là các tội phạm trộm cắp vậy nên chúng ta cần phải có nhưng biện
pháp cảnh báo, phát hiện sớm để bắt được những tội phạm trộm cắp.
Thiết bị báo động cho phép chúng ta có thể biết được lúc nào có người
đột nhập vào nhà. Giải pháp thơng minh đó có thể phát hiện kẻ trộm bằng các

7


cảm biến mở cửa, cảm biến chuyển động khi kẻ trộm đột nhập. Sẽ phát hiện
bằng cảm biến mở cửa chính hay cửa sổ khi được mở, và chuyển động khi có
người xâm nhập qua bộ cảm biến hồng ngoại. Hệ thống này kết hợp giữa phần
cứng và phần mềm, khi có người xâm nhập sẻ phát ra tín hiệu báo động bằng
còi hú để gây chú ý cho người xung quanh đồng thời sẽ gửi tín hiệu báo trộm
về mạch điểu khiển trung tâm.
1.1.3. Mục đích nghiên cứu
Đề tài được nghiên cứu, khảo sát và thực hiện với mục đích trước mắt
nhắm hồn thành đồ án tốt nghiệp để được ra trường. Bên cạnh đó em cịn
mong muốn đề tài này sẽ được phát triển hơn nữa và được thực hiện trên phạm
vi rộng rãi để phục vụ nhu cầu của cuộc sống hiện đại ngày nay.
Với việc áp dụng những kiến thức đã học trong nhà trường và những tìm
hiểu thực tế, em đã nghiên cứu tổng quan về về sử dụng cảm biến và kết hợp

VĐK 8051. Dựa vào cơ sở lý thuyết đã nghiên cứu được, em đã thiết kế một
ứng dụng demo “Mạch cảnh báo an ninh trong phịng khách gia đình”. Hệ
thống bao gồm module cảm biến phát và thu , phần mạch điều khiển trung tâm.
1.1.4. Đối tượng nghiên cứu
Để có thể thực hiện ứng dụng demo mạch cảng báo an ninh trong phịng
khách gia đình, em tập trung nghiên cứu các đối tượng sau:
 Nghiên cứu một cách tổng quan về cảm biến hồng ngoại.
 Nghiên cứu tổng quan về truyền thông RF
 Chương trình phần mềm điều khiển trên 89C51.
 Nguyên lý hoạt động của hệ thống và ứng dụng trên thực tế.

1.2.

Tổng quan về RF (Radio frequency)
Trong một phiên truyền thông bản chất của dữ liệu là bao gồm các bit 0 và
1, bên phát dữ liệu cần có một cách thức để gửi các bit 0 và 1 để gửi cho bên
nhận. Một tín hiệu xoay chiều hay một chiều tự nó sẽ khơng thực hiện tác vụ này.
Tuy nhiên, nếu một tín hiệu có thay đổi và dao động, dù chỉ một ít, sự thay đổi
này sẽ giúp phân biệt bit 0 và bit 1. Lúc đó, dữ liệu cần truyền sẽ có thể gửi và
nhận thành cơng dựa vào chính sự thay đổi của tín hiệu. Dạng tín hiệu đã điều
chế này cịn được gọi là sóng mang (carrier signal). Có ba thành phần của dạng

8


sóng có thể thay đổi để tạo ra sóng mang, đó là biên độ, tần số và pha. Tất cả các
dạng truyền thơng dùng sóng vơ tuyến đều dùng vài dạng điều chế để truyền dữ
liệu. Để mã hóa dữ liệu vào trong một tín hiệu gửi qua sóng AM/FM, điện thoại
di động, truyền hình vệ tinh, ta phải thực hiện một vài kiểu điều chế trong sóng
vơ tuyến đang truyền.

Để truyền dữ liệu trong mạch cảnh báo em sử dụng vi mạch hỗ trợ không
dây là vi mạch PT2262 và PT2272, hai vi mạch này được ứng dụng rộng rãi
trong việc truyền dữ liệu số nhất là trong lĩnh vực điều khiển và thơng tin số.
Ngồi ra cịn có các vi mạch như PT2248, PT2249, PT9148. PT9149… cũng hỗ
trợ xử lí tín hiệu khơng dây.
1.2.1. Mã hóa tín hiệu
Trong thực tế hiện nay, có rất nhiều loại mã hóa được sử dụng phổ biến
như mã NRZ, mã AMI, mã Pseudoternary…để mã hóa tín hiệu. Để thiết kế đề
tài, chúng em sử dụng mã hóa Manchester và dữ liệu được mã hóa bởi IC chun
dụng PT2262.

Hình 1.1: Mã hóa Manchester cơ bản
1.2.2. Biểu diễn Bit code mã hóa
Cơ bản PT2262 sử dụng mỗi Bit gồm 3 trạng thái 0,1 và f. Mỗi trạng thái
sẽ có 1 kiểu mã hóa Bit code khác nhau. Mỗi Bit code mã hóa chứa trong 32 chu
kì tần số mã hóa của OSC (32 α).

9


Hình 1.2 : Bit code mã hóa
1.2.2.1. Bit đồng bộ:
Là Bit được thêm vào trong 1 khung truyền để giúp đồng bộ hóa q trình mã
hóa/giải mã. Độ dài của Sync Bit là bằng 4 lần độ dài 1 bit địa chỉ/dữ liệu tức 128 α:

Hình 1.3 Bit đồng bộ
1.2.2.2. Code word
Cấu trúc việc truyền các Bit địa chỉ/ dữ liệu và Bit đồng bộ của PT2262
được xác định như sau:


Hình 1.4 Một frame truyền 4 bit data
Với dịng PT2262 sử dụng 6 bits địa chỉ và 6 bits dữ liệu thì từ mã này
được biểu diễn:

10


Hình 1.5 Một frame truyền 6 bit data
1.2.2.3. Khung truyền:
Một khung truyền bao gồm 4 từ mã (Code Word) phát liên tục nhau ra
chân DOUT của PT2262 khi chân /TE là tích cực(/TE tích cục mức thấp):

Hình 1.6 Cấu trúc một khung truyền được gửi
1.2.3. Giải mã tín hiệu
Thực hiện giải mã ngược lại q trình mã hóa của PT2262 để thu được kết
quả dữ liệu. Trong Waveform của mã hóa PT2262 các bit 1,0 có những khoảng
thời gian xác định, dựa vào khoảng thời gian này để xác định các bit đã phát
Các thời khoảng bit có thể có là 4α,12α và 127α tương ứng với độ dài 1bit,
3 bits và 31.5 bits.
Việc đo các thời khoảng bit này thực hiện khi có sự thay đổi trạng thái của
tín hiệu. Các điểm đỏ sẽ đánh dấu việc kết thúc đo thời gian bit 0 và bắt đầu đo
cho bit 1, ngược lại các điểm xanh kết thúc việc đo thời gian của bit 1 và bắt đầu
đo cho bit 0.

Hình 1.7 Thực hiện đo khoảng thời gian bit
Gọi T1 và T2 là khoảng thời gian đo được của xung 1 và 0 liên tiếp nhau
thì ta có bảng giải mã các bits:

11



Bảng 1.1 Khoảng thời gian xung
Với mỗi cặp 4 bits thu được liên liếp nhau ta lại thu được kết quả giải mã
tương ứng.

Bảng 1.2 Kết quả giải mã sau khi đếm xung
Thực hiện lần lượt 12 bits địa chỉ/ dữ liệu và 1 Sync Bit ta sẽ thu được 1 từ
mã(Code Word).
Vì PT2262 phát 1 khung truyền gồm 4 từ mã (Code Word) nên khi ta thu
liên tiếp các từ mã (Code Word) giống nhau thì có nghĩa chắc chắn dữ liệu đã
được giải mã đúng.
1.2.4. Điều chế tín hiệu
Với mục đích của đề tài là thiết kế truyền tín hiệu từ xa qua sóng vơ tuyến,
em lựa chọn phương pháp điều chế ASK/OOK với tần số 315MHz
ASK (Amplitude Shift Keying), tiếng Việt gọi là điều chế số theo biên độ
tín hiệu. Tín hiệu ASK có dạng sóng dao động có tần số f, mỗi bit đặc trưng bởi
biên độ khác nhau của tín hiệu. Và OOK là dạng đơn giản nhất của điều chế số
ASK.

12


Hình 1.8 Tín hiệu điều chế ASK
1.3. Mơ hình tổng quan hệ thống

Hình 1.9: Mơ hình tổng quan hệ thống
Mơ hình trên bao gồm nhiều thiết bị cảm biến PIR với chức năng phát
hiện có kẻ đột nhập thì truyền tín hiệu về khối xử lý phần cứng. PIR có thể lắp
đặt ở bất cứ nới nào trong ngôi nhà mà cần thiết phải bảo vệ. Tín hiệu cảnh báo
sẽ được gửi về mạch điều khiển trung tâm.


13


CHƯƠNG 2: CƠ SỞ LÍ THUYẾT
2.1. Tổng quan về họ vi điều khiển 8051
2.1.1. Lịch sử phát triển 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 chip, 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 chip. Lúc ấy nó được coi là một “hệ thống trên chip”. 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 để xử lý. 8051 có tất cả
4 cổng vào – ra I/O mỗi cổng rộng 8 bit. Mặc dù 8051 có thể có một ROM trên
chip cực đại là 64K byte, nhưng các nhà sản xuất lúc đó đã cho xuất xưởng chỉ
với 4K byte ROM trên chip.
8051 đã trở lên phổ biến sau khi Intel cho phép các nhà sản xuất khác 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 chip khác nhau được
bán bởi hơn nửa các nhà sản xuất. Đ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 chip, 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
viết chương trình của mì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ó được sản xuất từ hãng nào.

14


Đặc Tính

Số Lượng
ROM trên chip
4K byte
RAM
128 byte
Bộ định thời
2
Các chân vào – ra
32
Cổng nối tiếp
1
Nguồn ngắt
6
Bảng 2.1: Các đặc tính của 8051 đầu tiên
2.1.2. Bộ vi điều khiển 8051

Là linh kiện chính trong thiết kế, dùng để nhúng phần mềm đã được lập
trình để điều khiển tồn bộ bài tốn.
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ó như là MCS51.

Hình 2.1: Sơ đồ khối của 8051

15


2.1.3.Các bộ vi điều khiển 8051 từ các hãng khác nhau
Bộ vi điều khiển 8751
Chíp 8751 chỉ có 4K byte bộ nhớ UV-EPROM trên chíp. Để sử dụng chip
này để phát triển yêu cầu truy cập đến một bộ đốt PROM cũng như bộ xoá UVEPROM để xoá nội dung của bộ nhớ UV-EPROM bên trong 8751 trước khi ta có

thể lập trình lại nó. Do một thực tế là ROM trên chíp đối với 8751 là UVEPROM nên cần phải mất 20 phút để xố 8751 trước khi nó có thể được lập trình
trở lại. Điều này đã dẫn đến nhiều nhà sản xuất giới thiệu các phiên bản Flash
Rom và UV-RAMcủa 8051. Ngồi ra cịn có nhiều phiên bản với các tốc độ khác
nhau của 8751 từ nhiều hãng khác nhau.
Bộ vi điều khiển AT89C51 từ Atmel Corporation
Chíp 8051 phổ biến này có ROM trên chíp ở dạng bộ nhớ Flash. Điều này
là lý tưởng đối với những phát triển nhanh vì bộ nhớ Flash có thể được xoá trong
vài giây trong tương quan so với 20 phút hoặc hơn mà 8751 yêu cầu. Vì lý do
này mà AT89C51 để phát triển một hệ thống dựa trên bộ vi điều khiển yêu cầu
một bộ đốt ROM mà có hỗ trợ bộ nhớ Flash. Tuy nhiên lại không yêu cầu bộ xoá
ROM. Lưu ý rằng trong bộ nhớ Flash ta phải xố tồn bộ nội dung của ROM
nhằm để lập trình lại cho nó. Việc xố bộ nhớ Flash được thực hiện bởi chính bộ
đốt PROM và đây chính là lý do tại sao lại không cần đến bộ xoá. Để loại trừ nhu
cầu đối với một bộ đốt PROM hãng Atmel đang nghiên cứu một phiên bản của
AT 89C51 có thể được lập trình qua cổng truyền thơng COM của máy tính
IBMPC.
Số linh kiện
AT89C51
AT89LV51
AT89C1051
AT89C2051
AT89C52
AT89LV52

ROM

RAM

4K
4K

1K
2K
8K
8K

128
128
64
128
128
128

Chân
I/O
32
32
15
15
32
32

Timer

Ngắt

Vcc

2
2
1

2
3
3

6
6
3
6
8
8

5V
3V
3V
3V
5V
3V

Bảng 2.2: Các phiên bản của 8051 từ Atmel (Flash ROM).

16

Đóng
vỏ
40
40
20
20
40
40



Chữ C trong ký hiệu AT89C51 là CMOS.
Cũng có những phiên bản đóng vỏ và tốc độ khác nhau của những sản phẩm
trên đây. Ví dụ để ý rằng chữ “C” đứng trước số 51 trong AT 89C51 -12PC là ký
hiệu cho CMOS “12” ký hiệu cho 12 MHZ và “P” là kiểu đóng vỏ DIP và chữ “C”
cuối cùng là ký hiệu cho thương mại (ngược với chữ “M” là quân sự). Thông
thường AT89C51 - 12PC rất lý tưởng cho các dự án của học sinh, sinh viên.
Bộ vi điều khiển DS5000 từ hãng Dallas Semiconductor
Một phiên bản phổ biến khác nữa của 8051 là DS5000 của hãng Dallas
Semiconductor. Bộ nhớ ROM trên chíp của DS5000 ở dưới dạng NV-RAM. Khả
năng đọc/ ghi của nó cho phép chương trình được nạp vào ROM trên chíp trong
khi nó vẫn ở trong hệ thống (không cần phải lấy ra). Điều này cịn có thể được
thực hiện thơng qua cổng nối tiếp của máy tính IBM PC. Việc nạp chương trình
trong hệ thống (in-system) của DS5000 thông qua cổng nối tiếp của PC làm cho
nó trở thành một hệ thống phát triển tại chỗ lý tưởng. Một ưu việt của NV-RAM
là khả năng thay đổi nội dung của ROM theo từng byte tại một thời điểm. Điều
này tương phản với bộ nhớ Flash và EPROM mà bộ nhớ của chúng phải được
xoá sạch trước khi lập trình lại cho chúng.

Mã linh kiện

ROM

RAM

Chân I/O Timer

DS5000-8


8K

128

32

DS5000-32

32K

128

DS5000T-8

8K

128

Đóng

Ngắt

Vcc

2

6

5V


vỏ
40

32

2

6

5V

40

32

2

6

5V

40

DS5000T-8
32K
128
32
2
6
5V

Bảng 2.3: Các phiên bản 8051 từ hãng Dallas Semiconductor.

40

Chữ “T” đứng sau 5000 là có đồng hồ thời gian thực.
Lưu ý rằng đồng hồ thời gian thực RTC là khác với bộ định thời Timer.
RTC tạo và giữ thời gian l phút giờ, ngày, tháng – năm kể cả khi tắt nguồn.
Cịn có nhiều phiên bản DS5000 với những tốc độ và kiểu đóng gói khác
nhau. Ví dụ DS5000-8-8 có 8K NV-RAM và tốc đọ 8MHZ. Thơng thường
DS5000-8-12 hoặc DS5000T-8-12 là lý tưởng đối với các dự án của sinh viên.
Mã linh kiện

NV- RAM

17

Tốc độ


DS5000-8-8

8K

8MHz

DS5000-8-12

8K

12MHz


DS5000-32-8

32K

8MHz

DS5000T-32-12

32K

8MHz (with RTC)

DS5000-32-12

32K

12MHz

DS5000-8-12

8K

12MHz (with RTC)

Bảng 2.4: Các phiên bản của DS5000 với các tốc độ khác nhau
Phiên bản OTP của 8051
Các phiên bản OTP của 8051 là các chíp 8051 có thể lập trình được một
lần và được cung cấp từ nhiều hãng sản xuất khác nhau. Các phiên bản Flash và
NV-RAM thường được dùng để phát triển sản phẩm mẫu. Khi một sản pohẩm

được thiết kế và được hoàn thiện tuyệt đối thì phiên bản OTP của 8051 được
dùng để sản hàng loạt vì nó rẻ hơn rất nhiều theo giá thành một đơn vị sản phẩm.
Họ 8051 từ Hãng Philips
Một nhà sản xuất chính của họ 8051 khác nữa là Philips Corporation. Thật
vậy, hãng này có một dải lựa chọn rộng lớn cho các bộ vi điều khiển họ 8051.
Nhiều sản phẩm của hãng đã có kèm theo các đặc tính như các bộ chuyển đổi
ADC, DAC,cổng I/0 mở rộng và cả các phiên bản OTP và Flash.
2.1.4. Kiến trúc vi điều khiển 8051
2.1.4.1.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. 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
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

18


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).

Hình 2.2: Cấu trúc vi điều khiển 8051
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à 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.
2.1.4.2. Bộ nhớ chương trình

Hình 2.3: Cấu trúc bộ nhớ chương trình

19


Hình 2.4: Địa chỉ các ngắt trên bộ nhớ chương trình
Hình 2.3 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.4 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).
2.1.4.3. Bộ nhớ dữ liệu

Hình 2.5: Cấu trúc bộ nhớ dữ liệu

20


Hình .15 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 1.6 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.6: Cấu trúc bộ nhớ trong
Hình 1.7 mơ tả cấu trúc 128 byte thấp của bộ nhớ dữ liệu của họ vi điều
khiển 8051. 32 byte đầu tiên (00H-1FH) được sử dụng cho 4 bộ 8 thanh ghi R0R7. Hai bit của thanh ghi đặc biệt PSW sẽ lựa chọn 1 trong 4 bộ thanh ghi mà vi
điều khiển sẽ dùng trong khi thực thi chương trình.

Hình 2.7: Cấu trúc 128 byte thấp của bộ nhớ dữ liệu trong

21


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.
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.


Hình 2.8: Cấu trúc 128 byte cao của bộ nhớ dữ liệu
2.1.5. Các thanh ghi
Trong bộ vi điều khiển các thanh ghi được dùng để lưu cất thơng tin tạm
thời, những thơng tin này có thể là một byte dữ liệu cần được xử lý hoặc là một
địa chỉ đến dữ liệu cần được nạp.
Phần lớn các thanh ghi của 8051 là các thanh ghi 8 bit. Trong 8051 chỉ có
một kiểu dữ liệu: Loại 8 bit, 8 bit của một thanh ghi được trình bày như sau :
D

D6 D

D

D

22

D

D

D0


7

5

4


3

2

1

Với MBS (Most Sigfican bit) là bit có giá trị cao nhất D7 cho đến LBS
(Leart Significant bit) là bit có giá trị thấp nhất D0. Với một kiểu dữ liệu 8 bit thì
bất kỳ dữ liệu nào lớn hơn 8 bit đều phải được chia thành các khúc 8 bit trước khi
được xử lý.

Hình 2.9: Thanh ghi 8 bit của 8051

Hình 2.10: Thanh ghi 16 bit của 8051
Các thanh ghi được sử dụng rộng rãi nhất của 8051 là A (thanh ghi tích
lũy), B, R0 – R7, DPTR (con trỏ dữ liệu) và PC (bộ đếm chương trình). Tất cả
các dữ liệu trên đều là thanh ghi 8 bit, trừ DPTR và PC là 16 bit.
Thanh ghi tích lũy A được sử dụng cho tất cả mọi phép toán số học và logic.
Ngồi ra 8051 cịn 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.11 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.

23


Hình 2.11: Các thanh ghi đặc biệt
Thanh ghi chính:
Thanh ghi tính tốnchí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.
Thanh ghi phụ:
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
MULAB nhân 2 số 8 bit không dấu chứa trong A và B và chứa kết quả 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 DIVAB 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.

24


Thanh ghi trạng thái chương trình (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. Hai bảng sau sẽ mô
tả thanh ghi này.
7
CY

6
AC

5
F0

4
RS1


3
RS0

2
OV

1
-

0
P

Bảng 2.5: Thanh ghi trạng thái chương trình PSW
Bit



Địa

Hiệu

Chỉ

Mơ tả Bit
Cờ nhớ (Carry Flag): được Set nếu có Bit nhớ

PSW.7 CY

D7H


từ Bit 7 trong phép cộng hoặc có Bit mượn cho
Bit 7 trong phép trừ.
Cờ nhớ phụ: được Set trong phép cộng nếu có

PSW.6 AC

D6H

Bit nhớ từ Bit 3 sang Bit 4 hoặc kết quả trong 4

PSW.5 FO

D5H

Bit thấp nằm trong khoảng 0AH->0FH.
Cờ O: dành cho người sử dụng.

PSW.4 RS1

D4H

Chọn dãy thanh ghi (Bit 1)
Chọn dãy thanh ghi (Bit 0)
00=Bank 0: Địa chỉ 00H->07H

PSW.3 RS0

D3H

01=Bank 1: Địa chỉ 08H->0FH

10=Bank 2: Địa chỉ 10H->17H

PSW.2 OV

D2H

PSW.1 -

D1H

11=Bank 3: Địa chỉ 18H->1FH
Cờ tràn (Overflow Flag): được Set khi phép
tốn có dấu có kết quả > +127 hoặc < -128.
Chưa dùng
Cờ kiểm tra chẵn lẻ: được Set hoặc Clear bởi

PSW.0 P

D0H

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.
Thanh ghi ngăn xếp (Stack Pointer):
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

25



×