Tải bản đầy đủ (.docx) (43 trang)

Ứng dụng vi điều khiển lập trình và mô phỏng đo và hiển thị nhiệt độ trên led 7 thanh

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 (921.46 KB, 43 trang )

Nguyễn Việt Hùng
Giới thiệu chung về vi điều khiển AT89C51
1.1 VI ĐIỀU KHIỂN AT89C51
1.1.1. Sơ đồ khối và ý nghĩa các chân của 89c51
8051 có 4 cổng vào/ra số
• P0 có 8 bit
là P0.0 đến P0.7
• P0 có 8 bit
là P1.0 đến P1.7
• P0 có 8 bit
là P2.0 đến P2.7
• P0 có 8 bit
là P3.0 đến P3.7
Ngoài chức năng là các cổng vào/ra
số thì P0 còn là 8 bit (D0 đến D7)
của bus dữ liệu hoặc là 8 bit thấp (A0 đến A7) của bus địa chỉ ,P2 lá 8 bit
cao (A8 đến A15) của bus địa chỉ khi cần thiết mở rộng thêm các ngoại vi,
bộ nhớ ngoài cho 8051
1
Nguyễn Việt Hùng
* RESET: (Tín hiệu vào): Dùng để khởi động lại toàn bộ hệ thống khi
chương trinh đang chạy mà gặp lỗi
* RxD,TxD: Là hai chân nhận và truyền số liệu của cổng truyền thông nối
tiếp
* INT0,INT1: Là hai chân nhận tín hiệu ngắt từ bên ngoài
* WR ( Tín hiệu ra) Cho phép viết dữ liệu tới các ngoại vi, bộ nhớ bên
ngoài vi điều khiển
* RD: ( Tín hiệu ra) Cho phép đọc dữ liệu từ các ngoại vi,bộ nhớ dữ liệu
ngoài vi điều khiển
* X1,X2: Dùng để tạo xung nhịp cho vi điều khiển
* Vcc,GND: Cấp nguồn cho vi điều khiển (Vcc=5 VDC)


* EA/VP : Là tín hiệu vào
2
Nguyễn Việt Hùng
=1: Vi điều khiển sử dụng cả bộ nhớ chương trình bên trong và bộ nhớ
chương trình bên ngoài
+ Nếu vi điều khiển có 4 Kb bộ nhớ chương trinh bên trong với địa
chỉ 0000H đến 0FFFH thì bộ nhớ chương trình bên ngoai phải có địa
chỉ 1000h đến 1FFFH
+ Nếu vi điều khiển co 8 Kb bộ nhớ chương trinh bên trong với địa
chỉ 0000H đến 1FFFH thì bộ nhớ chương trình bên ngoai phải có địa
chỉ 2000h đến FFFFH
=0: vi điều khiển chỉ sử dụng bộ nhớ bên ngoài co địa chỉ là:0000H
đến FFFFH
* ALE/P: (tín hiệu ra) Là tín hiệu chốt địa chỉ .dùng để phân biệt khi
nào P0 là bus dữ liệu,khi nào là bus dữ liệu khi vi điều khiển cần gép nối với
các ngoại vi
* ALE=1:P0 là bus địa chỉ
* ALE=1:P0 là bus dữ liệu
* PSEN : Có chức năng giống như chân Rdnhunwg chỉ dùng để đọc
bộ nhớ chương trình bên ngoài
1.1.2. Các thanh ghi đặc biệt
Ký hiệu Tên Địa chỉ
* Acc Thanh ghi chứa 0E0H
3
Nguyễn Việt Hùng
* B Thanh ghi B 0F0H
* PSW Thanh ghi trạng thái 0D0H
SP Con trỏ ngăn xếp (8bit) 81H
DPTR Con trỏ dữ liệu
DPL Byte thấp của DPTR 82H

