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...
Đạ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 : 0REFV 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 0IV THÌ 0N NẾU 10IV THÌ 1N ĐỘ PHÂN GIẢI SS = 10MV NẾU CHỌN MVVREF 255 THÌ IVN NẾU 0IV THÌ 0N NẾU 1IV 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, 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:
- bai_giang_vi_dieu_khien_giao_tiep_adc_nguyen_dinh_phu.pdf