找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7033|回复: 0
打印 上一主题 下一主题
收起左侧

让单片机P1端口的LED实现跑马灯效果,循环移位点亮一盏LED 汇编程序

[复制链接]
跳转到指定楼层
楼主
ID:71407 发表于 2014-12-31 15:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
;51单片机入门程序5
;工程名称:让单片机P1端口的LED实现跑马灯效果,循环移位点亮一盏LED
;编写日期:2009.7.4 ;编写者:蓝柳柳 ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ORG org 0000H
MAIN: MOV P1,#11111110B;点亮P1.0所接的灯
ACALL YS ;调用延时子程序,让P1.0所接的灯亮一小段时间
MOV P1,#11111101B;点亮P1.1所接的灯
ACALL YS ;调用延时子程序,让P1.1所接的灯亮一小段时间
MOV P1,#11111011B;点亮P1.2所接的灯
ACALL YS ;调用延时子程序,让P1.2所接的灯亮一小段时间
MOV P1,#11110111B;点亮P1.3所接的灯
ACALL YS ;调用延时子程序,让P1.3所接的灯亮一小段时间
MOV P1,#11101111B;点亮P1.4所接的灯
ACALL YS ;调用延时子程序,让P1.4所接的灯亮一小段时间
MOV P1,#11011111B;点亮P1.5所接的灯
ACALL YS ;调用延时子程序,让P1.5所接的灯亮一小段时间
MOV P1,#10111111B;点亮P1.6所接的灯
ACALL YS ;调用延时子程序,让P1.6所接的灯亮一小段时间
MOV P1,#01111111B;点亮P1.7所接的灯 ACALL YS ;调用延时子程序,让P1.7所接的灯亮一小段时间
LJMP MAIN ;循环.这回用长调用指令LJMP,当程序比较长的时候就用
LJMP YS: ;延时子程序YS,功能是能让LED亮起来或者灭掉一小段时间
MOV R1,#200 ;让灯亮灭时间的长短也就是延时的长短跟#号后面的数据有关
D: MOV R2,#200 ;延时长点#号后面的数据就大点,延时短点#号后面的数据
T: MOV R3,#200 ;就小点,但#号后面最大的数据是255
DJNZ R3,$
DJNZ R2,T

DJNZ R1,D
RET ;子程序返回指令,子程序的设计一般都是因为主程序要调用它, ;调用完是要返回到主程序继续运行下一个语句的
END

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表