Thiết kế mạch đo khoảng thời gian hiển thị kết quả trên LED 7 đoạn - Pdf 13

LỜI NÓI ĐẦU
Bộ Vi xử lí là hạt nhân của hệ VXL,nó thực hiện các phép tính logic hoặc số
học để điều khiển toàn bộ hoạt động của hệ:
- Đọc các lệnh từ ô nhớ,giải mã lệnh và thực hiện lệnh
- Trao đổi số liệu với bộ nhớ và các thiết bị vào ra
- Có thể được điều khiển từ 1 số tín hiệu bên ngoài đẻ thực hiện 1 số chức
năng đặc biệt như thâm nhập bộ nhớ,ngắt và treo
Một hệ VXL bao gồm 2 phần:
- Phần cứng
- Phần mềm
*) Phần cứng là toàn bộ các kết cấu vật lí cấu thành nên hệ như ROM, RAM,

*) Phần mềm:Phần logic bao gồm hệ điều hành và chương trình ứng dụng(do
người sử dụng viết) chương trình được lưu trữ trong bộ nhớ bằng mã nhị phân
của máy tính .Một chương trình viết bằng ngôn ngữ máy là 1 chuỗi các byte nhị
phân biểu diễn các lệnh mã máy tính thực hiện được .Hợp ngữ thay thế các mã
nhị phân của ngôn ngữ máy bằng các mã gợi nhớ giúp ta dễ nhớ hơn và dễ lập
trình hơn.
BTL bao gồm:
CHƯƠNG 1: Giới thiệu họ vi điều khiển 8051
1.1. Cấu trúc phần cứng.
1.2. Sơ đồ chân và chức năng từng chân.
CHƯƠNG 2: Ứng dụng đo khoảng thời gian giữa 2 xung ( f < 1000 Hz )
2.1. Mạch tạo xung sử dụng time 555
2.2. Giới thiệu về LED 7 vạch
2.3. Lưu đồ thuật toán
2.4. Mạch đo và chương trình hợp ngữ.
Trong BTL em nhận được có gì sai sót rất mong được sự chỉ bảo của Thầy để
BTL của em được thành công, em xin chân thành cảm ơn !
CHƯƠNG 1: GIỚI THIỆU HỌ VI ĐIỀU KHIỂN 8051
1.1. Cấu trúc phần cứng.

8051\80 8031
128 byte 4K:
RAM 8051
I/O PORT
ALE\
PSEN P
0
P
1
P
2
P
3
\ Address\Data
TIMER
2
TIMER1
TIMER1
SERIA
L PORT
TXD

1.2. Sơ đồ chân và chức năng từng chân.
1.2.1 Sơ đồ chân 8951:
5v
+ C3
10MF
R3
10K
12M

P1.2
P0.2/AD2
P1.3
P0.3/AD3
P1.4
P0.4/AD4
P1.5
P0.5/AD5
P1.6
P0.6/AD6
P1.7
P0.7/AD7
RST
EA/VPP

P3.0/RXD ALE/PROG
P3.1/TXD PSEN
P3.2/INT0
P3.3/INT1
P3.4/T0 P2.7/A15
P3.5/T1 P2.6/A14
P3.6/WR
P2.5/A13
P3.7/RD
P2.4/A12
P2.3/A11
XTAL2 P2.2/A10
XTAL1 P2.1/A9
P2.0/A8
AT89C51

