Thiết kế mạch đo khoảng thời gian hiển thị kết quả trên máy tính - 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. Lưu đồ thuật toán
2.3. Mạch đo và chương trình hợp ngữ.
CHƯƠNG 1: GIỚI THIỆU HỌ VI ĐIỀU KHIỂN 8051
1.1. Cấu trúc phần cứng.
Đặc điểm và chức năng hoạt động của các IC họ MSC-51 hoàn toàn
tương tự như nhau. Ở đây giới thiệu IC8951 là một họ IC vi điều khiển do hãng Intel
của Mỹ sản xuất. Chúng có các đặc điểm chung như sau:

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Y2
19
5v
U4
P1.0
P0.0/AD0
P1.1
P0.1/AD1
P1.2
P0.2/AD2
P1.3
P0.3/AD3
P1.4

34
33
32
31
30
29
28
27
26
25
24
23
22
21
Sơ đồ chân IC 89C51
1.2.2. Chức năng các chân của 8951:
- 8951 có tất cả 40 chân có chức năng như các đường xuất nhập. Trong đó có
24 chân có tác dụng kép (có nghĩa 1 chân có 2 chức năng), mỗi đường có thể hoạt
động như đường xuất nhập hoặc như đường điều khiển hoặc là thành phần của các
bus dữ liệu và bus địa chỉ.
a. Các Port:
Port 0 :
- Port 0 là port có 2 chức năng ở các chân 32 - 39 của 8951. Trong các thiết
kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các đường I/O. Đối
với các thiết kế cỡ lớn có bộ nhớ mở rộng, nó được kết hợp giữa bus địa chỉ và bus
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ị

Ngõ tín hiệu điều khiển ALE (Address Latch Enable ) :
- Khi 8951 truy xuất bộ nhớ bên ngoài, port 0 có chức năng là bus địa chỉ và
bus dữ liệu do đó phải tách các đường dữ liệu và địa chỉ. Tín hiệu ra ALE ở chân
thứ 30, nó dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ liệu
khi kết nối chúng với IC chốt.
- Tín hiệu ra ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai
trò là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự động.
Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chip và có thể
được dùng làm tín hiệu clock cho các phần khác của hệ thống. Chân ALE được
dùng làm ngõ vào xung lập trình cho Eprom trong 8951.
Ngõ tín hiệu /EA (External Access):
- Tín hiệu vào /EA ở chân 31 thường được mắc lên mức 1 hoặc mức 0. Nếu ở
mức 1, 8951 thi hành chương trình từ ROM nội trong khoảng địa chỉ thấp 8
Kbyte. Nếu ở mức 0, 8951 sẽ thi hành chương trình từ bộ nhớ mở rộng. Chân
/EA được lấy làm chân cấp nguồn 21V khi lập trình cho EPROM trong 8951.
Ngõ tín hiệu RST (Reset) :
-Ngõ vào RST ở chân 9 là ngõ vào Reset của 8951. Khi ngõ vào tín hiệu
này đưa lên cao ít nhất là 2 chu kỳ máy, các thanh ghi bên trong được nạp
những giá trị thích hợp để khởi động hệ thống. Khi cấp điện mạch tự động
Reset.
Các ngõ vào bộ dao động XTAL1, XTAL2:
- Hai chân XTAL1 và XTAL2 (chân 18 và 19) .Bộ dao động được tích hợp
bên trong 8951, khi sử dụng 8951 người thiết kế chỉ cần kết nối thêm thạch anh và
các tụ như hình vẽ trong sơ đồ. Tần số thạch anh thường sử dụng cho 8951 là
12Mhz.
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 .

