Tải bản đầy đủ (.doc) (64 trang)

Ứng dụng vi điều khiển 89c51 vào thiết kế hệ thống đóng mở cửa tự động và bật tắt đèn 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.23 MB, 64 trang )

LỜI CẢM ƠN
Sau một thời gian thực hiện đồ án “Ứng dụng vi điều khiển 89C51 vào
thiết kế hệ thống đóng mở cửa tự động và bật tắt đèn thông minh” của em đã
hoàn thành. Đồ án được phát triển một phần nhờ sự nỗ lực tìm hiểu của bản thân,
một phần nhờ sự hướng dẫn tận tình, chu đáo của cô giáo Nguyễn Thị Dung. Cô
đã chỉ bảo cho em từng bước để thực hiện này và cô cũng đã vạch ra hướng phát
triển đúng đắn để em có thể thực hiện đồ án một cách tốt đẹp. Bên cạnh đó em đã
có được sự quan tâm, giúp đỡ của các thầy cô giáo trong bộ môn, đó là nguồn
động viên to lớn để em có thể thực hiện tốt đồ án của mình. Em cũng xin cảm ơn
gia đình, bạn bè là những người đã giúp đỡ em rất nhiều trong những lúc em gặp
khó khăn và thử thách.
Qua đây, một lần nữa em muốn nói lên lòng biết ơn to lớn đến tất cả mọi
người, những người đã giúp đỡ em trong thời gian qua.
Em xin chân thành cảm ơn!
Thái Nguyên, tháng 6 năm 2012
Sinh viên thực hiện
Trần Anh Tuấn

3


LỜI CAM ĐOAN
Em xin cam đoan:
Những nội dung trong đồ án này là do em thực hiện dưới sự hướng dẫn
trực tiếp của cô giáo hướng dẫn: Nguyễn Thị Dung
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, thời gian, địa điểm công bố.
Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, em xin
chịu hoàn toàn trách nhiệm.
Sinh viên thực hiện
Trần Anh Tuấn



4


MỤC LỤC
LỜI CẢM ƠN............................................................................................................................ 3
LỜI CAM ĐOAN....................................................................................................................... 4
MỤC LỤC................................................................................................................................... 5
DANH MỤC HÌNH................................................................................................................... 7
DANH MỤC TỪ VIẾT TẮT.................................................................................................. 10
LỜI NÓI ĐẦU......................................................................................................................... 11
CHƯƠNG 1............................................................................................................................. 12
TỔNG QUAN VỀ VI ĐIỀU KHIỂN .....................................................................................12
1.1 Giới thiệu chung và cấu trúc vi điều khiển..........................................................................12
1.2Sơ đồ................................................................................................................................... 14
1.2.1 Sơ đồ khối............................................................................................................................14
1.2.2 Sơ đồ chân..................................................................................................................... 15
1.3Tổ chức bộ nhớ.................................................................................................................... 17
1.3.1Tổ chức bộ nhớ trong............................................................................................................18
1.3.2Bộ nhớ ngoài (External memory):.........................................................................................19
1.4Hoạt động Timer của AT89C51.............................................................................................. 20

CHƯƠNG 2............................................................................................................................. 29
KHẢO SÁT PHÂN TÍCH HỆ THỐNG ĐÓNG MỞ CỬA TỰ ĐỘNG VÀ BẬT TẮT ĐÈN
.................................................................................................................................................. 29
2.1

Khảo sát hệ thống.......................................................................................................... 29

2.2


Phân tích hệ thống........................................................................................................... 37
2.2.1 Phân tích.............................................................................................................................37
2.2.2

Sơ đồ khối.........................................................................................................................39

2.2.3 Chức năng các khối.............................................................................................................39
2.3 Các linh kiện sử dụng trong mạch......................................................................................43

5


2.4.1 Sơ đồ nguyên lý mạch.........................................................................................................49
49
2.4.2 Sơ đồ thuật toán.................................................................................................................51
2.4.3 Chương trình cho vi điều khiển.........................................................................................52

