ĐỀ CƯƠNG VI xử lý full HD

12 632 4
ĐỀ CƯƠNG VI xử lý full HD

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Câu 1: + Định chỉ trực tiếp Mov 30h,#40h +Định chỉ gián tiếp Mov 31h,#40h Mov R0,#31h Mov 30h,@R0 Câu 3 : + Định chỉ trực tiếp Mov 35h,34h +Định chỉ gián tiếp Mov R1,#34h Mov 35h,@R1 Câu 5 : #include <sfr51.inc> Org 00h Main: Mov A,#00h Mov R0,#30h Mov R1,#20 Lap: Mov @R0,A Inc R0 Djnz R1,Lap Sjmp $ END Câu 2 : + Định chỉ trực tiếp Mov A,33h +Định chỉ gián tiếp Mov R1,#33h Mov A,@R1 Câu 4 : +Định chỉ trực tiếp Mov A,40h Mov DPTR,#2000h Movx @DPTR,A +Định chỉ gián tiếp Mov R0,#40h Mov A,@R0 Mov DPTR,#2000h Movx @DPTR,A Câu 6 : #include <sfr51.inc> Org 00h Main: Mov A,#00h Mov DPTR,#4000h Lap1: Mov R0,#50 Lap2: Mov R1,#50 Lap3: Movx @DPTR,A Inc DPTR DJNZ R1,Lap3 DJNZ R0,Lap2 SJMP $ END Câu 7: #include <sfr51.inc> Org 00h Main: Mov R0,#30h Mov R1,#40h Mov R2,#10 Lap: Mov A,@R0 Mov @R1,A Inc R0 Inc R1 DJNZ R2,Lap SJMP $ END Câu 9: #include <sfr51.inc> Org 00h Main: Setb P1.0 Lcall delay1ms Clr P1.0 Lcall delay1ms SJMP Main ; ##############################3 Delay1ms: Mov R0,#250 Delay1: Nop Nop DJNZ R0,Delay1 Ret END Câu 8: #include <sfr51.inc> Org 00h Main: Mov P1,#0FFh Mov R1,#50h Mov R2,#10 Nhan: Mov R3,P1 Mov A,R3 Mov @R1,A Inc R1 DJNZ R2,Nhan SJMP $ END Câu 11: f = 100KHz => 1 s có 100000 xung Vây độ rộng của xung cao = xung thấp = 1/200000 = 5. ¿ 10 −6 ¿ s) =5 chu kì máy #include <sfr51.inc> Org 00h Main: Set P1.1 Mov 30h,#0FFh Mov 30h,#00h Nop Clr P1.1 Mov 30h,#0FFh Mov 30h,#00h Nop SJMP Main END Câu 12: f = 100kHz => 1 s có 100000 xung ,mà chu kì làm việc D =40%  Độ rộng xung cao là 4. 10 −6 (s) = 4 Chu kì máy  Độ rộng xung thấp là 6. 10 −6 (s) = 6 Chu kì máy #include <sfr51.inc> Org 00h Main: Setb P1.2 Mov 40h,#0FFh Mov 40h,#00h Clr P1.2 Mov 40h,#0FFh Mov 40h,#00h Nop Nop SJMP Main END Câu 14 : #include <sfr51.inc> Org 00h Main: Mov R0,#30h Mov R1,#10 Mov A,#00h Lap: Add A,@R0 Inc R0 DJNZ R1,lap Mov 2Fh,A SJMP $ END Câu 13: f = 10 Hz => 1 s có 10 xung  Độ rộng xung cao =xung thấp = 1/20 = 0,05 s = 50 ms #include <sfr51.inc> Org 00h Main: Setb P1.4 Lcall delay50ms Clr P1.4 Lcall delay50ms SJMP Main ; ################################# ### Delay50ms: Mov R0,#50 Delay1: Mov R1,#250 Delay2: Nop Nop DJNZ R1,Delay2 DJNZ R0,Delay1 RET END Câu 15 #include <sfr51.inc> Org 00h Main: Mov R1,#30h/Mov R2,#10 Mov A,#00h/Mov R3,#00h Lap: Add A,@R1/Jnc Next/Inc R3 Next: Inc R1 DJNZ R2,Lap Câu 16: #include <sfr51.inc> Org 00h Main: Mov A,30h CJNE A,31h,KT_C Setb F0 Sjmp HET KT_C: JC Next Setb F0 Sjmp HET Next: Clr F0 HET: SJMP $ END Câu 18:In thường = In hoa+ 32 thập phân #include <sfr51.inc> Org 00h Main: Mov R0,#50h/Mov R1,#20 Lap: Mov A,@R0 Cjne A,#65,CHECK_C1 Add A,#32/ Mov @R0,A Sjmp TIEP CHECK_C1: JC TIEP Cjne A,#90,CHECK_C2 Add A,#32/ Mov @R0,A Sjmp TIEP CHECK_C2: JNC TIEP/ Add A,#32 Mov @R0,A TIEP: Mov 2Fh,A Mov 2Eh,R3 SJMP $/END Câu 17 : #include <sfr51.inc> Org 00h Main: Mov R0,#50h Mov R1,#20 Lap: Mov A,@R0 Cjne A,#65,KT_C Mov P1,A Sjmp TIEP KT_C: JC TIEP Cjne A,#90,KT_C2 Mov P1,A Sjmp TIEP KT_C2: JNC TIEP Mov P1,A TIEP: Inc R0 DJNZ R1,Lap SJMP $ END Câu 19: Từ Mã ASCII sang BCD – 30h #include <sfr51.inc> Org 00h Clr C Main: Mov R0,#50h Mov R1,#20 Lap: Mov A,@R0 Subb A,#30h Mov @R0,A Inc R0 Djnz R1,Lap Inc R0 DJNZ R1,Lap SJMP $/END Câu 20 : #include <sfr51.inc> Org 00h Main: Mov R0,#0 Mov DPTR,#00FFh Movx A,@DPTR Mov R1,A Mov DPTR,#0100h Lap: Movx A,@DPTR Mov B,#2/DIV AB/Mov R2,B Cjne R2,#0,BO_QUA/INC R0 BO_QUA: INC DPTR/ Djnz R1,Lap Mov DPTR,#00FEh Mov A,R0/ Movx @DPTR,A SJMP $ END Câu 22 : f = 500Hz => 1 s có 500 xung  Độ rộng xung cao =xung thấp = 1/(2.500) =0.001 s = 1000. 10 −6 = 1000 chu kì máy #include <sfr51.inc> Org 00h/ Mov TMOD,#01h Main: Setb P1.4/ Lcall delay Clr P1.4/ Lcall delay Sjmp Main ; ############################### #### Delay: Mov TH0,#HIGH(64536) Sjmp $ END Câu 21 : 10ms = 0.01s =10000. 10 −6 =10000 chu kì máy Delay10ms: Mov TMOD,#01H Mov TH0,#HIGH(55536) Mov TL0,#LOW(55536) Setb TR0 Lap: JNB TF0,Lap/ Clr TR0 CLR TF0/ RET/ END Câu 23: f = 1kHz => 1 s có 1000 xung  Động rộng xung cao = xung thấp = 1/(2.1000)=5. 10 −4 = 500. 10 −6 = 500 chu kì máy #include <sfr51.inc>/Org 00h Main: Setb p1.6/ Lcall delay_100CKM Setb p1.7/ Lcall delay_400CKM Clr p1.6/ Lcall delay_100CKM Clr p1.7/ Lcall delay_400CKM Sjmp Main ; ################################# ##### Delay_100CKM: Mov TMOD,#02h/Mov TH0,#156 Mov TL0,#156/ Setb TR0 Lap1: Jnb TF0,Lap1/ Clr TR0 Clr TF0/ RET ;#################### Delay_400CKM: Mov TL0,#LOW(64536) Setb TR0 Lap: JNB TF0,Lap/ Clr TR0 Clr TF0/ RET END Câu 24 : #include <sfr51.inc> Org 00h Mov TMOD,#01h Main: Setb P1.0/ Mov A,#25 Lcall delayAs/ Clr p1.0 Setb p1.1/ Mov A,#3 Lcall delayAs/ Clr P1.1 Setb P1.2/ Mov A,#28 Lcall delayAs/ Clr p1.2 Setb p1.3/ Mov A,#33 Lcall delayAs Clr P1.3 Setb p1.4 Mov A,#3 Lcall delayAs CLr p1.4 Setb P1.5 Mov A,#36 Lcall delayAs Clr p1.5 Sjmp Main ;########################### DelayAs: Mov R0,A Delay1: Mov R1,#20 Delay2: Mov TH0,#HIGH(15536) Mov TL0,#LOW(15536) Setb TR0 Lap: Jnb TF0,Lap Clr TR0 Mov TMOD,#01h Mov TH0,HIGH(65136) Mov TL0,LOW(65136) Setb TR0 Lap2: Jnb TF0,Lap2 Clr TR0/ Clr TF0 RET/ END Câu 26 : #include <sfr51.inc> Org 00h Main: Mov Scon,#51h Mov TMOD,#20h Mov TH1,#-3 Setb TR1 Lap: Jnb RI,Lap Clr RI Mov A,SBUF CJNE A,#02h,Lap START: Jnb RI,STRAT Clr RI Mov A,SBUF CJNE A,#03h,NHAN Sjmp $ NHAN: Mov P0,A Sjmp STRAT END Clr TF0 DJNZ R1,Delay2 DJNZ R0,Delay1 RET END Câu 25 : Giả thiết với tốc độ động cơ 1000 (v/p) với tần số xung là 10k Hz và chu kì làm việc là 50% .Vậy tốc độ động cơ là 500(v/p) với tần số xung là 10kHz và chu kì làm việc là 25%.Các nút ấn khi chưa ấn ( 0 lojic) ,ấn (1lojic) f = 10kHz => Độ rộng xung ứng với thời gian làm việc 50% là = 50 chu kì máy => Độ rộng xung ứng với thời gian làm việc 25% là = 25 chu kì máy #include <sfr51.inc> Org 00h Main: Setb P1.0 Setb P1.1 Setb P1.2 Dung bit P1.0 Toc_do1 bit P1.1 Toc_do2 bit P1.2 Start: Clr P2.2 Jnb Toc_do1,CHECK_Tocdo2 Sjmp Xung_1 CHECK_Tocdo2: Jnb Toc_do2,CHECK_Stop Sjmp Xung_2 CHECK_Stop: Jnb Dung,Strat Sjmp Strat Xung_1: ;độ rộng xung cao = Mov R1,#24 ;1 chu kì máy Lap: Djnz R1,Lap ; 2 chu kì máy Nop ;1 chu kì máy Clr P2.2 Mov R1,#21 ;1 chu kì máy Lap1: Djnz R1,Lap1 ; 2 chu kì máy Nop Sjmp Xung_1 ; 2 chu kì máy Xung_2: ;Độ dài xung cao là 25 chu kì máy ;độ dài xung thấp là 75 chu kì máy Jb Toc_do1,Xung1 ;2 chu kì máy Jb Dung,Start ; 2 chu kì máy Setb p2.2 Mov R1,#12 ;1 chu kì máy Lap2: Djnz R1,Lap2 ; 2 chu kì máy Clr P2.2 Mov R1,#34 ;1 chu kì xung thấp = 50Chu kì máy Jb Toc_do2,Xung2 ;2 chu kì máy Jb Dung,Start ;2 chu kì máy Setb p2.2 Câu 27 : #include <sfr51.inc> Org 0h SJMP MAIN ;==================== ORG 23H CLR TI RETI ;====================== Main: MOV P2,#0FFH MOV TMOD,#20H MOV SCON,#42H MOV TH1,#-3 MOV TL1,#-3 SETB EA SETB ES SETB TR1 LAP: MOV SBUF,P2 LCALL DELAY_500MS SJMP LAP ;==================== DELAY_500MS: MOV R0,#250 BACK1: MOV R1,#250 BACK2: MOV R2,#4 BACK3: DJNZ R2,BACK3 DJNZ R2,BACK2 DJNZ R0,BACK1 RET máy Lap3: Djnz R1,Lap3 ; 2 chu kì máy Sjmp Xung_2 ;2 chu kì máy End Câu 28 f = 2kHz => 1 s có 2000 xung  Độ rộng xung mức cao = mức thấp = 1/(2.2000) = 250. 10 −6 = 250 Chu kì Máy #include <sfr51.inc> Org 00h Ljmp Main ;###################### Org 0Bh CPL P1.7 RETI ;####################### Org 30h Main: Mov TMOD,#02h Mov TH0,#6 Mov TL0,#6 Mov IE,#82h Setb TR0 Lap: Sjmp Lap END ;===================== END Câu 29 : Chu kì máy = 2. 10 −6 +Chân P1.0 Xung có f = 1kHz => Độ rộng xung cao =xung thấp = 250 chu kì máy +Chân P1.1 Xung có f = 50Hz => Độ rộng xung cao =xung thấp = 5000 chu kì máy #include <sfr51.inc> Org 00h Sjmp Main ;##################### Org 0Bh Mov TH0,#6 Mov TL0,#6 CpL p1.0 RETI ;##################### Org 1BH Mov TH1,#HIGH(60536) Mov TL1,#LOW(60536) CpL p1.1 RETI ;################## Org 30h Main: Mov TMOD,#12h Mov TH0,#6 Mov TL0,#6 Mov TH1,#HIGH(60536) Mov TL1,#LOW(60536) Câu 30 : #iclude <sfr51.inc> Org 00h Sjmp Main ;######################## Org 0023h Ljmp Ngat ;##################### Org 30h Main: Mov DPTR,#mang Mov R0,#0 Mov TMOD,#20h Mov TH1,#-12 Mov Scon,#42h Mov IE,#90h Setb TR1 Lap: Sjmp Lap ;############################ Ngat: Mov A,R0 Movc A,@A+DPTR Mov SBUF,A INC R0 CJNE R0,#10,TIEP Mov R0,#0 TIEP: CLR TI Setb TR0 Setb TR1 Mov IE,#8Ah Lap: Sjmp Lap END Câu 31 : #include <sfr51.inc> Org 00h Ljmp Main ; ############################### # Org 1Bh Ljmp Ngat ;######################### Org 30h Main: Mov DPTR,#6200h Mov TMOD,#10h Mov TH1,#HIGH(15536) Mov TL1,#LOW(15536) Mov IE,#88h Setb TR1 Lap: Sjmp Lap ; ############################### # Ngat: Mov TH1,#HIGH(15536) Mov TL1,#LOW(15536) Movx A,@DPTR Mov P1,A INC DPTR Mov R0,DPH Mov R1,DPL CJNE R0,#63h,TIEP CJNE R1,#0h,TIEP RETI Mang: DB ‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’ END Câu 32 : #include <sfr51.inc> Org 00h Ljmp Main ;########################## Org 1Bh Ljmp Ngat ;############################ Org 30h Main: Mov P1,#0FFh Mov R2,#100 Mov R0,#50h Mov TMOD,#10h Mov TH1,#HIGH(15536) Mov TL1,#LOW(15536) Mov IE,#88h Setb TR1 Lap: Sjmp lap ;################################ Ngat: Mov TH1,#HIGH(15536) Mov TL1,#LOW(15536) DJNZ R2,KET_THUC Mov A,P1 Mov @R0,A Mov R2,#100 INC R0 CJNE R0,#60h,KET_THUC Mov R0,#50h . tần số xung là 10k Hz và chu kì làm vi c là 50% .Vậy tốc độ động cơ là 500(v/p) với tần số xung là 10kHz và chu kì làm vi c là 25%.Các nút ấn khi chưa ấn. => Độ rộng xung ứng với thời gian làm vi c 50% là = 50 chu kì máy => Độ rộng xung ứng với thời gian làm vi c 25% là = 25 chu kì máy #include <sfr51.inc>

Ngày đăng: 01/01/2014, 00:42

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan