You are on page 1of 26

BI 1: TH NGHIM VI NT NHN V LED N

TH NGHIM 1: Vit chng trnh lin tc c trng thi ca nt nhn c ni n P1.0 v hin th ra Led c ni ti chn P1.1 ( bit th nht ca Led thanh BL202) MAIN: ORG 2000H MOV C,P1.0 MOV P1.1,C SJMP MAIN END

TH NGHIM 2: Vit chng trnh to xung vung 1Hz c ni n chn P1.0 MAIN: LAP1: LAP: ORG 2000H CPL P1.0 MOV R5,#10 MOV R6,#100 MOV R7,#250 DJNZ R7,$ DJNZ R6,LAP DJNZ R5,LAP1 SJMP MAIN END

Thay i tn s xung vung thnh 0.5Hz vi chu k nhim v l 30% MAIN: LAP1: LAP: ORG 2000H SETB P1.0 MOV R5,#30 MOV R6,#100 MOV R7,#100 DJNZ R7,$ DJNZ R6,LAP DJNZ R5,LAP1 CLR P1.0 MOV R5,#70 MOV R6,#100 MOV R7,#100 DJNZ R7,$ DJNZ R6,LOOP DJNZ R5,LOOP1 SJMP MAIN END

LOOP1: LOOP:

TH NGHIM 3: Vit chng trnh to xung vung 1Hz dng Timer0 ( khng dung ngt) ORG 2000H MOV TMOD,#01H MOV R7,#20 CLR TR0 MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0 JNB TF0,$ CLR TF0 DJNZ R7,LAP CPL P1.0 SJMP LOOP END

LOOP: LAP:

Dng ngt Timer 0 to xung vung 1Hz ORG 2000H LJMP MAIN ORG 200BH LJMP ISR_T0 MOV TMOD,#01H MOV R7,#20 CLR TR0 MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0 MOV IE,#82H SJMP $ CLR TR0 MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0 DJNZ R7,EXIT CPL P1.0 MOV R7,#20 RETI END

MAIN:

ISR_T0:

EXIT:

TH NGHIM 4: Vit chng trnh lm cho led ni n chn P1.0 chp tt vi tn s c th tng ( hoc gim) bng cch nhn nt ni n chn P1.1 ( hoc P1.2 ). Chu k chp tt trung bnh c chn l 1s ORG 2000H MOV 31H,#100;TAO XUNG 0.1Hz MOV 32H,#20 ;TAO XUNG 0.5Hz MOV 33H,#10 ;TAO XUNG 1Hz MOV 34H,#5 ;TAO XUNG 2Hz MOV 35H,#4 ;TAO XUNG 2.5Hz MOV 36H,#2 ;TAO XUNG 5Hz MOV TMOD,#01H MOV R0,#33H LOOP: JNB P1.1,LOOP1 ;TANG TAN SO JNB P1.2,LOOP2 ;GIAM TAN SO ACALL DELAY CPL P1.0 SJMP LOOP LOOP1: JNB P1.1,$ INC R0 CJNE R0,#37H,TANG MOV R0,#33H SJMP LOOP JNB P1.2,$ DEC R0 CJNE R0,#30H,GIAM MOV R0,#33H SJMP LOOP MOV A,@R0 MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0 JNB TF0,$ CLR TF0 CLR TR0 DJNZ ACC,LAP RET END

TANG: LOOP2:

GIAM: DELAY: LAP:

BI TP THM BI 1

BI 2: TH NGHIM HIN TH DNG LED 7 ON


TH NGHIM 1: Vit chng trnh thc hin b m t 0 n 9 v hin th ln led 7 on, mi ln cch nhau 2s. LOOP: LAP: ORG 2000H MOV A,#0 MOV R7,A MOV DPTR,#TABLE MOVC A,@A+DPTR MOV DPTR,#0000H

MOVX @DPTR,A
MOV A,R7 INC A ACALL DELAY_2S CJNE A,#10,LAP SJMP LOOP TABLE: DB 0E0H,0E1H,0E2H,0E3H,0E4H,0E5H,0E6H,0E7H,0E8H,0E9H MOV TMOD,#01H MOV R7,#40 MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 DJNZ R7,LAP1 RET END

