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

Tóm tắt Bài giảng Vi điều khiển - Giao tiếp led 7 đoạn - Nguyễn Đình Phú: ...CD CHUÏC, KEÁT QUAÛ LAØ BCD TRAÊM. LEÄNH CHIA DIV AB LAØ CHIA A(8 BIT – FF=255) CHO B(8 BIT THÖÔØNG LAØ SOÁ 10) SAU KHI CHIA: A LÖU KEÁT QUAÛ, B LÖU SOÁ DÖ. VÍ DUÏ1: CHUYEÅN SOÁ HEX 3FH = 0011 1111B SANG SOÁ BCD: HEX BCD 32+16+8+4+2+1=63 BCD = 0110 0011B 0 0 1 1 1 1 1 1 1010 - 1 0 ...ïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 18 JMP LB DELAYX: CALL DELAY1MS RET $INCLUDE(TV_DELAY.ASM) END CAÙCH VIEÁT TREÂN SÖÛ DUÏNG HEÁT 8LED – TA COÙ CAÙCH THÖÙ 2...eän leänh laø 2 chu kyø maùy  Chöùc naêng: Leänh naøy seõ keát thuùc chöông trình con, vi ñieàu khieån seõ trôû laïi chöông trình chính ñeå tieáp tuïc thöïc hieän chöông trình. DELAY 0.1S = 100MS = 100,000 µS = 500µS × 200 DELAY100MS: MOV 71H,#200 ;2T DEL: CALL 500µS ;(2T + 500T)×200 D...

pdf33 trang | Chia sẻ: havih72 | Lượt xem: 310 | Lượt tải: 0download
Nội dung tài liệu Bài giảng Vi điều khiển - Giao tiếp led 7 đoạn - Nguyễn Đình Phú, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
QUẢ LẦN 1 CHIA TIẾP CHO 10 LẦN THỨ 2: 
SỐ DƯ LẦN HAI LÀ BCD CHỤC, KẾT QUẢ LÀ BCD TRĂM. 
LỆNH CHIA DIV AB LÀ CHIA A(8 BIT – FF=255) CHO B(8 BIT THƯỜNG LÀ SỐ 10) 
SAU KHI CHIA: A LƯU KẾT QUẢ, B LƯU SỐ DƯ. 
VÍ DỤ1: CHUYỂN SỐ HEX 3FH = 0011 1111B SANG SỐ BCD: 
 HEX BCD 
32+16+8+4+2+1=63 
BCD = 0110 0011B 
0 0 1 1 1 1 1 1 1010 
 - 1 0 1 0 0110=BCD_CHUC 
 0 1 0 1 1 
 - 1 0 1 0 
 0 0 0 1 1 0011=BCD_DVI 
Đạ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 led 7 đoạn 11 
TP 
KQ 
;CHTR DK 2 LED 7 DOAN DEM TU 00 LEN 99 ROI DEM XUONG 00 
 DEM EQU R2 
 ORG 0000H 
 MOV DPTR,#MA7DOAN 
LB: MOV DEM,#00H 
LB1: CALL HEXTOBCD_GIAIMA ;MOI THEM VAO 
 CALL DELAY100MS 
 INC DEM 
 CJNE DEM,#100,LB1 
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 
LB2: DEC DEM 
 CALL HEXTOBCD_GIAIMA ;MOI THEM VAO 
 CALL DELAY100MS 
 CJNE DEM,#-1,LB2 
 JMP LB1 
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 
HEXTOBCD_GIAIMA: 
 MOV A,DEM 
 MOV B,#10 
 DIV AB ;(A) = BCD CHUC, (B)=BCD DONVI 
 MOVC A,@A+DPTR ;LAY MA CHUC 
 MOV P2,A ;HIEN THI HANG CHUC 
 MOV A,B ;BCD DONVI => A 
 MOVC A,@A+DPTR ;LAY MA DONVI 
 MOV P0,A ;HIEN THI HANG DON VI 
 RET 
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H 
$INCLUDE(TV_DELAY.ASM) 
 END 
