流水灯实验
流水灯实验 以下程序是根据第一次实验,简化了以前完成的课程设计而成两个代码,一个是利用循环来
控制的led灯循环亮起,其中R1,R2是循环次数的控制;第二个是LED灯从两边向中间亮,
再从中间向两边亮,采用了在单个循环周期内枚举赋值的方法,和实验课程设计原稿中采用
了类似的方法。由于两个代码都在实验室经过了LED的仿真,所以没有再用medwin来仿
真。
==================流水循环灯简化程序==================
LED1 EQU P1.0 ;第1个数码管对应的引脚
LED2 EQU P1.1 ;第2个数码管对应的引脚
LED3 EQU P1.2 ;第3个数码管对应的引脚
LED4 EQU P1.3 ;第4个数码管对应的引脚
LED5 EQU P1.4 ;第5个数码管对应的引脚
LED6 EQU P1.5 ;第6个数码管对应的引脚
LED7 EQU P1.6 ;第7个数码管对应的引脚
LED8 EQU P1.7 ;第8个数码管对应的引脚
ORG 0000H ;程序开始
LJMP MAIN
ORG 0030H
MAIN: MOV R2,#07H
MOV R1,#07H
MOV SP, #30H
LCALL REST
LCALL PRO_LED
LJMP MAIN
REST: MOV P0, #00H
MOV P1, #0FFH
RET
PRO_LED:
MOV A,#0FEH
MOV P1,A
ACALL DELAY
D1:
DEC R1
RL A
MOV P1,A
ACALL DELAY
CJNE R1, #00H, D1
D2: DEC R2
RR A
MOV P1,A
ACALL DELAY
CJNE R2, #00H, D2
SJMP MAIN
DELAY: PUSH PSW ;保护PSW寄存器
CLR PSW.3
SETB PSW.4 ;重新设置寄存器组别
MOV R0, #02H ;延时常数
MOV R1, #0F9H ;延时常数
MOV R2, #02H ;延时常数
DL1: DJNZ R0, DL1 ;延时循环1
MOV R0, #0F9H
DL2: DJNZ R1, DL1 ;延时循环2
MOV R0, #0F9H
MOV R1, #0F9H
DL3: DJNZ R2, DL1 ;延时循环3
NOP ;修正演示精度
POP PSW ;恢复PSW寄存器
RET
END
=============从两边向中间亮,再从中间向两边亮===========
LED1 EQU P1.0 ;第1个数码管对应的引脚
LED2 EQU P1.1 ;第2个数码管对应的引脚
LED3 EQU P1.2 ;第3个数码管对应的引脚
LED4 EQU P1.3 ;第4个数码管对应的引脚
LED5 EQU P1.4 ;第5个数码管对应的引脚
LED6 EQU P1.5 ;第6个数码管对应的引脚
LED7 EQU P1.6 ;第7个数码管对应的引脚
LED8 EQU P1.7 ;第8个数码管对应的引脚
ORG 0000H ;程序开始
LJMP MAIN ;跳转到主程序
ORG 0030H MAIN: MOV R2,#07H;主程序从30H开始
MOV R1,#07H
MOV SP, #30H ;初始化堆栈
LCALL REST ;调用初始化程序,进行初始化
LCALL PRO_LED ;调用LED显示程序
LJMP MAIN
REST: MOV P0, #00H ;初始化程序
MOV P1, #0FFH
RET
PRO_LED:
MOV A,#081H
MOV P1,A
ACALL DELAY
MOV A,#042H
MOV P1,A
ACALL DELAY
MOV A,#024H
MOV P1,A
ACALL DELAY
MOV A,#018H
MOV P1,A
ACALL DELAY
MOV A,#024H;
MOV P1,A
ACALL DELAY
;CLR P1
MOV A,#042H
MOV P1,A
ACALL DELAY
;CLR P1
MOV A,#081H
MOV P1,A
ACALL DELAY
SJMP PRO_LED
DELAY: PUSH PSW ;保护PSW寄存器
CLR PSW.3
SETB PSW.4 ;重新设置寄存器组别
MOV R0, #02H ;延时常数
MOV R1, #0F9H ;延时常数
MOV R2, #02H ;延时常数 DL1: DJNZ R0, DL1 ;延时循环1
MOV R0, #0F9H DL2: DJNZ R1, DL1 ;延时循环2
MOV R0, #0F9H
MOV R1, #0F9H DL3: DJNZ R2, DL1 ;延时循环3
NOP ;修正演示精度
POP PSW ;恢复PSW寄存器
RET
END
本文档为【流水灯实验】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。