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

BÀI GIẢNG MÔN KỸ THUẬT VI ĐIỀU KHIỂN

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 (13.08 MB, 245 trang )

12/21/2012
kỹ thuật vi điều khiển
1
Môn
KỸ THUẬT VI ĐIỀU KHIỂN
GV: LÊ TRỌNG LUÂN
0937351983
Khoa Điện – Điện Tử
Trường Đại Học Kinh Tế Kỹ Thuật Công Nghiệp
212/21/2012 kỹ thuật vi điều khiển
KỸ THUẬT VI ĐIỀU KHIỂN
NỘI DUNG CHƯƠNG TRÌNH
Chương 1: Introduction to 89S52
Chương 2: AT89S52 Assembly Programming
Chương 3:Data Structures and Subroutine Calls
Chương 4: Operation Modes and Memory Expansion
Chương 5: Interrupts and Resets
Chương 6: Parallel I/O Ports
Chương 7: Timer/Counter Functions
Chương 8: Serial Communication Interface
Chương 9: LCD,ADC and SENSOR Interface
Chương 10: Step motor and DAC Interface
312/21/2012 kỹ thuật vi điều khiển
KỸ THUẬT VI ĐIỀU KHIỂN
Chương 1:
Introduction to 89S52
412/21/2012 kỹ thuật vi điều khiển
Chương 1: Introduction to 89S52
Máy tính là gi?
Software
Hardware


Cấu trúc chung của máy tính như sau
Microcontroller AT89S52
Control
unit
Arithmetic
logic
unit
Registers
common bus
memory
program
storage
data
storage
output
unit
input
unit
Figure 1.1 Computer organization
512/21/2012 kỹ thuật vi điều khiển
Chương 1: Introduction to 89S52
The processor (bộ xử lý)
- Registers: bộ nhớ trong của Processcor
- Arithmetic logic unit (ALU)
- Control unit (CU)
PC- thanh ghi bộ đếm chương trình sẽ luôn lưu giữ địa chỉ
của lệnh tiếp theo sẽ được thực hiện.
The Microprocessor (bộ vi xử lý)
A processor implemented on a very large scale integration
(VLSI) chip.

Peripheral chips are needed to construct a product
The Microcontroller (bộ vi điều khiển)
The processor and peripheral functions implemented on one
VLSI chip
Microcontroller AT89S52
612/21/2012 kỹ thuật vi điều khiển
Chương 1: Introduction to 89S52
Features of the AT89S52 microcontroller
8K Bytes of In-System Programmable (ISP) Flash Memory
– Endurance: 1000 Write/Erase Cycles
4.0V to 5.5V Operating Range
Fully Static Operation: 0 Hz to 33 MHz
Three-level Program Memory Lock
256 x 8-bit Internal RAM
32 Programmable I/O Lines
Three 16-bit Timer/Counters
Eight Interrupt Sources
Full Duplex UART Serial Channel
Low-power Idle and Power-down Modes
Interrupt Recovery from Power-down Mode
Watchdog Timer
Dual Data Pointer
Power-off Flag
Fast Programming Time
Flexible ISP Programming (Byte and Page Mode)
Microcontroller AT89S52
712/21/2012 kỹ thuật vi điều khiển
Chương 1: Introduction to 89S52
Microcontroller AT89S52
H 1.2 Block diagram

812/21/2012 k thut vi iu khin
Chng 1: Introduction to 89S52
Vớ d ng dng ca vi iu khin
Microcontroller AT89S52
Thiết bị nội thất gia đỡnh Vn phòng ô tô
ồ điện trong nh
Máy đàm thoại
Máy điện thoại
Các hệ thống an toàn
Các bộ mở cửa ga-ra xe
Máy trả lời
Máy Fax
Máy tính, Tivi
Truyền hình cáp
Máy quy camera
iều khiển từ xa
Trò chơi điện tử
Các nhạc cụ điện tử
Máy khâu
iều khiển ánh sáng
Máy nhắn tin
Máy chơi Football
ồ chơi
Các dụng cụ tập thể hỡnh
iện thoại
Máy tính
Các hệ thống an
toàn
Máy Fax
Lò vi sóng