Hình 8: Nối kết không modem.
+ Nối ghép 8051 tới RS232.
Chuẩn RS232 không tương thích với mức lô-gíc TTL, do vậy nó yêu cầu một bộ điều
khiển đường truyền chẳng hạn như chíp MAX232 để chuyển đổi các mức điện áp
RS232 về các mức TTL và ngược lại. Nội dung chính của phần này là bàn về nối ghép
8051 với các đầu nối RS232 thông qua chíp MAX232. 10.2.1 Các chân RxD và TxD
trong 8051.
8051 có hai chân được dùng chuyên cho truyền và nhận dữ liệu nối tiếp. Hai chân này
được gọi là TxD và RxD và là một phần của cổng P3 (đó là P3.0 và P3.1). chân 11 của
8051 là P3.1 được gán cho TxD và chân 10 (P3.0) được dùng cho RxD. Các chân này
tương thích với mức lô-gích TTL. Do vậy chúng đòi hỏi một bộ điều khiển đường
truyền để chúng tương thích với RS232. Một bộ điều khiển như vậy là chíp MAX232.
- Bộ điều khiển đường truyền MAX232.
Vì RS232 không tương thích với các bộ vi xử lý và vi điều khiển hiện nay nên ta cần
một bộ điều khiển đường truyền (bộ chuyển đổi điện áp) để chuyển đổi các tín hiệu
RS232 về các mức điện áp TTL sẽ được chấp nhận bởi các chân TxD và RxD của 8051.
Bộ MAX232 chuyển đổi từ các mức điện áp RS232 sẽ về mức điện áp TTL và ngược
lại. Một điểm mạnh của chíp MAX232 là nó dùng điện áp nguồng +5v cùng với điện áp
nguồn của 8051. Hay nóic cách khác với nguồn điện áp nuối +5 chúng ta mà có thể nuôi
8051 và MAX232 mà không phải dùng hai nguồn nuôi khác nhau như phổ biến trong
các hệ thống trước đây.
Bộ điều khiển MAX232 có hai bộ điều khiển thường để nhận và truyền dữ liệu như
trình bày trên hình 9. Các bộ điều khiển đường được dùng cho TxD được gọi là T1 và
T2. Trong nhiều ứng dụng thì chỉ có một cặp được dùng. Ví dụ T1 và R1 được dùng với
nhau đối với TxD và RxD của 8051, còn cặp R2 và T2 thì chưa dùng đến. Để ý rằng
trong MAX232 bộ điều khiển T1 có gán T1in và T1out trên các chân số 11 và 1 tương
ứng. Chân T1in là ở phía TTL và được nối tới chân RxD của bộ vi điều khiển, còn
T1out là ở phía RS232 được nối tới chân RxD của đầu nối DB của RS232.
Bộ điều khiển đường R1 cũng có gán R1in và R1out trên các chân số 13 và 12 tương
ứng. Chân R1in (chân số 13) là ở phía RS232 được nối tới chân TxD của đầu nối DB

c2
d2
e2
f2
g
a a3
g3
g
a a4
b4
c4
g4
b
c
d
e
f
b3
c3
d3
e3
f3
b
c
dd
e
f
d4
e4
f4

LED1
LED3
LED4
c
d
LED1
LED4
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

13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
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

15
D6
17
Q6
16
D7
18
Q7
19
OE
1
LE
11
D0
3
Q0
2
D1
4
Q1
5
D2
7
Q2
6
D3
8
Q3
9
D4

6
D3
8
Q3
9
D4
13
Q4
12
D5
14
Q5
15
D6
17
Q6
16
D7
18
Q7
19
OE
1
LE
11
U4
74LS373
D0
3
Q0

1
LE
11
U5
74LS373
PHUT
PHUT
GIAY
GIAY
R
4
DC
7
Q
3
GN D
1
VCC
8
TR
2
TH
6
CV
5
U1
555
C5
10uF
C4

MOV R3,#0
MOV R4,#0
MOV R5,#0
MOV R6,#0
MOV R7,#0
MOV B,#10
MOV A,R2
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

SETB P3.3
MOV A,R3
MOVC A,@A + DPTR
MOV P2,A
CLR P3.4
LCALL DELAY 10ms
SETB P3.4
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

MOV A, R0
ORL A, #30H
LCALL HIENTHI
LCALL TRE
MOV A, R2
MOV R0, A
MOV A, R3
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

ANL PSW, #0E7H
MOV A, R3
ORL A, R2
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
RLC A
MOV R1, A
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


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