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

Bật tắt đèn tự động sử dụng vi điều khiển 8051 (hẹn thời gian tắt đèn)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.21 MB, 52 trang )

BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TH.S LÊ XỨNG

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM
KHOA VẬT LÝ
----------------

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
NGÀNH CỬ NHÂN VẬT LÝ
Đề tài:
BẬT TẮT ĐÈN TỰ ĐỘNG SỬ DỤNG VI ĐIỀU KHIỂN 8051
Người hướng dẫn:
ThS. Lê Xứng
Người thực hiện:
Lê Thị Mỹ Hạnh

Đà Nẵng, tháng 5/2013

SVTH: LÊ THỊ MỸ HẠNH – 09CVL

Trang 1


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TH.S LÊ XỨNG

LỜI CẢM ƠN
Để có thể hồn thành tốt khóa luận này, chúng em đã nhận được rất nhiều sự giúp


đỡ nhiệt tình của quý thầy cô. Đầu tiên, chúng em xin chân thành gửi lời cảm ơn đến thầy
giáo Lê Xứng – người đã hướng dẫn tận tình và giúp đỡ chúng em rất nhiều trong q
trình thực hiện bài khóa luận của mình. Chúng em xin chân thành cảm ơn các thầy cô
trong khoa Vật Lý đã trang bị cho chúng em những kiến thức sâu sắc để chúng em hoàn
thành tốt đề tài này.
Ngồi ra, trong q trình thực hiện khóa luận chúng em cịn nhận được rất nhiều
sự động viên và giúp đỡ từ phía gia đình, bạn bè và tập thể các bạn trong lớp. Do đó kết
quả của đề tài này là lời cảm ơn sâu sắc nhất của chúng em gửi tới mọi người và là nguồn
động lực để chúng em có thể tự tin vào các kiến thức mình đã thu được sau khi tốt
nghiệp.
Mặc dù đã nổ lực cố gắng nhưng đề tài của chúng em vẫn khơng tránh khỏi những
thiếu sót, kính mong các thầy cơ đóng góp ý kiến, bổ sung cho khóa luận được thành
cơng hơn nữa.

Đà Nẵng, Tháng 05 Năm 2013.
Sinh Viên Thực Hiện

Lê Thị Mỹ Hạnh

SVTH: LÊ THỊ MỸ HẠNH – 09CVL

Trang 2


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TH.S LÊ XỨNG

LỜI MỞ ĐẦU
Với sự phát triển ngày càng mạnh mẽ và rộng lớn của nền khoa học kỹ thuật. Các

công nghệ mới thuộc các lĩnh vực khác nhau cũng nhờ đó đã ra đời để đáp ứng những nhu
cầu của xã hội, và một trong số đó phải kể đến là Kỹ Thuật Vi Điều Khiển. Ngày nay với
sự xuất hiện của các chip vi điều khiển có khả năng lập trình điều khiển rất linh hoạt,
được sử dụng rộng rãi trong các lĩnh vực tự động hoá và tạo nên một bước phát triển nhảy
vọt trong lĩnh vực này. Từ những kiến thức đã học chúng em đã nghiên cứu và chọn đề tài
“Bật tắt đèn tự động sử dụng vi điều khiển 8051’’ với nhiều ứng dụng trong thực tế, đặc
biệt trong đời sống sinh hoạt hằng ngày.
Mục đích của mạch “Bật tắt đèn tự động’’ là hệ thống điều khiển đèn bật/tắt theo
thời gian, hệ thống này giống như một thiết bị hẹn giờ để bật/tắt đèn tự động giúp cho
người dùng mạch này sử dụng trong đời sống sinh hoạt hằng ngày và như một thiết bị
điện nhằm đáp ứng nhu cầu của con người là những hoạt động tất yếu và thường xuyên.
Mạch “Bật tắt đèn tự động’’ được thiết kế từ việc áp dụng những kiến thức đã học
cùng với sự hướng dẫn của giáo viên hướng dẫn nghiên cứu và phân tích các đặc tính
chức năng của các linh kiện điện tử, nguyên lý làm việc của các IC và cách mắc các thiết
bị điện tử để thiết kế mạch.
Do có sự hạn chế về mặt thời gian cũng như kiến thức và chưa có kinh nghiệm
nghiên cứu trong thực tế nên chúng em còn gặp nhiều khó khăn trong q trình tính tốn
thiết kế và thi cơng mạch. Vì vậy trong q trình thực hiện đề tài này khơng tránh khỏi
những thiếu xót. Rất mong được sự thơng cảm và đóng góp ý kiến của quý thầy cô và các
bạn. Chúng em xin chân thành cảm ơn.

