专栏中心

EEPW首页 > 专栏 > 我的第一个汇编程序;

我的第一个汇编程序;

发布人:0750long 时间:2009-06-16 来源:工程师 发布文章
我的第一个汇编程序;

 

//这是一个流水灯程序,主要是练练手,熟悉下汇编,
//之前都是用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

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

PADS Power基础教程

数控车床自动加工视频

工业用控制器

视频 2010-01-15

从控制算法到可视化验证: DQ0分析如何提升电机驱动系统调试效率

MPASM及MPLINK,MPLIB 用户指南

Keil C51微处理器开发工具使用指南

了解电动汽车中的电子制动系统

嵌入式系统中的I2C总线时序

面向算法硬件加速的FPGA实现方法

线控制动系统的安全性与性能优势

苹果A20芯片大概率无缘WMCM 封装技术

EDA/PCB 2026-04-30

芯科科技在蓝牙亚洲大会展示汽车与边缘AI前沿蓝牙创新技术

2026 年第一季度 DigiKey 新增近 31,000 种零件及 97 家供应商,进一步扩充了现货产品供应

2026-04-30

联华电子公布2026年第一季财务报告

面向ARM系统集成的FPGA片上系统解决方案

更多 培训课堂
更多 焦点
更多 视频

技术专区