CHƯƠNG 3............................................................................................................................. 59
CÀI ĐẶT CHƯƠNG TRÌNH MÔ PHỎNG VÀ XÂY DỰNG MẠCH PHẦN CỨNG........59
3.1 Mạch mô phỏng ....................................................................................................................59
3.2 Kết quả mô phỏng .................................................................................................................60
3.3 Sơ đồ mạch in................................................................................................................... 64

KẾT LUẬN.............................................................................................................................. 65
TÀI LIỆU THAM KHẢO....................................................................................................... 66

6



DANH MỤC HÌNH
LỜI CẢM ƠN............................................................................................................................ 3
LỜI CAM ĐOAN....................................................................................................................... 4
MỤC LỤC................................................................................................................................... 5
DANH MỤC HÌNH................................................................................................................... 7
DANH MỤC TỪ VIẾT TẮT.................................................................................................. 10
LỜI NÓI ĐẦU......................................................................................................................... 11
CHƯƠNG 1............................................................................................................................. 12
TỔNG QUAN VỀ VI ĐIỀU KHIỂN .....................................................................................12
1.1 Giới thiệu chung và cấu trúc vi điều khiển..........................................................................12
1.2Sơ đồ................................................................................................................................... 14
1.2.1 Sơ đồ khối............................................................................................................................14
Hình 1.1 sơ đồ khối MSC-51........................................................................................................................14
1.2.2 Sơ đồ chân..................................................................................................................... 15
Hình 1.2 Sơ đồ chân của AT89C51...............................................................................................................15
1.3Tổ chức bộ nhớ.................................................................................................................... 17
Hình 1.3 Các vùng nhớ trong của AT89C51.................................................................................................17
1.3.1Tổ chức bộ nhớ trong............................................................................................................18
1.3.2Bộ nhớ ngoài (External memory):.........................................................................................19
1.4Hoạt động Timer của AT89C51.............................................................................................. 20
Hình1.4 Biểu đồ thời gian............................................................................................................................21
Hình1.5 Sơ đồ mode 0................................................................................................................................23
Hình1.6 Sơ đồ mode 1................................................................................................................................24
Hình 1.7 Sơ đồ Mode2.................................................................................................................................24

7


Hình 1.8 Sơ đồ Mode3.................................................................................................................................24
Hình1.9 Nguồn cấp xung nhịp.....................................................................................................................25


CHƯƠNG 2............................................................................................................................. 29
KHẢO SÁT PHÂN TÍCH HỆ THỐNG ĐÓNG MỞ CỬA TỰ ĐỘNG VÀ BẬT TẮT ĐÈN
.................................................................................................................................................. 29
2.1

Khảo sát hệ thống.......................................................................................................... 29

Hình 2.1 Cửa trượt tự động.........................................................................................................................31
Hình 2.2 Cửa mở cánh tự động...................................................................................................................32
Hình 2.3 Cửa mở trượt gấp tự động............................................................................................................33
Hình 2.4 Cửa trượt lớp tự động...................................................................................................................33
Hình 2.5 bộ điều khiển và giá đỡ của cửa trượt xếp lớp.............................................................................34
Hình 2.6 Cửa trượt cánh cong tự động.......................................................................................................34
Hình 2.7 Ray của cửa trượt cánh cong tự động...........................................................................................35
Hình 2.8 Cửa xoay tự động.........................................................................................................................35
Hình 2.9 Cơ cấu quay của cửa cánh cong tự động......................................................................................36
2.2

Phân tích hệ thống........................................................................................................... 37
2.2.1 Phân tích.............................................................................................................................37
2.2.2

Sơ đồ khối.........................................................................................................................39

Hình 2.11 Sơ đồ khối ..................................................................................................................................39
2.2.3 Chức năng các khối.............................................................................................................39
Hình 2.12 Cảm biến hồng ngoại KC7786.....................................................................................................41
Hình 2.13 Bộ điều khiển cảm biến...............................................................................................................41
Hình 2.14 Vị trí gắn cảm biến trên cửa tự động..........................................................................................42

