Bài giảng Vi điều khiển - Giao tiếp ADC - Nguyễn Đình Phú

Tóm tắt Bài giảng Vi điều khiển - Giao tiếp ADC - Nguyễn Đình Phú: ...XXXXXXXXX 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 C... 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... 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 DE...

pdf24 trang | Chia sẻ: havih72 | Lượt xem: 292 | Lượt tải: 0download
Nội dung tài liệu Bài giảng Vi điều khiển - Giao tiếp ADC - Nguyễn Đình Phú, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trê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 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REFV THÌ 255)12(
8 
 REF
I
REF
I
V
V
V
V
N 
NẾU CHỌN MVVREF 2550 THÌ IVN 1.0 SUY RA ĐỘ PHÂN GIẢI 
 NẾU 0IV THÌ 0N 
 NẾU 10IV THÌ 1N 
ĐỘ PHÂN GIẢI SS = 10MV 
NẾU CHỌN MVVREF 255 THÌ IVN  
 NẾU 0IV THÌ 0N 
 NẾU 1IV THÌ 1N 
ĐỘ 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, 
VVREF 0 
VVREF 55,2 
Tp GIÁ TRỊ SỐ 8 BIT 
SS=5mV, 
VVREF 0 
VVREF 275,1 
tp GIÁ TRỊ SỐ 
8 BIT 
SS=1mV, 
VVREF 0 
VVREF 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 

File đính kèm:

  • pdfbai_giang_vi_dieu_khien_giao_tiep_adc_nguyen_dinh_phu.pdf