SVTH: LÊ THỊ MỸ HẠNH – 09CVL

Trang 3


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TH.S LÊ XỨNG


GIỚI THIỆU ĐỀ TÀI
1. Lý do chọn đề tài:
 Trong nền kinh tế phát triển và công nghiệp ngày càng hiện đại kéo theo sự phát
triển đầy mới mẻ của ngành công nghệ, đặc biệt là lĩnh vực kĩ thuật-điện tử. Bằng cách sử
dụng vi điều khiển, điển hình là vi điều khiển 8051 đã cho ra đời nhiều loại sản phẩm có
ứng dụng rất thiết thực trong nhiều lĩnh vực. Trong đời sống sinh hoạt hằng ngày, việc bật
tắt các thiết bị điện nhằm đáp ứng nhu cầu của con người là những hoạt động tất yếu và
thường xuyên. Vi điều khiển có thể giúp chúng ta tiết kiệm được thời gian, công sức vào
những hoạt động này bằng cách tự động bật tắt các thiết bị, mặt khác còn đem lại sự chính
xác và hiệu quả.
 Sau khi có được những kiến thức về vi điều khiển 8051 cùng với sự hướng dẫn
của thầy giáo Lê Xứng, nhóm chúng em đã chọn đề tài nghiên cứu là “Bật tắt đèn tự động
sử dụng vi điều khiển 8051”.
2. Đặt vấn đề:
 Trong thực tế cuộc sống có rất nhiều thiết bị điện muốn hoạt động hoặc ngừng
hoạt động, khơng có cách nào khác là phải nhấn công tắc điện để cung cấp nguồn điện
hoặc ngắt nguồn điện cho thiết bị. Điều này nhiều lúc rất thụ động và bất tiện cho người
sử dụng, từ những nhược điểm đó em đã có ý tưởng thiết kế một thiết bị có khả năng
đóng, ngắt nguồn điện một cách chủ động hơn. Thiết bị này chính là một hệ thống có khả
năng hẹn giờ, định thời gian đóng ngắt nguồn điện cho thiết bị một cách tự động tùy theo
ý muốn của người sử dụng. Đây chính là nội dung của đề tài nghiên cứu: “ Bật tắt đèn tự
động dung vi điều khiển 8051” em sẽ trình bày dưới đây.

SVTH: LÊ THỊ MỸ HẠNH – 09CVL

Trang 4


BÁO CÁO LUẬN VĂN TỐT NGHIỆP


GVHD: TH.S LÊ XỨNG

 Để làm được mạch này cần có 2 bộ phận chính:
 Bộ xử lý dùng IC AT89C51.
 Bộ hiển thị gồm có 2 led 7 đoạn và 1 led đơn.
Ngồi ra cịn dùng các phím nhấn để thay đổi thời gian hẹn giờ.
3. Mục tiêu đề tài:
 Mạch bật, tắt đèn tự động này giúp bạn tiết kiệm thời gian, đèn sẽ tự động được
bật, tắt với thời gian bạn định trước. Bạn muốn hẹn giờ sau thời gian bao lâu thì đèn sẽ
sáng, tắt bằng cách nhấn vào phím nhấn và thời gian sẽ hiển thị trên led 7 đoạn, khi muốn
thay đổi thời gian hẹn giờ bạn chỉ cần nhấn các phím nhấn tương ứng. Thời gian đếm lên
thì đèn sáng, ngược lại đếm lùi thời gian thì đèn tắt (đèn sử dụng trong mạch là led đơn).
 Mục đích của đề tài là:
 Mạch điện khơng q phức tạp và dễ sử dụng.
 Thời gian hiển thị rõ ràng.
 Led đơn hoạt động sáng, tắt phải chính xác.
4. Giới hạn đề tài:
 Do chi phí và thời gian có hạn nên sản phẩm chỉ dừng lại ở mức đáp ứng yêu
cầu của một luận văn tốt nghiệp. Do đó có những giới hạn sau:
 Cài đặt trước thời gian hẹn giờ, gồm 6 phím nhấn tương ứng với 6 khoảng
thời gian khác nhau.
 Khoảng thời gian cài đặt ngắn ( từ 0 đến 30 giây).
 Mạch chưa được giao tiếp với máy tính để diều khiển linh hoạt hơn.