DELAY_2S: LAP1:

TH NGHIM 2: Vit chng trnh hin th gi tr 1234 ln 4 led 7 on LOOP: LAP: ORG 2000H MOV A,#0 MOV R7,A MOV DPTR,#TABLE MOVC A,@A+DPTR MOV DPTR,#0000H MOVX @DPTR,A MOV A,R7 INC A ACALL DELAY_3MS CJNE A,#4,LAP SJMP LOOP 071H,0B2H,0D3H,0E4H

TABLE:

DB

DELAY_3MS:

MOV TMOD,#01H MOV TH0,#HIGH(-3000) MOV TL0,#LOW(-3000) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET END

TH NGHIM 3: Vit chng trnh hin th gi tr nh phn trong thanh ghi R7 ln led 7 on ORG 2000H MOV R7,#255 MOV B,#10 MOV A,R7 DIV AB MOV R4,B MOV B,#10 DIV AB ORL A,#0B0H MOV DPTR,#0H MOVX @DPTR,A ACALL DELAY_3MS MOV A,B ORL A,#0D0H MOVX @DPTR,A ACALL DELAY_3MS MOV A,R4 ORL A,#0E0H MOVX @DPTR,A ACALL DELAY_3MS SJMP LOOP MOV TMOD,#01H MOV TH0,#HIGH(-3000) MOV TL0,#LOW(-3000) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET END

LOOP:

DELAY_3MS:

m s ln nhn phm P1.0 ORG 2000H SETB P1.0 MOV R3,#30 MOV R4,#100 MOV R5,#100 chng rung phm MOV A,#0 MOV DPTR,#0000H SJMP LOOP LAP: LOOP: INC A MOV R7,A MOV B,#10 DIV AB MOV R6,B MOV B,#10 DIV AB ORL A,#0B0H MOVX @DPTR,A ACALL DELAY_3MS MOV A,B ORL A,#0D0H MOVX @DPTR,A ACALL DELAY_3MS MOV A,R6 ORL A,#0E0H MOVX @DPTR,A ACALL DELAY_3MS MOV A,R7 JB P1.0, LOOP ; kim tra c n nt hay cha DJNZ R3,LOOP MOV R3,#30 DJNZ R4,LOOP MOV R3,#30 MOV R4,#100 DJNZ R5,LOOP MOV R3,#30 MOV R4,#100 MOV R5,#100 JNB P1.0, LOOP ; kim tra th nt n hay cha JB P1.0,LAP MOV TMOD,#01H MOV TH0,#HIGH(-3000) MOV TL0,#LOW(-3000) SETB TR0 JNB TF0,$ CLR TR0

; khi ng gi tr ca R3,R4,R5to delay

DELAY_3MS:

CLR TF0 RET END

BI 3: TH NGHIM HIN TH DNG LCD


TH NGHIM 1: Vit chng trnh hin th chui Hello ln LCD ORG 2000H EN BIT P3.4 RS BIT P3.5 MOV DPTR, #8000H ACALL LCD_INIT MOV A,#'H' ACALL WRITE_CHAR MOV A,#'e' ACALL WRITE_CHAR MOV A,#'l' ACALL WRITE_CHAR MOV A,#'l' ACALL WRITE_CHAR MOV A,#'o' ACALL WRITE_CHAR SJMP $ MOV A,#38H CALL WRITE_CMD MOV A,#0EH CALL WRITE_CMD MOV A,#06H CALL WRITE_CMD RET MOV R7, #100 MOV R6, #250 DJNZ R6, $ DJNZ R7, DL RET ACALL WAIT_LCD SETB RS MOVX @DPTR, A SETB EN CLR EN RET ACALL WAIT_LCD CLR RS

MAIN:

LCD_INIT:

WAIT_LCD: DL:

WRITE_CHAR:

WRITE_CMD:

MOVX @DPTR, A SETB EN CLR EN RET END BI TP THM: Cho chy ch Hello trn mn hnh LCD ORG 2000H EN BIT P3.4 RS BIT P3.5 MOV R5,#2 MOV DPTR, #8000H ACALL LCD_INIT MOV A,#'H' ACALL WRITE_CHAR MOV A,#'E' ACALL WRITE_CHAR MOV A,#'L' ACALL WRITE_CHAR MOV A,#'L' ACALL WRITE_CHAR MOV A,#'O' ACALL WRITE_CHAR MOV R1,#11 MOV A,#18H : khi ng dch tri ACALL WRITE_CMD ACALL WAIT_LCD DJNZ R5,DL ; to thi gian delay sau mi ln dch MOV R5,#2 DJNZ R1, LAP MOV R1,#11 MOV A,#1CH ; khi ng dch phi ACALL WRITE_CMD ACALL WAIT_LCD DJNZ R5,DL2 ; to thi gian delay sau mi ln dch MOV R5,#2 DJNZ R1,LAP2 SJMP TT MOV A, #38H ACALL WRITE_CMD MOV A, #0CH ACALL WRITE_CMD MOV A, #06H ACALL WRITE_CMD MOV A, #01H ACALL WRITE_CMD MOV A, #8BH ACALL WRITE_CMD RET

MAIN:

TT: LAP: DL:

LAP2: DL2:

LCD_INIT:

WAIT_LCD: LOOP:

MOV R7,#100 MOV R6, #250 DJNZ R6,$ DJNZ R7, LOOP RET ACALL WAIT_LCD SETB RS MOVX @DPTR,A SETB EN CLR EN RET ACALL WAIT_LCD CLR RS MOVX @DPTR,A SETB EN CLR EN RET END

WRITE_CHAR:

WRITE_CMD:

BI 4: TH NGHIM GIAO TIP QUA CNG NI TIP


TH NGHIM 1: Vit chng trnh pht chui k t Hello, world ln my tnh thong qua HyperTerminal vi tc 9600pbs ORG 2000H MOV TMOD,#20H MOV TL1,#-3 MOV TH1,#-3 MOV SCON,#42H SETB TR1 MOV DPTR,#MSG CLR A MOVC A,@A+DPTR JZ KT ACALL SEND INC DPTR SJMP LAP SJMP KT 'HellO, world',0 JNB TI,SEND MOV SBUF,A CLR TI RET END

LAP:

KT: MSG: DB SEND:

TH NGHIM 2: Vit chng trnh nhn cc k t t my tnh gi n EME-MC8 thng qua HyperTerminal ( bng cch g cc k t trn bn phm khi ang trong chng trnh HyperTerminal ) v hin th ln LCD ORG 2000H EN BIT P3.4 RS BIT P3.5 MOV TMOD,#20H MOV TL1,#-3 MOV TH1,#-3 MOV SCON,#52H SETB TR1 MOV DPTR,#8000H ACALL LCD_INIT LAP: ACALL RECEIVE ACALL WRITE_CHAR SJMP LAP LCD_INIT: MOV A, #38H ACALL WRITE_CMD MOV A, #0EH ACALL WRITE_CMD MOV A, #06H ACALL WRITE_CMD MOV A,#01H ACALL WRITE_CMD RET WAIT_LCD: LOOP: MOV R7,#100 MOV R6, #250 DJNZ R6,$ DJNZ R7, LOOP RET ACALL WAIT_LCD SETB RS MOVX @DPTR,A SETB EN CLR EN RET ACALL WAIT_LCD CLR RS MOVX @DPTR,A SETB EN CLR EN RET

WRITE_CHAR:

WRITE_CMD:

RECEIVE:

JNB RI,RECEIVE MOV A, SBUF CLR RI RET END

TH NGHIM 3: Vit chng trnh nhn mt k t t cng ni tip hin th ln LCD ng thi pht ra cng ni tip. Tc ty chn ORG 2000H EN BIT P3.4 RS BIT P3.5 MOV TMOD,#20H MOV TL1,#-3 MOV TH1,#-3 MOV SCON,#52H SETB TR1 MOV DPTR,#8000H ACALL LCD_INIT LAP: ACALL RECEIVE ACALL WRITE_CHAR ACALL SEND SJMP LAP LCD_INIT: MOV A, #38H ACALL WRITE_CMD MOV A, #0EH ACALL WRITE_CMD MOV A, #06H ACALL WRITE_CMD MOV A,#01H ACALL WRITE_CMD RET WAIT_LCD: LOOP: MOV R7,#100 MOV R6, #250 DJNZ R6,$ DJNZ R7, LOOP RET ACALL WAIT_LCD SETB RS MOVX @DPTR,A SETB EN CLR EN RET ACALL WAIT_LCD