Đạ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 led 7 đoạn 12 
BÀI SỐ 2-6: CTDK LED 7 ĐOẠN ĐẾM THỜI GIAN TỪ 000 ĐẾN 250 – DÙNG P0 – LED ĐƠN 
VỊ, P1 – LED CHỤC VÀ P2 – LED TRĂM. 
 LƯU ĐỒ ĐIỀU KHIỂN 
BEGIN
DELAY
DEM:=DEM+1
END
DEM=251
Đ
S
LƯU 10 MÃ VÀO BN
DEM:=0000 0000B
HEX(DEM) => BCD
BCD => MA7DOAN => LED
;CHTR DK 2 LED 7 DOAN DEM TU 000 LEN 250 
 DEM EQU R2 
 ORG 0H 
 MOV DPTR,#MA7DOAN 
LB: MOV DEM,#00H 
LB1: CALL HEXTOBCD_GIAIMA ;MOI THEM VAO 
 CALL DELAY100MS 
 INC DEM 
 CJNE DEM,#251,LB1 
 JMP LB 
HEXTOBCD_GIAIMA: 
 MOV A,DEM 
 MOV B,#10 
 DIV AB ;(A) = KQ1, (B)=BCD_DONVI 
 MOV 20H,B ;LUU BCD_DVI VAO ON CO ĐC 20H 
 MOV B,#10 
 DIV AB ; (A) = BCD_TRAM, (B)=BCD_CHUC 
Đạ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 led 7 đoạn 13 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
 MOVC A,@A+DPTR ;LAY MA TRAM 
 MOV P2,A ;HIEN THI HANG TRAM 
 MOV A,B ;BCD_CHUC => A 
 MOVC A,@A+DPTR ;LAY MA CHUC 
 MOV P1,A ;HIEN THI HANG CHUC 
 MOV A,20H ;BCD_DVI => A 
 MOVC A,@A+DPTR ;LAY MA DVI 
 MOV P0,A ;HIEN THI HANG DVI 
 RET 
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H 
$INCLUDE(TV_DELAY.ASM) 
 END 
CÁC CHƯƠNG TRÌNH CON TỔNG QUÁT 
CHUYỂN SỐ HEX 8 BIT SANG 3 SỐ BCD LƯU VÀO 3 ON 20H, 21H, 22H: 
HEXTOBCD: MOV A,HEX8BIT 
 MOV B,#10 
 DIV AB 
 MOV 20H,B ;LUU BCD_DVI 
 MOV B, #10 
 DIV AB 
 MOV 21H,B ;LUU BCD_CHUC 
 MOV 22H,A ;LUU BCD_TRAM 
 RET 
GIAIMA: MOV DPTR,#MA7DOAN 
MOV A,20H 
MOVC A,@A+DPTR 
MOV 30H,A ;LUU MA_DVI 
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 led 7 đoạn 14 
MOV 31H,A ;LUU MA_CHUC 
MOV A,22H 
MOVC A,@A+DPTR 
MOV 32H,A ; LUU MA_TRAM 
 RET 
HIENTHI_TT: MOV P0,30H 
 MOV P1,31H 
 MOV P2,32H 
 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 led 7 đoạn 15 
ĐIỀU KHIỂN LED 7 ĐOẠN DÙNG VDK 
 CÁCH 2: DÙNG PHƯƠNG PHÁP QUÉT 
Đạ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 led 7 đoạn 16 
CÁC ĐOẠN: A, B, C, D, E, F, G, DP NỐI SONG - SONG, QUA ĐIỆN TRỞ HẠN DÒNG NỐI 
VỚI PORT0. 
CÁC CHÂN ANODE CHUNG THÌ ĐIỀU KHIỂN BẰNG TRANSISTOR PNP, 
8 LED NÊN DÙNG 8 TRANSISTOR. DÙNG PORT2 ĐIỀU KHIỂN 8 TRANS. 
CỰC B BẰNG 0 THÌ TRANS DẪN – CỰC B BẰNG 1 THÌ TRANS TẮT 
MỖI 1 THỜI ĐIỂM CHỈ CHO 1 TRANS DẪN. 
DÙNG 2 PORT 0 VÀ 2 ĐIỀU KHIỂN ĐƯỢC 8 LED 7 ĐOẠN 
ƯU ĐIỂM: TIẾT KIỆM TÍN HIỆU ĐIỀU KHIỂN 
KHUYẾT ĐIỂM: TỐN TRANSISTOR, CHƯƠNG TRÌNH ĐIỀU KHIỂN PHỨC TẠP – CHƯƠNG 
TRÌNH QUÉT 8 LED PHẢI THỰC HIỆN LIÊN TỤC THÌ LED MỚI SÁNG. 
BÀI SỐ 3-1: CTDK 1 LED 7 ĐOẠN SÁNG SỐ 0 – DÙNG P0, P2 
 VIẾT CHƯƠNG TRÌNH 