SVTH: LÊ THỊ MỸ HẠNH – 09CVL

Trang 5


BÁO CÁO LUẬN VĂN TỐT NGHIỆP


GVHD: TH.S LÊ XỨNG

PHẦN 1: CƠ SỞ LÝ THUYẾT
CHƯƠNG 1: GIỚI THIỆU VI ĐIỀU KHIỂN AT89C51
1.1. GIỚI THIỆU CẤU TRÚC PHẦN CỨNG HỌ MCS-51 (AT89C51):
 MCS-51 là họ IC (integrated circuit) vì điều khiển (Microcontroller) do hãng
Intel sản xuất. Các IC tiêu biểu cho họ MSC-51 là: 8051, 8031, 89C51, 892051, 8751,...
Việc xử lý trên Byte và các toán số học ở cấu trúc dữ liệu đượ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 cộng, trừ, 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 điều khiển.
 AT89C51 là một vi điều khiển 8 Bit, chế tạo theo công nghệ CMOS chất lượng
cao, với 4 KB EEPROM (Flash Programmable and erasable read only memory). Thiết bị
này được chế tạo bằng cách sử dụng bộ nhớ khơng bốc hơi mật độ cao của ATMEL và
tương thích với chuẩn công nghiệp MCS-51 về tập lệnh và các chân ra. ATMEL
AT89C51 là một vi điều khiển mạnh (có cơng suất lớn) mà nó cung cấp một sự linh động
cao và giải pháp về giá cả đối với nhiều ứng dụng vì điều khiển.
 Các đặc điểm của 89C51 được tóm tắt như sau:
* 4 KB bộ nhớ có thể lập trình lại nhanh.
* Tần số hoạt động từ: 0Hz đến 24 MHz.
* 2 bộ Timer/counter 16 Bit.
* 128 Byte RAM nội.
* 4 Port xuất/ nhập I/O 8 bit.
* Giao tiếp nối tiếp.
* 64 KB vùng nhớ mã ngoài.

SVTH: LÊ THỊ MỸ HẠNH – 09CVL


Trang 6


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TH.S LÊ XỨNG

* 64 KB vùng nhớ dữ liệu ngoài.
* Xử lý Boolean (hoạt động trên bit đơn).
* 210 vị trí nhớ có thể định vị bit.

Hình: Vi điều khiển AT89C51

SVTH: LÊ THỊ MỸ HẠNH – 09CVL

Trang 7


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TH.S LÊ XỨNG

1.2. KHẢO SÁT SƠ ĐỒ CHÂN AT89C51, CHỨC NĂNG TỪNG CHÂN:
1.2.1. Sơ đồ chân AT89C51:

1.2.2 Chức năng các chân của AT89C51:
 Vi điều khiển 89C51 có tất cả 40 chân, trong đó có 32 chân có cơng dụng
xuất/nhập tuy nhiên 24 trong số 32 chân có tác dụng kép (có nghĩa 1 chân có 2 chức
năng), mỗi đường có thể hoạt động như đường xuất nhập hoặc như đường điều khiển hoặc
hoạt động như một đường địa chỉ/dữ liệu của bus địa chỉ/dữ liệu đa hợp.


SVTH: LÊ THỊ MỸ HẠNH – 09CVL

Trang 8


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TH.S LÊ XỨNG

1.2.2.1 Các Port:
 Port 0 (P0.0-P0.7): là port có các chân từ 32 – 39 của 89C51.
Có 2 chức năng:
- Port xuất nhập dữ liệu (P0.0-P0.7) nên không sử dụng bộ nhớ ngoài và bus địa chỉ byte
thấp, bus dữ liệu đa hợp (AD0-AD7) nên sử dụng bộ nhớ ngoài.
- Port 0 đóng vai trị xuất nhập dữ liệu thì phải sử dụng điển trở kéo bên ngồi.
 Port 1 (P1.0-P1.7): có số chân từ 1 – 8. Có chức năng xuất nhập dữ liệu nên sử
dụng hoặc không sử dụng bộ nhớ ngồi.
 Port 2 (P2.0-P2.7): có số chân từ 21 – 28
Có 2 chức năng: Port xuất nhập dữ liệu khơng sử dụng bộ nhớ ngồi và bus địa chỉ cao
(A8-A5) có sử dụng bộ nhớ ngồi.
 Port 3 (P3.0-P3.7): có số chân từ 10 – 17. Các chân của port này có nhiều chức