Máy sao chụp
Máy in lazer
Máy in màu
Máy nhắn tin
Máy tính hành trình
iều khiển động cơ
Túi đệm khí
Thiết bị ABS
o lờng
Hệ thống bo mật
iu khiển truyền tin
Giải trí
iều hoà nhiệt độ
Mở cửa không cần chỡa
khoá
912/21/2012 kỹ thuật vi điều khiển
Chương 1: Introduction to 89S52
Semiconductor memory
Random-access memory (RAM)
Read-only memory (ROM):
Random-access memory
Dynamic random-access memory (DRAM)
Static random-access memory (SRAM)
Read-only memory
Mask-programmed read-only memory
(MROM)
Programmable read-only memory (PROM)
Microcontroller AT89S52
1012/21/2012 kỹ thuật vi điều khiển
Chương 1: Introduction to 89S52

Erasable programmable ROM (EPROM)
Electrically erasable programmable
ROM (EEPROM)
Flash memory
Microcontroller AT89S52
1112/21/2012 kỹ thuật vi điều khiển
Chương 1: Introduction to 89S52
Software:
Chương trình chạy trên máy tính gọi là phần
mềm.
Một chương trình là tập hợp của nhiều lệnh
Machine instruction :
Là tập hợp các số nhị phân mà processor hiểu
được.
Nó rất khó đối với những người mới bắt đầu.
Assembly language:
Một lệnh Assembly là mô tả của lệnh mã máy
tương ứng.
Chương trình Assembly phải được dịch trước
khi thực hiện.
Microcontroller AT89S52
1212/21/2012 kỹ thuật vi điều khiển
Chương 1: Introduction to 89S52
High-level language
Cần có chương trình dịch từ ngôn ngữ cấp
cao về ngôn ngữ máy.
Source code
Một chương trình được viết bằng ngôn ngữ
cấp cao hoặc assembly
Object code

Kết quả của một chương trình dịch ra dạng
assembler
Microcontroller AT89S52
1312/21/2012 kỹ thuật vi điều khiển
Chương 1: Introduction to 89S52
The AT89S52 Registers
Microcontroller AT89S52
7 Accumulator A 0
7 Accumulator B 0
7 0 7 0
7 0 7 0
7 0 7 0
7 DPH 0 7 DPL 0
15 Program counter 0
C A Z S1 S0 O - P
A:B
TMOD:TCON
THx:TLx x=0; 1; 2
T2MOD:T2CON
DPTR
PC
PSW
Parity
Non
Over
Lựa chọ băng thanh ghi
RS1:RS0
Zero
Cờ nhớ phụ
Cờ nhớ

7 0
R0-R7
7 0
7 0
IP
SP
1412/21/2012 kỹ thuật vi điều khiển
Chương 1: Introduction to 89S52
Khi RESET
Microcontroller AT89S52
1512/21/2012 kỹ thuật vi điều khiển
Chương 1: Introduction to 89S52
Memory Addressing
Bộ nhớ bao gồm các ô nhớ. Mỗi ô nhớ có
địa chỉ xác định
1 vị trị nhớ có 2 thành phần : address và
contents
Data transfer between CPU and memory
Microcontroller AT89S52
address
contents
CPU
memory
address bus lines
data bus lines
1612/21/2012 kỹ thuật vi điều khiển
Chương 1: Introduction to 89S52
AT89S52 addressing modes
Chú ý:
Chế độ địa chỉ tức thời

