Tải bản đầy đủ (.pdf) (9 trang)

Vi Mạch MCS 51 - Ứng Dụng Thực Tế part 8 pps

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 (416.32 KB, 9 trang )

A. HỆ THỐNG ĐIỀU KHIỂN LED ĐƠN
Bài 4: Chương trình điều khiển 8 LED được nối với Port0 sáng đuổi (có sử dụng bộ đệm đảo).
Giáo trình thực hành vi xử lý. 55 Biên soạn: Phạm Quang Trí
1 Trình tự tiến hành thí nghiệm:
1.1 Kết nối thiết bị thí nghiệm.
• Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 1.
1.2 Vẽ lưu đồ giải thuật và viết chương trình điều khiển.
• Cách 1:
;***************************************************
;CHUONG TRINH DIEU KHIEN 8 LED SANG DUOI
;***************************************************
;KET NOI: 8 LED -> PORT0 (CO DEM DAO).
;***************************************************
ORG 00H
MAIN:
MOV R0,#00H ;BIEN DEM SO TRANG THAI HIEN THI
MOV DPTR,#DATADISP ;NAP DIA CHI VUNG DU LIEU
LOOP:
MOV A,R0
MOVC A,@A+DPTR ;LAY DU LIEU TU VUNG NHO
MOV P0,A ;HIEN THI
LCALL DELAY500MS
INC R0 ;LAY DU LIEU KE TIEP
CJNE R0,#8,LOOP ;KIEM TRA SO DU TRANG THAI HIEN THI
SJMP MAIN ;QUAY LAI
;****************************************************
DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS
PUSH 00H
MOV R0,#100
MOV TMOD,#01H
LOOP2:


MOV TH0,#0ECH
MOV TL0,#78H
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
DJNZ R0,LOOP2
POP 00H
RET
;****************************************************
DATADISP: ;VUNG DU LIEU HIEN THI
DB 01H,02H,04H,08H,10H,20H,40H,80H
END
• Cách 2:
;***************************************************
;CHUONG TRINH DIEU KHIEN 8 LED SANG DUOI
;***************************************************
;KET NOI: 8 LED -> PORT0 (CO DEM DAO).
;***************************************************
ORG 00H
MAIN:
MOV A,#01H ;KHOI DONG GIA TRI BAN DAU
LAP:
MOV P0,A ;HIEN THI
LCALL DELAY500MS
RL A ;DICH BIT 1 SANG TRAI
SJMP LAP ;QUAY LAI
;****************************************************
DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS
PUSH 00H

MOV R0,#100
MOV TMOD,#01H
LOOP2:
MOV TH0,#0ECH

MOV TL0,#78H
SETB TR0
JNB TF0,$
CLR TR0
A. HỆ THỐNG ĐIỀU KHIỂN LED ĐƠN
Bài 4: Chương trình điều khiển 8 LED được nối với Port0 sáng đuổi (có sử dụng bộ đệm đảo).
Giáo trình thực hành vi xử lý. 56 Biên soạn: Phạm Quang Trí
CLR TF0
DJNZ R0,LOOP2
POP 00H
RET
END
1.3 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên.
2 Bài tập:
• Bài 1: Hãy viết chương trình điều khiển 8 LED được nối với Port3 sáng đuổi.
• Bài 2: Hãy viết chương trình điều khiển 8 LED được nối với Port1 tắt đuổi.
• Bài 3: Hãy viết chương trình điều khiển tương tự như hai bài tập 1 và 2 nhưng là theo chiều ngược lại.
• Bài 4: Hãy viết chương trình điều khiển 16 LED được nối với hai Port (Port0 và Port1) sáng đuổi.
• Bài 5: Hãy viết chương trình điều khiển 16 LED được nối với hai Port (Port2 và Port3) tắt đuổi.
• Bài 6: Hãy viết chương trình điều khiển tương tự như hai bài tập 4 và 5 nhưng là theo chiều ngược lại.
• Bài 7: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình.