2.3 Các linh kiện sử dụng trong mạch......................................................................................43
Hình 2.16 Cảm biến hồng ngoại..................................................................................................................44
Hình 2.17 Động cơ 1 chiều...........................................................................................................................45
Hình 2.19 Rơle trung gian kiểu chân cắm....................................................................................................47
Hình 2.20 Sơ đồ chân 7 SEG-COM-ANODE và hình ảnh minh họa..............................................................48
Hình 2.21 Một số loại tụ điện.....................................................................................................................49
2.4.1 Sơ đồ nguyên lý mạch.........................................................................................................49
49
Hình 2.22 Sơ đồ nguyên lý mạch.................................................................................................................49
2.4.2 Sơ đồ thuật toán.................................................................................................................51
2.4.3 Chương trình cho vi điều khiển.........................................................................................52

8


CHƯƠNG 3............................................................................................................................. 59
CÀI ĐẶT CHƯƠNG TRÌNH MÔ PHỎNG VÀ XÂY DỰNG MẠCH PHẦN CỨNG........59
3.1 Mạch mô phỏng ....................................................................................................................59
Hình 3.0 Mạch mô phỏng............................................................................................................................59
3.2 Kết quả mô phỏng .................................................................................................................60
Hình 3.1 Khi số chưa có người vào..............................................................................................................60
Hình 3.2 Đèn thứ nhất bật...........................................................................................................................61
Hình 3.3 Đèn thứ hai bật.............................................................................................................................62
Hình 3.4 Cài đặt số người............................................................................................................................63
3.3 Sơ đồ mạch in................................................................................................................... 64
Hình 3.5 Sơ đồ mạch in...............................................................................................................................64

KẾT LUẬN.............................................................................................................................. 65
TÀI LIỆU THAM KHẢO....................................................................................................... 66


9


DANH MỤC TỪ VIẾT TẮT
-

EPROM: Erasable Programmable Read Only Memory

-

CMOS: Complementary Metal Oxide Semiconductor

-

CISC: Complex Instruction Set Computer

-

PSEN: Program Store Enable

-

ALE: Address Latch Enable

-

RST: Reset

-


ROM: Read Only Memory

-

RAM: Random Access Memory

-

SRAM: Static Random Access Memory

-

EEPROM: Electrically Erasable Programmable Read Only Memory

-

SFR: Special Function Register

-

MSB: Most Significant Bit

-

LSB: Least Significant Bit

-

PEROM: Flash Programmable And Erasable Read Only Memory


-

PCON: Power Control Register

-

LED: Light Emitting Diode

-

IC: Integrated Circuit

-

TTL: Transistor-Transistor Logic

-

DC: Direct Current

10


LỜI NÓI ĐẦU
Ngày nay, trong xã hội hiện đại của chúng ta bắt gặp rất nhiều loại cửa
đóng mở tự động ở những nơi công cộng. Việc sử dụng các loại cửa tự động
không những góp phần tăng sự sang trọng và hiện đại cho nơi sử dụng mà còn
giúp tiết kiệm thời gian, đem đến sự tiện lợi cho những người qua lại. Chính vì
vậy mà từ khi ra đời cho tới nay cửa tự động đã không ngừng được cả tiến, hiện
đại hóa để đáp ứng nhu cầu của người sử dụng

Nhìn chung cửa tự động là một loại thiết bị thay thế cho các loại cửa
thông thường, nó có chức năng tự động cảm nhận đối với người qua lại, tự động
mở ra khi có người cần đi qua và tự động đóng lại khi không còn người qua lại
Ưu điểm chính của loại cửa này là nó hoàn toàn tự động không cần sự
điều khiển của con người, nó có thể hoạt động liên tục, chính xác 24/24 giờ mỗi
ngày. Việc sử dụng các loại của tự động đã trở thành một nhu cầu gần như không
thể thiếu tại những nơi công cộng như khách sạn, nhà ga, sân bay, siêu thị…..
Cửa tự động là một thiết bị phục vụ cho việc ra vào của con người nên đòi
hỏi: Sự hoạt động chính xác cao và hoàn toàn tự động. Bên cạnh đó vì thường lắp
đặt ở mặt tiền nơi ra vào chính của các tòa nhà nên đòi hỏi cần phải có tính thẩm
mỹ cao mang lại sự sang trọng cho nơi sử dụng
Với những ưu điểm như vậy các loại của tự động đang được sử dụng ngày
các rộng rãi. Vì vậy em quyết định chọn đề tài đồ án tốt nghiệp là “Ứng dụng vi
điều khiển 89C51 vào thiết kế hệ thống đóng mở cửa tự động và bật tắt đèn
thông minh”
Sau thời gian học tập và nghiên cứu cùng với sự nỗ lực của bản thân em
đã hoàn thành nhiệm vụ thiết kế mô hình cửa tự động và bật tắt đèn thông minh.