DPH Byte cao của DPTR 83H
* P0 Thanh ghi đệm cổng P0 80H
* P1 Thanh ghi đệm cổng P1 90H
* P2 Thanh ghi đệm cổng P2 0A0H
* P3 Thanh ghi đệm cổng P3 0B0H
* IP Thanh ghi điều khiển các mức ưu tiên ngắt 0B8H
* IE Thanh ghi cho phép/ che chắn các ngắt 0A8H
TMOD Thanh ghi chọn chế độ Time/Counter 0,1 89H
* TCON Thanh ghi điều khiển Time/Counter 0,1 88H
*+T2CON Thanh ghi điều khiển Time/Counter 2 0C8H
TH0 Byte cao của bộ đếm trong Timer/Counter 0 8CH
TL0 Byte thấp của bộ đếm trong Timer/Counter 0 8AH
TH1 Byte cao của bộ đếm trong Timer/Counter 1 8DH
TL1 Byte thấp của bộ đếm trong Timer/Counter 1 8BH
+ TH2 Byte cao của bộ đếm trong Timer/Counter 2 0CDH
+ TL2 Byte thấp của bộ đếm trong Timer/Counter 2 0CCH
+ RCAP2H
Byte cao của thanh ghi Capture/ Reload trong
Timer/Counter 2
0CBH
+ RCAP2L
Byte thấp của thanh ghi Capture/ Reload trong
Timer/Counter 2
0CAH
* SCON Thanh ghi điều khiển cổng truyền thông nối tiếp 98H
SBUF Bộ đếm cổng truyền thông nối tiếp 99H
PCON Thanh ghi điều khiển công suất tiêu thụ của 8051 87H
Chú ý: *: Chỉ các thanh ghi truy cập theo bit
+: Các thanh ghi chỉ có trong 89c52
1.1.3. Bộ phát xung nhịp

4
Nguyễn Việt Hùng
- Dùng để tạo xung đồng bộ cho cả hệ thống vi điều khiển làm việc. Có 2
cách để tạo xung nhịp là dùng thạch anh hoặc lấy xung dao động từ nguồn
ngoài. Thông thường tần số xung nhịp là: 12MHz. 11,0592MHz. 24MHz
X1
X2
10k
Vcc
Xung ngoài
X1
X2
Dùng thạch anh
12MHz
33pF
33pF
5
Nguyễn Việt Hùng
1.1.4. Các Timer/ Counter (T/C)
a. Timer/ Counter 0 và Timer/ Counter 1
Khi ứng dụng các Timer/ Counter ta phải cài đặt chúng ở một chế độ làm
việc xác định. Các thanh ghi đặc biệt được thiết kế để đặt các chế độ làm
việc cho các Timer/ Counter là TMOD (Time Mode) và TCON ( Time
Control)
 Thanh ghi TMOD
GATE
CT /
GATE
CT /
M1

M1
M0
M0
Timer 1
Timer 0
TMOD
6
Nguyễn Việt Hùng
Thanh ghi TMOD có 2 phần tử giống nhau dùng để cài đặt chế độ cho các
T/C 0 và T/C 1 tương ứng như hình vẽ

1/
=
CT
Làm Counter (Đếm xung từ bên ngoài)

0/
=
CT
Làm Timer ( Đếm xung hệ thống)
GATE: Khi TR
x
=1 (x=0,1) nếu:
+ GATE=0 thì cho phép T/C làm việc
+ GATE=1 thì T/C được phép làm việc nếu INT
x
=1
Các chế độ làm việc
M1 M0 Chế độ Mô tả
0 0 0 Bộ đếm 13bit

0 1 1 Bộ đếm 16bit
1 0 2 Chế độ Auto - Reload
1 1 3
Timer0 là bộ đếm 8bit Time1
dừng
 Thanh ghi TCON
TF1
TR1
TF0
TR0
IE1
IT1
7
Nguyễn Việt Hùng
IE0
IT0
TCON
TF1 (TCON.7): Cờ báo bộ đếm Timer/Counter 1 bị tràn
TR1 (TCON.6): Bit cho phép T/C1 làm việc
TF0 (TCON.5): Cờ báo bộ đếm Timer/Counter 0 bị tràn
TR01 (TCON.4): Bit cho phép T/C0 làm việc
IE1 (TCON.3): Cờ báo có ngắt ngoài ở chân
1INT
IT1 (TCON.2), IT0 (TCON.0):
=1: Cho phép ngắt ngoài tương ứng ngắt theo sườn xuống
=0: Cho phép ngắt ngoài tương ứng ngắt theo mức “0”
IE0 (TCON.1): Cờ báo có ngắt ngoài ở chân
0INT
b. Timer/Counter 2 ( chỉ có trong 89c52)
* Thanh ghi T2CON:

TF2
EXF2
RCLK
TCLK
EXEN2
TR2
8
Nguyễn Việt Hùng
2
/ CT
CP/
RL
T2CON
TF2 (T2CON.7): Cờ tràn được dựng khi T/C2 tràn, Cờ phải được xóa bởi
phần mền
TF2 (T2CON.6): Cờ tràn được dựng khi chân T2EX có sườn xuống với điều
kiện bit EXEN2 =1 để báo ngăt
TF2 (T2CON.3): Bit cho phép Reload hoặc Capture khi có sườn xuống ở
chân T2EX
TF2 (T2CON.2): Bit điều khiển cho phép T/C2 chạy hoặc dừng
TF2 (T2CON.1): Lựa chọn T/C2 làm việc ở chế độ Timer hoặc Counter
* Các chế độ làm việc của T/C2
RCLK+TCLK
RLCP /
TR2 MODE
0 0 1 Chế độ Auto – Reload
0 1 1 Chế độ Capture
1 x 1 Chế độ phát Baud rate
X x 0 Không hoạt dộng
1.1.5. Ngắt và xử lý các ngắt

9
Nguyễn Việt Hùng
• Ngắt tràn của T0, T1: TF0,TF1
• Ngắt cổng truyền thông nối tiếp: RI, TI
• Ngắt bên ngoài vi điều khiển:
0INT
,
1INT
• Ngắt của Timer 2: TF2
* Thanh ghi cho phép ngắt IE
EA
-
ET2
ES
ET1
EX1
ET0
EX0
IE
EA : Cho phép/cấm tất cả ngắt ngoài
ET2:Cho phép/cấm ngăt Timer 2
ES: Cho phép/cấm ngắt cổng truyền thông nối tiếp
ET1: Cho phép/cấm ngăt Timer 1
EX1: Cho phép/cấm ngăt ngoài
1INT
ET0: Cho phép/cấm ngăt Timer 0
10
Nguyễn Việt Hùng
EX0: Cho phép/cấm ngăt ngoài
0INT

1.1.6. Địa chỉ vectơ ngắt
STT Nguồn gây ngắt Địa chỉ
1 IE0 0003H
2 TF0 000BH
3 IE1 0013H
4 TF1 001BH
5 RI_TI 0023H
6 TF2+EXF2 002BH
1.2. BỘ CHUYỂN ĐỔI TƯƠNG TỰ SANG SỐ (ADC0808)
1.2.1. Sơ đồ khối và ý nghĩa các chân
Chân 1 IN3 - ngõ vào tín hiệu Analog Input 3
Chân 2 IN4 - ngõ vào tín hiệu Analog Input 4
Chân 3 IN5 - ngõ vào tín hiệu Analog Input 5
Chân 4 IN6 - ngõ vào tín hiệu Analog Input 6
Chân 5 IN7 - ngõ vào tín hiệu Analog Input 7
Chân 6 START - chân điều khiển tín hiệu bắt đầu quá trình biến đổi ADC.
11
Nguyễn Việt Hùng
Chân 7 EOC - Chân phát tín hiệu báo kết thúc quá trình chuyển đổi ADC.
Chân 8 2 (-5) - Ngõ ra Tín hiệu số- Data Bit 5
Chân 9 OUT EN - Chân cho phép xuất.
Chân 10 CLK - chân nhận nguồn xung Clock
Chân 11 Vcc - Chân nhận điện nguồn dương
Chân 12 Vref+ - Chân nhận(input) điện áp tham chiếu.
Chân 13 GND - Chân nhận điện áp âm(Ground=0v)
Chân 14 2(-7) - Ngõ ra Tín hiệu số- Data Bit 7
Chân 15 2(-6) - Ngõ ra Tín hiệu số- Data Bit 6
Chân 16 Vref- - Voltage Reference Negative Input
Chân 17 2(-8) - Ngõ ra Tín hiệu số- Data bit 8
Chân 18 2(-4) - Ngõ ra Tín hiệu số- Data Bit 4

