•
Phần 1
Microprocessors course
Phạm Thế Duy
([email protected])
Nội dung:
Giới Thiệu Chung
Sơ đồ khối và mô tả các tín hiệu của 8051
Các thanh ghi
Các lệnh cơ bản của 8051.
Cấu trúc ngôn ngữ Assembly và chạy các
chương trình 8051.
Bản đồ bộ nhớ của 8051.
Các bit cờ và thanh ghi PSW của 8051.
Các chế độ địa chỉ của 8051.
Các phép tính số học và BCD 16 bit.
Ngăn xếp của 8051
Các lệnh LOOP và JUMP.
Các lệnh chương trình con.
Lập trình cho các cổng vào ra.
Giới thiệu
CPU
Bộ vi xử lý
đa dụng
RAM ROM
I/O
Port
Timer
Serial
COM
Port
Power
Monitoring
Reset
Control
Clock &
Timming
RAM
Vi Xử Lý
•
CPU, ROM, RAM và các
vào ra là các IC riêng
•
Người thiết kế có thể quyết
định dung lượng ROM,
RAM và cổng vào ra.
•
Giá thành cao.
•
Có thể sử dụng cho nhiều
ứng dụng khác nhau.
Vi Điều Khiển
•
CPU, RAM, ROM, I/O và
timer nằm trên cùng một chip.
•
Dung lượng ROM, RAM và số
lượng vào ra là cố định.
•
Thường sử dụng cho các ứng
dụng có giá thành hạ, tiêu thụ
Các phần mềm hợp dịch (Assemblers), Các phần mềm gỡi rối
(debuggers), Các phần mềm biên dịch C (C compilers), Phần
mềm chạy thử (emulator), Phần mềm mô phỏng (simulator),
hỗ trợ kỹ thuật (technical support).
3. Có sẵn trên thị trường và có nguồn cung cấp tin cậy.
Ba yếu tố để lựa chọn một bộ vi điều khiển.
Block Diagram
CPU
On-chip
RAM
On-chip
ROM for
program
code
4 I/O Ports
Timer 0
Serial
Port
OSC
Interrupt
Control
External interrupts
Timer 1
Timer/Counter
Bus
Control
TxD RxD
P0 P1 P2 P3
Address/Data
Counter
19
20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P2.3(A11)
P2.2(A10)
P2.1(A9)
P2.0(A8)
8051
(8031)
Pins of 8051 ( 1/4 (
•
Vcc : pin 40 ::
–
Vcc cung cấp nguồn cho hoạt động của 8051.
–
Nguồn cần cung cấp là +5V.
•
GND : pin 20 :: ground
•
XTAL1 và XTAL2 : pins 19,18 ::
–
Là 2 chân nối linh kiện cung cấp nguồn Clock bên ngoài.
–
Cách 1 : sử dụng bộ dao động thạch anh
–
Cách 2 : Sử dụng các bộ tạo dao động TTL
–
Ví dụ 7-1 cho thấy quan hệ giữ XTAL và chu kỳ máy của vi điều
khiển.
Pins of 8051 ( 2/4 (
•
RST : pin 9 :: reset
/PSEN : pin 29 :: program store enable (Cho phép bộ nhớ chương
trình)
–
Tín hiệu ra này dùng nối tời chân OE của bộ nhớ ROM.
–
Xem thêm về giao tiếp bộ nhớ ngoài 14.
Pins of 8051 ( 4/4 (
•
ALE : pin 30 :: address latch enable (cho phép cài địa chỉ)
–
Là tín hiệu ra tác động mức cao.
–
Port 0 của 8051 sử dụng cho cả dữ liệu và địa chỉ.
–
ALE sử dụng để de-multiplexing địa chỉ và dữ liệu bằng cách nối
tới chân G của bộ cài (ví dụ 74LS373).
•
Các chân vào ra song song.
–
Có 4 cổng song song P0, P1, P2, và P3.
–
Mỗi cổng có 8 chân.
–
Tất cả các chân vào ra song song đều hai chiều.
Hình 7-2 (a). Nối thạch anh cho 8051
C2
30pF
C1
30pF
XTAL2
machine cycle = 1 / 1.333 MHz = 0.75 µs
Giá trị các thanh ghi 8051 sau khi RESET:
0000DPTR
0007SP
0000PSW
0000B
0000ACC
0000
PC
Giá trị sau ResetCác thanh ghi
Tất cả các ô nhớ RAM bằng 0
Hình 7-3 (a). Mạch Power-On RESET
30 pF
30 pF
8.2 K
10 uF
+
Vcc
11.0592 MHz
EA/VPP
X1
X2
RST
31
19
18
9
Hình 7-3 (b). Power-On RESET có nút Reset
•
8 bits tạo thành 1 byte.
•
Mỗi cổng có thể sử dụng làm ngõ ra hoặc vào (bi-direction).
Các thanh ghi
A
B
R0
R1
R3
R4
R2
R5
R7
R6
DPH DPL
PC
DPTR
PC
Các thanh ghi 16 bit của 8051
Các thanh ghi 8 bit của
8051
Một số lệnh cơ bản của 8051
MOV dest,source ; dest = source
MOV A,#72H ;A=72H
MOV A, #’r’ ;A=‘r’ OR 72H
MOV R4,#62H ;R4=62H
MOV B,0F9H ;B=nội dung ô nhớ thứ 79 trong RAM
MOV DPTR,#7634H