11


Em xin chân thành cảm ơn các thầy, cô trong bộ môn đã giúp đỡ tận tình và đặc
biệt cảm ơn cô hướng dẫn Nguyễn Thị Dung. Mô hình không tránh khỏi những
thiếu sót, em mong được sự chỉ bảo của các thầy, cô để sản phẩm hoàn thiện hơn
và có thể ứng dụng vào thực tế.
Sinh viên thực hiện
Trần Anh Tuấn

CHƯƠNG 1
TỔNG QUAN VỀ VI ĐIỀU KHIỂN

1.1 Giới thiệu chung và cấu trúc vi điều khiển
a.

Giới thiệu
Họ vi điều khiển MCS-51 do Intel sản xuất đầu tiên vào năm 1980 là các

IC thiết kế cho các ứng dụng hướng điều khiển.
MCS-51 là họ vi điều khiển sử dụng cơ chế CISC (Complex Instruction
Set Computer), có độ dài và thời gian thực thi của các lệnh khác nhau. Tập lệnh
cung cấp cho MCS-51 có các lệnh dùng cho điều khiển xuất / nhập tác động đến
từng bit.
MCS-51 bao gồm nhiều vi điều khiển khác nhau, bộ vi điều khiển đầu tiên
là 8051 có 4KB ROM, 128 byte RAM và 8031, không có ROM nội, phải sử dụng
bộ nhớ ngoài.
AT89C51 là một Microcomputer 8 bit, loại CMOS có tốc độ cao và công
suất thấp với bộ nhớ flash có thể lập trình được. Nó được sản xuất với công nghệ
bộ nhớ không bay hơi mật độ cao của hãng Atmel và tương thích với chuẩn công
nghiệp của 80C51 và 80C52 về chân ra và bộ lệnh. Vì lý do đó, kể từ đây về sau
sẽ dùng thuật ngữ “80C51” hoặc 8051.
b. Cấu trúc vi điều khiển AT89C51
AT89C51 là vi điều khiển do Atmel sản xuất, chế tạo theo công nghệ
CMOS có các đặc tính như sau:
-

4 KB PEROM (Flash Programmable and Erasable Read Only Memory),
có khả năng tới 1000 chu kỳ ghi xoá
12


-


Tần số hoạt động từ: 0Hz đến 24 MHz

-

3 mức khóa bộ nhớ lập trình

-

128 Byte RAM nội.

-

4 Port xuất /nhập I/O 8 bit.

-

2 bộ Timer/counter 16 Bit.

-

6 nguồn ngắt.

-

Giao tiếp nối tiếp điều khiển bằng phần cứng.

-

64 KB vùng nhớ mã ngoài


-

64 KB vùng nhớ dữ liệu ngoài.

-

Cho phép xử lý bit.

-

210 vị trí nhớ có thể định vị bit.

-

4 chu kỳ máy (4 µs đối với thạch anh 12MHz) cho hoạt động nhân hoặc
chia.

-

Có các chế độ nghỉ (Low-power Idle) và chế độ nguồn giảm (Powerdown).

13


1.2

Sơ đồ

1.2.1


Sơ đồ khối

Hình 1.1 sơ đồ khối MSC-51

14


1.2.2

Sơ đồ chân

Hình 1.2 Sơ đồ chân của AT89C51


