原创 我的第一个汇编程序;

2009-6-11 17:02 2354 3 5 分类: MCU/ 嵌入式

//这是一个流水灯程序,主要是练练手,熟悉下汇编,
//之前都是用C编程,汇编接触得很少,写完这几行代码,
//发现汇编还是非常有意思的,以后会尝试写一写大型的汇编程序;
//张平,BUPT,to_zhangping@yahoo.com.cn
//V1.0,2009/6/11
//Crystal:12Mhz MCU:AT89S52


//显示数据:
BUFF1:
DB 00000000B,00011000B,00111100B,01111110B
DB 11111111B,11100111B,11000011B,10000001B
DB 10101010B,01010101B,11001100B,00110011B
DB 11110000B,00001111B,100110001,10000001B


  ORG 0000H
  LJMP MAIN
  ORG 0080H
MAIN:
  MOV R0,#0X00    ;计算地址偏移;
  MOV R1,#0X0F    ;计算循环次数;
  MOV DPTR,#BUFF1 ;装入表格地址;
  L1:
  MOV A,R0          ;装入偏移地址;
  MOVC A,@A+DPTR    ;载入显示数据;
  MOV P0,A          ;输出显示数据;
  LCALL DELAY_LONG  ;调用延时;
  INC R0            ;地址偏移加一;
  DJNZ R1,L1        ;循环次数减一;
  LJMP MAIN         ;无限循环;


DELAY_LONG:     ;DELAY 2*1.26S=2.52S
    MOV R5,#2
 LP00:          ; (2+250*2)+2)*250=1.26S for 1Mhz SYSCLK(EG. 12MHZ CRYSTAL);
    MOV R6,#250
 LP01:          ; EXECUTION TIME:(2+250*2)个时钟周期;
    MOV R7,#250   ;  2 SYSCLK
    DJNZ R7,$     ;  2 SYSCLK
    DJNZ R6,LP01  ;  2 SYSCLK
    DJNZ R5,LP00  ;  2 SYSCLK
  RET 


END

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户1547065 2009-6-14 14:12

支持汇编

用户518079 2009-6-13 14:46

不错!很不错!
相关推荐阅读
用户1376028 2010-10-16 07:11
我的电源制作计划(PS:这里是我的大后方!)
我愿意为自己的话负责任。 我准备分三个阶段走: 第一阶段,完全根据春风的电路蓝图,按照我帖子中那样经行删减,测试最终结果,无论结果如何,先给大家一个交待; 第二阶段,完全按照我自己的理念来设计一套电源...
用户1376028 2010-10-16 07:07
我在www.ourdev.cn关于“春风”数控电源V2.1的硬件设计的讨论
以下是帖子的主要部分:原帖地址:http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4311695&bbs_page_no=1&bbs_id...
用户1376028 2008-08-10 11:22
阻抗匹配
阻抗匹配概念阻抗匹配概念阻抗匹配是指负载阻抗与激励源内部阻抗互相适配,得到最大功率输出的一种工作状态。对于不同特性的电路,匹配条件是不一样的。在纯电阻电路中,当负载电阻等于激励源内阻时,则输出功率为最...
EE直播间
更多
我要评论
2
3
关闭 站长推荐上一条 /3 下一条