Kiến trúc Von Neuman và kiến trúc Havard • PIC , AVR có kiến trúc Havard , 8051 Neuman • Tập lệnh trong kiến trúc Havard có thể được tối ưu tùy theo yêu cầu kiến trúc của vi điều khiển m
Trang 1Vi điều khiển 8051
Trang 2NỘI DUNG KHÓA HỌC
• Bài 1: Tổng quan về 8051+NN Lập Trình
• Bài 2: Lập trình I/0 với Led đơn
• Bài 3: Điều khiển Led 7_SEG +Phím bấm
• Bài 4: Lập trình sử dụng LCD
• Bài 5: Ngắt ngoài của 8051(INT)
• Bài 6: Ngát Bô Định Thời (Timer)
• Bài 7: Bộ đếm của 8051 (Counter)
• Bài 8: Đk động cơ DC+Tổng Kết khoá học
Trang 3GIỚI THIỆU VỀ VI ĐIỀU KHIỂN 8051
Trang 4GIỚI THIỆU VỀ VI ĐIỀU KHIỂN 8051
Bảng các đặc tính của 8051
Đặc tính 8051 8052
ROM trên Chip(byte) 4k 8k
RAM(byte) 128 256
Bộ định thời 2 3
Trang 5Kiến trúc Von Neuman và kiến trúc Havard
• PIC , AVR có kiến trúc Havard , 8051 Neuman
• Tập lệnh trong kiến trúc Havard có thể được tối ưu tùy theo yêu cầu kiến trúc của vi điều khiển mà không phụ thuộc vào cấu trúc dữ liệu
Trang 6RISC và CISC
• RISC( Reduced Instruction Set Computer)
Tập lệnh rút gọn Các lệnh có kích cỡ 12, 14, 16… bit
• CISC (Complex Instruction Set Computer)
Tập lệnh phức tạp : số lệnh lớn Các lệnh có kích cỡ bội của 8 bit
Trang 1039 38 37 36 35 34 33 32
20
EA/VP
X1 X2
RESET
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7
GND
R1 10K
5VDC
C1 33p
+ C3 10uF/25V
C2 33p
R7 R4 10Kx9
R9
12Mhz
Trang 11Nguồn cho Chip
Trang 12Nguồn cho Chip
Trang 13Nguồn cho Chip
Trang 14Nguồn cho Chip
Trang 15Mạch Nạp ISP
Sơ đồ nguyên lý:
Trang 16Mạch Nạp ISP
Trang 17Mạch Nạp ISP
Giao diện chương trình nạp:
Chi tiết xem thêm tai :
Trang 18http://www.kmitl.ac.th/~kswichit%20/IspPgm30a/ISP-NGÔN NGỮ LẬP TRÌNH C
• Đính kèm file :
#include <file.h>
#include <file.c>
• Khai báo các biến:
unsigned char x,y;
int z;
long n=0;
I.CẤU TRÚC TRƯƠNG TRÌNH
Trang 21NGÔN NGỮ LẬP TRÌNH C
II.CÁC LOẠI BIẾN TRONG C
Trang 22NGÔN NGỮ LẬP TRÌNH C
CÁC BIẾN ĐƯỢC HỖ TRỢ THÊM BỞI TRÌNH BIÊN DỊCH
Trang 23Ví dụ : unsigned char Cong(unsigned char x, unsigned char y {
// các câu lệnh
Trang 24NGÔN NGỮ LẬP TRÌNH C
• Hàm ko trả lại giá trị
Cấu trúc: void Tênhàm (Biêntruyềnvàohàm)
{ // các câu lệnh
}
Ví dụ : void Cong(unsigned char x, unsigned char y)
{ // các câu lệnh
}
Trang 25NGÔN NGỮ LẬP TRÌNH C
• Hàm có thể có biến truyền vào hoặc ko
Hàm ko có biến truyền vào
unsigned char Tênhàm (void) {
//
}
Hàm có biến truyền vào
void Tênhàm (unsigned char x) {
//
}
Trang 26NGÔN NGỮ LẬP TRÌNH C
IV.CÁC TOÀN TỬ CƠ BẢN
Phép gán: = VD: x=y;
Phép cộng: +Phép trừ: -Phép nhân: *Phép chia: /Các toán tử logic:
Bằnng : ==
And: &&
Or: ||
Not: ! Dịch trái : <<
Dịch phải: >>
Trang 27…
}
Trang 29NGÔN NGỮ LẬP TRÌNH C
#define : Dùng để định nghĩa
Ví dụ : #define dung 1 #define sai 0
V BỘ TIỀN SẺ LÝ
Ví dụ :
sbit dung = 1 ;
Trang 30Cảm biến dò đường của robot
Trang 31THE END