Chức năng từng chân
AT89C51 có tất cả 40 chân, mỗi chân có chức năng như các đường I/O

(xuất/nhập). Trong đó có 24 chân có tác dụng kép: mỗi đường có thể hoạt động
như một đường I/O hoặc như một đường điều khiển hoặc như thành phần của bus
địa chỉ và bus dữ liệu.
Mô tả chân
+ Port 0: là port có 2 chức năng ở các chân 32 – 39 của AT89C51. Trong
các thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các
đường IO. Đối với các thiết kế cỡ lớn có bộ nhớ mở rộng, nó được kết hợp giữa
bus địa chỉ và bus dữ liệu.
+ Port 1: là port IO trên các chân 1-8. Các chân được ký hiệu P1.0, P1.1,
P1.2, … có thể dùng cho giao tiếp với các thiết bị ngoài nếu cần. Port 1 không có

15



chức năng khác, vì vậy chúng chỉ được dùng cho giao tiếp với các thiết bị bên
ngoài
+ Port 2 là 1 port có tác dụng kép trên các chân 21- 28 được dùng như các
đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết bị dùng bộ
nhớ mở rộng.
+ Port 3 là port có tác dụng kép trên các chân 10-17. Các chân của port
này có nhiều chức nă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

Chức năng chuyển đổi

P3.0

RXT

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

P3.1

TXD

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

P3.2


INT0\

Ngõ vào ngắt cứng thứ 0

P3.3

INT1\

Ngõ vào ngắt cứng thứ 1

P3.4

T0

Ngõ vào của TIMER/COUNTER thứ 0

P3.5

T1

Ngõ vào của TIMER/COUNTER thứ 1

P3.6

WR\

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

P3.7


RD\

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

+ Ngõ tín hiệu PSEN (Program store enable): PSEN là tín hiệu ngõ ra ở
chân 29 có tác dụng cho phép đọc bộ nhớ chương trình mở rộng thường được nối
đến chân 0E\ (output enable) của Epromcho phép đọc các byte mã lệnh. PSEN ở
mức thấp trong thời gian Microcontroller 89C51 lấy lệnh. Các mã lệnh của
chương trình được đọc từ EPROM qua bus dữ liệu và được chốt vào thanh ghi
lệnh bên trong 89C51 để giải mã lệnh. Khi 89C51 thi hành chương trình trong
ROM nội PSEN sẽ ở mức 1
+ Ngõ tín hiệu điều khiển ALE (Address Latch Enable): 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

16


khoảng thời gian port 0 đóng vai trò là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự
động
+ Ngõ tín hiệu EA\(External Access) : Tín hiệu vào EA\ ở chân 31 thường
được mắc lên mức 1 hoặc mức 0. Nếu ở mức 1, 89C51 thi hành chương trình từ
ROM nội trong khoảng địa chỉ thấp 8Kbyte. Nếu ở mức 0, 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
+ Ngõ tín hiệu RST (Reset): Ngõ vào RST ở chân 9 là ngõ vào Reset của
8951. Khi cấp điện mạch tự động Reset.
+ Các ngõ vào bộ giao động X1, X2: Bộ dao động được được tích hợp bên
trong 8951, khi sử dụng 8951 người thiết kế chỉ cần kết nối thêm thạch anh và
các tụ.
+ Chân 40 (Vcc) được nối lên nguồn 5V

+ GND chân 20 chân nối đất

1.3

Tổ chức bộ nhớ

Hình 1.3 Các vùng nhớ trong của AT89C51
Bộ nhớ của họ MCS-51 có thể chia thành 2 phần: bộ nhớ trong và bộ nhớ
ngoài.

17


1.3.1 Tổ chức bộ nhớ trong
Bộ nhớ trong 8951 bao gồm ROM và RAM. RAM trong 8951 bao gồm
nhiều thành phần: phần lưu trữ đa dụng, phần lưu trữ địa chỉ hóa từng bit, các
bank thanh ghi và các thanh ghi chức năng đặc biệt.
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 64k byte bộ nhớ chương trình và 64K
byte 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ị trong bộ nhớ và có
thể truy xuất trực tiếp giống như của 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:
o
o
o
o



