资源预览内容
第1页 / 共2页
第2页 / 共2页
亲,该文档总共2页全部预览完了,如果喜欢就下载吧!
资源描述
;* ; 此实验实现从右到左和从左到右的循环灯现象 ; 由按键切换彩灯的循环方向 ;* LEDEQU P0;P0 口接有 8 个发光二极管 LED K1BIT P3.2 ;开始开关上到下 K2BIT P3.3 ;停止开关 K3BIT P3.4 ;上到下开关 K4BIT P3.5 ;下到上开关ORG 0000H LJMP MAINORG 0030H MAIN: MOV R0,#07H;再装入移位计数初值到 R0FUZHI1: MOV A,#0FEH LOOP1:MOV LED,A ;将 A 的内容送到 P0 口显示 LCALL DELAY02S;调用延时子程序,延时 0.2S RL A;循环左(下)移一位 ;* JNB K1,FUZHI1 ;K1=0 时,跳转到 LOOP2JNB K2,NEXT ;K2=0 时,灯全部熄灭JNB K3,FUZHI1 ;K3=0 时,跳转到 LOOP2JNB K4,FUZHI2 ;K4=0 时,跳转到 LOOP ;* DJNZ R0,LOOP1 ;R0 的内容不为 0,则跳到 LOOP1 LJMP FUZHI1;R0 的内容为 0,则跳到 FUZHIMOV R0,#07H;再装入移位计数初值到 R0 FUZHI2:MOV A,#07FH LOOP2:MOV LED,A ;送到 P0 口显示 LCALL DELAY02S;调用延时子程序,延时 0.2S RR A;循环右(上)位一次 ;* JNB K1,FUZHI1 ;K1=0 时,跳转到 LOOP2JNB K2,NEXT ;K2=0 时,灯全部熄灭JNB K3,FUZHI1 ;K3=0 时,跳转到 LOOP2JNB K4,FUZHI2 ;K4=0 时,跳转到 LOOP ;* DJNZ R0,LOOP2 ;R0 的内容不为 0,则跳到 LOOP2LJMP FUZHI2;R0 的内容为 0,则跳到 FUZHI2 NEXT: MOV P0, #0FFH ;* JNB K1,FUZHI1 ;K1=0 时,跳转到 LOOP2JMP NEXT ;* DELAY02S: NOP;空操作 MOV R5,#05H;DJNZ 构成的三重循环 LOP2:MOV R6,#0FFH LOP1:MOV R7,#0FFH DJNZ R7,$ DJNZ R6,LOP1 DJNZ R5,LOP2 RET;子程序返回指令,写子程序必须的 END ;* ;按下 p1.2开始,按此键则灯开始流动(由左到右到下) ;按下 p1.3停止,按此键则灯停止流动(所有灯为暗) ;按下 p1.4上,按此键则由左到右到下流动 ;按下 p1.5下,按此键则由右到左到下流动 ;*
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号