采用51单片机内部定时器0,按工作方式1工作,即作为16位定时器使每10msT0溢出中断一次将P1口的P1.0--P1.7分别接发光二极管控制流水灯亮灭SJMPMAINORG000BHSJMPTO_INTMAIN:MOVTMOD,#01H;MOVTH0,#(65536-50000/256MOVTL0,#(65536-50000MOD256SETBTR0MOVIE,#82HMOV30H,#11111010BMOV31H,#11110101BMOV32H,#10101111BMOV33H,#01011111BMOVR0,#30HMOVR7,#80M_LOOP:SJMPM_LOOP;TO_INT:MOVTH0,#(65536-10000/256MOVTL0,#(65536-10000MOD256DJNZR7,TO_ENDMOVR7,#80MOVP1,@R0INCR0CJNER0,#34H,TO_ENDMOVR0,#30HTO_END:RETIENDp1口做输出口,接八只发光二极管,编写程序,使其循环点亮1点亮流水灯使流水灯从左往右循环点亮ORG0000HLJMPSE18ORG0790HSE18:P1,#0FFHL034:MOVA,#0FEHL033:MOVP1,ALCALLSE19RLASJMPL033SE19:MOVR6,#0A0HL036:MOVR7,#0FFHL035:DJNER7,L035DJNER6,L036RETEND2点亮流水灯使流水灯从左往右然后从右往左循环点亮ORG0000HLJMPSE18ORG0790HSE18:P1,#0FFHL034:MOVA,#0FEHL033:MOVP1,ALCALLDelayRLACJNEA,#7FH,L033L055:MOVP1,ALCALLdelayRRACJNEA,#0FFH,L055LJMPL033Delay:MOVR2,#04HSE19:MOVR6,#0A0HL036:MOVR7,#0FFHL035:DJNER7,#0FFHDJNER6,L036DJNER2,SE19RETEND已知PA/PB/PC口地址FF28H,PB口FF2AH,控制口FF2BH1,PA/PB/PC口脉冲波实验使其输入55H,通过延时后在输出0AAHORG0000HLJMPMAINORG0100HMAIN:MOVDPTR,#0FF2BHMOVA,#80HMOVX@DPTR,AL1:MOVDPTR,#0FF28HMOVA,#55HMOVX@DPTR,ALCALLDELAY3CPLAMOVX@DPTR,ALCALLDELAY3SJMPL1DELAY3:MOVR3,02HDELAY:MOVR2,#0FFHDELAY1:MOVR1,#0FFHDELAY2:DJNZR1,DELAY2DJNZR2,DELAY2RETEND8255PA口做输入口,PB口作输出口,PA0—PA7接K1—K8,PB0—PB7接L1-L8ORG0000HLJMPMAINORG0100HMAIN:MOVDPTR,#0FF2BHMOVA,#90HMOVX@DPTR,AL1:MOVDPTR,#0FF28HMOVA,@DPTRINCDPTRMOVX@DPTR,ASJMPL1END