;*****************************************;
;试验称号:广告灯左右移动试验 ;
;作者: 龙谊 ;
;版别: VER 1.0 ;
;阐明: 初学者学习单片机编程入门试验 ;
;修正: 无 ;
;编程言语: 汇编言语 ;
;*****************************************;
办法一:
ORG00H
START:MOVA,#0FFH ;设置左移初值
CLRC ;进位清零
MOVR1,#08H ;设定左移次数8
ZUOYI:RLCA ;开端左移
MOVP0,A ;由P0口显现左移值
CALLDELAY ;调延时子程序
DJNZR1,ZUOYI ;判别左移次数=8?不等就持续左移
MOVR1,#07H ;等于就设定右移次数7
YOUYI:RRCA ;开端右移
MOVP0,A ;由P0口显现右移值
CALL DELAY ;调延时子程序
DJNZR1,YOUYI ;判别右移次数=7?不等就持续右移
JMPSTART ;等于就回来开端构成程序的循环功用
DELAY:MOVR5,#20 ;选用晶振12MHZ,延时时刻为0.2秒
D1: MOVR6,#20
D2: MOVR7,#248
DJNZR7,$
DJNZR6,D2
DJNZR5,D1
RET
END
办法二:
ORG00H
START: MOVDPTR,#TABLE;TABLE表的地址存入数据指针
YIDONG:CLRA ;铲除ACC
MOVCA,@A+DPTR ;到数据指针所指的地址取码
CJNEA,#01,QIDONG;取出的码=01H?不是则跳到QIDONG
JMPSTART;是01H回来重新开端
QIDONG:MOVP0,A ;取到的码由P0显现
CALLDELAY ;调延时子程序
INCDPTR ;数据指针加1,取下一个码
JMPYIDONG
DELAY: MOVR5,#20 ;选用晶振12MHZ,延时时刻为0.2秒
D1: MOVR6,#20
D2: MOVR7,#248
DJNZR7,$
DJNZR6,D2
DJNZR5,D1
RET
TABLE: DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH;左移码
DB0BFH,0DFH,0EFH,0F7H,0FBH,0FDH,0FEH ;右移码
DB01H ;完毕码
END
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/kaiguan/259938.html