Các bank thanh ghi có địa chỉ từ 00h đên 1FH
Ram địa chỉ hóa từng bít 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

Các thanh ghi có chức năng đặc biệt:
Các thanh ghi nội của AT 89C51 được truy xuất ngầm định bởi bộ lệnh.
Các thanh ghi trong 8951 được định dạng như một phần của RAM trên

chip vì vậy mỗi thanh ghi sẽ có một địa chỉ.
Tất cả 128 địa chỉ từ 80H đến FFH không được định nghĩa, chỉ có 21
thanh ghi có chức năng đặc biết được định nghĩa sẵn các địa chỉ
Ngoại trừ thanh ghi A có thể được truy xuất ngầm như đã nói, đa số các
thanh ghi có chức năng đặc biệt SFR có thể địa chỉ hóa từng bít hoặc byte


Chức năng từng bit trạng thái chương trình
Cờ Carry CY (Carry Flag): Thông thường nó được dùng cho các lệnh


toán học C=1 nếu phép toán cộng có sự tràn hoặc phép trừ có mượn và ngược lại
C= 0 nếu phép toán cộng không tràn và phép trừ không có mượn.

18


Cờ Carry phụ AC (Auxiliary Carry Flag): Khi cộng những giá trị BCD
(Binary Code Decimal), cờ nhớ phụ AC được set nếu kết quả 4 bit thấp nằm
trong phạm vi điều khiển 0AH ÷ 0FH. Ngược lại AC= 0
Cờ 0 (Flag 0): Cờ 0 (F0) là 1 bit cờ đa dụng dùng cho các ứng dụng của
người dùng.
Cờ tràn OV (Over Flag): Cờ tràn được set sau một hoạt động cộng hoặc
trừ nếu có sự tràn toán học. Khi các số không có dấu được cộng bit OV được bỏ
qua. Các kết quả lớn hơn +127 hoặc nhỏ hơn –128 thì bit OV = 1
-

Con trỏ dữ liệu 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 (DPH: byte cao). Ba lệnh sau
sẽ ghi 55H vào RAM ngoài ở địa chỉ 1000H:
MOV A, #55H
MOV DPTR, #1000H
MOV @DPTR, A
-

Các thanh ghi ngắt (Interrupt Register):
AT89C51 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ỉ hóa 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.
1.3.2 Bộ nhớ ngoài (External memory):
89C51 có khả năng mở rộng bộ nhớ lên đến 64K byte bộ nhớ chương
trình và 64K byte bộ nhớ dữ liệu ngoài
Bộ nhớ dữ liệu ngoài là một bộ nhớ RAM được đọc hoặc ghi khi được cho
phép của tín hiệu RD\ và WR. Hai tín hiệu này nằm ở chân P3.7 (RD) và P3.6
(WR).
Hoạt động Reset:
89C51 có 2 cách thực hiện reset: reset bằng tay hoặc reset tự động:

19


-

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

Reset bằng tay:


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ở như hình. Nguyên lý mạch giống như mạch
Reset tự động

1.4

Hoạt động Timer của AT89C51

1.4.1 Giới thiệu
Bộ định thời của Timer là một chuỗi các Rlip Flop được chia làm 2, nó
nhận tín hiệu vào là một nguồn xung clock, xung clock được đưa vào Flip Flop

20


thứ nhất là xung clock của Flip Flop thứ hai mà nó cũng chia tần số clock này
cho 2 và cứ tiếp tục
Vì mỗi tầng kế tiếp chia cho 2, nên Timer n tầng phải chia tần số clock
ngõ vào cho 2n. Ngõ ra của tầng cuối cùng là clock của Flip Flop tràn Timer hoặc
cờ mà nó kiểm tra bởi phần mềm hoặc sinh ra ngắt. Giá trị nhị phân trong các FF
của bộ Timer có thể được nghỉ như đếm xung clock hoặc các sự kiện quan trọng
Hoạt động của Timer đơn giản 3 bit được minh họa như sau