Chân 19 2(-3) - Ngõ ra Tín hiệu số- Data Bit 3
Chân 20 2(-2) - Ngõ ra Tín hiệu số- Data Bit 2
Chân 21 2(-1) - Ngõ ra Tín hiệu số- Data Bit 1
Chân 22 ALE - Address Latch Enable
Chân 23 ADD C - Address Input C
Chân 24 ADD B - Address Input B
Chân 25 ADD A - Address Input A
Chân 26 IN0 - ngõ vào tín hiệu Analog Input 0
12
Nguyễn Việt Hùng
Chân 27 IN1 - ngõ vào tín hiệu Analog Input 1
Chân 28 IN2 - ngõ vào tín hiệu Analog Input 2
1.2.2. Khảo sát ý nghĩa hoạt động của các chân ADC0808
- IN0, IN1, IN2, IN3, IN4, IN5, IN6, IN7 : 8 ngõ vào tín hiệu tương tự.
- A, B, C : các đường địa chỉ để chọn kênh ở ngõ vào
Các đường địa chỉ Chọn kênh ngõ
vào
A B C
L L L IN0
H L L IN1
L H L IN2
H H L IN3
L L H IN4
H L H IN5
L H H IN6
H H H IN7
- ALE : chân chốt địa chỉ, khi có xung tác động vào chân ALE đường
địa chỉ A,B,C mới được ADC nhận vào.
- START : điều khiển bắt đầu chuyển đổi
Khi START = 1 : bắt đầu chuyển đổi.

Khi START = 0 : kết thúc chuyển đổi.
- EOC : báo hiệu kết thúc quá trình chuyển đổi
Khi START = 1 thì EOC =1.
Khi chuyển đổi xong thì EOC = 0.
13
Nguyễn Việt Hùng
- CK : ngõ vào xung clock (f
CK
= 100KHz – 1,28MHz).
- 2
-1
, 2
-2
, 2
-3
, 2
-4
, 2
-5
, 2
-6
, 2
-7
, 2
-8
: 8 ngõ tín hiệu số từ 00-FFH
- OE : cho phép xuất tín hiệu ra
OE = 1 : cho phép.
OE = 0 : không cho phép.
- V

Ref+
, V
Ref-
: điện áp tham chiếu dương và âm, dùng để thay đổi độ
phân giải. Ta có công sau:
N = 256*(V
i
– V
Ref-
)/(V
Ref+
- V
Ref-
)
Với : N : 1 số nhị phân được chuyển đổi
V
i
: điện áp ngõ vào tín hiệu tương tụ.
Để tiện cho việc tính toán thông thường ta nối chân V
Ref-
xuống
mass.
1.2.3 Các bước để chuyển đổi của ADC
• Chọn kênh ngõ vào
• Chốt địa chỉ kênh vào ALE = 1).
• Bắt đầu chuyển đổi (START=1)
• Chờ chuyển đổi xong , đọc kết quả
1.3. LED BẢY THANH
1.3.1 Cấu tạo
14

Nguyễn Việt Hùng
- Cấu tạo LED bảy thanh bao gồm 8 led phát quang được gọi là các thanh
lần lượt là : a. b, c, d, e, f ,g và dp(dấu chấm).
g
f
a
b
dp
c
d
e
- LED bảy thanh thường dùng làm cơ cấu quan sát, hiện thị các con số hệ
thập phân. Trong một số trường hợp đặt biệt có thể dùng để hiện thị các số
hệ HEX và các ký tự
1.3.2 Phân loại
LED bảy thanh có hai loại là:
Loại Anode chung
Loại Cathode chung
a. Loại Anode chung
g
f
15
Nguyễn Việt Hùng
A
a
b
dp
c
A
d

e
1
2
3
4
5
9
8
7
6
10
Vcc
a
b
c
d
e
f
g
dp
16
Nguyễn Việt Hùng
Để các thanh sáng ta cấp dòng điện ( 5 – 20mA) chảy qua các Diode tương
ứng.Để hiện thị các số 0 – 9 trong hệ thập phân ta lựa chọn cách thanh cần
sáng để hiện thị được các số tương ứng. Như vậy ta nối chân A vào dương
nguồn (5VDC) còn các chân a, b, c, d, e, f, g, và dp điều khiển chúng sao
cho:
Nếu = “1” các thanh tối
17
Nguyễn Việt Hùng