A. HỆ THỐNG ĐIỀU KHIỂN LED ĐƠN
Bài 5: Chương trình điều khiển 8 LED được nối với Port0 sáng dồn (có sử dụng bộ đệm đảo).
Giáo trình thực hành vi xử lý. 57 Biên soạn: Phạm Quang Trí

1 Trình tự tiến hành thí nghiệm:
1.1 Kết nối thiết bị thí nghiệm.
• Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 1.
1.2 Vẽ lưu đồ giải thuật và viết chương trình điều khiển.
• Cách 1:
;***************************************************
;CHUONG TRINH DIEU KHIEN 8 LED SANG DON VA TAT HET
;***************************************************
;KET NOI: 8 LED -> PORT0 (CO DEM DAO).
;***************************************************
ORG 00H
MAIN:
MOV R0,#00H ;BIEN DEM SO TRANG THAI HIEN THI
MOV DPTR,#DATADISP ;NAP DIA CHI VUNG DU LIEU
LOOP:
MOV A,R0
MOVC A,@A+DPTR ;LAY DU LIEU TU VUNG NHO
MOV P0,A ;HIEN THI
LCALL DELAY500MS
INC R0 ;LAY DU LIEU KE TIEP
CJNE R0,#36,LOOP ;KIEM TRA SO DU TRANG THAI HIEN THI
SJMP MAIN ;QUAY LAI
;****************************************************
DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS
PUSH 00H
MOV R0,#100
MOV TMOD,#01H
LOOP2:
MOV TH0,#0ECH
MOV TL0,#78H

SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
DJNZ R0,LOOP2
POP 00H
RET
;****************************************************
DATADISP: ;VUNG DU LIEU HIEN THI
DB 01H,02H,04H,08H,10H,20H,40H,80H
DB 81H,82H,84H,88H,90H,0A0H,0C0H
DB 0C1H,0C2H,0C4H,0C8H,0D0H,0E0H
DB 0E1H,0E2H,0E4H,0E8H,0F0H
DB 0F1H,0F2H,0F4H,0F8H
DB 0F9H,0FAH,0FCH
DB 0FDH,0FEH
DB 0FFH
END

• Cách 2:
;***************************************************
;CHUONG TRINH DIEU KHIEN 8 LED SANG DON VA TAT HET
;***************************************************
;KET NOI: 8 LED -> PORT0 (CO DEM DAO).
;***************************************************
ORG 00H
MAIN:
MOV R0,#08H ;LUU SO LAN DICH BIT
MOV R1,#00H ;TRANG THAI LED KHI DON LAN DAU TIEN
LAP2:

MOV R2,00H
MOV R3,#01H
LAP1:

MOV A,R3
ORL A,R1
MOV P0,A ;HIEN THI
ACALL DELAY500MS
A. HỆ THỐNG ĐIỀU KHIỂN LED ĐƠN
Bài 5: Chương trình điều khiển 8 LED được nối với Port0 sáng dồn (có sử dụng bộ đệm đảo).
Giáo trình thực hành vi xử lý. 58 Biên soạn: Phạm Quang Trí
MOV A,R3 ;DON LED
RL A
MOV R3,A
DJNZ R2,LAP1 ;CHUA DON XONG? QUAY LAI
DEC R0 ;GIAM SO LAN DON LED
SETB C ;THAY DOI TRANG THAI LED CHO LAN DON TIEP THEO
MOV A,R1
RRC A
MOV R1,A
CJNE R0,#00H,LAP2 ;CHUA HOAN TAT CHU TRINH? QUAY LAI
MOV P0,#00H ;HIEN THI TAT HET
ACALL DELAY500MS
SJMP MAIN ;QUAY LAI TU DAU KHI DA XONG
;****************************************************
DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS
PUSH 00H
MOV R0,#100
MOV TMOD,#01H
LOOP2:

MOV TH0,#0ECH
MOV TL0,#78H
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
DJNZ R0,LOOP2
POP 00H
RET
END
1.3 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên.
2 Bài tập:
• Bài 1: Hãy viết chương trình điều khiển 8 LED được nối với Port3 sáng dồn.
• Bài 2: Hãy viết chương trình điều khiển 8 LED được nối với Port2 tắt dồn.
• Bài 3: Hãy viết chương trình điều khiển tương tự như hai bài tập 1 và 2 nhưng là theo chiều ngược lại.
• Bài 4: Hãy viết chương trình điều khiển 16 LED được nối với hai Port (Port1 và Port3) sáng dồn.
• Bài 5: Hãy viết chương trình điều khiển 16 LED được nối với hai Port (Port2 và Port0) tắt dồn.
• Bài 6: Hãy viết chương trình điều khiển tương tự như hai bài tập 4 và 5 nhưng là theo chiều ngược lại.
• Bài 7: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình.

A. HỆ THỐNG ĐIỀU KHIỂN LED ĐƠN
Bài 6: Chương trình điều khiển 8 LED được nối với Port0 hoạt động bằng cách tổng hợp các phương pháp điều
khiển đã thực tập (có sử dụng bộ đệm đảo).
Giáo trình thực hành vi xử lý. 59 Biên soạn: Phạm Quang Trí
1 Trình tự tiến hành thí nghiệm:
1.1 Kết nối thiết bị thí nghiệm.
• Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 1.
1.2 Vẽ lưu đồ giải thuật và viết chương trình điều khiển.
;***************************************************
;CHUONG TRINH DIEU KHIEN 8 LED HOAT DONG TONG HOP

;***************************************************
;KET NOI: 8 LED -> PORT0 (CO DEM DAO).
;***************************************************
ORG 00H
MAIN:
ACALL CHOPTAT
ACALL DEMLEN
ACALL SANGDUOI
ACALL SANGDAN
ACALL SANGDON
SJMP MAIN
;****************************************************
CHOPTAT: ;CTC SANG TAT
MOV R7,#5 ;SO LAN THUC HIEN
SOLAN1:
MOV P0,#00H ;LED TAT
LCALL DELAY500MS
MOV P0,#0FFH ;LED SANG
LCALL DELAY500MS
DJNZ R7,SOLAN1 ;GIAM SO LAN THUC HIEN BAI
RET ;QUAY LAI
;****************************************************
DEMLEN: ;CTC DEM LEN NHI PHAN
MOV R7,#2 ;SO LAN THUC HIEN
SOLAN2:
MOV P0,#00H ;LED TAT
LCALL DELAY500MS
LAP1:
INC P0 ;TANG NHI PHAN
LCALL DELAY500MS

MOV A,P0
CJNE A,#00H,LAP1
DJNZ R7,SOLAN2 ;GIAM SO LAN THUC HIEN BAI
RET ;QUAY LAI
;****************************************************
SANGDUOI: ;CTC SANG DUOI
MOV R7,#5 ;SO LAN THUC HIEN
SOLAN3:
MOV A,#01H ;KHOI DONG GIA TRI BAN DAU
CLR C
LAP2:
MOV P0,A ;HIEN THI
LCALL DELAY500MS
RLC A ;DICH BIT 1 SANG TRAI
JNC LAP2 ;QUAY LAI
DJNZ R7,SOLAN3 ;GIAM SO LAN THUC HIEN BAI
RET
;****************************************************
SANGDAN: ;CTC SANG DAN
MOV R7,#5 ;SO LAN THUC HIEN
SOLAN4:
MOV A,#00H ;KHOI DONG GIA TRI BAN DAU
LAP3:
SETB C ;C=1
MOV P0,A ;HIEN THI
LCALL DELAY500MS

RLC A ;DICH BIT 1 SANG TRAI KEM C, SANG DAN
JNC LAP3 ;CHUA SANG HET THI LAM TIEP
DJNZ R7,SOLAN4 ;GIAM SO LAN THUC HIEN BAI

