Mô tả:
VĐK 8051
1. Giới thiệu
- Sản xuất năm 1980 bởi Intel
- Các hãng sản xuất: Intel, Atmel Corporation, Dallas Semiconductor, Philips,
…
- Các họ VĐK 8051: 8051, 8052, 8031
2. Tổng quan
-
VĐK 8 bit (một ALU 8 bit, một thanh tích luỹ và thanh ghi 8 bit)
Bus dữ liệu:
8 bit
Bus địa chỉ:
16 bit (truy cập 216 vị trí nhớ 64KB)
RAM:
128 byte (bộ nhớ dữ liệu chương trình)
ROM:
4KB (bộ nhớ chương trình)
32 chân I/O (4 nhóm 8 chân I/O)
Hai bộ định thời/đếm 16 bit (Timer0, Timer1)
a, Các chân đặc biệt
Chân
Bit
Tên
Chức năng chuyển đổi
10
P3.0
RxD
Ngõ vào nhận dữ liệu nốối tếốp.
11
P3.1
TxD
Ngõ xuấốt dữ liệu nốối tếốp.
12
P3.2
INT0
Ngõ vào ngắốt cứng thứ 0.
13
P3.3
INT1
Ngõ vào ngắốt cứng thứ 1.
14
P3.4
T0
Ngõ vào nhận xung đếốm của Timer/Couter0.
15
P3.5
T1
Ngõ vào nhận xung đếốm của Timer/Couter0.
16
P3.6
WR
Điếều khiển ghi dữ liệu từ bộ nhớ ngoài.
17
P3.7
RD
Điếều khiển đọc dữ liệu từ bộ nhớ ngoài.
29
PSEN
Giao tếốp với bộ nhớ chương trình bến ngoài.
(0: Giao tếốp, 1: Khống giao tếốp)
30
ALE/PROG
Chốốt địa chỉ (0: Đọc địa chỉ; 1: Đọc dữ liệu)
31
EA/VPP
Mức 1: Thực thi chương trình bộ nhớ trong
Mức 0: Thực thi chương trình bộ nhớ ngoài
Mạch nốối tch cực ấm
b, Timer/Counter
Trong vi điều khiển 8051(MCS51) có 2 timer/counter T0 và T1, còn
8052(MCS52) có 3 timer/counter T0, T1 và T2.
Chế độ Timer dùng để định thời gian chính xác để điều khiển các thiết bị
theo thời gian.
Chế độ Counter thường đếm xung nhận từ bên ngoài đưa đến INT0 đối
với timer/counter thứ 0, và INT1 đối với timer/counter thứ 1. Ứng dụng đếm
sản phẩm, đo tốc độ động cơ (đếm xung Encorder),…
Mỗi thời điểm chỉ sử dụng hoặc Timer hoặc Counter của cùng 1 bộ.
Timer/Counter sử dụng 16 flip flop nên gọi là Timer/Counter 16bit
(0-65535).
Dưới đây là các thanh ghi Timer
Tên
Chức năng
TCON
TMOD
TL0
TL1
TH0
TH1
Thanh ghi điều khiển
Chọn chế độ hoạt động
Timer 0 low-byte (Lưu 8bit thấp T0)
Timer 1 low-byte (Lưu 8bit thấp T1)
Timer 0 high-byte (Lưu 8bit cao T0)
Timer 1 high-byte (Lưu 8bit cao T1)
* TMOD
Thanh ghi TMOD gồm hai nhóm 4bit: 4bit thấp dùng để thiết lập các chế
độ hoạt động cho T0 và 4bit cao thiết lập các chế độ hoạt động cho T1.
GATE
TIMER 0
C/T
M1
M0
GATE
TIMER 1
C/T
M1
M0
Tóm tắt các bit thanh ghi TMOD
Bit Tên Timer
Chức năng
7
GATE
1
Nếu GATE = 1 thì Timer 1 chỉ làm việc khi INT1= 1.
6
C/T
1
Bit lựa chọn counter hay timer:
C/T = 1 : đếm xung từ bên ngoài đưa đến ngõ vào T1.
C/T = 0 : định thời đếm xung nội bên trong.
5
M1
1
Bit chọn mode của Timer 1.
4
M0
1
Bit chọn mode của Timer 1.
3
GATE
0
Nếu GATE = 1 thì Timer 0 chỉ làm việc khi INT0= 1.
2
C/T
0
Bit lựa chọn counter hay timer: tương tự như trên.
1
M1
0
Bit chọn mode của Timer 0.
0
M0
0
Bit chọn mode của Timer 0.
Các bit chọn mode trong thanh ghi TMOD
M1 M0
Kiểu
Chức năng
0
0
0
Mode Timer 13 bit
Sử dụng 8bit của thanh ghi THx
Sử dụng 5bit thấp của TLx, 3bit cao không dùng.
0
1
1
Mode Timer 16 bit (đếm max 216 = 65535)
1
0
2
Mode tự động nạp 8 bit
TLx hoạt động như một Timer 8bit (đếm max 255)
THx lưu trữ giá trị để nạp lại cho thanh ghi TLx.
1
1
3
Mode tách Timer ra :
Timer0 : được tách ra làm 2 timer 8 bit gồm có:
Timer 8 bit TL0 được điều khiển bởi các bit của T0.
Timer 8 bit TH0 được điều khiển bởi các bit của T1.
Timer1 : không được hoạt động ở mode 3.
*TCON
Các bit trong thanh ghi TCON được tóm tắt như bảng:
Bit Kí hiệu
Chức năng
7
TF1
Cờ tràn Timer 1: TF1 = 1 khi timer 1 bị tràn và xoá
bằng phần mềm hoặc khi vi điều khiển thực hiện
chương trình con phục vụ ngắt Timer1 thì tự động xoá
luôn cờ tràn TF1.
6
TR1
Bit điều khiển Timer1 đếm / ngừng đếm:
TR1 = 1 thì timer 1 được phép đếm xung.
TR1 = 0 thì timer 1 không được phép đếm xung.
5
TF0
Cờ tràn Timer 0 (hoạt động tương tự TF1).
4
TR0
Bit điều khiển Timer 0 (tương tự TR1).
3
IE1
Cờ báo ngắt INT1. Khi có ngắt xảy ra ở ngõ vào INT1
(cạnh xuống) thì cờ IE1 tác động lên mức 1.
Khi vi điều khiển thực hiện chương trình con phục vụ
ngắt INT1 thì tự động xoá luôn cờ báo ngắt IE1.
2
IT1
Bit điều khiển cho phép ngắt INT1 tác động bằng mức
hay bằng cạnh.
IT1 = 0 thì ngắt INT1 tác động bằng mức.
IT1 = 1 thì ngắt INT1 tác động bằng cạnh xuống.
1
IE0
Tương tự IE1 nhưng phục vụ cho ngắt INT0
0
IT0
Tương tự IT1 nhưng phục vụ cho ngắt INT0
3. Mạch nguồn
* Các linh kiện:
- Máy biến áp
- Cầu chỉnh lưu
- IC ổn áp LM7805 (5V)
- Tụ điện (lọc nhiễu)
- Tụ phân cực (chọn tụ có điện áp chịu đựng phù hợp, đặt quá điện áp có thể
gây nổ tụ)
- Led (báo nguồn)
- Điện trở
Mạch nguyên lý:
Mạch PCB:
LCD LM016L
1. Tổng quan
- Có khả năng hiển thị ký tự đa dạng, trực quan (chữ, số, và ký tự đồ hoạ)
- Hiển thị được nhiều ký tự
- Giao tiếp với vi điều khiển rất đơn giản, tốn rất ít tài nguyên của vi điều
khiển.
- Ngoài ra: tiết kiệm năng lượng, kích thước nhỏ gọn, giá thành rẻ,...
- Các loại LCD thông dụng:
LCD 16x2: Hiển thị 2 dòng, mỗi dòng 16 ký tự
LCD 20x2: Hiển thị 2 dòng, mỗi dòng 20 ký tự
LCD 20x4: Hiển thị 4 dòng, mỗi dòng 20 ký tự
2. Sơ đồ chân
Chân số Tên
Chức năng
1
VSS
Nguồn 0V (GND)
2
VDD
Nguồn 5V
3
Vee
Điều chỉnh độ tương phản
4
RS
Chọn thanh ghi:
RS = 1: Đọc/ghi dữ liệu
RS = 0: Đọc/ghi lệnh
5
R/W
Chọn chế độ đọc/ghi
R/W = 1: Đọc
R/W = 0: Ghi
6
E
Chân cho phép
Dữ liệu sẽ được xuất khi chân E chuyển từ 1-0
Dữ liệu sẽ được đọc khi chân E chuyển từ 0-1
7-14
DB0-DB7
8 đường bus dữ liệu dùng giao tiếp với LCD
Có 2 chế độ sử dụng:
+ Chế độ 8 bit : Dữ liệu được truyền trên cả 8 bit.
+ Chế độ 4 bit : Dữ liệu được truyền trên 4 bit cao.
15
LED+
Cực dương của đèn nền.
16
LED-
Cực âm của đèn nền
3. Tập lệnh thường dùng
Mã lệnh
Chức năng
Thời gian
thực hiện
0x01
Xoá toàn bộ nội dung đang hiển thị trên màn hình
1.52ms
0x02
Di chuyển con trỏ về vị trí đầu màn hình
1.52ms
0x06
Tự động di chuyển con trỏ đến vị trí tiếp theo mỗi
Khi xuất ra LCD 1 ký tự
37us
0x0C
Bật hiển thị và tắt con trỏ
37us
0x0E
Bật hiển thị và bật con trỏ
37us
0x80
Di chuyển con trỏ về đầu dòng 1
37us
0xC0
Di chuyển con trỏ về đầu dòng 2
37us
0x38
Giao tiếp 8bit, hiển thị 2 dòng, kích thước font 5x7
37us
0x28
Giao tiếp 4bit, hiển thị 2 dòng, kích thước font 5x7
37us
* Khởi tạo LCD 8bit
L298
* Sơ đồ chân
Tên
Chức năng
VCC
Cấp nguồn 5V cho L298 hoạt động.
VS
Cấp nguồn cho tải (động cơ).
GND
Nối đất.
IN1-IN2
OUT1-OUT2
IN3-IN4
OUT3-OUT4
Ngõ vào của cầu A.
Ngõ ra của cầu A.
Ngõ vào của cầu B.
Ngõ ra của cầu B.
SENSA
Nối xuống GND để điều khiển dòng tải cầu A.
SENSB
Nối xuống GND để điều khiển dòng tải cầu B.
ENA
Chân cho phép ngõ ra cầu A:
ENA = 1: Cho phép ngõ ra cầu A.
ENA = 0: Không cho phép ngõ ra cầu A
(Dùng chân này để điều khiển tốc độ động cơ).
ENB
Tương tự ENA
- Xem thêm -