;CHTR DK 1 LED 7 DOAN (L7D0) SANG SO 0 
 ORG 0H 
 MOV P0,#0C0H ;GOI MA SO 0 
 MOV P2,#11111110B ;CHO 1 TRANSISTOR DAN 
 JMP $ 
 END 
THỬ 
;CHTR DK 1 LED 7 DOAN (L7D1) SANG SO 0 
 ORG 0H 
 MOV P0,#0C0H ;GOI MA SO 0 
 MOV P2,#11111101B ;CHO 1 TRANSISTOR DAN 
 JMP $ 
 END 
THỬ 
;CHTR DK 1 LED 7 DOAN (L7D1) SANG SO 1 
 ORG 0H 
 MOV P0,#0F9H ;GOI MA SO 1 
 MOV P2,#11111101B ;CHO 1 TRANSISTOR DAN 
 JMP $ 
 END 
Đạ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 led 7 đoạn 17 
BÀI SỐ 3-2: CTDK 8 LED 7 ĐOẠN QUÉT SÁNG SỐ 0 ĐẾN SỐ 7 DÙNG P0, P2 
 VIẾT CHƯƠNG TRÌNH 
 ;CHTR DK 8 LED 7 DOAN QUET SANG SO 0 DEN SO 7 
 ORG 0H 
LB: MOV P0,#0C0H ;0 
 MOV P2,#11111110B 
 CALL DELAYX 
 MOV P0,#0F9H ;1 
 MOV P2,#11111101B 
 CALL DELAYX 
 MOV P0,#0A4H ;2 
 MOV P2,#11111011B 
 CALL DELAYX 
 MOV P0,#0B0H ;3 
 MOV P2,#11110111B 
 CALL DELAYX 
 MOV P0,#099H ;4 
 MOV P2,#11101111B 
 CALL DELAYX 
 MOV P0,#092H ;5 
 MOV P2,#11011111B 
 CALL DELAYX 
 MOV P0,#082H ;6 
 MOV P2,#10111111B 
 CALL DELAYX 
 MOV P0,#0F8H ;7 
 MOV P2,#01111111B 
 CALL DELAYX 
Đạ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 led 7 đoạn 18 
 JMP LB 
DELAYX: CALL DELAY1MS 
 RET 
$INCLUDE(TV_DELAY.ASM) 
 END 
CÁCH VIẾT TRÊN SỬ DỤNG HẾT 8LED – TA CÓ CÁCH THỨ 2 
 ;CHTR DK 8 LED 7 DOAN QUET SANG SO 0 DEN SO 7 
 ORG 0H 
LB: MOV P0,#0C0H ;0 
 CLR P2.0 ;TRANSISTOR T0 DAN 
 CALL DELAYX 
 SETB P2.0 ;TRANSISTOR T0 TAT 
 MOV P0,#0F9H ;1 
 CLR P2.1 ;TRANSISTOR T1 DAN 
 CALL DELAYX 
 SETB P2.1 ;TRANSISTOR T1 TAT 
 JMP LB 
DELAYX: CALL DELAY1MS 
 RET 
$INCLUDE(TV_DELAY.ASM) 
 END 
BÀI SỐ 3-3: CT ĐẾM GIÂY TỪ 00 ĐẾN 59 – HIỂN THỊ TRÊN 2 LED 7 ĐOẠN QUÉT 
 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 led 7 đoạn 19 
BEGIN
HEX(GIÂY) => BCD 
GIẢI MÃ 7 ĐOẠN
DELAY – HIỂN THỊ 
GIÂY:= GIÂY +1
END
GIAY=60
Đ
S
LƯU 10 MÃ VÀO BN
GIÂY:=00 (HEX)
 VIẾT CHƯƠNG TRÌNH 
;CHTR DK DEM GIAY 
 GIAY EQU R1 
 ORG 0H 
 MOV DPTR,#MA7DOAN 
LB: MOV GIAY,#00 
LB1: CALL HEXTOBCD ;CHUYEN HEX SANG SO BCD 
 CALL GIAIMA ;CHUYEN SO BCD SANG MA 7 DOAN 
 CALL DELAY_HTHI ;VUA DELAY VA VUA HIEN THI 
 INC GIAY ;01H,02 
 CJNE GIAY,#60,LB1 
 JMP LB 
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 
HEXTOBCD: MOV A,GIAY 
 MOV B,#10 ;KHI BIEN DICH THANH 0000 1010B 
 DIV AB ;(A)=BCD CHUC, (B)=BCD DONVI 
 RET ;TRO LAI CH TR CHINH 
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 
GIAIMA: MOVC A,@A+DPTR ;GIAI MA HANG CHUC 
 MOV 30H,A ;CAT TAM MA 7 DOAN CUA CHUC VAO 30H 
 MOV A,B ;CHUYEN BCD DONVI SANG A 
 MOVC A,@A+DPTR ;GIAI MA HANG DON VI 
 MOV 31H,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 led 7 đoạn 20 
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 
DELAY_HTHI: MOV 78H,#200 
DELHT: CALL HIENTHI 
 DJNZ 78H,DELHT 
 RET 
HIENTHI: MOV P0,30H 
 CLR P2.0 
 CALL DELAY1MS 
 SETB P2.0 
 MOV P0,31H 
 CLR P2.1 
 CALL DELAY1MS 
 SETB P2.1 
 RET 
$INCLUDE(TV_DELAY.ASM) 
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H 
 END 
BÀI SỐ 3-3: CT ĐẾM TỪ 00 ĐẾN 99 – HIỂN THỊ TRÊN 2 LED 7 ĐOẠN QUÉT 
 LƯU ĐỒ ĐIỀU KHIỂN 
BEGIN
HEX(DEM) => BCD 
GIẢI MÃ 7 ĐOẠN
DELAY – HIỂN THỊ 
DEM:= DEM +1
END
DEM=100
Đ
S
LƯU 10 MÃ VÀO BN
DEM:=00 (HEX)
BEGIN
DELAY
DEM:=DEM+1
END
DEM=100
Đ
S
LƯU 10 MÃ VÀO BN
DEM:=0000 0000B
HEX(DEM) => BCD
BCD => MA7DOAN => LED
 VIẾT CHƯƠNG TRÌNH 
Đạ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 led 7 đoạn 21 
;CHTR DK DEM GIAY 
 DEM EQU R1 
 ORG 0H 
 MOV DPTR,#MA7DOAN 
LB: MOV DEM,#00 
LB1: CALL HEXTOBCD ;CHUYEN HEX SANG SO BCD 
 CALL GIAIMA ;CHUYEN SO BCD SANG MA 7 DOAN 
 CALL DELAY_HTHI ;VUA DELAY VA VUA HIEN THI 
 INC DEM ;01H,02 
 CJNE DEM,#100,LB1 
 JMP LB 
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 
HEXTOBCD: MOV A,DEM 
 MOV B,#10 ;KHI BIEN DICH THANH 0000 1010B 
 DIV AB ;(A)=BCD CHUC, (B)=BCD DONVI 
 RET ;TRO LAI CH TR CHINH 
GIAIMA: MOVC A,@A+DPTR ;GIAI MA HANG CHUC 
 MOV 31H,A ;CAT TAM MA 7 DOAN CUA CHUC VAO 36H 
 MOV A,B ;CHUYEN BCD DONVI SANG A 
 MOVC A,@A+DPTR ;GIAI MA HANG DON VI 
 MOV 30H,A 
 RET 
DELAY_HTHI: MOV 78H,#200 
DELHT: CALL HIENTHI 
 DJNZ 78H,DELHT 
 RET 
HIENTHI: MOV P0,30H 
 CLR P2.0 
 CALL DELAY1MS 
 SETB P2.0 
 MOV P0,31H 
 CLR P2.1 
 CALL DELAY1MS 
 SETB P2.1 
 RET 
$INCLUDE(TV_DELAY.ASM) 
Đạ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 led 7 đoạn 22 
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H 
 END 
GIẢI THÍCH CHƯƠNG TRÌNH CON DELAY: 
- MỖI LỆNH CẦN 1 HOẶC 2 CHU KỲ MÁY ĐỂ THỰC HIỆN – CHO 1 CHU KỲ MÁY LÀ 
1µS NẾU SỬ DỤNG THẠCH ANH 12MHZ. 
- MUỐN DELAY 1MS = 1000µS – CHO VI ĐIỀU KHIỂN THỰC HIỆN 1000 LỆNH NÀO 
ĐÓ – MỖI LỆNH 1 CHU KỲ. 
- VÍ DỤ LỆNH NOP 
NOP ;THỨ 1 
NOP ;THỨ 2 
NOP ;THỨ 1000 
CÁCH VIẾT DÙNG VÒNG LẶP: 
DELAY204µS: MOV 70H,#100 ;2T 
 DJNZ 70H,$ ;2T × 100 
 RET ;2T 
DELAY500µS: MOV 70H,#248 ;2T 
 DJNZ 70H,$ ;2T × 248 
 RET ;2T 
DELAY1000µS: MOV 70H,#249 ;2T 
XX: NOP ;1T 
 NOP ;1T 
 DJNZ 70H,XX ;(1T + 1T + 2T) × 249 
 RET ;2T 
1. Lệnh chuyển dữ liệu vào ô nhớ trực tiếp : 
 Cú pháp : MOV direct, #data 
 Mã lệnh : 
0 1 1 1 0 1 0 1 
a7 a6 a5 a4 a3 a2 a1 a0 
d7 d6 d5 d4 d3 d2 d1 d0 
 Lệnh này chiếm 3 byte và thời gian thực hiện lệnh là 2 chu kỳ máy 
Đạ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 led 7 đoạn 23 
 Chức năng: Nạp dữ liệu data 8 bit (d0 đến d7) vào ô nhớ có địa chỉ direct. 
2. Lệnh giảm ô nhớ trực tiếp và nhảy : 
 Cú pháp : DJNZ direct, rel 
 Mã lệnh : 
1 1 0 1 0 1 0 1 
a7 a6 a5 a4 a3 a2 a1 a0 
r7 r6 r5 r4 r3 r2 r1 r0 
 Lệnh này chiếm 3 byte và thời gian thực hiện lệnh là 2 chu kỳ máy 
 Chức năng: Nếu nội dung của ô nhớ có địa chỉ direct giảm đi 1 và nếu kết quả sau khi giảm khác 0 
thì vi điều khiển sẽ thực hiện chương trình tại địa chỉ rel, ngược lại nếu kết quả bằng 0 thì vi điều 
khiển sẽ tiếp tục thực hiện lệnh kế. 
3. Lệnh trở về từ chương trình con : 
 Cú pháp : RET 
 Mã lệnh : 
0 0 1 0 0 0 1 0 
 Lệnh này chiếm 1 byte và thời gian thực hiện lệnh là 2 chu kỳ máy 
 Chức năng: Lệnh này sẽ kết thúc chương trình con, vi điều khiển sẽ trở lại chương trình chính để tiếp 
tục thực hiện chương trình. 
DELAY 0.1S = 100MS = 100,000 µS = 500µS × 200 
DELAY100MS: MOV 71H,#200 ;2T 
DEL: CALL 500µS ;(2T + 500T)×200 
 DJNZ 71H,DEL ;2T×200 
 RET ;2T 
TTG = (2T+2T) + (2T+500T)×200 + 2T×200 = 100,804 µS - SAI SỐ 804 µS 
ĐIỀU CHỈNH: 
DELAY100MS: MOV 71H,#198 ;2T 
DEL: CALL 500 µS ;(2T + 500T)×198 
 DJNZ 71H,DEL ;2T×198 
 RET ;2T 
TTG = (2T+2T) + (2T+500T)×198 + 2T×198 = 99,796 µS - SAI SỐ THIẾU 204µS 
THIẾU THÌ THÊM 
DELAY100MS: MOV 71H,#198 ;2T 
DEL: CALL 500 µS ;(2T + 500T)×198 
Đạ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 led 7 đoạn 24 
 DJNZ 71H,DEL ;2T×198 
 MOV 72H,#101 ;2T 
 DJNZ 72H,$ ;2T×101= 202T 
 RET ;2T 