dữ liệu. P0 được dồn kênh giữa bus dữ liệu (D0 – D7) và bus địa chỉ (A0 –D7).
Port 1:
- Port 1 là port I/O trên các chân 1 đến 8. Các chân được ký hiệu P1.0, P1.1,
P1.2, … có thể dùng cho giao tiếp với các thiết bị ngoài nếu cần. Port 1 không
có chức năng khác, vì vậy chúng chỉ được dùng cho giao tiếp với các thiết bị
bên ngoài.
Port 2 :
- Port 2 là 1 port có tác dụng kép trên các chân 21 - 28,được dùng như các
đường xuất/nhập hoặc là byte cao của bus địa chỉ đối với các thiết bị dùng bộ nhớ
mở rộng.
Port 3:
- Port 3 là port có tác dụng kép trên các chân 10 - 17. Các chân của port này
có nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đặc tính đặc biệt
của 8951 như ở bảng sau:
Bit Tên Chức năng chuyển đổi
P3.0 RXD Chân nhận dữ liệu của cổng nối tiếp.
P3.1 TXD Chân thu dữ liệu của cổng nối tiếp.
P3.2 /INT0 Chân tiếp nhận ngắt cứng thứ 0.
P3.3 /INT1 Chân tiếp nhận ngắt cứng thứ 1.
P3.4 T0 Ngõ vào của TIMER/COUNTER thứ 0.
P3.5 T1 Ngõ vào của TIMER/COUNTER thứ 1.
P3.6 /WR Tín hiệu ghi dữ liệu lên bộ nhớ ngoài
P3.7 /RD Tín hiệu đọc bộ nhớ dữ liệu ngoài.
.
b. Các ngõ tín hiệu điều khiển :
Ngõ tín hiệu PSEN (Program store enable):
- PSEN là tín hiệu ngõ ra ở chân 29 có tác dụng cho phép đọc bộ nhớ
chương trình mở rộng thường được nói đến chân /0E (output enable) của EPROM
cho phép đọc các byte mã lệnh.
- PSEN ở mức thấp trong thời gian Microcontroller 8951 lấy lệnh. Các mã

Chân 40 (Vcc) được nối lên nguồn 5V.
CHƯƠNG 2: ỨNG DỤNG ĐO KHOẢNG THỜI GIAN GIỮA
2 XUNG ( F < 1000 HZ )
2.1. Mạch tạo xung dùng Time 555:
- Vcc cung cấp cho IC có thể sử dụng từ 4.5v đến 15v .Đường mạch màu đỏ là dương nguồn
,đường mạch màu đen dưới cùng là âm nguồn .
- Khi thay đổi các điện trở R1 , R2 và giá trị tụ C1 sẽ thu được dao động có tần số và độ rộng xung
như ý muốn theo công thức sau :
T=0.7 *(R1 + 2*R2) *C1
Và f=1.4*(R1 +2*R2)*C1 .
Trong đó :
+ T=thời gian của một chu kỳ tính bằng (s)
+ f=tần số dao động tính bằng (Hz)
+ R1 và R2 là điện trở tính bằng ohm
+ C1 là tụ điện tính bằng fara
T=Tm + Ts
Trong đó :
+ Tm là thời gian điện áp cao. Tm=0.7*(R1 +R2)*C1

+ Ts là thời gian điện thấp . Ts=0.7 *R2*C1
Chu kỳ toàn phần T bao gồm thời gian có điện mức cao Tm và thời gian có điện áp mức thấp Ts .
Từ các công thức trên ta có thể tạo ra một dao động xung vuông Tm và Ts bất kỳ .
Sau khi đã tạo ra xung có Tm và Ts ta có : T=Tm + Ts và f=1/T .
2.2.Giới thiệu về LED 7 vạch
Trong các thiết bị, để báo trạng thái hoạt động của thiết bị đó cho người sử dụng với
thông số chỉ là các dãy số đơn thuần, thường người ta sử dụng "led 7 đoạn". Led 7 đoạn
được sử dụng khi các dãy số không đòi hỏi quá phức tạp, chỉ cần hiện thị số là đủ, chẳng hạn
led 7 đoạn được dùng để hiển thị nhiệt độ phòng, trong các đồng hồ treo tường bằng điện tử,
hiển thị số lượng sản phẩm được kiểm tra sau một công đoạn nào đó
Led 7 đoạn có cấu tạo bao gồm 7 led đơn có dạng thanh xếp theo hình và có thêm một led

Px.1 nối với chân b, lần lượt theo thứ tự cho đến Px.7 nối với chân h.
Dữ liệu xuất có dạng nhị phân như sau : hgfedcba

Bảng mã hiển thị led 7 đoạn dành cho led 7 đoạn có Anode chung (các led đơn sáng ở mức 0):

Số hiển thị trên led 7 đoạn Mã hiển thị led 7 đoạn dạng nhị phân Mã hiển thị led 7 đoạn dạng thập lục phân
h g f e d c b a
0 1 1 0 0 0 0 0 0 C0
1 1 1 1 1 1 0 0 1 F9
2 1 0 1 0 0 1 0 0 A4
3 1 0 1 1 0 0 0 0 B0
4 1 0 0 1 1 0 0 1 99
5 1 0 0 1 0 0 1 0 92
6 1 1 0 0 0 0 1 0 82
7 1 1 1 1 1 0 0 0 F8
8 1 0 0 0 0 0 0 0 80
9 1 0 0 1 0 0 0 0 90
A 1 0 0 0 1 0 0 0 88
B 1 0 0 0 0 0 1 1 83
C 1 1 0 0 0 1 1 0 C6
D 1 0 1 0 0 0 0 1 A1
E 1 0 0 0 0 1 1 0 86
F 1 0 0 0 1 1 1 0 8E
- 1 0 1 1 1 1 1 1 BF
Bảng mã hiển thị led 7 đoạn dành cho led 7 đoạn có Cathode chung (các led đơn sáng ở mức 1):

