2.Phầnlậptrình: Lạivàosource,tathấycófilelednhay.asmởphiadưới(nólàmộtdạngnotpade)chúngtakichvàonóvà bắtđầulậptrìnhbằngasm. CODELẬPTRÌNHVÍDỤNHƯSAU :(THEOCÁCHSANGCỦATÔI,CÒNCÁCBẠNTHÍCHSÁNGTHEOKIỂU NÀOLÀDOMÌNHLẬPTRÌNHTHUI,HJHJ) Lậptrìnhrấtdễ: ORG0000H BATDAU: MOVR1,#4 MOVA,#00 MOVP1,A MOVP2,A MAIN1: SETBP1.1 ACALLDELAY SETBP1.0 SETBP1.2 ACALLDELAY SETBP1.3 SETBP2.1 ACALLDELAY SETBP1.4 SETBP2.0 ACALLDELAY SETBP1.5 SETBP1.7 ACALLDELAY SETBP1.6 ACALLDELAY MAIN2: MOVP1,#00H MOVP2,#00H ACALLDELAY MAIN3: MOVP1,#0FFH MOVP2,#0FFH ACALLDELAY DJNZR1,MAIN2 SJMPBATDAU DELAY: MOVR2,#50 N1:MOVR3,#50 N2:MOVR4,#70 N3:DJNZR4,N3 DJNZR3,N2 DJNZR2,N1 RET END V:NguyênlýquétLEDmatrận Vìcácledmatrậnđượcbốtríbởirấtnhiềuledđơn,vàcácledđựocđấuchungchânvớinhau,dođó nếucắmđiệnvàobìnhthườngthìcácledđề ucùngsáng, Dođóđểhiệnthịledsangtheomongmuốnthìngườitadungcách,choledđơnnàysángtrước,rồitắt nóvàcholedkiasang,khoảngthờigianchuyểngiaonhưvậylàr ấtngắtđểmắtngườikonhậnrađược đólàsựrờirạcngắtquãngmàlàmộtsựchuyểnđộng,dođóledmatranxixkôthểhiểnthịtheokiểutĩnh đượcmàtheokiểuđộ ng,tứclàcáigìđượchiểnthịsẽchạyliêntục. Xétmộtvídụsauđây. ‐Nhìnvàovídụtrên,tôichochạydòngchữhộiquánđiệntử,bằngcáchquýetledmatrận, ‐sửdụng1con89c51,cónguồnxungthạchanhđểlàmxungclockcho89c51.Sửdụng4matran led (nhiềuhayítdomìnhdung) vìsửdụngtrên2matrậnledchonênchúngtacầnsửdụngICđệm 74ls541.icnàycótácdụnglà đầuvàothếnàothìđầurayhệtnhưthếnh ưngnóđiềukhiểnđược,tứclà nósẽchoradatakhicó1điềukiệnnàođó: ‐Điềukiệnđólàkhichânoe1và0e2đềutíchcựcmức0thìicnàyhoạtđộng,(dođó tađểmộtchânnối masscòn1chânnốivàoportcủa89c51đểđiềukhiểnbằngcâulệnhlậptrình) Khiquétledthôngthườngchúngtasẽđểledchạytheochiềungangnhưởtrên,dođóphươngpháp nàygọilàquétcột,tứclàcộtcủaledsẽđượcchọntíchcựclầnlượtcòn dữliệuthìđượcđẩytheohàng ,dođódữliệusẽlàdữliệu8bíttínhtheohàngvàquyra1mahexa. Doyếutốtrênthìngườitathườngchọnsaocholedcóhàngởtrênvàđược tíchcựcmứcdương,còn cộtởdướitíchcựcmứcâm, chọnport1đểquétchocột,còndữliệutínhtheomãhàngthìđượcđưavàopo rt2.4bitcủaport3để cho4chân oe1của4conledmatrận. Vàđểcóđượcnhữngđiềutrênthìchúngtaphảithửledtrước ,vídụvớiledxanhnhưtrênthìphải chỉnhsửatheokiểumàtôivừatrìnhbày ởtrên. Codelaptrìnhtôiviếtbằngasem,chỉcầnhọcquavềasemblymộtchútlàcóthểhiểuđượcnguyênlý quyettrongcode: Codenhưsau: org0000h;chọnngănnhớđầutiêncủ aromđểnạpmãlệnh batdau: movDPTR,#maled;nạpdữliệucủanhãnmaledvàothanhghidptr lap:movr0,#30 main1: movr2,#24;banđầutrongphầnmaledcó3hàngứngvới24chuỗi0h movr1,#16;nạpvàomatran2vìnóchạymuộnhơnmatran1bcộtnên=16 movr7,#8 movb,#0 mov r3,#7fh main2: mova,r3;nạpdữliệutừr3vàoa,achứa01111111b rla;thựchiệnquaytráiađểchot ừngcộtnhậngiátrị0 movr3,a movp1,a setbp3.3;tắtcác matrận2,3,4 setbp3.2 setbp3.3 clrp3.0;chomatrận1tíchcực mova,r2;nạpR2vàoa movca,@a+DPTR;nạpdatacủaa+dptr‐>địachỉ16brồiđểvàoa movp2,a;…… incr2 acall delay;gọitrễ cjner3,#07fh,main2;khiquétđủ8cộtthìcủa1matrậnthìchuyển main3: mova,r3 rla movr3,a movp1,a clrp3.1 setbp3.0 setbp3.2 setbp3.3 mova,r1 movca,@a+DPTR movp2,a incr1 acalldelay cjner3,#07fh,main3 main4: mova,r3 rla movr3,a movp1,a clrp3.2 setbp3.0 setbp3.1 setbp3.3 mova,r7 movca,@a+DPTR movp2,a incr7 acalldelay cjner3,#07fh,main4 main5: mova,r3 rla movr3,a movp1,a clrp3.3 setbp3.2 setbp3.0 setbp3.1 mova,b movca,@a+DPTR movp2,a incb acalldelay cjner3,#07fh,main5 djnzr0,main1 incDPTR mova,DPL cjnea,#144,lap;144là=(sốhàngdbx8,đểgiớihạnvàquayvề) sjmpbatdau delay: push04;cấtvàosactkđểtýcònlấyradunglầnthư2 push05 push06 movr4,#4 n1:movr5,#4 n2:movr6,#4 n3:djnzr6,n3 djnzr5,n2 djnzr4,n1 pop06 pop05 pop04 ret delay2:;tạotrễthờigian,t=4X4X4x2us=128us movr4,#4 m1:movr5,#4 m2:movr6,#4 m3:djnzr6,m3 djnzr5,m2 djnzr4,m1 ret org800h;chọnđịachỉnàyđểtránhdatabịđèlênnhau maled:db0h,0h,0h,0h,0h, 0h,0h,0h db0h,0h,0h,0h,0h,0h,0h,0h db0h,0h,0h,0h,0h,0h,0h,0h db0h,0h,0h,0h,0h,0h,0h,0h db0h,0h,7eh,10h,8h,70h,0h,8h db3eh,48h,20h,0h,8h,3eh,48h,20h db0h,0fch,14h,14h,8h,0h,0h,24h db 0h,40h,0a0h,50h,28h,14h,0ah,4h db0h,7eh,8h,8h,8h,7eh,0h,3ch db42h,42h,42h,3ch,0h,7eh,0h,0h db3ch,42h,42h,62h,7ch,80h,0h,3eh db40h,40h,3eh,0h,7ch,0ah,0ah,0ah db7ch,0h,7eh,4h,8h,10h,7eh,0h db0h,8h,7eh,4ah,4ah,42h,3ch,0h db7eh,0h,7eh,4ah,4ah, 42h,0h,7eh db4h,8h,10h,7eh,0h,0h,2h,2h db7eh,2h,2h,0h,3eh,40h,40h,40h db3eh,3h,0h,0h,0h,0h,0h,0h end Vìkhôngcóthờigianđểgiảithíchhếtcáclệnhvàphântichđếnbản chất?nênaichưahiểuchỗnàothì gửimail(phamtoanbonmat@gmail.com)chotuivậynha.hjhj Khilàmphảichuýcácchâncủaledmatrậnvàmãđểquýetledtheohàng,chânnàoứngvớiMSBvà chânnào ứngvớiLSB. . 2.Phầnlậptrình: Lạivàosource,tathấycófilelednhay.asmởphiadưới(nólàmộtdạngnotpade)chúngtakichvàonó và bắtđầulậptrìnhbằngasm. CODELẬPTRÌNHVÍDỤNHƯSAU :(THEOCÁCHSANGCỦATÔI,CÒNCÁCBẠNTHÍCHSÁNGTHEOKIỂU NÀOLÀDOMÌNHLẬPTRÌNHTHUI,HJHJ) Lậptrìnhrấtdễ: ORG0000H BATDAU: MOVR1,#4 MOVA,#00 MOVP1,A MOVP2,A MAIN1: SETBP1.1 ACALLDELAY SETBP1.0 SETBP1.2 ACALLDELAY SETBP1.3 SETBP2.1 ACALLDELAY SETBP1.4 SETBP2.0 ACALLDELAY SETBP1.5 SETBP1.7 ACALLDELAY SETBP1.6 ACALLDELAY MAIN2: MOVP1,#00H MOVP2,#00H ACALLDELAY MAIN3: MOVP1,#0FFH MOVP2,#0FFH ACALLDELAY DJNZR1,MAIN2 SJMPBATDAU DELAY: MOVR2,#50 N1:MOVR3,#50 N2:MOVR4,#70 N3:DJNZR4,N3 DJNZR3,N2 DJNZR2,N1 RET END V:Nguyênlý quét LED matrận Vìcác led matrậnđượcbốtríbởirấtnhiều led đơn ,và các led đựocđấuchungchânvớinhau,dođó nếucắmđiệnvàobìnhthườngthìcác led đề ucùngsáng, Dođóđểhiệnthị led sangtheomongmuốnthìngườitadung cách ,cho led đơnnàysángtrước,rồitắt nó và cho led kiasang,khoảngthờigianchuyểngiaonhưvậylàr ấtngắtđểmắtngườikonhậnrađược đólàsựrờirạcngắtquãngmàlàmộtsựchuyểnđộng,dođó led matranxixkôthểhiểnthịtheokiểutĩnh đượcmàtheokiểuđộ ng,tứclàcáigìđượchiểnthịsẽchạyliêntục. Xétmộtvídụsauđây. ‐Nhìnvàovídụtrên,tôichochạydòngchữhộiquánđiệntử,bằng cách quýet led matrận, ‐sửdụng1con89c51,cónguồnxungthạchanhđểlàmxungclockcho89c51.Sửdụng4matran led (nhiềuhayítdomìnhdung) vìsửdụngtrên2matrận led chonênchúngtacầnsửdụngICđệm 74ls541.icnàycótácdụnglà. 2.Phầnlậptrình: Lạivàosource,tathấycófilelednhay.asmởphiadưới(nólàmộtdạngnotpade)chúngtakichvàonó và bắtđầulậptrìnhbằngasm. CODELẬPTRÌNHVÍDỤNHƯSAU :(THEOCÁCHSANGCỦATÔI,CÒNCÁCBẠNTHÍCHSÁNGTHEOKIỂU NÀOLÀDOMÌNHLẬPTRÌNHTHUI,HJHJ) Lậptrìnhrấtdễ: ORG0000H BATDAU: MOVR1,#4 MOVA,#00 MOVP1,A MOVP2,A MAIN1: SETBP1.1 ACALLDELAY SETBP1.0 SETBP1.2 ACALLDELAY SETBP1.3 SETBP2.1 ACALLDELAY SETBP1.4 SETBP2.0 ACALLDELAY SETBP1.5 SETBP1.7 ACALLDELAY SETBP1.6 ACALLDELAY MAIN2: MOVP1,#00H MOVP2,#00H ACALLDELAY MAIN3: MOVP1,#0FFH MOVP2,#0FFH ACALLDELAY DJNZR1,MAIN2 SJMPBATDAU DELAY: MOVR2,#50 N1:MOVR3,#50 N2:MOVR4,#70 N3:DJNZR4,N3 DJNZR3,N2 DJNZR2,N1 RET END V:Nguyênlý quét LED matrận Vìcác led matrậnđượcbốtríbởirấtnhiều led đơn ,và các led đựocđấuchungchânvớinhau,dođó. nếucắmđiệnvàobìnhthườngthìcác led đề ucùngsáng, Dođóđểhiệnthị led sangtheomongmuốnthìngườitadung cách ,cho led đơnnàysángtrước,rồitắt nó và cho led kiasang,khoảngthờigianchuyểngiaonhưvậylàr ấtngắtđểmắtngườikonhậnrađược đólàsựrờirạcngắtquãngmàlàmộtsựchuyểnđộng,dođó led matranxixkôthểhiểnthịtheokiểutĩnh đượcmàtheokiểuđộ ng,tứclàcáigìđượchiểnthịsẽchạyliêntục. Xétmộtvídụsauđây. ‐Nhìnvàovídụtrên,tôichochạydòngchữhộiquánđiệntử,bằng cách quýet led matrận, ‐sửdụng1con89c51,cónguồnxungthạchanhđểlàmxungclockcho89c51.Sửdụng4matran led (nhiềuhayítdomìnhdung) vìsửdụngtrên2matrận led chonênchúngtacầnsửdụngICđệm 74ls541.icnàycótácdụnglà