org 0000h<br />start: mov a,#0ffh<br /> mov p1,a ;p1口置高电平<br /> mov p2,a ;p2口置高电平<br /> mov r2,#0feh <br /> mov r3,#0h<br />next: mov a,p2 ;是否键被按下<br /> cjne a,#0ffh,dlay0<br /> ljmp next<br />dlay0: mov r1,#0ffh ;消除开关抖动<br /> djnz r1,$<br /> mov a,p2<br /> cjne a,#0ffh,disply<br /> ljmp next<br />disply: mov p1,r2<br /> cjne r3,#1h,left ;确定是否向左移<br />right: mov a,r2<br /> rr a<br /> mov r2,a<br /> cjne r2,#0feh,chgl<br /> acall delay<br /> ljmp disply<br />left: mov a,r2 ;把位向左移一位<br /> rl a<br /> mov r2,a<br /> cjne r2,#7fh,chgr ;比较是否p1.7亮<br /> acall delay<br />chgl: mov r3,#1h<br /> acall delay<br /> ljmp disply<br />chgr: mov r3,#0h<br /> acall delay<br /> ljmp disply<br /><br />delay: mov r4,#0ffh<br />d1: mov r5,#0ffh<br />d2: mov r6,#6h<br />dl3: djnz r6,dl3 `<br /> djnz r5,d2<br /> djnz r4,d1<br /> RET<br /> END<br /><br /><br /><br /><br />p1.0-p1.7接发光二极管,低电平时亮,开关接在p2.0上,想通过开关控制流水灯,目标是让二极管从1亮到7再从7亮到1,在keic中编译总有错误,显示标号为dl3的程序有语法错误,<br /> |