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

(Tiểu luận) báo cáo đồ án môn học 1 đề tài thiết kế mạch đóng mở cửa tự động dùng 89c51

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.64 MB, 54 trang )

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN
TẢI TP. HỒ CHÍ MINH

BÁO CÁO ĐỒ ÁN MÔN HỌC 1
Đề tài: Thiết kế mạch đóng mở cửa tự động dùng
89C51

Bùi Duy Anh - DV19CLC – 19H1040064
Giảng viên hướng dẫn: ThS. Nguyễn Quỳnh Anh
Mã lớp học phần: 010403211601

Thành phố Hồ Chí Minh - 2022
1

h


LỜI CẢM ƠN
Sau một thời gian thực hiện đồ án môn học 1 “Ứ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 đã hồ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 ThS.
Nguyễn Quỳnh Anh . 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!


Sinh viên thực hiện
Bùi Duy Anh

2

h


MỤC LỤC
LỜI CẢM ƠN......................................................................................................2
MỤC LỤC............................................................................................................ 3
DANH MỤC TỪ VIẾT TẮT..............................................................................4
LỜI NÓI ĐẦU.....................................................................................................6
CHƯƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN..........................................7
1.1

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

1.2

Sơ đồ........................................................................................................................... 8

1.2.1 Sơ đồ khối.......................................................................................8
1.2.2 Sơ đồ chân......................................................................................................... 9
1.3

Tổ chức bộ nhớ.................................................................................................... 11

1.3.1 Tổ chức bộ nhớ trong....................................................................12
1.3.2 Bộ nhớ ngoài (External memory):.................................................13

1.4

Hoạt động Timer của AT89C51................................................................... 14

1.5

Các chế độ định vị địa chỉ (addressing mode)........................................ 22

1.6

Các tập lệnh của MSC-51............................................................................... 22

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

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

2.2

Phân tích hệ thống.............................................................................................. 31

2.2.1 Phân tích.......................................................................................31
2.2.2

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

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


Sơ đồ mạch............................................................................................................ 41

2.4.1 Sơ đồ nguyên lý mạch...................................................................41
2.4.2 Sơ đồ thuật tốn.............................................................................42
2.4.3

Code đầy đủ chạy chương trình....................................................43

CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH MƠ PHỎNG VÀ XÂY DỰNG
MẠCH PHẦN CỨNG.......................................................................................48
3

h


3.1 Mạch mô phỏng....................................................................................48
3.2 Kết quả mô phỏng Proteus....................................................................49
3.3 Sơ đồ mạch in......................................................................................................... 50
KẾT LUẬN........................................................................................................51
TÀI LIỆU THAM KHẢO...................................................................................52

4

h


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

5

h


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ó hồn tồ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ị….. .
Nhất là trong bối cảnh dịch bệnh covid 19 vẫn đang tồn tại. Nên việc khơng
chạm tay vào các vi trí dễ lây lan như tay nắm cửa gần như là một nhu cầu cần
thiết cho cuộc sống.
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à hồn tồ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

6

h


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 đồ môn học 1 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”

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ớ ngồ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á

-

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

-

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

h



-

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

8

h


1.2

Sơ đồ

1.2.1

Sơ đồ khối


sơ đồ khối MSC-51

9

h


1.2.2

Sơ đồ chân

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ó

10


h


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ớ ngồi

P3.7


RD\

Tín hiệu đọc bộ nhớ dữ liệu ngồ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

11

h


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ớ

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.

12

h


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


tốn học C=1 nếu phép tố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 tốn cộng khơng tràn và phép trừ khơng có mượn.
13

h


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 tố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ớ ngồ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:
14

h


-

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

15

h


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

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

16

h


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 ngồ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 ngồi

TCON

IT0


88H

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

ngắt ngoài.

1.4.3 Thanh ghi mode timer (TMOD):

17

h


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ờ
C/T= 1: Đếm sự kiện


6

C/T

1

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

C/T= 0: Ghi giờ đều đặn

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)


Sơ đồ mode 0
ModeTimer 16 bit (MODE 1)

18

h


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

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

Sơ đồ Mode3
Timer 0 ở mode 3 được chia là 2 timer 8 bit.
19

h


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.

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.

20

h


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 tồn bộ

AEH

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

IE.6

21

h

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 ngồ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 ngồ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:
22

h


-

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

Các vector ngắt

1.5

Ngắt

Cờ

Địa chỉ vector

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

Port nối tiếp

TI hoặc RI

0023H


Các chế độ định vị địa chỉ (addressing mode)
Có 8 mode định vị được dùng như sau

1.6
-

-

Thanh ghi

-

Trực tiếp

-

Gián tiếp

-

Tức thời

-

Tương đối

-

Tuyệt đối


-

Dài

-

Định vị

Các tập lệnh của MSC-51
Nhóm lệnh chuyển dữ liệu
MOV A, Rn
MOV A, @Ri
MOV A, # data

-

Nhóm lệnh toán học
ADD A, Rn
SUBB A, Rn
23

h


INC A
DEC A
-

Nhóm lệnh logic

ANL A, Rn
ORL A, Rn
XRL A, Rn

-

Nhóm lệnh chuyển điều khiển
JNZ rel
JC rel
JNC rel
JB bit, rel
JNB bit, rel

-

Nhóm lệnh xử lý bit
CLR bit
SETB C

24

h


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


Khảo sát hệ thống
Giới thiệu chung
Trong xã hội văn minh hiện đại, cửa và đèn điện là một bộ phận không thể

thiếu được trong từng công trình kiến trúc. Nhưng hầu hết việc đóng mở cửa và
bật tắt đèn đều là con người tác động trực tiếp vào vì thế nó cũng gây nhiều phiền
phức cho người sử dụng.
Việc thiết kế ra một loại cửa tiện ích, một hệ thống đèn điện thông minh,
đa năng hơn, phục vụ tốt hơn cho đời sống con người là vơ cùng cần thiết. Xuất
phát từ nhu cầu đó ta thiết kế một hệ thống đóng mở cửa tự động và bật tắt đèn
thông minh, khi người dùng sử dụng thì khơng cần phải tác động trực tiếp vào
cửa và công tắc điện mà vẫn đảm bảo được đúng mục đích của mình.
Đặc biệt hệ thống này được sử dụng ở những nơi cơng sở, các phịng họp
thì cửa tự động giúp cho q trình lưu thơng qua cửa được nhanh chóng dễ dàng,
có thể kiểm sốt được số lượng người trong phòng và áp dụng được hệ thống bật
tắt đèn thông minh giúp tiết kiệm được điện và đảm bảo được sáng trong phòng.
b.

Một số loại cửa tự động hiện nay
Hiện nay trên thị trường có nhiều loại cửa tự động như: cửa kéo, cửa đẩy,

cửa cuốn, cửa trượt … ….

-

Cửa trượt tự động – Automatic sliding door.

25

h



×