WRITE_CHAR:

WRITE_CMD:

CLR RS MOVX @DPTR,A SETB EN CLR EN RET RECEIVE: JNB RI,RECEIVE MOV A, SBUF CLR RI RET JNB TI, SEND MOV SBUF, A CLR TI RET END

SEND:

BI TP THM : Vit chng trnh nhn k t t cng ni tip, ng thi pht ra cng ni tip, vi iu kin: - Nu k t nhn c l s th xut ra Led - Nu k t nhn c l ch A-Z, a-z th xut ra LCD - Nu k t nhn c l Enter th xung hng , l ESC th xa trong mn hnh LCD. M ASCII ca Enter l 13, ESC l 27 ORG 2000H EN BIT P3.4 RS BIT P3.5 MOV TMOD,#20H MOV TL1,#-3 MOV TH1,#-3 MOV SCON,#52H SETB TR1 MOV R1,#0 MOV DPTR,#8000H ACALL LCD_INIT LAP: ACALL RECEIVE CJNE A,#13,TT ; kim tra phm nhn Enter MOV A,#0C0H ACALL WRITE_CMD SJMP THOAT CJNE A,#27,TT1 ; kim tra phm nhn ESC MOV A,#01H ACALL WRITE_CMD SJMP THOAT CJNE A,#30H,SO ; bt u kim tra phm nhn l s JC THOAT CJNE A,#3AH,CHU ; kt thc kim tra phm nhn l s JC LED CJNE A,#41H,KHAC ; bt u kim tra phm nhn l ch hoa JC THOAT

TT:

TT1: SO: CHU: KHAC:

HOA: KHAC1: THUONG: NHO:

CJNE A,#5BH,HOA ; kt thc kim tra phm nhn l ch hoa JC NHO CJNE A,#61H,KHAC1 ; bt u kim tra phm nhn l ch thng JC THOAT CJNE A,#7BH,THUONG ; kt thc kim tra phm nhn l ch thng JC NHO SJMP THOAT MOV DPTR,#8000H INC R1 CJNE R1,#17,XUONG ; kim tra nu hin th ht hng u tin th xung hng trong mn hnh LCD JC XUATLCD PUSH ACC MOV A,#0C0H ACALL WRITE_CMD POP ACC MOV R1,#0 ACALL WRITE_cHAR SJMP THOAT MOV DPTR,#0000H ANL A,#0FH ORL A,#0E0H MOVX @DPTR,A MOV DPTR,#8000H ACALL SEND SJMP LAP MOV A, #38H ACALL WRITE_CMD MOV A, #0EH ACALL WRITE_CMD MOV A, #06H ACALL WRITE_CMD MOV A, #01H ACALL WRITE_CMD RET

XUONG:

XUATLCD: LED:

THOAT:

LCD_INIT:

WAIT_LCD:

MOV R7,#100 LOOP: MOV R6, #250 DJNZ R6,$ DJNZ R7, LOOP RET

WRITE_CHAR: ACALL WAIT_LCD SETB RS MOVX @DPTR,A SETB EN

CLR EN RET WRITE_CMD: ACALL WAIT_LCD CLR RS MOVX @DPTR,A SETB EN CLR EN RET JNB RI,RECEIVE MOV A, SBUF CLR RI RET JNB TI,SEND MOV SBUF,A CLR TI RET END

RECEIVE:

SEND:

BI 5: TH NGHIM IU KHIN ADC


TH NGHIM 1: Vit chng trnh c in p ca bin tr trn knh 0 v hin th ra led 7 on LAP: ORG 2000H MOV R1,#255 MOV DPTR,#4000H MOV A,#0 MOVX @DPTR,A ACALL DELAY_100US MOVX A,@DPTR PUSH ACC MOV DPTR,#0000H MOV B,#10 DIV AB MOV R7,B MOV B,#10 DIV AB ORL A,#0B0H MOVX @DPTR,A ACALL DELAY_1MS MOV A,B ORL A,#0D0H MOVX @DPTR,A ACALL DELAY_1MS MOV A,R7 ORL A,#0E0H MOVX @DPTR,A ACALL DELAY_1MS