VIẾT LẠI CHƯƠNG TRÌNH ĐỂ DỄ ĐIỀU CHỈNH: 
DELAY100MS: MOV 71H,#X ;2T 
DEL: MOV 70H,#Y ;2T × X 
 DJNZ 70H,$ ;2T×Y × X 
 DJNZ 71H,DEL ;2T × X 
 RET ;2T 
TTG = (2T+2T) + (2T+2T + 2T×Y) ×X = 100,000 µS - SAI SỐ 
CHỌN X=250 THÌ (2T+2T + 2T×Y)= (100,000 – 4)/250 = 399,98 
CHỌN KẾT QUẢ LÀ 399 THÌ (2T+2T + 2T×Y)= 399 
THIẾU (99996-99750) THIẾU 246 
TÍNH Y: Y= (399 – 4)/2 = 197,5 CHỌN 197 THIẾU THÊM 1T 
TỔNG THỜI GIAN THIẾU LÀ 247 µS 
DELAY100MS: MOV 71H,#250 ;2T 
DEL: MOV 70H,#197 ;2T × X 
 DJNZ 70H,$ ;2T×Y × X 
 DJNZ 71H,DEL ;2T × X 
 MOV 72H,#122 ;2T 
 DJNZ 72H,$ ;2T×122= 244T 
 NOP ;1T 
 RET ;2T 
DELAY500µS: MOV 70H,#245 ;2T 
 DJNZ 70H,$ ;2T × 248 
 RET ;2T 
Đạ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 led 7 đoạn 25 
TẠI SAO CHƯƠNG TRÌNH CON HIENTHI LẠI CHÈN TRONG CHƯƠNG TRÌNH DELAY? 
DO CHƯƠNG TRÌNH HIỂN THỊ DÙNG PHƯƠNG PHÁP QUÉT, NÊN PHẢI QUÉT LED LIÊN 
TỤC, NẾU NGỪNG QUÉT THÌ LED SẼ TẮT, HOẶC NẾU 1 CHƯƠNG TRÌNH NÀO ĐÓ 
THỰC HIỆN CHIẾM NHIỀU THỜI GIAN THÌ CŨNG LÀM LED TẮT. 
TRONG CHƯƠNG TRÌNH TRÊN THÌ CHƯƠNG TRÌNH CON DELAY SẼ CHIẾM NHIỀU 
THỜI GIAN THỰC HIỆN, NÊN PHẢI CHÈN HIỂN THỊ VÀO CHƯƠNG TRÌNH CON DELAY. 
BÀI SỐ 3-4: CT ĐẾM TỪ 000 ĐẾN 150 
;CHTR DEM TU 000 DEN 150 
 GIAY EQU R2 
 ORG 0H 
 MOV DPTR,#MA7DOAN 
LB: MOV GIAY,#00H 
LB1: CALL HEXTOBCD_GIAIMA 
 CALL DELAY_HIENTHI 
 INC GIAY 
 CJNE GIAY,#151,LB1 
 JMP LB 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
HEXTOBCD_GIAIMA: 
 MOV A,GIAY 
 MOV B,#10 
 DIV AB ; 
 MOV 20H,B ;(27H)=DVI 
 MOV B,#10 
 DIV AB ;(B)=CHUC, (A)=TRAM 
 MOVC A,@A+DPTR ;LAY TRAM 
 MOV 32H,A ;CAT VAO ON 32H 
 MOV A,B ; 
 MOVC A,@A+DPTR ;LAY CHUC 
 MOV 31H,A ;CAT VAO ON 31H 
Đạ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 led 7 đoạn 26 
 MOV A,20H ; 
 MOVC A,@A+DPTR ;LAY DVI 
 MOV 30H,A ;CAT VAO ON 30H 
 RET 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
DELAY_HIENTHI: MOV 7AH,#0100 
DEL_HT: CALL HIENTHI 
 DJNZ 7AH,DEL_HT 
 RET 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
