找回密码
 立即注册

QQ登录

只需一步,快速开始

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

发两个跑马灯的汇编程序-在51hei-5上测试通过

[复制链接]
跳转到指定楼层
楼主
ID:22246 发表于 2010-6-19 01:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用取反(CPL)实现跑马灯的闪烁,随后给P0口赋值实现移动。
  注;使用的是12MHZ频率,
ORG 0000H LJMP LOOP1 ORG 0030H LOOP1: MOV A,#11111111B clr p1.4 ;打开使能 MOV R1,#5 ;闪烁5次 LOOP: CPL A ;取反 MOV P0 , A ;输出 ACALL DEL CPL A MOV P0 , A ACALL DEL DJNZ R1 , LOOP ;减一非零判断 MOV P0,#11100111B ACALL DEL MOV P0,#11011011B ACALL DEL MOV P0,#10111101B ACALL DEL MOV P0,#01111110B ACALL DEL LJMP LOOP1 LOOP3: ACALL DEL SJMP LOOP1 DEL: MOV R5,#6H ;延时子程序部分 F3: MOV R6,#0FFH ;BCD码为255 F2: MOV R7,#0FFH ;总延时为0.7803s F1: DJNZ R7,F1 DJNZ R6,F2 DJNZ R5,F3 RET END -------------------------------------------------------------------------   带C循环做移动,使用一条跳转转移指令就可实现一直循环下去,延时为1.3s! ORG 0000H SJMP BEGAIN ORG 0030H BEGAIN: MOV P0, #0FFH ;初始状态 clr p1.4 ;打开led使能 mov P2, #00110101B ; 锁存2个74hc573,防止数码管点阵干扰. MAIN : CLR A MOV A ,#11111110B ; 0FEH LOOP: RLC A MOV P0 , A ACALL DEL LJMP LOOP DEL: MOV R5,#10H F3: MOV R6,#0FFH F2: MOV R7,#0FFH F1: DJNZ R7,F1 DJNZ R6,F2 DJNZ R5,F3 RET END
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:23004 发表于 2010-6-19 11:48 | 只看该作者
路过。。。。看看。。。。
回复

使用道具 举报

板凳
ID:23670 发表于 2011-6-2 16:20 | 只看该作者
学习了,谢谢
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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