MOV A, # 25H ; N¹p gi¸ trÞ 25H vµo thanh ghi A
MOV R4, #62 ; N¹p gi¸ trÞ 62 thËp ph©n vµo R4
MOV B, #40H ; N¹p gi¸ trÞ 40 H vµo thanh ghi B
MOV DPTR, #4521H ; N¹p 4512H vµo con trá d÷ liÖu DPTR
Microcontroller AT89S52
BASE Prefix
Binary
Decima
Hexa
Char
#
@
B
D or nothing
H
‘xxx’
Trực tiếp
Địa chỉ gián tiếp
1712/21/2012 k thut vi iu khin
Chng 1: Introduction to 89S52
Ch a ch thanh ghi
MOV A, RO ; Sao nội dung thanh ghi RO vào thanh ghi A
MOV R2, A ; Sao nội dung thanh ghi A vào thanh ghi R2
ADD A; R5 ; Cộng nội dung thanh ghi R5 vào
Ch a ch trc tip
1. Các ngăn nhớ từ 00 đến 1FH đợc gán cho các băng thanh ghi và ngăn xếp.
2. Các ngăn nhớ từ 20H đến 2FH đợc dành cho không gian đánh địa chỉ theo bit
để lu các dữ liệu 1 bit.
3. Các ngăn nhớ từ 30H đến 7FH là không gian để lu dữ liệu có kích thớc 1byte.
MOV R0, 40H ; Lu nội dung của ngăn nhớ 40H của RAM

vào R0
MOV 56H, A ; Lu nội dung thanh ghi A vào ngăn nhớ
56H của RAM
MOV R4, 7FH ; Chuyển nôi dung ngănnhớ 7FH của RAM
vào R4
Microcontroller AT89S52
1812/21/2012 k thut vi iu khin
Chng 1: Introduction to 89S52
Ch a ch giỏn tip thanh ghi
Vớ d: Hãy viết chơng trình để sao chép một khối 10 byte dữ liệu từ vị trí ngăn nhớ RAM bắt đầu
từ 35H vào các vị trí ngăn nhớ RAM bắt đầu từ 60H
Gii:
MOV R0, # 35H ; Con trỏ nguồn
MOV R1, #60H ; Con trỏ đích
MOV R3, #10 ; Bộ đếm
BACK: MOV A, @R0 ; Lấy 1byte từ nguồn
MOV @R1, A ; Sao chép nó đến đích
INC R0 ; Tăng con trỏ nguồn
INC R1 ; Tăng con trỏ đích
DJNZ R3, BACK ; Lặp lại cho đến khi sao chép hết 10 byte
Lu ý: Ch thanh ghi R0, R1, DPTR dựng c trong ch
ny
Microcontroller AT89S52
1912/21/2012 k thut vi iu khin
Chng 1: Introduction to 89S52
Ch a ch theo ch s
Vớ d: Hãy viết một chơng trình để lấy x giá trị cống P1 và gửi giá trị x2 tới cổng
P2 liên tục.
Lời giải:
ORG 000

MOV DPTR, #300 H ; Nạp địa chỉ bảng XSQR-TABLE
MOV A, #0FFH ; Nạp A giá trị FFH
MOV P1, A ; Đặt cổng P1 là đầu vào
BACK: MOV A, P1 ; Lấy giá trị X từ P1
MOVC A, @A + DPTR ; Lấy giá trị X từ bảng XSDQ-TABLE
MOV P2, A ; Xuất nó ra cổng P2
SJMP BACK ; Lặp lại
ORG 300H
XSQR - TABLE:
DB 0, 1, 4, 9, 16, 25, 36, 49, 64, 81
END
Microcontroller AT89S52
2012/21/2012 kỹ thuật vi điều khiển
Chương 1: Introduction to 89S52
89S52 Instructions
Microcontroller AT89S52
2112/21/2012 kỹ thuật vi điều khiển
Chương 1: Introduction to 89S52
89S52
I
N
S
T
R
U
C
T
I
O
N

S
Microcontroller AT89S52
2212/21/2012 kỹ thuật vi điều khiển
Chương 1: Introduction to 89S52
89S52
I
N
S
T
R
U
C
T
I
O
N
S
Microcontroller AT89S52
2312/21/2012 kỹ thuật vi điều khiển
Chương 1: Introduction to 89S52
89S52 Instructions
Microcontroller AT89S52
2412/21/2012 kỹ thuật vi điều khiển
Chương 1: Introduction to 89S52
89S52
I
N
S
T
R

U
C
T
I
O
N
S
Microcontroller AT89S52
2512/21/2012 kỹ thuật vi điều khiển
Chương 1: Introduction to 89S52
89S52
I
N
S
T
R
U
C
T
I
O
N
S
Microcontroller AT89S52

×