Hình1.4 Biểu đồ thời gian
89C51 có 2 bộ Timer 16 bit, mỗi Timer có 4 mode hoạt động. Các Timer
dùng để đếm giờ, đếm các sự kiện cần thiết và sự sinh ra tốc độ của tốc độ Baud
cho Port nối tiếp
Mỗi sự định thời là một Timer 16 bit, do đó tầng cuối cùng là tầng thứ 16
sẽ chia tần số clock vào cho 216=65536.
Trong các ứng dụng định thời, 1 Timer được lập trình để tràn ở một

khoảng thời gian đều đặn và được set cờ tràn Timer.
1.4.2 Thanh ghi điều khiển Timer TCON

21


Thanh ghi điều khiển bao gồm các bit trạng thái và các bit điều khiển bởi
Timer 0 và Timer 1. Thanh ghi TCON có bit định vị. Hoạt động của từng bit
được tóm tắt như sau:
Bit

Symbol BitAddress

Description
Cờ tràn Timer 1 được set bởi phần cứng ở
sự tràn, được xóa bởi phần mềm hoặc bởi

TCON.7

TF1

8FH

phần cứng khi các vectơ xử lý đến thủ tục
phục vụ ngắt ISR.
Bit điều khiển chạy Timer 1 được set
hoặc xóa bởi phần mềm để chạy hoặc

TCON.6


TR1

8EH

TCON.5

TF0

8DH

Cờ tràn Timer 0

TCON.4

TR0

8CH

Bit điều khiển chạy Timer 0

ngưng chạy Timer.

Cờ kiểu ngắt 1 ngoài. Khi cạnh xuống
xuất hiện trên INT1 thì IE1 được xóa bởi
TCON.3

IE1

8BH


phần mềm hoặc phần cứng khi CPU định
hướng đến thủ tục phục vụ ngắt ngoài.
Cờ kiểu ngắt 1 ngoài được set hoặc xóa
bằng phần mềm bởi cạnh kích hoạt bởi sự

TCON.2

IT1

8AH

TCON.1

IE0

89H

Cờ cạnh ngắt 0 ngoài

TCON

IT0

88H

Cờ kiểu ngắt 0 ngoài.

ngắt ngoài.

1.4.3 Thanh ghi mode timer (TMOD):


22


Thanh ghi TMOD gồm hai nhóm 4 bit là: 4 bit thấp đặt mode hoạt động
cho Timer 0 và 4 bit cao đặt mode hoạt động cho Timer 1, 8 bit của thanh ghi
TMOD được tóm tắt như sau:
Bit
7

Name Timer
GATE

1

Description
Khi GATE = 1, Timer chỉ làm việc khi INT1 = 1
Bit cho đếm sự kiện hay ghi giờ

6

C/T

1

C/T= 1: Đếm sự kiện
C/T= 0: Ghi giờ đều đặn

5


M1

1

Bit chọn mode của Timer 1

4

M0

1

Bit chọn mode của Timer 1

3

GATE

0

Bit cổng của Timer 0

2

C/T

0

Bit chọn Counter/ Timer của Timer 0


1

M1

0

Bit chọn mode của Timer 0

0

M0

0

Bit chọn mode của Timer 0

1.4.4 Các mode và cờ tràn
AT89C51 có 2 Timer và Timer 0 và Timer 1. Ta dùng ký hiệu TLx và
Thx để chỉ 2 thanh ghi byte thấp và byte cao của Timer 0 hoặc Timer 1.
Mode Timer 13 bit (MODE 0)

Hình1.5 Sơ đồ mode 0
ModeTimer 16 bit (MODE 1)

23


Hình1.6 Sơ đồ mode 1
Mode 1 là mode Timer 16 bit, xung clock được dùng với sự kết hợp các
thanh ghi cao và thấp (TLx, THx)

Mode tự động nạp 8 bit (MODE 2):

Hình 1.7 Sơ đồ Mode2
Mode 2 là mode tự động nạp 8 bit, byte thấp TLx của Timer hoạt động
như một Timer 8 bit trong khi byte cao THx của Timer giữ giá trị Reload.
Mode Timer tách ra (MODE 3):