HIENTHI: MOV P0,30H ;MA DVI GIAY 
 CLR P2.0 
 CALL DELAY1MS 
 SETB P2.0 
 MOV P0,31H ;MA CHUC GIAY 
 CLR P2.1 
 CALL DELAY1MS 
 SETB P2.1 
 MOV P0,32H ;MA CHUC GIAY 
 CLR P2.2 
 CALL DELAY1MS 
 SETB P2.2 
 RET 
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H 
$INCLUDE(TV_DELAY.ASM) 
 END 
BÀI SỐ 3-4: CT ĐẾM PHÚT GIÂY – DÙNG PORT 0, 1 
 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 led 7 đoạn 27 
BEGIN
HEX(PHÚT GIÂY) => BCD 
GIẢI MÃ 7 ĐOẠN
DELAY – HIỂN THỊ 
GIÂY:= GIÂY +1
GIAY=60
Đ
S
LƯU 10 MÃ VÀO BN
GIÂY:=00 (HEX)
PHÚT := 00 (HEX)
END
PHÚT :=PHÚT +1 
PHÚT=60
Đ
S
 VIẾT CHƯƠNG TRÌNH 
;CHTR DK DEM PHUT GIAY 
 PHUT EQU R2 
 GIAY EQU R1 
 ORG 0H 
 MOV DPTR,#MA7DOAN 
LB: MOV PHUT,#00 
LB2: MOV GIAY,#00 
LB1: CALL HEXTOBCD ;CHUYEN HEX SANG SO BCD 
 CALL GIAIMA 
 CALL DELAY_HTHI 
 INC GIAY 
 CJNE GIAY,#60,LB1 
 INC PHUT 
 CJNE PHUT,#60,LB2 
 JMP LB 
Đạ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 led 7 đoạn 28 
HEXTOBCD: MOV A,GIAY 
 MOV B,#10 
 DIV AB ;(A)=CHUC GIAY, (B)=DONVI GIAY 
 MOV 20H,B 
 MOV 21H,A 
 MOV A,PHUT 
 MOV B,#10 
 DIV AB ;(A)=CHUC PHUT, (B)=DONVI PHUT 
 MOV 23H,B 
 MOV 24H,A 
 RET 
GIAIMA: MOV A,20H 
 MOVC A,@A+DPTR ;GIAI MA HANG DON VI GIAY 
 MOV 30H,A ;(37H) LUU MA7DOAN DVI GIAY 
 MOV A,21H 
 MOVC A,@A+DPTR ;CHUC GIAY 
 MOV 31H,A ;(36H) LUU MA7DOAN CHUC GIAY 
 MOV A,23H 
 MOVC A,@A+DPTR ;DON VI PHUT 
 MOV 33H,A ;(35H) LUU MA7DOAN DVI PHUT 
 MOV A,24H 
 MOVC A,@A+DPTR ;CHUC PHUT 
 MOV 34H,A ;(34H) LUU MA7DOAN CHUC PHUT 
 RET 
DELAY_HTHI: MOV 78H,#100 
DELHT: CALL HIENTHI 
 DJNZ 78H,DELHT 
 RET 
HIENTHI: MOV P0,30H ;HTHI DV GIAY 
 CLR P2.0 
 CALL DELAY1MS 
Đạ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 led 7 đoạn 29 
 SETB P2.0 
 MOV P0,31H ;HTHI CHUC GIAY 
 CLR P2.1 
 CALL DELAY1MS 
 SETB P2.1 
 MOV P0,33H ;HTHI DV PHUT 
 CLR P2.3 
 CALL DELAY1MS 
 SETB P2.3 
 MOV P0,34H ;HTHI CHUC PHUT 
 CLR P2.4 
 CALL DELAY1MS 
 SETB P2.4 
 RET 
$INCLUDE(TV_DELAY.ASM) 
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H 
 END 
BÀI SỐ 3-5: CT ĐẾM GIỜ PHÚT GIÂY – DÙNG PORT 0, 1 
 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 led 7 đoạn 30 
BEGIN
HEX(PHÚT GIÂY) => BCD 
GIẢI MÃ 7 ĐOẠN
DELAY – HIỂN THỊ 
GIÂY:= GIÂY +1
GIAY=60
Đ
S
LƯU 10 MÃ VÀO BN
GIÂY:=00 (HEX)
PHÚT := 00 (HEX)
END
PHÚT :=PHÚT +1 
PHÚT=60
Đ
S
 VIẾT CHƯƠNG TRÌNH 