LAP1:

POP ACC DJNZ R1,LAP1 SJMP LAP DELAY_100US: MOV R6,#200 DJNZ R6,$ RET MOV R6,#5 MOV R5,#100 DJNZ R5,$ DJNZ R6,LOOP RET END

; to thi gian delay

DELAY_1MS: LOOP:

TH NGHIM 2: Vit chng trnh c in p ca bin tr trn knh 0 v hin th ra LCD ORG 2000H RS BIT P3.5 EN BIT P3.4 MOV DPTR,#8000H ACALL LCD_INIT MOV DPTR,#4000H MOV A,#0 MOVX @DPTR,A ACALL DELAY_100US MOVX A,@DPTR MOV DPTR,#8000H PUSH ACC MOV A, #80H ACALL WRITE_CMD POP ACC MOV B,#10 DIV AB MOV R0,B MOV B,#10 DIV AB ORL A,#30H ACALL WRITE_CHAR MOV A,B ORL A,#30H ACALL WRITE_CHAR MOV A,R0 ORL A,#30H ACALL WRITE_CHAR SJMP LAP MOV A, #38H ACALL WRITE_CMD MOV A, #0CH ACALL WRITE_CMD

LAP:

LCD_INIT:

MOV A, #04H ACALL WRITE_CMD MOV A, #01H ACALL WRITE_CMD RET WAIT_LCD: LOOP: MOV R7,#100 MOV R6, #250 DJNZ R6,$ DJNZ R7, LOOP RET SETB RS MOVX @DPTR,A SETB EN CLR EN ACALL WAIT_LCD RET CLR RS MOVX @DPTR,A SETB EN CLR EN ACALL WAIT_LCD RET MOV R6,#200 DJNZ R6,$ RET END

WRITE_CHAR:

WRITE_CMD:

DELAY_100US:

BI TP THM : Vit chng trnh c in p thc ca knh 0 v hin th ln LCD ORG 2000H RS BIT P3.5 EN BIT P3.4 MOV DPTR,#8000H ACALL LCD_INIT MOV DPTR,#4000H MOV A,#0 MOVX @DPTR,A ACALL DELAY_100US MOVX A,@DPTR MOV DPTR,#8000H ACALL CHIA MOV A, #80H ACALL WRITE_CMD SJMP LAP

LAP:

LCD_INIT:

MOV A, #38H ACALL WRITE_CMD MOV A, #0CH ACALL WRITE_CMD MOV A, #04H ACALL WRITE_CMD MOV A, #01H ACALL WRITE_CMD RET MOV R7,#100 MOV R6, #250 DJNZ R6,$ DJNZ R7, LOOP RET SETB RS MOVX @DPTR,A SETB EN CLR EN ACALL WAIT_LCD RET CLR RS MOVX @DPTR,A SETB EN CLR EN ACALL WAIT_LCD RET MOV R6,#200 DJNZ R6,$ RET PUSH ACC PUSH B MOV B,#51 DIV AB ORL A,#30H ACALL WRITE_CHAR MOV A,#0A5H ACALL WRITE_CHAR MOV A,B MOV B,#5 DIV AB ORL A,#30H ACALL WRITE_CHAR POP B POP ACC

WAIT_LCD: LOOP:

WRITE_CHAR:

WRITE_CMD:

DELAY_100US:

CHIA:

RET END

BI 6: TH NGHIM HIN TH DNG LED MA TRN


TH NGHIM 1: Vit chng trnh hin th k t ch A ln led ma trn

ORG 2000H LOOP: MOV R1,#8 MOV A,#00000001B MOV DPTR,#CHARA LAP: ACALL HT_COT PUSH ACC CLR A MOVC A,@A+DPTR ACALL HT_HANG INC DPTR POP ACC RL A DJNZ R1, LAP SJMP LOOP CHARA: DB 03H, 0EDH, 0EEH, 0EEH, 0EDH, 03H, 0FFH, 0FFH HT_COT: PUSH DPH PUSH DPL MOV DPTR,# 0C000H MOVX @DPTR,A POP DPL POP DPH RET PUSH DPH PUSH DPL MOV DPTR,# 0A000H MOVX @DPTR,A ACALL DELAY_1ms POP DPL POP DPH RET