Hình 1.8 Sơ đồ Mode3
Timer 0 ở mode 3 được chia là 2 timer 8 bit.
24


Timer 1 bị dừng lại ở mode 3, nhưng có thể được khởi động bởi việc ngắt
nó vào một trong các mode khác.
Khi timer 0 ở chế độ 3, timer 1 vẫn có thể sử dụng bởi port nối tiếp như
tạo tốc độ baud
1.4.5 Các nguồn xung clock (CLOCK SOURCES):
Có hai nguồn xung clock có thể đếm giờ là sự định giờ bên trong và sự
đếm sự kiện bên ngoài. Bit C/T trong TMOD cho phép chọn 1 trong 2 khi Timer
được khởi động.

Hình1.9 Nguồn cấp xung nhịp
1.4.6 Sự bắt đầu, dừng và điều khiển các timer:
Để bắt đầu cácTimer ta set bit TRx và để kết thúc Timer ta Clear TRx.
Thêm phương pháp nữa để điều khiển các Timer là dùng bit GATE trong
thanh ghi TMOD và ngõ nhập bên ngoài INTx.

25



Hình1.10 Thời gian hoạt động của mode 1
1.4.7 Sự khởi động và truy xuất các thanh ghi timer
Các Timer được khởi động 1 lần ở đầu chương trình để đặt mode hoạt
động cho chúng
TMOD là thanh ghi đầu tiên được khởi tạo, bởi vì đặt mode hoạt động cho
các Timer.
Ta có thể lập trình chờ sau mỗi lần tràn ta sẽ xóa cờ TFx và quay vòng lặp
khởi gán choTLx/THx để Timer luôn luôn bắt đầu đếm từ giá trị khởi gán lên
theo ý ta mong muốn.
Tổ chức ngắt
Có 5 nguồn ngắt ở MCS51: 2 ngắt ngoài, ngắt từ timer và 1 ngắt port nối
tiếp. Tất cả các ngắt theo mặc nhiên đều bị cấm sau khi reset hệ thống và được
cho phép từng cái bằng phần mềm.
Cho phép và cấm các ngắt thông qua thanh ghi IE (interrupt enable) ở địa
chỉ A8H:

Bit

Ký hiệu

Địa chỉ bit

IE.7

EA

AFH

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


AEH

Không được định nghĩa

IE.6

26

Mô tả


IE.5

ET2

ADH

Ngắt timer 2(8052)

IE.4

ES

ACH

Ngắt port nối tiếp

IE.3

ET1


ABH

Ngắt timer 1

IE.2

EXT0

AAH

Ngắt ngoài 1

IE.1

ET0

A9H

Ngắt timer 0

IE.0

EX0

A8H

Ngắt ngoài 0

1.4.8 Ưu tiên ngắt

Lập trình thông qua thanh ghi chức năng đặc biệt địa chỉ bit IP (interrupt
priority) ở địa chỉ B8H
Bảng tóm tắt thanh ghi IP
Bit

Ký hiệu

Địa chỉ bit

Mô tả (1: cho phép, 0: cấm)

IP.7

-

-

Không định nghĩa

IP.6

-

-

Không định nghĩa

IP.5

PT2


BDH

Ưu tiên ngắt timer 2(8052)

IP.4

PS

BCH

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

IP.3

PT1

BBH

Ưu tiên ngắt timer 1

IP.2

PX1

BAH

Ưu tiên ngắt ngoài 1

IP.1


PT0

B9H

Ưu tiên ngắt timer 0

IP.0

PX0

B8H

Ưu tiên ngắt ngoài 0

1.4.9 Hỏi vòng tuần tự
Nếu 2 ngắt cùng độ ưu tiên xảy ra đồng thời, thì hỏi vòng tuần tự sẽ các
định cái nào sẽ phục vụ trước theo thứ tự như sau:
-

Ngắt ngoài 0, timer 0, bên ngoài 1, timer 1, port nối tiếp và timer 2
27


×