Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 1
VI ĐIỀU KHIỂN GIAO TIẾP ADC
(ANALOG TO DIGITAL CONVERTER)
BÀI SỐ X-1: YÊU CẦU: ĐO NHIỆT ĐỘ DÙNG ADC
MẠCH ĐIỆN GIAO TIẾP
MỘT HỆ THỐNG DÙNG VI ĐIỀU KHIỂN GIAO TIẾP VỚI ADC:
P0 KẾT NỐI VỚI 8 ĐOẠN A, B, C, D, E, F, G, DP
P2.0, P2.1, P2.2 ĐIỀU KHIỂN 3 TRANSISTOR CẤP DÒNG CHO 3 LED 7 ĐOẠN
P3 NHẬN DỮ LIỆU SỐ TỪ ADC
P1.0, P1.1, P1.2 => A0, A1, A2; P1.3, P1.4 => ALE, START
ĐỘ PHÂN GIẢI: HAY STEP SIZE:
VỚI ADC 0809 LÀ 8 BIT THÌ CÓ 256 TRẠNG THÁI
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 2
)12(
8
REFREF
REFI
VV
VV
N
CHO :
0
REF
V
THÌ
255)12(
8
REF
I
REF
I
V
V
V
V
N
NẾU CHỌN
MVV
REF
2550
THÌ
I
VN 1.0
SUY RA ĐỘ PHÂN GIẢI
NẾU
0
I
V
THÌ
0N
NẾU
10
I
V
THÌ
1N
ĐỘ PHÂN GIẢI SS = 10MV
NẾU CHỌN
MVV
REF
255
THÌ
I
VN
NẾU
0
I
V
THÌ
0N
NẾU
1
I
V
THÌ
1N
ĐỘ PHÂN GIẢI SS = 1MV
SO SÁNH KHÁC NHAU GIỮA 2 SS VỚI CÙNG ADC 8BIT
ĐATT
mV
GIÁ TRỊ SỐ 8 BIT
SS=10mV,
VV
REF
0
VV
REF
55,2
Tp
GIÁ TRỊ SỐ 8 BIT
SS=5mV,
VV
REF
0
VV
REF
275,1
tp
GIÁ TRỊ SỐ
8 BIT
SS=1mV,
VV
REF
0
VV
REF
255.0
tp
0
0000 0000
0
0000 0000
0
0000 0000
0
1
0000 0000
0
0000 0000
0
0000 0001
1
2
0000 0000
0
0000 0000
0
0000 0010
2
5
0000 0000
0
0000 0001
1
0000 0101
5
10
0000 0001
1
0000 0010
2
0000 1010
10
20
0000 0010
2
0000 0100
4
0001 0100
20
30
0000 0011
3
0000 0110
6
0001 1110
30
35
0000 0011
3
0000 0111
7
…
…
…
…
…
…
…
255
1111 1111
255
1275
0111 1111
127
1111 1111
255
FS
1111 1111
255
1300
1000 0010
130
1111 1111
255
1111 1111
255
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 3
Bảo hòa FS=1275
2550
1111 1111
255
2560
BẢO HÒA
255
FS
NẾU MUỐN ĐÁP ỨNG NỮA VỚI SỰ THAY ĐỔI CỦA TÍN HIỆU TƯƠNG TỰ
THÌ PHẢI TĂNG:
- TĂNG STEP SIZE
- TĂNG SỐ BIT ADC LÊN VÍ DỤ NHƯ ADC 10 BIT
DẠNG SÓNG ĐIỀU KHIỂN ADC
BÀI SỐ 1:
CHUYỂN ĐỔI KÊNH TƯƠNG TỰ THỨ 7 HIỂN THỊ KẾT QUẢ ĐO TRÊN LED 7
ĐOẠN.
LƯU ĐỒ ĐIỀU KHIỂN
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 4
BEGIN
TẠO XUNG ALE
TẠO XUNG START
END
DELAY HIỂN THỊ
CHỜ CHUYỂN ĐỔI
XONG
CHỌN KÊNH THỨ 0
CHUYỂN HEX=> BCD
GIẢI MÃ
VIẾT CHƯƠNG TRÌNH
;CHUONG TRINH CHUYEN DOI ADC KENH THU 7
ALE BIT P1.3
START BIT P1.4
ORG 0H
MOV DPTR,#MA7DOAN
MOV P1,#00111B ;START,ALE = 00; A2A1A0 = 111
MAIN: SETB ALE ;ALE=1
SETB START ;START=1
NOP
NOP
CLR START ;START=0
CLR ALE ;ALE =0
CALL DELAY_HIENTHI
CALL HEXTOBCD
CALL GIAIMA
JMP MAIN
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
HEXTOBCD: MOV A,P3
MOV B,#10
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 5
DIV AB
MOV 27H,B ;(27H)=DVI
MOV B,#10
DIV AB
MOV 26H,B ;(26H)=CHUC
MOV 25H,A ;(25H)=TRAM
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
GIAIMA: MOV A,27H
MOVC A,@A+DPTR
MOV 37H,A
MOV A,26H
MOVC A,@A+DPTR
MOV 36H,A
MOV A,25H
MOVC A,@A+DPTR
MOV 35H,A
CJNE A,#0C0H,GMA
MOV 35H,#0FFH
GMA: RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
DELAY_HIENTHI: MOV 77H,#20
DEL: CALL HIENTHI
DJNZ 77H,DEL
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
HIENTHI: MOV P0,37H
CLR P2.0
CALL DELAY1MS
SETB P2.0
MOV P0,36H
CLR P2.1
CALL DELAY1MS
SETB P2.1
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 6
MOV P0,35H
CLR P2.2
CALL DELAY1MS
SETB P2.2
RET
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
$INCLUDE(TV_DELAY.ASM)
END
BÀI SỐ 2: CHUYEN DOI ADC VA DIEU KHIEN 1 RELAY
YEU CAU: NHIET DO NHO HON 40 THI RELAY ON, LỚN HƠN 40 THÌ RELAY NGẮT
;CHUONG TRINH CHUYEN DOI ADC KENH THU 7
ALE BIT P1.3
START BIT P1.4
RELAY1 BIT P1.6
RELAY2 BIT P1.7
ORG 0H
MOV DPTR,#MA7DOAN
MOV P1,#00111B ;START,ALE = 00; A2A1A0 = 111
MAIN: SETB ALE ;ALE=1
SETB START ;START=1
NOP
NOP
CLR START ;START=0
CLR ALE ;ALE =0
CALL DELAY_HIENTHI
CALL HEXTOBCD
CALL GIAIMA
CALL SOSANH_DKRL
JMP MAIN
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
SOSANH_DKRL:
MOV A,P3
CJNE A,#40,SS1
SS1: JNC SS2
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 7
SETB RELAY1
RET
SS2: CLR RELAY1
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
HEXTOBCD:
MOV A,P3
MOV B,#10
DIV AB
MOV 27H,B ;(27H)=DVI
MOV B,#10
DIV AB
MOV 26H,B ;(26H)=CHUC
MOV 25H,A ;(25H)=TRAM
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
GIAIMA: MOV A,27H
MOVC A,@A+DPTR
MOV 37H,A
MOV A,26H
MOVC A,@A+DPTR
MOV 36H,A
MOV A,25H
MOVC A,@A+DPTR
MOV 35H,A
CJNE A,#0C0H,GMA
MOV 35H,#0FFH
GMA: RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
DELAY_HIENTHI: MOV 77H,#20
DEL: CALL HIENTHI
DJNZ 77H,DEL
RET
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 8
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
HIENTHI: MOV P0,37H
CLR P2.0
CALL DELAY1MS
SETB P2.0
MOV P0,36H
CLR P2.1
CALL DELAY1MS
SETB P2.1
MOV P0,35H
CLR P2.2
CALL DELAY1MS
SETB P2.2
RET
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
$INCLUDE(TV_DELAY.ASM)
END
CHUYỂN ĐỔI KÊNH TƯƠNG TỰ THỨ 1 HIỂN THỊ KẾT QUẢ ĐO TRÊN LED 7
ĐOẠN.
;CHUONG TRINH CHUYEN DOI ADC KENH THU 1
ALE BIT P1.3
START BIT P1.4
ORG 0H
MOV DPTR,#MA7DOAN
MAIN: MOV P1,#00001B ;START,ALE = 00; A2A1A0 = 001
SETB ALE ;ALE=1
SETB START ;START=1
NOP
NOP
CLR START ;START=0
CLR ALE ;ALE =0
CALL DELAY_HIENTHI
CALL HEXTOBCD
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 9
CALL GIAIMA
JMP MAIN
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
HEXTOBCD:
MOV A,P3
MOV B,#10
DIV AB
MOV 27H,B
MOV B,#10
DIV AB
MOV 26H,B
MOV 25H,A
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
GIAIMA: MOV A,27H
MOVC A,@A+DPTR
MOV 37H,A
MOV A,26H
MOVC A,@A+DPTR
MOV 36H,A
MOV A,25H
MOVC A,@A+DPTR
MOV 35H,A
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
DELAY_HIENTHI: MOV 7FH,#100
DEL: CALL HIENTHI
DJNZ 7FH,DEL
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
HIENTHI: MOV P0,37H
MOV P2,#11111110B
CALL DELAY1MS
MOV P0,36H
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 10
MOV P2,#11111101B
CALL DELAY1MS
MOV P0,35H
MOV P2,#11111011B
CALL DELAY1MS
RET
MA7DOAN: DB 0C0H,
$INCLUDE(TV_DELAY.ASM)
END
BÀI SỐ 3:
CHUYỂN ĐỔI KÊNH TƯƠNG TỰ THỨ 6 VÀ THỨ 7 HIỂN THỊ KẾT QUẢ ĐO TRÊN
6 LED 7 ĐOẠN.
;CHUONG TRINH CHUYEN DOI ADC 2 KENH THU 6 VA THU 7
ALE BIT P1.3
START BIT P1.4
ORG 0H
MOV DPTR,#MA7DOAN
MAIN: MOV P1,#00110B ;KENH 6
CALL CONVERT
CALL DELAY_HIENTHI
CALL HEXTOBCD_K6
CALL GIAIMA_K6
MOV P1,#00111B ;KENH 7
CALL CONVERT
CALL DELAY_HIENTHI
CALL HEXTOBCD_K7
CALL GIAIMA_K7
JMP MAIN
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
CONVERT: SETB ALE ;ALE=1
SETB START ;START=1
NOP
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 11
NOP
CLR START ;START=0
CLR ALE ;ALE =0
RET
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
HEXTOBCD_K6: MOV A,P3
MOV B,#10
DIV AB
MOV 27H,B ;DVI-6
MOV B,#10
DIV AB
MOV 26H,B ;CHUC-6
MOV 25H,A ;TRAM-6
RET
HEXTOBCD_K7: MOV A,P3
MOV B,#10
DIV AB
MOV 24H,B ;DVI-7
MOV B,#10
DIV AB
MOV 23H,B ;CHUC-7
MOV 22H,A ;TRAM-7
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
GIAIMA_K6: MOV A,27H
MOVC A,@A+DPTR
MOV 37H,A
MOV A,26H
MOVC A,@A+DPTR
MOV 36H,A
MOV A,25H
CJNE A,#0,GMA6
MOV 35H,#0FFH ;XOA SO 0 VO NGHIA
RET
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 12
GMA6: MOVC A,@A+DPTR
MOV 35H,A
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
GIAIMA_K7: MOV A,24H
MOVC A,@A+DPTR
MOV 34H,A
MOV A,23H
MOVC A,@A+DPTR
MOV 33H,A
MOV A,22H
CJNE A,#0,GMA7
MOV 32H,#0FFH ;XOA SO 0 VO NGHIA
RET
GMA7: MOVC A,@A+DPTR
MOV 32H,A
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
DELAY_HIENTHI: MOV 76H,#50
DEL: CALL HIENTHI
DJNZ 76H,DEL
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
HIENTHI: MOV P0,37H
CLR P2.0
CALL DELAY1MS
SETB P2.0
MOV P0,36H
CLR P2.1
CALL DELAY1MS
SETB P2.1
MOV P0,35H
CLR P2.2
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 13
CALL DELAY1MS
SETB P2.2
;
MOV P0,34H
CLR P2.5
CALL DELAY1MS
SETB P2.5
MOV P0,33H
CLR P2.6
CALL DELAY1MS
SETB P2.6
MOV P0,32H
CLR P2.7
CALL DELAY1MS
SETB P2.7
RET
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
$INCLUDE(TV_DELAY.ASM)
END
BÀI SỐ 3:
CHUYỂN ĐỔI KÊNH 7 VÀ ĐIỀU KHIỂN RELAY DÙNG BIT P1.7
NHIỆT ĐỘ NHỎ 50 THÌ ĐÓNG RELAY
NHIỆT ĐỘ LỚN HƠN HAY BẰNG 50 THÌ NGẮT RELAY
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 14
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 15
;CHUONG TRINH CHUYEN DOI ADC KENH THU 7 VA DKHIEN RELAY
ALE BIT P1.3
START BIT P1.4
RELAY BIT P1.7
ORG 0H
MOV DPTR,#MA7DOAN
MOV P1,#00111B ;CHANNEL 7
MAIN: CALL CONVERT
CALL SOSANH
CALL DELAY_HIENTHI
CALL HEXTOBCD
CALL GIAIMA
JMP MAIN
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SOSANH: MOV A,P3
CJNE A,#50,SS1 ;(A)>=50 THI C=0, (A)<50 THI C=1
SS1: JNC SS2 ;NHAY NEU C=0 HAY (A) >= 50
SETB RELAY ;RELAY ON
RET
SS2: CLR RELAY ;RELAY OFF
RET
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 16
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
CONVERT: SETB ALE ;ALE=1
SETB START ;START=1
NOP
NOP
CLR START ;START=0
CLR ALE ;ALE =0
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
HEXTOBCD: MOV A,P3
MOV B,#10
DIV AB
MOV 27H,B
MOV B,#10
DIV AB
MOV 26H,B
MOV 25H,A
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
GIAIMA: MOV A,27H
MOVC A,@A+DPTR
MOV 37H,A
MOV A,26H
MOVC A,@A+DPTR
MOV 36H,A
MOV A,25H
CJNE A,#0,GMA
MOV 35H,#0FFH ;XOA SO 0 VO NGHIA
RET
GMA: MOVC A,@A+DPTR
MOV 35H,A
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
DELAY_HIENTHI: MOV 76H,#100
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 17
DEL: CALL HIENTHI
DJNZ 76H,DEL
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
HIENTHI: MOV P0,37H
CLR P2.0
CALL DELAY1MS
SETB P2.0
MOV P0,36H
CLR P2.1
CALL DELAY1MS
SETB P2.1
MOV P0,35H
CLR P2.2
CALL DELAY1MS
SETB P2.2
RET
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
$INCLUDE(TV_DELAY.ASM)
END
CHUYỂN ĐỔI KÊNH 0 VÀ ĐIỀU KHIỂN RELAY DÙNG BIT P2.0
NHIỆT ĐỘ NHỎ HAY BẰNG 50 THÌ ĐÓNG RELAY
NHIỆT ĐỘ LỚN HƠN 50 THÌ NGẮT RELAY
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SOSANH: MOV A,P3
CJNE A,#50,SOSA ;NHAY DEN NHAN S0SA VI <>
SOSA1: CLR RELAY ;DONG RELAY
RET
SOSA: JC SOSA1 ;NHAY NEU C=1
SETB RELAY ;NGAT RELAY
RET
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 18
CHUYỂN ĐỔI KÊNH 0 VÀ ĐIỀU KHIỂN RELAY DÙNG BIT P2.0
NHIỆT ĐỘ NHỎ 50 THÌ ĐÓNG RELAY
NHIỆT ĐỘ LỚN HƠN 70 THÌ NGẮT RELAY
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SOSANH: MOV A,P3
CJNE A,#50,SOSA ;NHAY DEN NHAN S0SA VI <>
RET
SOSA: JNC SOSA2 ;NHAY NEU C=0 (>50)
CLR RELAY ;DONG RELAY
RET
SOSA2: CJNE A,#70,SOSAB
RET
SOSAB: JC SOSAC ;NHAY NEU NHO HON 70
SETB RELAY
SOSAC: RET
BÀI TÂP: ĐO NHIỆT ĐỘ LẦN LƯT 2 KÊNH THỨ 0 VÀ THỨ 1: THỜI GIAN ĐO
VÀ HIỂN THỊ CHO MỖI KÊNH LÀ 1 GIÂY.
GIẢI:
VIẾT CHƯƠNG TRÌNH
ALE BIT P1.3
START BIT P1.4
BDN EQU 20H ;BIEN DEM NGAT
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ORG 0000H
JMP MAIN
ORG 000BH ;DCHI NGAT CUA TIMER0
MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
INC BDN
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 19
CJNE BDN,#20,EXIT
MOV BDN,#00 ;XOA SAU 1 GIAY
CPL P1.0 ;DAO BIT DIA CHI A0
EXIT: RETI
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MAINA: MOV TMOD,#00000001
SETB TR0
MOV P1,#00000B ;START,ALE = 00; A2A1A0 = 000
MAIN: MOV DPTR,#MA7DOAN
SETB ALE
SETB START
NOP ;NO OPERATION KLGC
NOP
CLR START
CLR ALE
CALL DELAY_HIENTHI
CALL HEXTOBCD
CALL GIAIMA
JMP MAIN
BÀI TÂP: ĐO NHIỆT ĐỘ LẦN LƯT 4 KÊNH THỨ 0 VÀ THỨ 3: THỜI GIAN ĐO
VÀ HIỂN THỊ CHO MỖI KÊNH LÀ 1 GIÂY.
GIẢI:
VIẾT CHƯƠNG TRÌNH
ALE BIT P1.3
START BIT P1.4
BDN EQU 20H ;BIEN DEM NGAT
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ORG 0000H
JMP MAIN
ORG 000BH ;DCHI NGAT CUA TIMER0
MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 20
INC BDN
CJNE BDN,#20,EXIT
MOV BDN,#00 ;XOA SAU 1 GIAY
INC P0 ;00 => 01 =>10 =>11 => 100=>00
ANL P0,#00000011B
EXIT: RETI
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MAINA: MOV TMOD,#00000001
SETB TR0
MOV P1,#00000B ;START,ALE = 00; A2A1A0 = 000
MAIN: MOV DPTR,#MA7DOAN
SETB ALE
SETB START
NOP ;NO OPERATION KLGC
NOP
CLR START
CLR ALE
CALL DELAY_HIENTHI
CALL HEXTOBCD
CALL GIAIMA
JMP MAIN
BÀI TÂP: ĐO NHIỆT ĐỘ LẦN LƯT 5 KÊNH THỨ 0 VÀ THỨ 4: THỜI GIAN ĐO
VÀ HIỂN THỊ CHO MỖI KÊNH LÀ 1 GIÂY.
GIẢI:
VIẾT CHƯƠNG TRÌNH
ALE BIT P1.3
START BIT P1.4
BDN EQU 20H ;BIEN DEM NGAT
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ORG 0000H
JMP MAIN
ORG 000BH ;DCHI NGAT CUA TIMER0
MOV TH0,#HIGH(-50000)
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 21
MOV TL0,#LOW(-50000)
INC BDN
CJNE BDN,#20,EXIT
MOV BDN,#00 ;XOA SAU 1 GIAY
INC P0 ;00 => 01 =>10 =>11 => 100=>00
MOV A,P0
CJNE A,#5,EXIT
MOV P0,#00000000B
EXIT: RETI
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MAINA: MOV TMOD,#00000001
SETB TR0
MOV P1,#00000B ;START,ALE = 00; A2A1A0 = 000
MAIN: MOV DPTR,#MA7DOAN
SETB ALE
SETB START
NOP ;NO OPERATION KLGC
NOP
CLR START
CLR ALE
CALL DELAY_HIENTHI
CALL HEXTOBCD
CALL GIAIMA
JMP MAIN
LƯU ĐỒ ĐIỀU KHIỂN SỬ DỤNG TÍN HIỆU EOC
CHUYỂN ĐỔI KÊNH TƯƠNG TỰ THỨ 0
CÁCH 1 DELAY CHỜ CHUYỂN ĐỔI XONG
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 22
BEGIN
TẠO XUNG ALE
TẠO XUNG START
END
CHỌN KÊNH THỨ 0
CHUYỂN HEX=> BCD
GIẢI MÃ
EOC=0
HIỂN THỊ
Đ
S
EOC=1
HIỂN THỊ
Đ
S
BEGIN
TẠO XUNG ALE
TẠO XUNG START
END
CHỌN KÊNH THỨ 0
CHUYỂN HEX=> BCD
GIẢI MÃ
EOC=0
Đ
S
EOC=1
Đ
S
HIỂN THỊ
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 23
VIẾT CHƯƠNG TRÌNH
;CHUONG TRINH CHUYEN DOI ADC KENH THU 0
ALE BIT P1.3
START BIT P1.4
ORG 0H
MOV DPTR,#MA7DOAN
MAIN: MOV P1,#00000B ;START,ALE = 00; A2A1A0 = 000
SETB ALE
SETB START
NOP
NOP
CLR START
CLR ALE
CALL DELAY_HIENTHI
CALL HEXTOBCD
CALL GIAIMA
JMP MAIN
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
HEXTOBCD:
MOV A,P3
MOV B,#10
DIV AB
MOV 27H,B
MOV B,#10
DIV AB
MOV 26H,B
MOV 25H,A
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
GIAIMA: MOV A,27H
MOVC A,@A+DPTR
MOV 37H,A
MOV A,26H
MOVC A,@A+DPTR
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: giao tiếp ADC 24
MOV 36H,A
MOV A,25H
MOVC A,@A+DPTR
MOV 35H,A
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
DELAY_HIENTHI: MOV 7FH,#100
DEL: CALL HIENTHI
DJNZ 7FH,DEL
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
HIENTHI: MOV P0,37H
MOV P2,#11111110B
CALL DELAY1MS
MOV P0,36H
MOV P2,#11111101B
CALL DELAY1MS
MOV P0,35H
MOV P2,#11111011B
CALL DELAY1MS
RET
MA7DOAN: DB 0C0H,
$INCLUDE(TV_DELAY.ASM)
END