Professional Documents
Culture Documents
MCS-51
Lê Minh Thùy
Bộ môn KTĐ&THCN - ĐHBK HN
Cùng với việc phát triển các VXL cho hệ máy tính
(Microprocessor) các hãng cũng chế tạo các vi xử lý chuyên
dụng vi điều khiển (VĐK)
VĐK (Microcontroller) là một thiết bị tích hợp một số các
phần tử của một hệ vi xử lý lên trên cùng một chip
Vi điều khiển là IC có các thành phần cơ bản sau
Lõi CPU
Bộ nhớ (cả ROM và RAM)
Các cổng I/O
VĐK cũng có thể có
Timer : phục vụ cho các hoạt động có tính chu kỳ
Truyền tin nối tiếp : dùng để kết nối với các thiết bị khác
ADC : cho phép xử lý các tín hiệu tương tự
Xe tự vận hành
Enabletalk Glove: sản phẩm đạt giải nhất ý tưởng sáng tạo Microsoft năm
2012. Găng tay cho phép chuyển đổi ngôn ngữ tay thành tín hiệu tiếng nói
Dòng Tiny
C868 XC866
Interrupt 128
ROM Timer 1 Counter
Control Bytes
Timer 0 Inputs
RAM
CPU
Bus Serial
4 I/O Ports
OSC Control Port
P0 P2 P1 P3 TxD RxD
Address/Data
ROM RAM
Truy cập gián tiếp (indirect addressing mode) thông qua thanh
ghi R0 và R1
mov R1,#36H ;chuyển giá trị 36H vào thanh ghi R1
mov A, @R1 ;chuyển gián tiếp: R1 chứa địa chỉ của ô nhớ
;RAM trong (36H), nội dung của ô nhớ
;này được chuyển vào thanh chứa A
Vùng SFR: chỉ có thể được truy cập trực tiếp (direct addressing)
Chương 2: Vi điều khiển MCS-51 26
2.5 Các thanh ghi có chức năng đặc biệt (2/2)
Truy
Chương cậpđiều
2: Vi đếnkhiển
từng MCS-51
bit 27
Thanh ghi từ trạng thái chƣơng trình PSW
CY AC F0 RS1 RS0 OV -- P
Cờ nhớ PSW.7 CY
Cờ nhớ phụ PSW.6 AC
Cho phép người dùng định nghĩa chức năng PSW.5 --
Chọn băng thanh ghi, bit 1 PSW.4 RS1
Chọn băng thanh ghi, bit 0 PSW.3 RS0
Cờ tràn PSW.2 OV
Dự trữ PSW.1 --
Cờ kiểm tra chẵn lẻ PSW.0 P
PSW: Là thanh ghi ở địa chỉ D0H, là thanh ghi truy cập đến từng bit
0 0 0 00H-07H
0 1 1 08H-0FH
1 0 2 10H-17H
1 1 3 18H-1FH
Example 1: Example 2:
38 00111000 88 10001000
+2F +00101111 +93 +10010011
---- -------------- ---- --------------
67 01100111 1 1B 1 00011011
CY=0 AC=1 P=1 CY=1 AC=0 P=0
Lưu ý rằng lệnh MOVX* (Move X) được sử dụng để truy cập bộ nhớ ngoài
PSEN OE
ALE 74LS373 OC
G
P0.0 A0
D
P0.7 A7
D0
D7
EA
P2.0 A8
P2.7 A15
D0
D7
EA
P2.0 A8
P2.7 A12
D0
D7
EA 3. ROM send the
instruction back
P2.0 A8
P2.7 A12
TB1
Read pin * Tải L1 chỉ có ở các cổng P1, P2, P3
TB1
Read pin
TB1
Read pin
TB1
Read pin
3. Read pin=0
TB1
Read pin
3. Read pin=1
Read latch
TB2
TB1
Read pin
Khi hoạt động như là một cổng I/O, P0 không có internal L1 cần nối
một điện trở pull-up bên ngoài
Khi hoạt động như là bus AD thì P0 lại có internal pull-up
Chương 2: Vi điều khiển MCS-51 50
Ví dụ 2.1: P1 là cổng ra
Viết chƣơng trình gửi ra cổng P1 giá trị 55H và AAH một
cách tuần tự