năng, khi khơng hoạt động xuất/nhập các chân của port 3 có nhiều chức năng riêng. Các
cơng dụng chuyển đổi có liên hệ với các đặc tính đặc biệt của 89C51 như ở bảng sau:
Bit

Tên

Địa chỉ bit


P3.0

RXT

B0H

Ngõ vào dữ liệu nối tiếp

P3.1

TXD

B1H

Ngõ xuất dữ liệu nối tiếp

P3.2

INT0\

B2H

Ngõ vào ngắt ngoài 0

P3.3

INT1\

B3H


Ngõ vào ngắt ngoài 1

P3.4

T0

B4H

Ngõ vào của bộ định thời/đếm 0

P3.5

T1

B5H

Ngõ vào của bộ định thời/đếm 1

P3.6

WR\

B6H

Tín hiệu ghi dữ liệu lên bộ nhớ ngồi

P3.7

RD\


B7H

Tín hiệu đọc bộ nhớ dữ liệu ngoài

SVTH: LÊ THỊ MỸ HẠNH – 09CVL

Chức năng

Trang 9


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TH.S LÊ XỨNG

1.2.2.2. Các ngõ tín hiệu điều khiển:
 Ngõ tín hiệu PSEN (Program store enable):
- Cho phép đọc bộ nhớ chương trình là tín hiệu ngõ ra ở chân 29.
- Là tín hiệu cho phép truy xuất (đọc) chương trình ROM ngồi.
- Là mức xuất tích cực ở mức thấp PSEN=0 thì trong thời gian CPU tìm và nạp lệnh từ
ROM ngồi, PSEN=1 thì CPU sử dụng ROM trong.
 Ngõ tín hiệu điều khiển ALE (Address Latch Enable):
- Khi 89C51 truy xuất bộ nhớ bên ngồi, port 0 có chức năng là bus địa chỉ và bus 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 ra ở 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ỉ hồn tồn tự động.
 Ngõ tín hiệu EA\ (External Acces):
- Tín hiệu vào EA\ ở chân 31 thường được mắc lên nguồn. Nếu ở mức 1, vi điều khiển
89C51 thi hành chương trình từ ROM nội trong khoảng địa chỉ thấp 8 Kbyte. Nếu ở mức

0, vi điều khiển 89C51 sẽ 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 vi điều
khiển 89C51.
 Ngõ tín hiệu RST (Reset): Ngõ vào RST ở chân 9 là ngõ vào Reset của 89C51.
Khi ngõ vào tín hiệu này đưa lên cao ít nhất là 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 tự động
Reset.
- Là tín hiệu cho phép thiết lập trạng thái ban đầu cho hệ thống.
- Là tín hiệu nhập tích cực mức cao.

SVTH: LÊ THỊ MỸ HẠNH – 09CVL

Trang 10


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TH.S LÊ XỨNG

- RST=0 chip 89C51 hoạt động bình thường, RST=1 chip 89C51 được thiết lập lại trạng
thái ban đầu.
 Các ngõ vào bộ giao động X1, X2: Ở chân số 18 và 19, bộ dao động được tích
hợp bên trong 89C51, khi sử dụng 89C51 người thiết kế chỉ cần kết nối thêm thạch anh và
các tụ như hình vẽ trong sơ đồ. Tần số thạch anh thường sử dụng cho 89C51 là 12 MHz.
- Dùng để nối thạch anh với mạch dao động tạo xung clock bên ngoài cung cấp xung
clock cho chip hoạt động.
- XTAL1: ngõ vào mạch tạo xung clock trong chip.
- XTAL2: ngõ ra mạch tạo xung clock trong chip.

Hình: Mạch tạo dao động bằng thạch anh

 Chân VCC và GND: Nguồn cung cấp điện chân số 40 và 20.
- VCC = +5V± 10%
- GND = 0V

SVTH: LÊ THỊ MỸ HẠNH – 09CVL

Trang 11


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TH.S LÊ XỨNG

1.3. CẤU TRÚC BÊN TRONG VI ĐIỀU KHIỂN:
1.3.1. Tổ chức bộ nhớ:
1.3.1.1. Sơ đồ cấu trúc bên trong của AT89C51:

Hình: Sơ đồ cấu trúc bên trong của AT89C51
- CPU: Đơn vị điều khiển trung tâm.
- Ram 128 byte.
- TIMER 2,1,0 (T2, T1, T0): Bộ định thời 2,1,0.
- PORT: Các port xuất/nhập.
- Address/data : Địa chỉ/dữ liệu.

SVTH: LÊ THỊ MỸ HẠNH – 09CVL