Nếu = “0” các thanh sáng
b. Loại Cathode chung
Đối với loại Cathode chung thì chân C nối xuống đất (0VDC) còn các chân
a, b, c, d, e, f, g, và dp điều khiển chúng sao cho:
Nếu = “1” các thanh sáng
Nếu = “0” các thanh tối
g
f
C
a
b
dp
c
C
d
e
1
2
3
4
5
9
8
7
6
10
Vcc
a
b
c

d
e
18
Nguyễn Việt Hùng
f
g
dp
19
Nguyễn Việt Hùng
1.3.3 Bảng mã bảy thanh
Mã bảy thanh các số 0 – 9 loại Anode chung
DEC dp g f e d c b a
Mã Bảy
Thanh
0
1
2
3
4
5
6
7
8
9
1
1
1
1
1
1

1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1

0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1

1
0
0
0
0
1
0
0
1
0
0
0
0
0
C0H
F9H
A4H
B0H
99H
92H
82H
F8H
80H
90H
1.4. CẢM BIẾN NHIỆT ĐỘ (LM35)
1.4.1. Giới thiệu chung về họ LM35
LM35 là những mạch tổ hợp làm thành cảm biến đo nhiệt độ chính sác với
điện áp ra tuyến tính với nhiệt độ. LM35 không yêu cầu bất cứ sự cản chỉnh
nào từ bên ngoài hoặc các mạch phụ trợ khác mà vẫn đáp ứng được độ chính
20

Nguyễn Việt Hùng
xác cao (
±
1/4
C
0
tại nhiệt độ phòng và
±
3/4
C
0
trên thang đo từ -55
C
0
đến
+150
C
0
)
1. Nối Vcc
2. Nối vào ADC
3. Nối đất
1.4.2 Đặc tính của họ LM35:
- Hoạt động với điện áp từ 4V đến 30V
- Tỷ lệ tuyến tính với hệ số 10mV/1
C
0
- Thích hợp với các ứng dụng điều khiển
Một số thông số của họ LM35:
Dải nhiệt độ và sự thay đổi trở kháng theo nhiệt độ của LM35

21
Nguyễn Việt Hùng
Nhiệt độ (
C
0
)
Trở kháng của cảm biến (k

)
0 29.490
25 10.000
50 3.893
75 1.700
100 0.817
1.4.3 Cách chọn cảm biến ho LM35:
Mã SP Dải nhiệt độ Độ chính xác Đầu ra
Lm35A
-55
C
0
TO +150
C
0
+1.0
C
0
10mV/F
LM35
-55
C

0
TO +150
C
0
+1.5
C
0
10mV/F
LM35CA
-40
C
0
TO +110
C
0
+1.0
C
0
10mV/F
LM35C
-40
C
0
TO +110
C
0
+2.0
C
0
10mV/F

LM35D
0
C
0
TO +100 +2.0
C
0
10mV/F
22
Nguyễn Việt Hùng
C
0
1.5. CÁC LINH KIỆN KHÁC
1.5.2. Phím bấm
- Sơ đồ nguyên lý
Vcc
Output
10K
2,2μF
23
Nguyễn Việt Hùng
1.5.2. Các linh kiện khác
- Tụ điện: Chọn tụ điện có các giá trị sau 2,2μF, 3,3pF
C
B
E
5VDC
+ Đối với loại tụ có giá trị 2,2μF ta chọn tụ hóa
+ Đối với loại tụ có giá trị 3,3pF ta chọn tụ gốm
- Transzito : Chọn loại NPN có cấu tạo như sau

24
Nguyễn Việt Hùng
N P N
E
C
B
Chức năng Khuếch đại dòng để quét LED hiện thị
- Điện trở: Chọn loại điện trở có giá trị 10KὨ và 330Ὠ
PHẦN II
2.1. SƠ ĐỒ KHỐI VÀ CHỨC NĂNG TỪNG KHỐI
2.1.1. Sơ đồ khối
PHÍM BẤM
25

×