RET ;QUAY LAI
A. HỆ THỐNG ĐIỀU KHIỂN LED ĐƠN
Bài 6: Chương trình điều khiển 8 LED được nối với Port0 hoạt động bằng cách tổng hợp các phương pháp điều
khiển đã thực tập (có sử dụng bộ đệm đảo).
Giáo trình thực hành vi xử lý. 60 Biên soạn: Phạm Quang Trí
;****************************************************
SANGDON: ;CTC SANG DON
MOV R7,#3 ;SO LAN THUC HIEN
SOLAN5:
MOV R0,#08H ;LUU SO LAN DICH BIT
MOV R1,#00H ;TRANG THAI LED KHI DON LAN DAU TIEN
LAP4:
MOV R2,00H
MOV R3,#01H
LAP5:
MOV A,R3
ORL A,R1
MOV P0,A ;HIEN THI
ACALL DELAY500MS
MOV A,R3 ;DON LED
RL A
MOV R3,A
DJNZ R2,LAP5 ;CHUA DON XONG? QUAY LAI
DEC R0 ;GIAM SO LAN DON LED
SETB C ;THAY DOI TRANG THAI LED CHO LAN DON TIEP THEO
MOV A,R1
RRC A
MOV R1,A
CJNE R0,#00H,LAP4 ;CHUA HOAN TAT CHU TRINH? QUAY LAI
MOV P0,#00H ;HIEN THI TAT HET

ACALL DELAY500MS
DJNZ R7,SOLAN5 ;GIAM SO LAN THUC HIEN BAI
RET
;****************************************************
DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 250MS
PUSH 00H
MOV R0,#100
MOV TMOD,#01H
LOOP2:
MOV TH0,#0F6H
MOV TL0,#3CH
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
DJNZ R0,LOOP2
POP 00H
RET
END
1.3 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên.
2 Bài tập:
• Bài 1: Hãy viết chương trình điều khiển sao cho phần sáng tắt của chương trình ví dụ trên được thực hiện
10 lần (các phần khác không thay đổi).
• Bài 2: Hãy viết chương trình điều khiển sao cho phần đếm lên nhị phân chương trình ví dụ trên được thực
hiện 10 lần (các phần khác không thay đổi).
• Bài 3: Hãy viết chương trình điều khiển sao cho phần sáng dần và tắt dần của chương trình ví dụ trên được
thực hiện 10 lần (các phần khác không thay đổi).
• Bài 4: Hãy viết chương trình điều khiển sao cho phần sáng đuổi của chương trình ví dụ trên được thực hiện
10 lần (các phần khác không thay đổi).
• Bài 5: Hãy viết chương trình điều khiển sao cho phần sáng dồn của chương trình ví dụ trên được thực hiện

10 lần (các phần khác không thay đổi).
• Bài 6: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình.

A. HỆ THỐNG ĐIỀU KHIỂN LED ĐƠN
Bài 7: Chương trình con điều khiển tạo thời gian trễ 200
µ
µµ
µ
s, 20ms, 2s sử dụng Timer.
Giáo trình thực hành vi xử lý. 61 Biên soạn: Phạm Quang Trí
1 Trình tự tiến hành thí nghiệm:
1.1 Kết nối thiết bị thí nghiệm.
• Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 1.
1.2 Vẽ lưu đồ giải thuật và viết chương trình điều khiển.
• Ứng dụng chương trình tạo thời gian trễ 200
µ
µµ
µ
s:
;***************************************************
;CHUONG TRINH DIEU KHIEN 8 LED SANG TAT
;***************************************************
;KET NOI: 8 LED -> PORT0 (CO DEM DAO).
;***************************************************
ORG 00H
CHOPTAT:
MOV P0,#00H ;LED TAT
LCALL DELAY200US
MOV P0,#0FFH ;LED SANG
LCALL DELAY200US

SJMP CHOPTAT ;QUAY LAI
;***************************************************
;CHUONG TRINH CON TAO THOI GIAN TRE
;***************************************************
;TIME DELAY: 200US
;***************************************************
;TUONG DOI: TIME = [R0]*[R1]*T
;CHINH XAC: TIME = 2T+2T+1T+(1T+2T*[R1]+2T)*[R0]+2T+2T+2T
;VOI T LA CHU KY MAY
;***************************************************
DELAY200US:
PUSH 00H
PUSH 01H
MOV R0,#20
DEL:
MOV R1,#10
DJNZ R1,$
DJNZ R0,DEL
POP 01H
POP 00H
RET
END
• Ứng dụng chương trình tạo thời gian trễ 20ms:
;***************************************************
;CHUONG TRINH DIEU KHIEN 8 LED SANG TAT
;***************************************************
;KET NOI: 8 LED -> PORT0 (CO DEM DAO).
;***************************************************
ORG 00H
CHOPTAT:

MOV P0,#00H ;LED TAT
LCALL DELAY20MS
MOV P0,#0FFH ;LED SANG
LCALL DELAY20MS
SJMP CHOPTAT ;QUAY LAI
;***************************************************
;CHUONG TRINH CON TAO THOI GIAN TRE
;***************************************************
;TIME DELAY: 20MS
;***************************************************
;TUONG DOI: TIME = (10000H-[TH0,TL0]H)*T
;CHINH XAC: TIME = 2T+2T+2T+1T+(10000H-[TH0,TL0]H)*T+1T+1T++2T
;VOI T LA CHU KY MAY
;***************************************************
DELAY20MS:
MOV TMOD,#01H

MOV TH0,#0B1H
MOV TL0,#0E0H
SETB TR0
JNB TF0,$
A. HỆ THỐNG ĐIỀU KHIỂN LED ĐƠN
Bài 7: Chương trình con điều khiển tạo thời gian trễ 200
µ
µµ
µ
s, 20ms, 2s sử dụng Timer.
Giáo trình thực hành vi xử lý. 62 Biên soạn: Phạm Quang Trí
CLR TR0
CLR TF0

RET
END
• Ứng dụng chương trình tạo thời gian trễ 2s:
;***************************************************
;CHUONG TRINH DIEU KHIEN 8 LED SANG TAT
;***************************************************
;KET NOI: 8 LED -> PORT0 (CO DEM DAO).
;***************************************************
ORG 00H
CHOPTAT:
MOV P0,#00H ;LED TAT
LCALL DELAY2S
MOV P0,#0FFH ;LED SANG
LCALL DELAY2S
SJMP CHOPTAT ;QUAY LAI
;***************************************************
;CHUONG TRINH CON TAO THOI GIAN TRE
;***************************************************
;TIME DELAY: 2S
;***************************************************
;TUONG DOI: TIME = (10000H-[TH0,TL0]H)*[R0]*T
;CHINH XAC: TIME = 2T+1T+2T+(2T+2T+1T+(10000H-[TH0,TL0]H)*T+1T+1T+2T)*[R0]+2T+2T
;VOI T LA CHU KY MAY
;***************************************************
DELAY2S:
PUSH 00H
MOV R0,#200
MOV TMOD,#01H
DEL:
MOV TH0,#0D8H

MOV TL0,#0F0H
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
DJNZ R0,DEL
POP 00H
RET
END
1.3 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên.
2 Bài tập:
• Bài 1: Hãy viết chương trình con điều khiển tạo thời gian trễ 250µs sử dụng Timer.
• Bài 2: Hãy viết chương trình con điều khiển tạo thời gian trễ 1ms sử dụng Timer.
• Bài 3: Hãy viết chương trình con điều khiển tạo thời gian trễ 100ms sử dụng Timer.
• Bài 4: Hãy viết chương trình con điều khiển tạo thời gian trễ 1s sử dụng Timer.
• Bài 5: Hãy viết chương trình con điều khiển tạo thời gian trễ 3s sử dụng Timer.
• Bài 6: Hãy viết chương trình con điều khiển tạo thời gian trễ 10s sử dụng Timer.
• Bài 7: Hãy viết chương trình con điều khiển tạo thời gian trễ 1 phút sử dụng Timer.
• Bài 8: Hãy viết chương trình con điều khiển tạo thời gian trễ 1 giờ sử dụng Timer.
• Bài 9: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình.




TRUNG TÂM THÍ NGHIỆM THỰC HÀNH ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP





T
T
À
À
I
I


L
L
I
I


U
U


H
H
Ư
Ư


N
N
G
G



D
D


N
N


T
T
H
H
Í
Í


N
N
G
G
H
H
I
I


M
M



-
-


T
T
H
H


C
C


H
H
À
À
N
N
H
H



















×