HT_HANG:

DELAY_1ms: DL: MOV R7,#5 MOV R6,#100 DJNZ R6,$ DJNZ R7,DL RET END

TH NGHIM 2: Vit chng trnh con hin th ni dung 8 nh t 30H n 37H. Dng chng trnh con hin th ch A, B HT_ONHO: MOV R1,#8 MOV A,#00000001B MOV R0,#30H ACALL HT_COT PUSH ACC CLR A MOV A,@R0 ACALL HT_HANG INC R0 POP ACC RL A DJNZ R1, LAP RET PUSH DPH PUSH DPL MOV DPTR,# 0C000H MOVX @DPTR,A POP DPL POP DPH RET HT_HANG: PUSH DPH PUSH DPL MOV DPTR,# 0A000H MOVX @DPTR,A ACALL DELAY_1ms POP DPL POP DPH RET DELAY_1ms: DL: MOV R7,#5 MOV R6,#100

LAP:

HT_COT:

DJNZ R6,$ DJNZ R7,DL RET Dng chng trnh con trn hin th ch A ORG 2000H MOV 30H,#03H MOV 31H,#0EDH MOV 32H,#0EEH MOV 33H,#0EEH MOV 34H,#0EDH MOV 35H,#03H MOV 36H,#0FFH MOV 37H,#0FFH ACALL HT_ONHO
SJMP LOOP

LOOP: HT_ONHO:

LAP:

MOV R1,#8 MOV A,#00000001B MOV R0,#30H ACALL HT_COT PUSH ACC CLR A MOV A,@R0 ACALL HT_HANG INC R0 POP ACC RL A DJNZ R1, LAP RET PUSH DPH PUSH DPL MOV DPTR,# 0C000H MOVX @DPTR,A POP DPL POP DPH RET

HT_COT:

HT_HANG: PUSH DPH PUSH DPL MOV DPTR,# 0A000H MOVX @DPTR,A ACALL DELAY_1ms POP DPL

POP DPH RET DELAY_1ms: DL: MOV R7,#5 MOV R6,#100 DJNZ R6,$ DJNZ R7,DL RET END

Dng chng trnh con trn hin th ch B ORG 2000H MOV 30H,#00H MOV 31H,#76H MOV 32H,#76H MOV 33H,#76H MOV 34H,#89H MOV 35H,#0FFH MOV 36H,#0FFH MOV 37H,#0FFH ACALL HT_ONHO
SJMP LOOP

LOOP: HT_ONHO:

LAP:

MOV R1,#8 MOV A,#00000001B MOV R0,#30H ACALL HT_COT PUSH ACC CLR A MOV A,@R0 ACALL HT_HANG INC R0 POP ACC RL A DJNZ R1, LAP RET PUSH DPH PUSH DPL MOV DPTR,# 0C000H MOVX @DPTR,A POP DPL POP DPH RET

HT_COT:

HT_HANG:

PUSH DPH PUSH DPL MOV DPTR,# 0A000H MOVX @DPTR,A ACALL DELAY_1ms POP DPL POP DPH RET DELAY_1ms: DL: MOV R7,#5 MOV R6,#100 DJNZ R6,$ DJNZ R7,DL RET END

BI TP THM : Cho hin th v chy ch A B C trn led ma trn TT: ORG 2000H MOV R4,#10 MOV R0,#0 MOV DPTR,#CHAR MOV R5,#32 MOV R2,DPH MOV R3,DPL MOV DPH,R2 MOV DPL,R3 MOV R1,#8 MOV A,#00000001B ACALL HT_COT PUSH ACC CLR A MOVC A,@A+DPTR ACALL HT_HANG INC DPTR POP ACC RL A DJNZ R1, LAP DJNZ R4,LOOP MOV R4,#10 INC R0 MOV A,R0 MOV DPTR,#CHAR ADD A,DPL MOV DPL,A DJNZ R5,LOOP1

LOOP1: LOOP:

LAP:

SJMP TT CHAR: DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,03H, 0EDH, 0EEH, 0EEH, 0EDH, 03H, 0FFH, 0FFH,00H, 76H, 76H, 76H, 89H, 0FFH, 0FFH,0FFH,81H,7EH,7EH,7EH,0BDH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH HT_COT: PUSH DPH PUSH DPL MOV DPTR,#0C000H MOVX @DPTR,A POP DPL POP DPH RET HT_HANG: PUSH DPH PUSH DPL MOV DPTR,#0A000H MOVX @DPTR,A ACALL DELAY_1ms POP DPL POP DPH RET DELAY_1ms: DL: MOV R7,#5 MOV R6,#100 DJNZ R6,$ DJNZ R7,DL RET END

BI 7: TH NGHIM VI NG C DC
TH NGHIM 1: Vit chng trnh cho php ng c chy theo chiu thun trong vng 2s , ngh 2s,chy theo chiu ngc 2s, ngh 2s v lp li

LAP:

ORG 2000H CLR A MOV TMOD,#10H MOV DPTR,#0E000H ACALL CHIEUTHUAN ACALL DELAY_2S ACALL NGHI ACALL DELAY_2S

ACALL CHIEUNGHICH ACALL DELAY_2S ACALL NGHI ACALL DELAY_2S SJMP LAP CHIEUTHUAN: SETB ACC.0 CLR ACC.1 MOVX @DPTR,A RET NGHI: CLR ACC.0 CLR ACC.1 MOVX @DPTR,A RET CHIEUNGHICH: CLR ACC.0 SETB ACC.1 MOVX @DPTR,A RET DELAY_2S: LOOP: MOV R7,#40 MOV TL1,#LOW(-50000) MOV TH1,#HIGH(-50000) SETB TR1 JNB TF1,$ CLR TF1 CLR TR1 DJNZ R7, LOOP RET END

TH NGHIM 2: Vit chng trnh iu khin ng c vi phng php PWM, trong thi gian bt ca xung l 50% chu k ORG 2000H LJMP MAIN ORG 200BH LJMP ISR_T0 ORG 201BH LJMP ISR_T1 MAIN: MOV TMOD,#11H CLR A SETB TF0 MOV IE,#82H

MOV DPTR,#0E000H LAP: MOVX @DPTR,A SJMP LAP ISR_T0: SETB ACC.0 CLR TR0 MOV TL0,#LOW(-1000) MOV TH0,#HIGH(-1000) SETB TR0 CLR TR1 MOV TL1,#LOW(-500) MOV TH1,#HIGH(-500) SETB TR1 SETB ET1 RETI ISR_T1: CLR TR1 CLR ACC.0 CLR ET1 RETI END TH NGHIM 3: Vit chng trnh iu khin ng c vi phng php PWM, trong thi gian bt ca xung ln lt l 20%, 50%, v 80% chu k. Mi rng xung cch nhau 5s. Quy trnh c lp li lin tc
ORG 2000H LJMP MAIN ORG 200BH LJMP ISR_T0 ORG 201BH LJMP ISR_T1 MAIN: MOV TMOD,#11H MOV R7,#50 MOV R6,#100 MOV R5,#0 CLR A SETB TF0 MOV IE,#82H MOV DPTR,#0E000H MOVX @DPTR,A SJMP LAP SETB ACC.0 CLR TR0

LAP: ISR_T0:

TT:

KHAC20:

KHAC50:

KHAC80: EXIT: ISR_T1:

MOV TL0,#LOW(-1000) MOV TH0,#HIGH(-1000) SETB TR0 DJNZ R6,TT MOV R6,#100 DJNZ R7,TT MOV R7,#50 MOV R6,#100 INC R5 CJNE R5,#0,KHAC20 CLR TR1 MOV TL1,#LOW(-200) MOV TH1,#HIGH(-200) SETB TR1 SJMP EXIT CJNE R5,#1,KHAC50 CLR TR1 MOV TL1,#LOW(-500) MOV TH1,#HIGH(-500) SETB TR1 SJMP EXIT CJNE R5,#2,KHAC80 CLR TR1 MOV TL1,#LOW(-800) MOV TH1,#HIGH(-800) SETB TR1 SJMP EXIT MOV R5,#0 SJMP TT SETB ET1 RETI CLR TR1 CLR ACC.0 CLR ET1 RETI END

TH NGHIM 4: B

You might also like