Trang 12


BÁO CÁO LUẬN VĂN TỐT NGHIỆP


GVHD: TH.S LÊ XỨNG

1.3.1.2. Tổ chức bộ nhớ của AT89C51:
 Bộ nhớ trong 89C51 bao gồm ROM và RAM. RAM trong 89C51 bao gồm
nhiều thành phần: phần lưu trữ đa dụng, phần lưu trữ địa chỉ hoá từng bit, các bank thanh
ghi và các thanh ghi đặc biệt.
 89C51 có bộ nhớ theo cấu trúc Harvard: có những vùng bộ 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 89C51 nhưng
89C51 vẫn có thể kết nối với 64 KB bộ nhớ chương trình và 64 KB dữ liệu.
 Các đặc tính cần chú ý là: Các thanh ghi và các port xuất nhập đã được định vị
(xác định) trong bộ nhớ và có thể truy xuất trực tiếp giống như cơ sở địa chỉ bộ nhớ khác.
Ngăn xếp bên trong Ram nội nhỏ hơn so với Ram ngoại.
 RAM bên trong 89C51 đượ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.

SVTH: LÊ THỊ MỸ HẠNH – 09CVL

Trang 13


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TH.S LÊ XỨNG

Bảng Tóm Tắt Các Vị Trí Nhớ Của AT89C51
1.3.2. Các thanh ghi có chức năng đặc biệt:

 Các thanh ghi nội của 89C51 được cấu hình thành một phần của RAM trên chip,
do vậy mỗi một thanh ghi cũng có một địa chỉ. Điều này hợp lý vì chip này có rất nhiều
thanh ghi. Cũng như các thanh ghi từ R0 đến R7, ta có 21 thanh ghi có 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.

SVTH: LÊ THỊ MỸ HẠNH – 09CVL

Trang 14


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TH.S LÊ XỨNG

 Thanh ghi trạng thái chương trình (PSW: Program Status Word):
Từ trạng thái chương trình ở địa chỉ D0H được tóm tắt như sau:
BIT

SYMBOL

ADDRESS

DESCRIPTION

PSW.7

CY

D7H


Cary Flag

PSW.6

AC

D6H

Auxiliary Cary Flag

PSW.5

F0

D5H

Flag 0

PSW.4

RS1

D4H

Register Bank Select 1

PSW.3

RS0


D3H

Register Bank Select 0

PSW.2

OV

D2H

Overlow Flag

PSW.1

-

D1H

Reserved

PSW.0

P

D0H

Even Parity Flag

RS1


RS0

BANK

0

0

0

0

1

1

1

0

2

1

1

3

 Thanh ghi B:
- Thanh ghi B ở địa chỉ F0H được dùng cùng với thanh ghi A cho các phép toán nhân

chia. Lệnh MUL AB sẽ nhân 2 số 8 bit trong hai thanh ghi A và B, và kết quả 16 bit chứa
trong B (byte cao) và A (byte thấp). Lệnh DIV AB là lấy A chia B, kết quả nguyên đặt
vào A, số dư đặt vào B.
- Thanh ghi B có thể được dùng như một thanh ghi đệm trung gian đa mục đích.

SVTH: LÊ THỊ MỸ HẠNH – 09CVL

Trang 15


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TH.S LÊ XỨNG

 Con trỏ SP (Stack Pointer):
- Con trỏ ngăn xếp là một thanh ghi 8 bit ở địa 81H. nó chứa địa chỉ của byte dữ liệu hiện
hành trên đỉnh ngăn xếp. Lệnh cất dữ liệu vào ngăn xếp sẽ làm tăng SP trước khi dữ liệu
và lệnh lấy ra khỏi ngăn xếp sẽ làm giảm SP. Ngăn xếp được giữ trong RAM nội và giới
hạn các địa chỉ có thể truy xuất bằng địa chỉ gián tiếp, chúng là 128 byte đầu của 89C51.
 Con trỏ DPTR (Data Pointer):
- Con trỏ dữ liệu (DPTR) được dùng để truy xuất bộ nhớ ngoài là một thanh ghi 16 bit ở
địa chỉ 82H (DPL: byte thấp) và 83H (DPL: byte cao).
 Các thanh ghi Port (Port Register):
- Các Port của 89C51 bao gồm Port 0 ở địa chỉ 80H, Port 1 ở địa chỉ 90H, Port 2 ở địa
chỉ A0H, và Port 3 ở địa chỉ B0H. Tất cả các Port này đều có thể truy xuất từng bit nên rất
thuận tiện trong khả năng giao tiếp.
 Các thanh ghi Timer (Timer Register):
- 89C51 có chứa hai bộ định thời/bộ đếm 16 bit. Timer 0 (TL0: byte thấp và TH0: byte
cao). Timer 1 (TL1: byte thấp và TH1: byte cao). Việc khởi động timer do thanh ghi
TMOD ở địa chỉ 89H và thanh ghi TCON ở địa chỉ 88H.

 Các thanh ghi Port nối tiếp (Serial Port Register):
- 89C51 chứa một Port nối tiếp cho việc trao đổi thông tin với các thiết bị nối tiếp như
máy tính, modem hoặc giao tiếp nối tiếp với các IC khác. Một thanh ghi đệm dữ liệu nối
tiếp (SBUF) ở địa chỉ 99H sẽ dữ cả hai dữ liệu truyền và dữ liệu nhập. Khi truyền dữ liệu
ghi lên SBUF, khi nhận dữ liệu thì đọc SBUF. Các mode vận khác nhau được lập trình
qua thanh ghi điều khiển Port nối tiếp (SCON) được địa chỉ hoá từng bit ở địa chỉ 98H.

SVTH: LÊ THỊ MỸ HẠNH – 09CVL

Trang 16


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TH.S LÊ XỨNG

 Các thanh ghi ngắt (Interrupt Register):
- 89C51 có cấu trúc 5 nguồn ngắt, 2 mức ưu tiên. Các ngắt bị cấm sau khi bị Reset hệ
thống và sẽ được cho phép bằng việc ghi thanh ghi cho phép ngắt (IE) ở địa chỉ A8H. Cả
hai được địa chỉ hoá từng bit.
 Thanh ghi điều khiển nguồn PCON (Power Control Register):
- Thanh ghi PCON khơng có bit định vị. Nó ở địa chỉ 87H chứa nhiều bit điều khiển.
Thanh ghi PCON được tóm tắt như sau:
+ Bit 7 (SMOD): Bit có tốc độ Baud tăng gấp đôi khi set.
+ Bit 6, 5, 4: Khơng có địa chỉ.
+ Bit 3 (GF1): Bit cờ đa năng 1.
+ Bit 2 (GF0): Bit cờ đa năng 2.
+ Bit 1 (PD): Set để khởi động mode Power Down và thoát khi reset.
+ Bit 0 (IDL): Set để khởi động mode Idle và thoát khi ngắt hoặc reset.
1.3.3. Hoạt động Reset:

89C51 có 2 cách thực hiện Reset: Reset tự động hoặc Reset bằng tay.
 Reset tự động:
- Mạch Autoreset thường được dùng để xác định trạng thái đầu tiên của mạch ngay khi
vừa cấp nguồn để mạch luôn luôn hoạt động đúng như yêu cầu thiết kế.
- Khi chưa cấp nguồn điện áp trên tụ bằng 0, nên khi vừa cấp điện tụ nạp từ 0V-VCC, do
đó khi cấp điện thì điện áp đưa vào chân Reset là VCC nên mạch tự động hệ thống.
 Reset bằng tay: Thường trong hệ thống rất cần động tác Reset khi mạch đang
hoạt động, do đó chỉ có mạch Reset khi vừa bật máy là chưa đủ. Việc thiết kế mạch Reset
bằng tay rất đơn giản chỉ việc thêm vào mạch Reset tự động một SW và điện trở. Nguyên
lý mạch giống như mạch Reset tự động.

SVTH: LÊ THỊ MỸ HẠNH – 09CVL

Trang 17


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TH.S LÊ XỨNG

 Trạng thái của tất cả các thanh ghi trong 89C51 sau khi reset hệ thống được tóm
tắt như sau:

Thanh ghi
Đếm chương trình PC
Thanh ghi tích luỹ A
Thanh ghi B
Thanh ghi trạng thái PSW
SP
DPRT

Port 0 đến Port 3
IP
IE
Các thanh ghi định thời
SCON SBUF
PCON (MHOS)
PCON (CMOS)

Nội dung
0000H
00H
00H
00H
07H
0000H
FFH
XXX0 0000 B
0X0X 0000 B
00H
00H
00H
0XXX XXXXH
0XXX 0000 B

1.3.4. Cổng nối tiếp:
 89C51 có một cổng nối tiếp với 4 mode hoạt động. Chức năng chủ yếu là thực