;CHTR DK DEM PHUT GIAY 
 GIO EQU R3 
 PHUT EQU R2 
 GIAY EQU R1 
 ORG 0H 
 MOV DPTR,#MA7DOAN 
LB: MOV GIO,#10 
LB3: MOV PHUT,#01 
LB2: MOV GIAY,#00 
LB1: CALL HEXTOBCD ;CHUYEN HEX SANG SO BCD 
 CALL GIAIMA 
 CALL DELAY_HTHI 
 INC GIAY 
 CJNE GIAY,#60,LB1 
Đạ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 led 7 đoạn 31 
 INC PHUT 
 CJNE PHUT,#60,LB2 
 INC GIO 
 CJNE GIO,#24,LB3 
 JMP LB 
HEXTOBCD: MOV A,GIAY 
 MOV B,#10 
 DIV AB ;(A)=CHUC GIAY, (B)=DONVI GIAY 
 MOV 20H,B 
 MOV 21H,A 
 MOV A,PHUT 
 MOV B,#10 
 DIV AB ;(A)=CHUC PHUT, (B)=DONVI PHUT 
 MOV 23H,B 
 MOV 24H,A 
 MOV A,GIO 
 MOV B,#10 
 DIV AB ;(A)=CHUC GIO, (B)=DONVI GIO 
 MOV 26H,B 
 MOV 27H,A 
 RET 
GIAIMA: MOV A,20H 
 MOVC A,@A+DPTR ;GIAI MA HANG DON VI GIAY 
 MOV 30H,A ;(37H) LUU MA7DOAN DVI GIAY 
 MOV A,21H 
 MOVC A,@A+DPTR ;CHUC GIAY 
 MOV 31H,A ;(36H) LUU MA7DOAN CHUC GIAY 
 MOV A,23H 
 MOVC A,@A+DPTR ;DON VI PHUT 
 MOV 33H,A ;(35H) LUU MA7DOAN DVI PHUT 
 MOV A,24H 
 MOVC A,@A+DPTR ;CHUC PHUT 
Đạ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 led 7 đoạn 32 
 MOV 34H,A ;(34H) LUU MA7DOAN CHUC PHUT 
 MOV A,26H 
 MOVC A,@A+DPTR ;DON VI PHUT 
 MOV 36H,A ;(35H) LUU MA7DOAN DVI PHUT 
 MOV A,27H 
 MOVC A,@A+DPTR ;CHUC PHUT 
 MOV 37H,A ;(34H) LUU MA7DOAN CHUC PHUT 
 RET 
DELAY_HTHI: MOV 78H,#100 
DELHT: CALL HIENTHI 
 DJNZ 78H,DELHT 
 RET 
HIENTHI: MOV P0,30H ;HTHI DV GIAY 
 CLR P2.0 
 CALL DELAY1MS 
 SETB P2.0 
 MOV P0,31H ;HTHI CHUC GIAY 
 CLR P2.1 
 CALL DELAY1MS 
 SETB P2.1 
 MOV P0,33H ;HTHI DV PHUT 
 CLR P2.3 
 CALL DELAY1MS 
 SETB P2.3 
 MOV P0,34H ;HTHI CHUC PHUT 
 CLR P2.4 
 CALL DELAY1MS 
 SETB P2.4 
 MOV P0,36H ;HTHI CHUC PHUT 
 CLR P2.6 
Đạ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 led 7 đoạn 33 
 CALL DELAY1MS 
 SETB P2.6 
 MOV P0,37H ;HTHI CHUC PHUT 
 CLR P2.7 
 CALL DELAY1MS 
 SETB P2.7 
 RET 
$INCLUDE(TV_DELAY.ASM) 
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H 
 END 
 CÁCH 1: GIAO TIẾP DÙNG THANH GHI DỊCH 
MỖI IC THANH GHI DỊCH ĐIỀU KHIỂN 1 LED 7 ĐOẠN 

File đính kèm:

  • pdfbai_giang_vi_dieu_khien_giao_tiep_led_7_doan_nguyen_dinh_phu.pdf