VĐK 8051 là sản phẩm của Intel ra đời năm 1981. Hiện nay được dùng
khá phổ biến vì tính kinh tế và khả năng ứng dụng nhiều trong thực tiễn. Họ
VĐK MCS – 51 có một số phiên bản sau:
+> VĐK 80C31 có 126 byte nhớ RAM, không có ROM bên
trong mà phải dùng ROM ngoài.
+> VĐK 80C51 có 126 byte nhớ RAM, 4KB nhớ ROM chỉ lập
trình một lần, không lập trình lại được, có 2 bộ timer 0, 1.
+> VĐK 80C52 có 8 Kb nhớ ROM, 256 byte RAM và 3 bộ
timer : 0, 1, 2.
+> VĐK 87C51 có 256 byte nhớ RAM, 8 Kb nhớ EPROM có
thể xóa bằng tia cực tím và ghi lại nhiều lần.
+> VĐK 89C51 có 256 byte RAM, 4Kb nhớ FLASH ROM có
thể xóa và nạp bằng điện nhiều lần.
27 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 3039 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Thiết kế và thi công vi điều khiển 8051 - Đo nhiệt độ và chuyển đổi adc, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Đồ án môn học
BỘ LAO ĐỘNG THƯƠNG BINH VÀ XÃ HỘI TRƯỜNG ĐẠI
HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH
THIẾT KẾ VÀ THI CÔNG VI
ĐIỀU KHIỂN 8051 - ĐO NHIỆT ĐỘ
VÀ CHUYỂN ĐỔI ADC
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỦ
1
Đồ án môn học
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
…………………………………………………………………………………………
2
Đồ án môn học
MỤC LỤC
A - PHẦN GIỚI THIỆU
CHƯƠNG 1: TỔNG QUAN
I/ LỜI NÓI ĐẦU
II/ GIỚI THIỆU
III/ MỤC ĐÍCH NGHIÊN CỨU
B - PHẦN NỘI DUNG
CHƯƠNG 2: VI ĐIỀU KHIỂN 8051 - ĐO NHIỆT ĐỘ
VÀ CHUYỂN ĐỔI ADC
I/ VĐK 89C51
II/ ĐO LƯỜNG
III/ CHUYỂN ĐỔI
CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG
I/ NHIỆM VỤ THIẾT KẾ
II/ SƠ ĐỒ KHỐI VÀ CHỨC NĂNG TỪNG KHỐI
III/ THIẾT KẾ VÀ PHÂN TÍCH NGUYÊN LÝ HOẠT ĐỘNG CỦA TỪNG
KHỐI
IV/ SƠ ĐỒ NGUYÊN LÝ VÀ GIẢI THUẬT CHƯƠNG TRÌNH
V/ THI CÔNG
CHƯƠNG 4: KẾT LUẬN VÀ KIẾN NGHỊ
C – PHỤ LỤC – TÀI LIỆU THAM KHẢO
3
Đồ án môn học
CHƯƠNG 1 : TỔNG QUAN
I/ LỜI NÓI ĐẦU
4
Đồ án môn học
II/ GIỚI THIỆU VỀ ĐỀ TÀI
5
Đồ án môn học
III/ MỤC ĐÍCH NGHIÊN CỨU
6
Đồ án môn học
CHƯƠNG II: VI ĐIỀU KHIỂN 8051 - ĐO NHIỆT ĐỘ
VÀ CHUYỂN ĐỔI ADC
I / VI ĐIỀU KHIỂN 8051
1 / GIỚI THIỆU CHUNG VỀ 8051:
VĐK 8051 là sản phẩm của Intel ra đời năm 1981. Hiện nay được dùng
khá phổ biến vì tính kinh tế và khả năng ứng dụng nhiều trong thực tiễn. Họ
VĐK MCS – 51 có một số phiên bản sau:
+> VĐK 80C31 có 126 byte nhớ RAM, không có ROM bên
trong mà phải dùng ROM ngoài.
+> VĐK 80C51 có 126 byte nhớ RAM, 4KB nhớ ROM chỉ lập
trình một lần, không lập trình lại được, có 2 bộ timer 0, 1.
+> VĐK 80C52 có 8 Kb nhớ ROM, 256 byte RAM và 3 bộ
timer : 0, 1, 2.
+> VĐK 87C51 có 256 byte nhớ RAM, 8 Kb nhớ EPROM có
thể xóa bằng tia cực tím và ghi lại nhiều lần.
+> VĐK 89C51 có 256 byte RAM, 4Kb nhớ FLASH ROM có
thể xóa và nạp bằng điện nhiều lần.
7
Đồ án môn học
B¶ng 1.1.B¶ng th«ng sè c¬ b¶n cña c¸c hä V§K
Hình 1. Sơ đồ khối của họ VĐK 8051
2 / Bảng thông số cơ bản của các họ VĐK
Đặc tính 8051 8052 8031
ROM trên chíp 4K byte 8K byte OK
RAM 128 byte 256 byte 128 byte
Bộ định thời 2 3 2
Chân vào ra 32 32 32
Cổng nối tiếp 1 1 1
Nguồn ngắt 6 8 6
8
other
C
O
U
N
T
E
R
IN
P
U
T
S
OS
C
INTERRUP
T
CONTROL
4 I/O
PORTS
BUS
CONTRO
L
SERIAL
PORT
EXTERNAL
INTERRUPTS
CPU
ON -
CHIP
RAM
ETC
TIMER
0TIMER
1
ADDRESS/DA
TA
TXD
RX
D
P
0
P
1
P
2
P
3
Đồ án môn học
3/ Mô tả chân của 8051.
3.1/ Sơ đồ chân:
9
Đồ án môn học 10
Đồ án môn học
Hình 2. Sơ đồ chân của 8051
3.2/ Chức năng các chân VĐK:
- Port 0: Có 2 chức năng ở trên chân từ 32 39 trong các thiết kế cỡ nhỏ
(Không dùng bộ nhớ mở rộng), có 2 chức năng như các đường I/O. Đối với
các thiết kế cỡ lớn ( với bộ nhớ mở rộng ) nó được kết hợp kênh giữa các bus.
11
Đồ án môn học
- Port 1: Là cổng I/O trên các chân 18. Có thể dùng cho các thiết bị ngoài
nếu cần. Cổng này không có chức năng khác, vì vậy chúng ta chỉ được dùng
trong giao tiếp với các thiết bị ngoài.
- Port 2: Là một cổng có công dụng kép trên các chân từ 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 kế
dùng bộ nhớ mở rộng.
- Port 3: Cũng là một cổng công dụng kép trên các chân 1017. Các chân
của cổng này có nhiều chức năng, các công dụng chuyển đổi có lien hệ với
các đặc tính đặc biệt của 8051 như bảng sau:
Bit Tên Chức năng chuyển đổi
P3.0 RXD
P3.1 TXD
P3.2 INT0
P3.3 INT1
P3.4 T0
P3.5 T0
P3.6 WR
P3.7 RD
Dữ liệu nhận cho port nối tiếp
Dữ liệu phát cho port nối tiếp
Ngắt 0 bên ngoài
Ngắt 1 bên ngoài
Ngõ vào của timer / counter 0
Ngõ vào của timer / counter 1
Xung ghi bộ nhớ dữ liệu ngoài
Xung đọc bộ nhớ dữ liệu ngoài
12
Đồ án môn học
Bảng chức năng của các chân trên Port 3.
- PSEN : ( Program store Enable ) : 8051 có 4 tín hiệu điều khiển . Psen là
tín hiệu điều khiển ở chân số 29. Nó là tín hiệu điều khiển cho phép bộ nhớ
chương trình mở rộng và thường được nối đến chân OE ( Out put Enable )
của một EPROM để cho phép đọc các byte mã lệnh.
Psen sẽ ở mức thấp trong thời gian lấy lệnh. Các mã nhị phân của chương
trình được đọc từ EPROM qua bus và được chốt vào thanh ghi lệnh của 8051
để giải mã lệnh. Khi thi hành chương trình trong ROM nội (8051) Psen sẽ ở
mức thụ động ( mức cao ).
- ALE: ( Address Latch Enable ):
Tín hiệu ra ALE trên chân 30 cho phép chốt địa chỉ, là chân đầu ra và
được tích cực ở mức cao. Chân ALE được sử dụng để phân kênh địa chỉ
và dữ liệu bằng cách nối tới chân G của chip 74LS373.
- RST .
Chân số 9 là chân tái lập RESET. Nó là một đầu vào và có mức tích cực
cao ( bình thường ở mức thấp ). Khi cấp xung cao tới chân này thì bộ VĐK sẽ
tái lập và kết thúc mọi hoạt động. Điều này thường được coi như là sự tái bật
nguồn. Khi kích hoạt tái bật nguồn sẽ làm mất mọi giá trị trên các thanh ghi.
Nhằm làm cho đầu vào RESET có hiệu quả thì nó phải có tối thiểu 2 chu kỳ
máy. Hay nói cách khác, xung cao phải kéo dài tối thiểu 2 chu kỳ máy trước
13
a)Một số thanh ghi 8 bít của 8051 b) Một số thanh ghi 16 bít của 8051
Đồ án môn học
nó xuống thấp. Trong 8051 một chu kỳ máy được định nghĩa bẳng 12chu kỳ
dao động của thạch anh.
-EA : Các thành viên họ 8051 như 8751, 89C51 hoặc DS5000 đều có ROM
trên chip lưu cất chương trình. Trong các trường hợp như vậy thì chân EA
được nối tới Vcc. Đối với các thành viên của họ như 8031 và 8032 mà không
có ROM trên chip thì mã chương trình được lưu cất ở trên bộ nhớ ROM ngoài
và chúng được nạp cho 8031/8032. Do vậy, đối với 8031 thì chân EA phải
được nối đất để báo rằng chương trình được cất ở ngoài. EA có nghĩa là truy
cập ngoài ( External Acess ) là chân số 31 trên vỏ kiểu DIP. Nó là một chân
đầu vào và phải được nối với Vcc hoặc GND. Hay nói cách khác là nó không
được để hở.
- Chân Vcc: Chân số 40 là chân Vcc cấp điện áp nguồn cho chip, nguồn điện
áp là +5V.
- Chân GND: Chân số 20
- Chân XTAL 1 và XTAL 2: 8051 có một bộ dao động trên chip nhưng nó
yêu cầu một xung đồng hồ ngoài để chạy nó. Bộ dao động thạch anh thường
xuyên nhất được nối tới chân đầu vào XTAL 1 ( chân 19 ) và XTAL 2 ( chân
18 ). Bộ dao động thạch anh này cũng cần 2 tụ điện giá trị 30PF. Một phía của
tụ điện được nối xuống đất như hình a.
14
C2
C1
30pF
XTAL2
XTAL1
GND
XTAL2
XTAL1
GND
NC
EXTERRNAL
OSCILLATA
OR
SIGNAL
a)Một số thanh ghi 8 bít của 8051 b) Một số thanh ghi 16 bít của 8051
Đồ án môn học
a, Nối XTAL tới 8051 b, Nối XTAL tới nguồn đồng bộ ngoài
Hình 3. sơ đồ đấu nối thạch anh
4/ Các thanh ghi, bộ time/counter và ngắt
4.1/ Các thanh ghi
Trong CPU các thanh ghi được dùng để lưu cất thong tin tạm thời,
những thong 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:
Với MSB là bit có giá trị cao nhất D7 cho đến LSB là bít có giá trị thấp
nhất D0. ( MSB – Most sigtican bit và LSB – Leart sigtician Bit ). Với một
kiểu dữ liệu 8 bít thì bất kỳ dữ liệu nào lớn hơn 8 bit đều phải được chia thành
các đoạn 8 bit trước khi được xử lý.
D7 D6 D5 D4 D3 D2 D1 D0
15
A
B
R0
R1
R2
R3
R4
R5
R6
R7
DPH
PC (program counter)
DPLDPTR
PC
a)Một số thanh ghi 8 bít của 8051 b) Một số thanh ghi 16 bít của 8051
Đồ án môn học
Hình 4. Cấu trúc của một số thanh ghi
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 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.
4.2/ Hoạt động của bộ định thời timer.
B
ả
4.2. Bảng các thanh ghi chức năng đặc biệt dùng timer
SFR Mục đích Địa chỉ Địa chỉ từ hóa từng bít
TCON Điều khiển timer 88H Có
TMOD Chế độ timer 89H Không
TL0 Byte thấp của timer 0 8AH Không
TL1 Byte thấp của timer 1 8BH Không
TH0 Byte cao của timer 0 8CH Không
TH1 Byte cao của timer 1 8DH Không
16
Đồ án môn học
4.3/ Bộ ngắt của VĐK 8051.
Ngắt Cờ Địa chỉ vector
Reset hệ thống SRT 0000H
Ngắt ngoài 0 IEO 0003H
Timer 0 IFO 000BH
Ngắt ngoài 1 IE1 0013H
Timer 1 IF1 001BH
Port nối tiếp TI hoặc RI 0023H
Timer 2 TF2 hoặc IE2 002BH
Bảng 4.3. Các vector ngắt
- Thanh ghi cho phép ngắt IE: Đây là thanh ghi 8 bít cho phép truy nhập ở
mức bít.
EA X X ES ET1 EX1 ETO EXO
+ EA ( Enable add ): EA = 1 Lúc này một trong các náy xảy ra
EA = 0 Cấm tất cả các ngắt
+ EX0: Cho phép ngắt ngoài. EX0 = 0 Cho phép ngắt ngoài hoạt
động
EX1 = 1 Cấm ngắt ngoài hoạt động
+ ET0: Cho phép ngắt trong timer 0. ET0 = 1 Cho phép ngắt
ET1 = 0 Cấm ngắt
+ EX1: Cho phép ngắt ngoài 1. EX1 = 0 Cho phép
EX1 = 1 Cấm ngắt
+ ET1: Cho phép ngắt trong timer 1. ET1 = 0 Cho phép ngắt
ET1 = 1 Cấm ngắt
17
Đồ án môn học
+ES: Cho phép ngắt nối tiếp. ES = 0 Cho phép ngắt
ES = 1 Cấm ngắt
- Thanh ghi ưu tiên ngắt IP ( Interupst priority )
PS PT1 PX1 PTO PXO
+ PXo: Ưu tiên ngắt ngoài. PXo = 1 Ưu tiên trước
PX1 = 0 Ưu tiên sau
+ PTo: Ưu tiên ngắt timer 0. PTo = 1 Ưu tiên trước
PTo = 0 Ưu tiên sau
+ PS (Priority senial ): Ưu tiên ngắt nối tiếp, PS = 1 Ưu tiên ngắt
Nếu để mặc định thì sẽ tuần tự từ PX0 PT0 PX1 PT1 PS
- Thanh ghi điều khiển trạng thái TCON
IE1 IT1 IEO ITO
+ ITx: Xác lập kiểu ngắt của timer 0 hoặc 1
*> ITo = 0 Xác lập kiểu ngắt ở mức xung
*> ITo = 1 Xác lấp kiểu ngắt ở cạnh xung
+ IEx: Cờ ngắt.
4/ Các tập lệnh của họ VĐK 8051
4.1/ Các chế dộ định địa chỉ
4.1.1/ Chế độ điịnh địa chỉ tức thời.
- Cú pháp : Mov a,#Data; Di chuyển giá trị data vào thanh ghi a
- Ví dụ:
18
Đồ án môn học
+.Mov R0,#10H; Di chuyển giá trị 20 hệ hecxa vào thanh ghi R0
+.Mov DPTR,#50; Di chuyển giá trị 50 vào con trỏ dữ liệu DPTR
4.1.2/ Chế độ định địa chỉ trực tiếp.
Đây là chế độ có thể truy nhập toàn bộ không gian nhớ của RAM, áp
dụng cho RAM trong và SFR ( thanh ghi chức năng đặc biệt )
VD:
Mov a,4 ; Di chuyển nội dung ô nhớ 4 trong RAM trong vào
thanh ghi A
Mov 50H,A ; Di chuyển nọi dung thanh ghi A vào ô nhớ có địa
chỉ là 50H trong RAM trong
4.1.3. Chế độ định địa chỉ thanh ghi
Chế độ này toán hạng phải là một trong các thanh ghi từ R0R7, A, B,
DPTR
VD:
Mov A,R0 ; Di chuyển nội dung thanh ghi R0 vào thanh ghi A
Mov R2, A ; Di chuyển nội dung thanh ghi A vào thanh ghi R0
Chế độ này yêu cầu toán hạng nguồn và toán hạng đích phải có cùng
kích thước.
4.1.4. Chế độ này các thanh ghi dùng để trỏ đến dữ liệu có trong bộ nhớ. Chỉ
dùng các thanh ghi R0, R1 còn định địa chỉ gián tiếp.
- Chế độ các thanh ghi từ R2R7 không dùng đến.
- R0, R1 đều có dấu @ đứng trước. Nếu không có @ thì đó là lệnh
chuyển nội dung R0 và R1 chứ không phải là di chuyển nội dung ngăn nhớ có
trong R0, R1.
19
Đồ án môn học
VD: Mov a,@R0 ; Di chuyển nội dung ô nhớ có trong ROM có địa chỉ
xác định bởi thanh ghi R0 vào thanh ghi A
- Đối với RAM ngoài ta phải MovX ( X : Extenal )
4.1.5. Chế độ định địa chỉ chỉ số thanh ghi.
Chế độ này được sử dụng rộng rãi khi truy cập các phần tủ dữ liệu của
bảng trong không gian ROM của 8051.
VD: MovC A,@A+DPTR ; Di chuyển nội dung ô nhớ trong ROM có
địa chỉ xác định bởi tổng nội dung của thanh ghi DPTR và thanh ghi A vào
trong thanh ghi A.
4.2. TẬP LỆNH CỦA 8051
4.2.1. Nhóm lệnh di chuyển dữ liệu.
*> Lệnh Mov dạng byte:
Cú pháp : Mov ( dest – byte ),( src – byte )
Chức năng: Lệnh sao chép nội dung của toán hạng nguồn cào
toán hạng đích, nội dung của toán hạng nguồn không thayh đổi. Lệnh này
không làm ảnh hưởng đến các cờ.
*> Lệnh Mov dạng word.
Cú pháp : Mov dptr,#data
Chức năng: Giá trị 16 bít chính là toán hạng thứ 2 trực tiếp trong
câu lệnh được nạp vào thanh ghi con trỏ dữ liệu byte cao của dữ liệu
được nạp vào thanh ghi , còn byte thấp được nạp vào thanh ghi
. Lệnh này không làm ảnh hưởng đến cờ hiệu. Kichd thước 3byte, thời
gian thực hiện là 2 chu kỳ máy, mã lệnh là 1001 0000
*> Lệnh Mov dạng bít
Cú pháp: Mov ,
20
Đồ án môn học
Chức năng: Chuyển dữ liệu ở dạng sao chép toán hạng nguồn
vào toán hạng đích, 1 toán hạng nguồn là cờ hiệu và một toán hạng còn lại là
bít địa chỉ trực tiếp. Lệnh này không làm ảnh hưởng đến thanh ghi hoặc cờ
khác.
*> Lệnh chuyển số liệu vào ngăn xếp.
Cú pháp: PUSH direct
Chức năng: Để chuyển số liệu có trong câu lệnh vào ngăn xếp,
trước tiên con trỏ ngăn xếp sẽ được tăng lên 1, sau đó số liệu sẽ được chuyển
vào đỉnh của ngăn xếp mà địa chỉ này được định bởi
Kích thước là 2 byte, thời gian thực hiện là 2 chu kỳ máy, mã
lệnh là : 1100 0000
*> Lệnh chuyển số liệu ra khỏi ngăn xếp.
Cú pháp: POP direct, kích thước là 2 byte, thời gian thực hiện là
2 chu kỳ máy, mã lệnh la 1101 0000
*> Lệnh hoán chuyển dữ liệu.
Cú pháp : XCH A,
Chức năng: Hoán chuyển nội dung của thanh ghi tích lũy với
thanh ghi hoặc bộ nhớ có địa chỉ trong toán hạng thứ 2 của câu lệnh, toán
hạng thứ 2 có thể là thanh ghi, thanh ghi này có thể là trực tiếp hoặc gián tiếp.
*> Lệnh hoán chuyển 4 bít thấp.
Cú pháp: XCHD a,@R1
Kích thước : dài 1 byte, thời gian thực hiện : 1 chu kỳ máy; Mã
lệnh 1100 0111
*> Lệnh xóa bít.
Cú pháp : CLR (bít)
21
Đồ án môn học
Chức năng: Lệnh xóa 1 bit về không, với 1 bít được định địa chỉ
trực tiếp, lệnh này không ảnh hưởng đến các cờ.
*> Lệnh xóa thanh ghi tích lũy
Cú pháp: CLR A
Chức năng: Lệnh xóa tất cả các bít của thanh ghi tích lũy về 0.
lệnh này không ảnh hưởng đến trạng thái của các cờ. Kích thước 1 byte; thời
gian thực hiện là 1 chu kỳ máy
*> Lệnh thiết lập bít.
Cú pháp : CPL
Chức năng: Lệnh lấy bù của bit, làm bit đã cho sẽ được lấy bù
với bít được định địa chỉ trực tiếp.
*> Lệnh lấy bù thanh ghi tích lũy.
Cú pháp : CPL
Chức năng: Lệnh lấy bù tất cả các bit của thanh ghi tích lũy.
Lệnh này không làm ảnh hưởng đến trạng thái của cờ. Kích thước là 1 byte,
thời gian thực hiện là 1 chu kỳ máy, mã lệnh là 1111 0100.
4.2.2. Nhóm lệnh rẽ nhánh chương trình.
*> Lệnh quay trở về từ chương trình con.
Cú pháp : Ret; Kích thước: 1 byte; Thời gian thực hiện : 2 chu kỳ
máy; Mã lệnh: 0010 0010.
*> Lệnh quay trở về từ ngắt.
Cú pháp : Reti; Kích thước: 1 byte ; Thời gian thực hiện: 2 chu lỳ
máy; Mã lệnh : 0010 0010.
*> Lệnh nhảy gián tiếp.
22
Đồ án môn học
Cú pháp: JMP @A+DPTR; Kích thước: 1 byte; Thời gian thực
hiện : 2 chu kỳ máy ; Mã lệnh: 00100000.
*> Lệnh nhảy nếu 1 bít không được thiết lập.
Cú pháp : JBN bit,rel; Kích thước: 3 byte; Thời gian thực hiện: 2
chu kỳ máy; Mã lệnh: 0011 0000.
*> Lệnh nhảy nếu 1 bít được thiết lập và xóa bít đó.
Cú pháp: JBC bit,rel ; Kích thước : 3 byte ; Thời gian thực hiện :
2 chu kỳ máy; Mã lệnh: 0001 0000.
*> Lệnh nhảy nếu cờ CF không được thiết lập.
Cú pháp : JC rel ; Kích thước : 2 byte ; Thời gian thực hiện: 2
chu kỳ máy ; Mã lệnh : 0101 0000.
*> Lệnh nhảy nếu thanh ghi tích lũy bằng 0.
Cú pháp : JZ rel ; Kích thước : 2 byte; Thời gian thực hiện: 2
chu kỳ máy ; Mã lệnh : 0110 0000.
*> Lệnh nhảy nếu thanh ghi tích lũy khác 0.
Cú pháp : JNZ rel; Kích thước: 2byte; Thời gian thực hiện : 2
chu kỳ máy; Mã lệnh : 0111 0000.
*> Lệnh nhảy khi so sánh 2 toán hạng.
Cú pháp : CJNZ , , rel.
Chức năng: so sánh 2 toán hạng và nhảy nếu không bằng.
+ Nếu toán hạng 1 = toán hạng 2 Nhảy đến nhãn.
+ Nếu toán hạng 1 # toán hạng 2 Thực hiện lệnh tiếp theo.
*> Lệnh giảm và nhảy.
Cú pháp : DJNZ byte,
23
Đồ án môn học
Chức năng: Lệnh giảm ô nhớ đi 1 và nhảy đến nhãn khác nếu
bằng 0, thực hiện lệnh tiếp theo nếu khác 0.
*> Lệnh tạm ngừng hoạt động.
Cú pháp : NOP
Kích thước : 1 byte; Thời gian thực hiện: 1 chu kỳ máy;
Mã lệnh: 0000 0000.
4.2.3.Nhóm lệnh tính toán số học.
*> Lệnh thực hiện phép cộng.
Cú pháp : ADD a,
Chức năng: Cộng giá trị biến nội dung trong thanh ghi tích lũy,
kết quả lưu vào thanh ghi tích lũy.
*> Lệnh cộng có nhớ.
Cú pháp : ADDC a,
Chức năng: Cộng giá trị biến với nội dung trong thanh ghi tích
lũy và cộng với cờ nhớ, kết quả lưu trong thanh ghi tích lũy.
*> Lệnh trừ có nhớ.
Cú pháp: SUBB a,
Chức năng: Thực hiện phép trừ thanh ghi tích lũy với toán hạng
thứ 2 và cờ nhớ CF, kết quả lưu vào thanh ghi tích lũy nếu quả phép trừ có
nhớ thì cờ CF được thiết lập.
*> Lệnh tăng lên 1 đơn vị.
Cú pháp: INC
Chức năng: Lệnh INC tăng giá trị của biến đã cho lên 1 đơn vị.
Biến có độ dài 1 byte do đó nếu giá trị ban đầu là 0FFH thì tăng lên 1 thì kết
quả sẽ là 00H. Lệnh không làm ảnh hưởng đến trạng thái cờ.
24
Đồ án môn học
*> Lệnh giảm 1 đơn vị.
Cú pháp: DEC
Chức năng : Giảm giá trị của biến xuống 1 đơn vị. Nếu giá trị
ban đầu là 00H thì sau khi giảm sẽ 0FFh.
*> Lệnh thực hiện phép nhân.
Cú pháp : MUL AB
Kích thước 1 byte; Thời gian thực hiện: 4 chu kỳ máy;
Mã lệnh: 1010 0100
*> Lệnh thực hiện phép chia.
Cú pháp: DIV AB
Kích thước: 1 byte; Thời gian thực hiện: 4 chu kỳ máy
Mã lệnh : 1000 0100
*> Lệnh hiệu chỉnh số thập phân.
Cú pháp : DA A
Kích thước : 1 byte; Thời gian thực hiện: 1 chu kỳ máy
Mã lệnh: 1100 0100
4.2.4. Nhóm lệnh toán học logic.
*> Lệnh AND cho các biến 1 byte.
Cú pháp : ANL ,
Chức năng: Lệnh AND thực hiện phép tính logic AND theo mức
bít giữa các biến dài 1 byte đã cho. Kết quả lưu vao toán hạng đích.
*> Lệnh AND cho các biến 1 bit.
Cú pháp: ANL C,
Kích thước : 2 byte; Thời gian thực hiện : 2 chu kỳ máy
*> Lệnh OR cho các biến 1 byte.
25
Đồ án môn học
Cú pháp: ORL ,
Chức năng: thực hiện phép tính logic OR mức byte giữa câc biến
đã cho, kết quả được lưu toán hạng đích.
*> Lệnh ORL cho các biến 1 bít.
Cú pháp : ORL C,
*> Lệnh X-OR cho các biến 1 byte.
Cú pháp: XRL ,
Chức năng: Lệnh XRL thực hiện phép tính logic X-OR mức byte
giữa các biến đã cho, kết quả được lưu trong toán hạng dích.
III. BỘ BIẾN ĐỔI ADC
1. Nguyên tắc hoạt động của ADC
Mạch chuyển đổi tương tự sang số, chuyển một tín hiệu ngõ vào
tương tự ( dòng diện hay điện áp ) thành dạng mã số nhị phân có giá trị
tương ứng.
Chuyển đổi ADC có rất nhiều phương pháp. Tuy nhiên, mỗi
phương pháp đều có những thông số cơ bản khác nhau:
+ Độ chính xác của chuyển đổi AD.
+ Tốc độ chuyển đổi.
+ Dải biến đổi của tín hiệu tương tự ngõ vào.
26
Đồ án môn học 27