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ÊN
Trang 1VI Đ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:
Trang 2 VỚI ADC 0809 LÀ 8 BIT THÌ CÓ 256 TRẠNG THÁI: ( 28 1 )
REF I V V
V V N
N là dữ liệu số thập phân
V N
TH1: NẾU CHỌN V REF 2550MV THÌ N 0 1V I SUY RA ĐỘ PHÂN GIẢI
NẾU V I 0 THÌ N 0
NẾU V I 10 THÌ N 1
ĐỘ PHÂN GIẢI SS = 10mV
TH2: NẾU CHỌN V REF 255MV THÌ N V I
NẾU V I 0 THÌ N 0
NẾU V I 1 THÌ N 1
ĐỘ PHÂN GIẢI SS = 1MV
SO SÁNH KHÁC NHAU GIỮA 2 SS VỚI CÙNG ADC 8BIT
Trang 3NẾ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.
Trang 4NOP NOP
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
XONG CHỌN KÊNH THỨ 7
Trang 5ORG 0H
NOP NOP
Trang 7YEU 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
NOP NOP
RET
Trang 9CHUYỂ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
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
Trang 10NOP NOP
Trang 13CHUYỂ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
Trang 15;CHUONG TRINH CHUYEN DOI ADC KENH THU 7 VA DKHIEN RELAY
CJNE A,#50,SS1 ;(A)>=50 THI C=0, (A)<50 THI C=1
RET
RET
Trang 16;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
NOP NOP
Trang 17DEL: CALL HIENTHI
SETB P2.1
MOV P0,35H CLR P2.2
SETB P2.2 RET
$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
RET
RET
Trang 18CHUYỂ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
RET
Trang 19TẠ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
;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
Trang 20MOV P1,#00 000 B ;START,ALE = 00; A2A1A0 = 000
CALL DELAY_HIENTHI CALL HEXTOBCD
CALL GIAIMA JMP MAIN
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ORG 0000H JMP MAIN
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ORG 000BH ;DCHI NGAT CUA TIMER0 MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000) INC BDN
Trang 21CJNE BDN,#20,EXIT MOV BDN,#00 ;XOA SAU 1 GIAY INC P0 ; 0 00 => 0 01 => 0 10 => 0 11 => 1 00=> 0 00 ANL P0,#00000 0 11B
EXIT: RETI
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MAINA: MOV TMOD,#00000001
SETB TR0 MOV P1,#00 000 B ;START,ALE = 00; A2A1A0 = 000
MAIN: MOV DPTR,#MA7DOAN
SETB ALE SETB START
NOP CLR START CLR ALE CALL DELAY_HIENTHI CALL HEXTOBCD
CALL GIAIMA JMP MAIN
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ORG 0000H JMP MAIN ORG 000BH ;DCHI NGAT CUA TIMER0
Trang 22MOV 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,#00 000 B ;START,ALE = 00; A2A1A0 = 000
MAIN: MOV DPTR,#MA7DOAN
SETB ALE SETB START
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