hiện chuyển đổi song song sang nối tiếp với dữ liệu phát và chuyển đổi nối tiếp sang song
song với dữ liệu thu.
 Port nối tiếp cho hoạt động song công (full duplex: thu và phát đồng thời) và
đệm thu (receiver buffering) cho phép một ký tự sẽ được thu và được giữ trong khi ký tự

thứ hai được nhận. Nếu CPU đọc ký tự thứ nhất trước khi ký tự thứ hai được thu đầy đủ
thì dữ liệu sẽ không bị mất.
 Hai thanh ghi chức năng đặc biệt cho phép phần mềm truy xuất đến Port nối
tiếp là: SBUF, SCON. Bộ đệm Port nối tiếp (SBUF) ở địa chỉ 99H nhận dữ liệu để thu
SVTH: LÊ THỊ MỸ HẠNH – 09CVL

Trang 18


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TH.S LÊ XỨNG

hoặc phát. Thanh ghi điều khiển Port nối tiếp (SCON) ở địa chỉ 98H là thanh ghi có địa
chỉ bit chứa các bit trạng thái và các bit điều khiển. Các bit điều khiển đặt chế độ hoạt
động cho Port nối tiếp, và các bit trạng thái báo cáo kết thúc việc phát hoặc thu ký tự. Các
bit trạng thái có thể được kiểm tra bằng phần mềm hoặc có thể lập trình để tạo ngắt.
1.3.5. Các lệnh trong AT89C51:
- Các lệnh số học: ADD, ADDC, SUBB, INC, DEC, MUL, DIV, DA.
- Các lệnh logic: ANL, ORL, XRL, CLR, CPR, RL, RLC, RR, RRC, SWAP.
- Các lệnh chuyển dữ liệu: MOV, MOVC, MOVX, PUSH, POP, XCH, XCHD.
- Các lệnh thao tác trên bit: CLR, SETB, CPL, ANL, ORL, MOV, JC, JNC, JB, JNB,
JBC.
- Các lệnh rẽ nhánh: ACALL, LCALL, RET, RETI, AJMP, LJMP, SJMP, JMP, JZ, JNZ,
JC, CJNE, DJNZ, NOP.
 Những ghi chú khi thao tác các lệnh:
- Rn: định địa chỉ thanh ghi sử dụng R0 – R7.
- Direct: địa chỉ 8 bit trong RAM nội (từ 00H - FFH).
- @Ri: định địa chỉ gián tiếp sử dụng thanh ghi R0 hoặc R1.
- Sourse: tốn hạng nguồn, có thể là Rn hoặc @Ri.

- Dest: tốn hạng đích, có thwr là Rn hoặc direct hoặc @Ri.
- # data: hằng số 8 bit chứa trong lệnh.
- # data16: hằng số 16 bit.
- Bit: địa chỉ trực tiếp (8 bit) của một bit.
- Rel: offset 8 bit có dấu.
- Addr11: địa chỉ 11 bit trong trang hiện thành.
- Addr16: địa chỉ 16 bit.

SVTH: LÊ THỊ MỸ HẠNH – 09CVL

Trang 19


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TH.S LÊ XỨNG

1.3.6. Hoạt động ngắt của 89C51:
 Ngắt (Interrupt): là sự xảy ra một điều kiện, một sự kiện làm cho gây ra treo
chương trình hiện hành bị tạm ngưng trong khi điều kiện 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 của bộ
vi điều khiển. Các ngắt cho phép hệ thống đáp ứng một cách không đồng bộ với một sự
kiện và xử lý sự kiện trong một chương trình khác đang được thực hiện.
 Tổ chức ngắt của 89C51:
- Có 5 nguyên nhân tạo ra ngắt ở 89C51 với 2 mức ưu tiên: hai nguyên nhân ngắt do bên
ngoài, hai ngắt do bộ định thời từ và một ngắt do Port nối tiếp. Khi thiết lập trạng thái ban
đầu cho hệ thống, tất cả các ngắt đều bị cấm và sau đó chúng được cho phép bằng phần
mềm.
- Khi xảy ra hai hay nhiều ngắt đồng thời hoặc xảy ra một ngắt trong khi một ngắt đang
được phục vụ, ta có hai sơ đồ xử lý các ngắt : sơ đồ chuỗi vòng và sơ đồ hai mức ưu tiên.

Sơ đồ chuỗi vòng là sơ đồ cố định còn sơ đồ ưu tiên ngắt được lập trình bởi người sử
dụng.
 Thanh ghi cho phép ngắt:
DESCRIPTION
BIT

SYMBOL

BIT ADDRESS

IE.7

EA

AFH

Global Enable/Disable

IE.6

-

AEH

Undefined

IE.5

ET2


ADH

Enalbla Timer 2 Interrupt (8052)

IE.4

ES

ACH

Enalbla Serial Port Interrupt

IE.3

ET1

ABH

Enalbla Timer 1 Interrupt

IE.2

EX1

AAH

Enalbla External Interrupt

IE.1


ET0

A9H

Enalbla Timer 0 Interrupt

IE.0

EX0

A8H

Enalbla External Interrupt

SVTH: LÊ THỊ MỸ HẠNH – 09CVL

(1: ENABLE, 0: DISABLE)

Trang 20


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TH.S LÊ XỨNG

 Thanh ghi ngắt ưu tiên:
DESCRIPTION
BIT

SYMBOL


BIT ADDRESS

IE.7

-

-

(1: ENABLE, 0: DISABLE)
Không sử dụng

IE.6

-

-

Không sử dụng

IE.5

PT2

0BDH

Ưu tiên ngắt do bộ định thời 2

IE.4


PS

0BCH

Ưu tiên ngắt do Port nối tiếp

IE.3

PT1

0BBH

Ưu tiên ngắt do bộ định thời 1

IE.2

PX1

0BAH

Ưu tiên ngắt do bên ngoài

IE.1

PT0

0B9H

Ưu tiên ngắt do bộ định thời 0


IE.0

PX0

0B8H

Ưu tiên ngắt do bên ngoài

Cờ

Thanh ghi SFR và vị trí bit

Bên ngồi 0

IE 0

TCON.1

Bên ngồi 1

IE1

TCON.3

Timer 0

TF0

TCON.7


Timer 1

TF1

TCON.5

Port nối tiếp

TI

TCON.1

Port nối tiếp

RI

TCON.0

 Các cờ ngắt:
Ngắt

 Các vector ngắt:
Ngắt

Cờ

Địa chỉ

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

RI và TI


0023H

Port nối tiếp

SVTH: LÊ THỊ MỸ HẠNH – 09CVL

Trang 21


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TH.S LÊ XỨNG

CHƯƠNG 2: CÁC LINH KIỆN TRONG MẠCH
2.1. LED 7 ĐOẠN:

Hình Led 7 đoạn
2.1.1. Các khái niệm cơ bản:
 Led 7 đoạn có cấu tạo bao gồm 7 Led đơn có dạng thanh xếp theo hình và có
thêm một Led đơn hình trịn nhỏ thể hiện dấu chấm trịn ở góc dưới bên phải của Led 7
đoạn.
Cấu trúc và chân ra của 1 dạng Led 7 đoạn

SVTH: LÊ THỊ MỸ HẠNH – 09CVL

Trang 22


BÁO CÁO LUẬN VĂN TỐT NGHIỆP


GVHD: TH.S LÊ XỨNG

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

 Vì Led 7 đoạn chứa bên trong nó các Led đơn, do đó khi kết nối cần đảm bảo
dòng qua mỗi Led đơn trong khoảng 10mA-20mA để bảo vệ Led. Nếu kết nối với nguồn
5V có thể hạn dòng bằng điện trở 330Ω trước các chân nhận tín hiệu điều khiển.
 Sơ đồ vị trí các Led được trình bày như hình dưới:

SVTH: LÊ THỊ MỸ HẠNH – 09CVL

Trang 23


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TH.S LÊ XỨNG

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

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

SVTH: LÊ THỊ MỸ HẠNH – 09CVL

Trang 24


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TH.S LÊ XỨNG

 Phần cứng được kết nối với 1 Port bất kì của Vi điều khiển, để thuận tiện cho
việc xử lí về sau phần cứng nên được kết nối như sau: Px.0 nối với chân a, Px.1 nối với
chân b, lần lượt theo thứ tự cho đến Px.7 nối với chân h.Dữ liệu xuất có dạng nhị phân
như sau : hgfedcba.
2.2. KHỐI PHÍM NHẤN:

- 1 phím nhấn Reset SW1.

- 6 phím nhấn SW2 đến SW7.
2.3. KHỐI NGUỒN:
- Nguồn cung cấp cho khối xử lý: 4,5V/DC.
- Sử dụng 3 viên Pin , mỗi viên 1,5V

SVTH: LÊ THỊ MỸ HẠNH – 09CVL

Trang 25


×