Đạ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 177
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:
Đạ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 178
VỚI ADC 0809 LÀ 8 BIT THÌ CÓ 256 TRẠNG THÁI:
)12(
8
REFREF
REFI
VV
VV
N
N là dữ liệu số thập phân
CHO :
0
REF
V
THÌ
255)12(
8
REF
I
REF
I
V
V
V
V
N
TH1: 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
TH2: 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
1111 1111
255
1275
0111 1111
127
1111 1111
255
FS
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 179
1300
1000 0010
130
1111 1111
255
1111 1111
255
Bảo hòa FS=1275
2550
1111 1111
255
2560
BẢO HÒA
255
FS
255 SSGTLN
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 TT THỨ 7 HIỂN THỊ KẾT QUẢ ĐO TRÊN LED ĐƠN.
ALE BIT P1.3
START BIT P1.4
ORG 0H
MOV P1,#00000111B ;START,ALE = 00; A2A1A0 = 111
MAIN: CALL C_DOIADC
Đạ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 180
CALL DELAY100US
MOV P0,P3 ;LAY DL TU ADC HTHI RA PORT0
JMP MAIN
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
;CHƯƠNG TRÌNH CON CHUYEN DOI ADC
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
C_DOIADC: SETB ALE ;ALE=1
SETB START ;START=1
NOP
NOP
CLR START ;START=0
CLR ALE ;ALE =0
RET
BÀI SỐ 2: CHUYỂN ĐỔI KÊNH THỨ 7 HIỂN THỊ KẾT QUẢ ĐO TRÊN LED 7 ĐOẠN.
LƯU ĐỒ ĐIỀU KHIỂN
BEGIN
TẠO XUNG ALE
TẠO XUNG START
END
DELAY HIỂN THỊ
CHỜ CHUYỂN ĐỔI
XONG
CHỌN KÊNH THỨ 7
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
Đạ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 181
ORG 0H
MOV DPTR,#MA7DOAN
MOV P1,#00000111B ;START,ALE = 00; A2A1A0 = 111
MAIN: CALL C_DOIADC
CALL DELAY_HTHI
CALL HEXTOBCD
CALL GIAIMA
JMP MAIN
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
;CHƯƠNG TRÌNH CON CHUYEN DOI ADC
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
C_DOIADC: SETB ALE ;ALE=1
SETB START ;START=1
NOP
NOP
CLR START ;START=0
CLR ALE ;ALE =0
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
HEXTOBCD: MOV A,P3 ;DOC DL TU ADC
MOV B,#10
DIV AB
MOV 20H,B ;(20H)=DVI
MOV B,#10
DIV AB
MOV 21H,B ;(21H)=CHUC
MOV 22H,A ;(22H)=TRAM
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
GIAIMA: MOV A,20H
MOVC A,@A+DPTR
MOV 30H,A
MOV A,21H
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 182
MOV 31H,A
MOV A,22H
MOVC A,@A+DPTR
MOV 32H,A
CJNE A,#0C0H,GMA
MOV 32H,#0FFH
GMA: RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
DELAY_HTHI: MOV 77H,#20
DEL: CALL HIENTHI
DJNZ 77H,DEL
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
HIENTHI: MOV P0,30H
CLR P2.0
CALL DELAY1MS
SETB P2.0
MOV P0,31H
CLR P2.1
CALL DELAY1MS
SETB P2.1
MOV P0,32H
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
Đạ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 183
YEU CAU: NHIET DO NHO HON 40 THI RELAY ON, LỚN HƠN HAY BẰNG 40 THÌ
RELAY NGẮT
;CHUONG TRINH CHUYEN DOI ADC KENH THU 7
RELAY1 BIT P1.6 ; ‘1’ RELAY0 ON, ‘0’ RELAY OFF
RELAY2 BIT P1.7
ALE BIT P1.3
START BIT P1.4
ORG 0H
MOV DPTR,#MA7DOAN
MOV P1,#00000111B ;START,ALE = 00; A2A1A0 = 111
MAIN: CALL C_DOIADC
CALL DELAY_HTHI
CALL HEXTOBCD
CALL GIAIMA
CALL SOSANH
JMP MAIN
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
SOSANH: MOV A,P3
CJNE A,#40,SS1
SS1: JNC SS2 ; C=0 NHIET DO >= 40, NHAY NEU C=0
SETB RELAY1 ;RELAY = ON
RET
SS2: CLR RELAY1 ;RELAY = OFF
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
;CHƯƠNG TRÌNH CON CHUYEN DOI ADC
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
C_DOIADC: SETB ALE ;ALE=1
SETB START ;START=1
NOP
NOP
CLR START ;START=0
CLR ALE ;ALE =0
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 184
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
HEXTOBCD: MOV A,P3 ;DOC DL TU ADC
MOV B,#10
DIV AB
MOV 20H,B ;(20H)=DVI
MOV B,#10
DIV AB
MOV 21H,B ;(21H)=CHUC
MOV 22H,A ;(22H)=TRAM
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
GIAIMA: MOV A,20H
MOVC A,@A+DPTR
MOV 30H,A
MOV A,21H
MOVC A,@A+DPTR
MOV 31H,A
MOV A,22H
MOVC A,@A+DPTR
MOV 32H,A
CJNE A,#0C0H,GMA
MOV 32H,#0FFH
GMA: RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
DELAY_HTHI: MOV 77H,#20
DEL: CALL HIENTHI
DJNZ 77H,DEL
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
HIENTHI: MOV P0,30H
CLR P2.0
CALL DELAY1MS
SETB P2.0
Đạ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 185
MOV P0,31H
CLR P2.1
CALL DELAY1MS
SETB P2.1
MOV P0,32H
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Ố 3:
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 7
ALE BIT P1.3
START BIT P1.4
ORG 0H
MOV DPTR,#MA7DOAN
MOV P1,#00000111B ;START,ALE = 00; A2A1A0 = 111
MAIN: CALL C_DOIADC
CALL DELAY_HTHI
CALL HEXTOBCD
CALL GIAIMA
JMP MAIN
BÀI SỐ 4: 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
Đạ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 186
MOV DPTR,#MA7DOAN
MAIN: MOV P1,#00110B ;KENH 6
CALL CONVERT
CALL DELAY_HTHI
CALL HEXTOBCD_K6
CALL GIAIMA_K6
MOV P1,#00111B ;KENH 7
CALL CONVERT
CALL DELAY_HTHI
CALL HEXTOBCD_K7
CALL GIAIMA_K7
JMP MAIN
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
CONVERT: SETB ALE ;ALE=1
SETB START ;START=1
NOP
NOP
CLR START ;START=0
CLR ALE ;ALE =0
RET
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
HEXTOBCD_K6: MOV A,P3
MOV B,#10
DIV AB
MOV 20H,B ;DVI-6
MOV B,#10
DIV AB
MOV 21H,B ;CHUC-6
MOV 22H,A ;TRAM-6
RET
HEXTOBCD_K7: 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 187
DIV AB
MOV 23H,B ;DVI-7
MOV B,#10
DIV AB
MOV 24H,B ;CHUC-7
MOV 25H,A ;TRAM-7
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
GIAIMA_K6: MOV A,20H
MOVC A,@A+DPTR
MOV 30H,A
MOV A,21H
MOVC A,@A+DPTR
MOV 31H,A
MOV A,22H
CJNE A,#0,GMA6
MOV 32H,#0FFH ;XOA SO 0 VO NGHIA
RET
GMA6: MOVC A,@A+DPTR
MOV 32H,A
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
GIAIMA_K7: MOV A,23H
MOVC A,@A+DPTR
MOV 33H,A
MOV A,24H
MOVC A,@A+DPTR
MOV 34H,A
MOV A,25H
CJNE A,#0,GMA7
MOV 35H,#0FFH ;XOA SO 0 VO NGHIA
RET
GMA7: MOVC A,@A+DPTR
MOV 35H,A
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 188
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
DELAY_HTHI: MOV 76H,#50
DEL: CALL HIENTHI
DJNZ 76H,DEL
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXX
HIENTHI: MOV P0,30H
CLR P2.0
CALL DELAY1MS
SETB P2.0
MOV P0,31H
CLR P2.1
CALL DELAY1MS
SETB P2.1
MOV P0,32H
CLR P2.2
CALL DELAY1MS
SETB P2.2
;
MOV P0,33H
CLR P2.5
CALL DELAY1MS
SETB P2.5
MOV P0,34H
CLR P2.6
CALL DELAY1MS
SETB P2.6
MOV P0,35H
CLR P2.7
CALL DELAY1MS
SETB P2.7
Đạ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 189
RET
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
$INCLUDE(TV_DELAY.ASM)
END
BÀI SỐ 5:
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 190
Đạ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 191
;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 192
;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 193
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
BÀI SỐ 6:
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 194
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 SỐ 7:
ĐO NHIỆT ĐỘ LẦN LƯT 2 KÊNH THỨ 0 (A
2
A
1
A
0
=000) VÀ THỨ 1 (A
2
A
1
A
0
=001):
THỜI GIAN ĐO VÀ HIỂN THỊ TRÊN 3 LED CHO MỖI KÊNH LÀ 1 GIÂY .
GIẢI:
LƯU ĐỒ
Đạ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 195
BEGIN
TẠO XUNG ALE
TẠO XUNG START
DELAY HIỂN THỊ
CHỜ CHUYỂN ĐỔI
XONG
CHỌN KÊNH THỨ I
CHUYỂN HEX=> BCD
GIẢI MÃ
Cho phép timer đếm
1s – ngắt, I:=0
TIMER
END
ĐẢO I
KHỞI TẠO LẠI
ĐỦ 1S
Đ
S
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
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ORG 000BH ;DCHI NGAT CUA TIMER0
MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
INC BDN
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,#00000001B
SETB TR0
Đạ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 196
MOV P1,#00000B ;START,ALE = 00; A2A1A0 = 000
MOV DPTR,#MA7DOAN
MAIN: SETB ALE
SETB START
NOP ;NO OPERATION KLGC
NOP
CLR START
CLR ALE
CALL DELAY_HIENTHI
CALL HEXTOBCD
CALL GIAIMA
JMP MAIN
BÀI SỐ 8:
Đ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:
000 => 001 => 010 => 011 PHẢI THAY ĐỔI A
1
A
0
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
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
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 197
CJNE BDN,#20,EXIT
MOV BDN,#00 ;XOA SAU 1 GIAY
INC P0 ;000 => 001 =>010 =>011 => 100=>000
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 SỐ 8:
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
Đạ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 198
MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
INC BDN
CJNE BDN,#20,EXIT
MOV BDN,#00 ;XOA SAU 1 GIAY
INC P0 ;000 =>001 =>010 =>011 => 100=>000
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