Số hiển thị trên led 7 đoạn Mã hiển thị led 7 đoạn dạng nhị phân Mã hiển thị led 7 đoạn dạng thập lục phân
0 0 0 1 1 1 1 1 1 3F
1 0 0 0 0 0 1 1 0 06
2 0 1 0 1 1 0 1 1 5B

chân nhận tín hiệu cùng được được nối với P0. Dùng các ngõ ra còn lại của Vi điều khiển điều
khiển on/off cho led 7 đoạn, mỗi ngõ ra điều khiển ON/OFF cho 1 led 7 đoạn,(ON: led 7 đoạn
được cấp nguồn để hiển thị, OFF: led 7 đoạn bị ngắt nguồn nên không hiển thị được).
Trong sơ đồ trên, led 7 đoạn được sử dụng là loại có Anode chung, với tất cả các chân nhận
tín hiệu được kết nối với Port 0 đã qua điện trở hạn dòng. Để điều khiển ON/OFF cho các led 7
đoạn, sử dụng transitor loại PNP, transitor này nhận dòng điều khiển từ một ngõ ra của Vi điều
khiển, led 7 đoạn sẽ được ON khi tín hiệu từ vi điều khiển đến transitor ở mức 0. Có thể sử
transitor loại A564 hoặc 2N3905 hoặc một transitor PNP khác có thông số phù hợp. Các điện
trở 4.7K và điện trở treo 4.7K đảm bảo transitor luôn hoạt động ở chế độ ngắt/dẫn(đảm bảo khi
led 7 đoạn đang ở trạng thái OFF sẽ bị tắt hoàn toàn, không bị sáng mờ mờ).
Tại mỗi thời điểm, chỉ nên cho Vi điều khiển điều khiển cho 1 led 7 đoạn hoạt động, do đó tại
mỗi thời điểm chỉ nên có 1 ngõ ra duy nhất nối với transitor ở mức 0. Tại mỗi thời điểm chỉ có
một led 7 đoạn được ON nên sẽ không xảy ra tình trạng quá tải cho tải và quá tải cho vi điều
khiển khi điều khiển nhiều led 7 đoạn.
Trong sơ đồ kết nối trên, chẳng hạn cần hiển thị số 451, qui ước thứ tự các led 7 được đếm từ
phải sang trái, như vậy cần làm cho led 7 đoạn thứ nhất hiển thị số 1, led 7 đoạn thứ hai hiện thị
số 5, led 7 đoạn thứ 3 hiện thị số 4, các led còn lại không hiện thị. Đầu tiên OFF tất cả các led 7
đoạn. Kế tiếp xuất mã hiển thị led 7 đoạn để hiển thị số 1, ON led 7 đoạn thứ nhất, lúc này dòng
điện chỉ đi qua led 7 đoạn thứ nhất, làm cho led 7 đoạn thứ nhất hiển thị số 1, thời gian ON
trong khoảng vài chục µs(1µs=1/10
-6
s). Kế tiếp xuất mã hiển thị led 7 đoạn hiển thị số 5, OFF
led 7 đoạn thứ nhất và đồng thời ON led 7 đoạn thứ 2, lúc này chỉ có led 7 đoạn thứ hai hiển thị
và hiển thị số 5. Tiếp theo xuất mã hiển thị led 7 đoạn hiện thị số 4, OFF led 7 đoạn thứ hai và
ON led 7 thứ ba, lúc này chỉ duy nhất led 7 đoạn thứ ba hiển thị số 4. Cứ thế lặp lại quá trình
trên liên tục. Thời gian ON/OFF chỉ trong khoảng vài chục µs, và tại mỗi thời điểm chỉ có mỗi
một led 7 đoạn hiện thị số của chính nó, vì vậy mắt người thấy 3 led 7 đoạn không sáng đứt
quãng, mà sáng liên tục, mỗi led hiển thị 1 số riêng của nó. Thực hiện tương tự để mở rộng số
lượng led 7 đoạn cần sử dụng.
2.3. Lưu đồ thuật toán:

g
a a4
b4
c4
g4
b
c
d
e
f
b3
c3
d3
e3
f3
b
c
dd
e
f
d4
e4
f4
g
a1
g1
a2
g2
a3
g4

LED3
LED2
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32

P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
GIAY
AT89C51
U1
1n
C5
1n
C4
10u
R3
DIODE
R4
10k

Q7
19
OE
1
LE
11
D0
3
Q0
2
D1
4
Q1
5
D2
7
Q2
6
D3
8
Q3
9
D4
13
Q4
12
D5
14
Q5
15

Q4
12
D5
14
Q5
15
D6
17
Q6
16
D7
18
Q7
19
OE
1
LE
11
U4
74LS373
D0
3
Q0
2
D1
4
Q1
5
D2
7

GIAY
GIAY
R
4
DC
7
Q
3
GN D
1
V CC
8
TR
2
TH
6
CV
5
U1
555
C5
10uF
C4
1uF
R2
100k
R4
100k
#include <sfr51.inc>
ORG 00H

DIV AB
MOV R3,B
MOV B,#10
DIV AB
MOV R4,B
MOV R5,A
CJNE R1,#0,HIGH_BYTE
LCALL HIEN_THI
HIGH_BYTE :
MOV A,#6
ADD A,R3
MOV B,#10
DIV AB
MOV R3,B
ADD A,#5
ADD A,R4
MOV B,#10
DIV AB
MOV R4,B
ADD A,#2
ADD A,R5
MOV B,#10
DIV AB
MOV R5,B
CJNE R6,#0,ADD_IT
SJMP CONTINE
ADD_IT :
ADD R6,A
BJNZ R1,HIGH_BYTE
MOV B,#10

LJMP MAIN
MANG :
DB: 3EH, O6H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH
;************************************
DELAY 10ms
MOV R0,#0
DELAY1:
MOV R7,#250
DELAY2 :
NOP
NOP
DJNZ R7,DELAY2
DJNZ R0,DELAY1
RET
END
#INCLUDE <SFR51.INC>
ORG 0H
LJMP MAIN
ORG 03H
MOV TMOD, #01
MOV TL0, #0H
MOV TH0, #0H
SETB TR0
JNB P3.2, $
CLR TR0
CLR TF0
MOV R0, TL0
MOV R1, TH0
MOV R2, #10H
MOV R3, #27H

MOV R1, A
MOV R2, #0AH
MOV R3, #0H
LCALL DIV16
MOV A, R0
ORL A, #30H
LCALL HIENTHI
LCALL TRE
MOV A, R2
ORL A, #30H
LCALL HIENTHI
LCALL TRE
MOV A, #'u'
LCALL HIENTHI
LCALL TRE
MOV A, #'S'
LCALL HIENTHI
LCALL TRE
SJMP $
MAIN:
MOV IE, #10000001B
SETB TCON.0
MOV A,#38H
LCALL XLENH
LCALL TRE
MOV A,#0EH
LCALL XLENH
LCALL TRE
SJMP $
XLENH:

JNZ DIV_OK
SETB C
RET
DIV_OK:
PUSH DPL
PUSH DPH
PUSH B
ACALL CR0R1
ACALL CR2R3
ACALL UDIV16
ACALL MR0R1
CLR C
POP B
POP DPH
POP DPL
RET
CR0R1:
MOV A, R1
JB ACC.7, C0A
CLR 21H
RET
C0A:
SETB 21H
MOV A, R0
CPL A
ADD A, #1
MOV R0, A
MOV A, R1
CPL A
ADDC A, #0

MOV A, R6
RLC A
MOV R6, A
MOV A, R7
RLC A
MOV R7, A
MOV A, R6
CLR C
SUBB A, R2
MOV DPL, A
MOV A, R7
SUBB A, R3
MOV DPH, A
CPL C
JNC DIV_1
MOV R7, DPH
MOV R6, DPL
DIV_1:
MOV A, R4
RLC A
MOV R4, A
MOV A, R5
RLC A
MOV R5, A
DJNZ B, DIV_LOOP
MOV A, R5
MOV R1, A
MOV A, R4
MOV R0, A
MOV A, R7

- Tác giả: Nguyễn Tăng Cường _ Phan Quốc Thắng
3. Trang Web : WWW.8052.COM


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status