汇编程序:

delaytime EQU 31H

exechi    EQU 32H

EXECLO    EQU 33H

MAINHI    EQU 34H

MAINLO    EQU 35H

ORG  000H

AJMP   MAIN;

ORG  003H

AJMP   INTER0

ORG  1BH

AJMP   T1INT

ORG  30H

MAIN:

MOV DPTR, #WAVESTAR;

CLR EX0;

MOV SP,#07;

MOV EXECHI,#00H;

MOV EXECLO,#60H;

MOV MAINHI,#00H;

MOV MAINLO,#30H;

MOV TMOD,#10H;

MOV TH1,#03CH;

MOV TL1,#0FFH;

SETB EA;

SETB ET1;

SETB TR1;

SETB IT0;

SETB EX0;

MOV R0,#03;

MOV R3,#00H;

ORG 0060H

EXECU:

FREQ1:

CJNE R0,#01,FREQ2;

ACALL DISP06;

AJMP FREQ1;

FREQ2:

CJNE R0,#02,FREQ3;

ACALL DISP08;

AJMP FREQ2;

FREQ3:

CJNE R0,#03,FREQ4;

ACALL DISP10;

AJMP FREQ3;

FREQ4:

CJNE R0,#04,FREQ5;

ACALL DISP12;

AJMP FREQ4;

FREQ5:

CJNE R0,#05,FREQ6;

ACALL DISP14;

AJMP FREQ5;

FREQ6:

CJNE R0,#06,NXTRND;

ACALL DISP16;

AJMP FREQ6;

nxtrnd:

CLR ET1;

clr ie0;

SETB EX0;

SETB IT0;

SETB PX0;

setb P1.2;

SETB P1.3

SETB P3.0;

SJMP $  ;

AJMP EXECU;

DISP06:

MOV A,#00H;

LOOPD06:

MOV DELAYTIME,#30H;

DELAY06:

MOV R2,#66;

DELOOP06:

DJNZ R2,DELOOP06;

DJNZ DELAYTIME,DELAY06;

MOV R1,A;

MOVC A,@A+DPTR;

RL A;

RL A;

MOV P1,A;

MOV A,R1;

INC A;

CJNE A,#00H,LOOPD06;

RET;

DISP08:

MOV A,#00H;

loopd08:

MOV DELAYTIME,#30H;

delay08:

MOV R2,#49;

deloop08:

djnz R2,DELOOP08;

DJNZ DELAYTIME,DELAY08;

MOV R1,A;

MOVC A,@A+DPTR;

RL A;

RL A;

MOV P1,A;

MOV A,R1;

INC A;

CJNE A,#00H,LOOPD08;

RET;

DISP10:

MOV A,#00H;

loopd10:

MOV DELAYTIME,#30H;

delay10:

MOV R2,#39;

DELOOP10:

djnz R2,DELOOP10;

DJNZ DELAYTIME,DELAY10;

MOV R1,A;

MOVC A,@A+DPTR;

RL A;

RL A;

MOV P1,A;

MOV A,R1;

INC A;

CJNE A,#00H,LOOPD10;

RET;

DISP12:

MOV A,#00H;

loopd12:

MOV DELAYTIME,#30H;

delay12:

MOV R2,#32;

deloop12:

djnz R2,DELOOP12;

DJNZ DELAYTIME,DELAY12;

MOV R1,A;

MOVC A,@A+DPTR;

RL A;

RL A;

MOV P1,A;

MOV A,R1;

INC A;

CJNE A,#00H,LOOPD12;

RET;

DISP14:

MOV A,#00H;

loopd14:

MOV DELAYTIME,#30H;

delay14:

MOV R2,#28;

deloop14:

djnz R2,DELOOP14;

DJNZ DELAYTIME,DELAY14;

MOV R1,A;

MOVC A,@A+DPTR;

RL A;

RL A;

MOV P1,A;

MOV A,R1;

INC A;

CJNE A,#00H,LOOPD14;

RET;

DISP16:

MOV A,#00H;

loopd16:

MOV DELAYTIME,#30H;

delay16:

MOV R2,#23;

deloop16:

djnz R2,DELOOP16;

DJNZ DELAYTIME,DELAY16;

MOV R1,A;

MOVC A,@A+DPTR;

RL A;

RL A;

MOV P1,A;

MOV A,R1;

INC A;

CJNE A,#00H,LOOPD16;

RET;

t1int:

inc r3;

CJNE  R3,#24,LOAD;

CPL P3.0;

INC R4;

CJNE R4,#100,NEXT;

MOV R4,#00;

MOV R3,#00;

INC R0;

PUSH EXECLO;

PUSH EXECHI;

RETI;

NEXT:

MOV R3,#00;

LOAD:

MOV TH1,#03CH;

MOV TL1,#0FFH;

RETI;

INTER0:

REST:

DELAY:

MOV R7,#00H;

LOOP:

INC R7;

CJNE R7,#0,LOOP;

MOV R0,#02;

PUSH MAINLO;

PUSH MAINHI;

RETI;

ORG 200H

WAVESTAR:

RECT:

DB 252,252,252,252,252,252,252,252,252,252

DB 253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253

DB 253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253

DB 253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253

DB 253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253

DB 253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253

DB 253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253;

DB 252,252,252,252,252,252,252,252,252,252

DB 254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254

DB 254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254

DB 254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254

DB 254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254

DB 254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254

DB 254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254;

END;

怎么把汇编语言转成c语言,求高手把汇编语言转换成c语言!基于AT89C2051的。相关推荐

  1. C语言实现字母的大写转换成小写

    C语言实现字母的大写转换成小写 1 问题描述: 2 程序代码: 2.1 代码分析: 3 改进 3.1 程序测试结果 参考资料 1 问题描述: 程序功能:实现字母的大小写转换.输入一个大写字母,接着按下 ...

  2. C语言 | 递归将一个整数n转换成字符串

    例73:C语言用递归方法将一个整数n转换成字符串.例如,输入483,应输出字符串"483",n的位数不确定i,可以是任意位数的整数. 解题思路:如果是负数,要把它转换为正数,同时为 ...

  3. 用C语言将当前北京时间转换成UTC时间戳

    用C语言将当前北京时间转换成UTC时间戳 时间戳表示格式 UNIX时间戳 指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数,不 ...

  4. R语言---生信分析---count转换成TPM、FPKM

    R语言---生信分析---count转换成TPM.FPKM 背景介绍 代码 0. 设置工作目录,加载需要的包 1. 读取 reads count 的数据 2. 下载基因长度的数据,并读取 3. cou ...

  5. xml文件转换成图片_如何把pdf文件转换成图片?

    pdf文件怎么转成JPG图片呢?相信有不少人在迷惑,可能还在想着截图等操作来完成转换,但如果是截图成JPG图片后的效果可能很差,并没有之前pdf文件那么清楚.那这样往往打印出来的效果也不怎么理想,那怎 ...

  6. CAD怎么转换成PDF?如何将CAD批量转换成PDF?

    CAD文件是设计行业常常需要使用的图纸之一,我们在使用CAD图纸文件时,有时候需要将CAD图纸文件转换成PDF,那么CAD怎么转换成PDF?如何将CAD批量转换成PDF?通过这篇文章,我就来告诉大家应 ...

  7. c语言求圆的面积和周长(c语言求圆的面积和周长,半径为5)

    怎么用c语言计算圆周长和面积 用c语言计算圆周长和面积编程有两种. #include #define PI 3.1415926 int main(){ double r,l,s; printf(&qu ...

  8. c语言求三门课程的平均成绩,C语言求三个学生四门课每个学生的平均成绩和每门课的平均成绩,并存入cx.txt中...

    C语言求三个学生四门课每个学生的平均成绩和每门课的平均成绩,并存入cx.txt中 # 求平均成绩 ```c #includestdio.h #includestring.h void input(fl ...

  9. c语言求同时被3和7,c语言输入一个数 判断该数能否同时被3和7整除 如果能整除 则输出yes...

    输入1个整数,判断该数是奇数还是偶数.(用C语言编程) #includevoidmain(){intn;printf("输入一个整数:");scanf("%d" ...

最新文章

  1. oracle 10g视频教程
  2. 第19章 归档模式下的数据库恢复
  3. vscode如何设置自动保存时自动格式化代码
  4. Python list合并(列表合并),dict合并(字典合并)
  5. 二分查找求上界和下界
  6. python爬小说收费章节_python 多线程爬小说返回章节乱套。求解
  7. 饥荒指令代码大全一览
  8. B站视频下载(含bv快速变回av)
  9. 解决微信观看视频全屏播放问题
  10. 写乐100道练习题_【写乐钢笔使用】_摘要频道_什么值得买
  11. 2022年度软考考试时间表已公布
  12. ARM32 寄存器分类
  13. 使用OneNote多人分布式共享
  14. ckeditor5 添加ckeditor5-line-height-plugin插件
  15. labelme json转换为coco json 格式 包含area面积
  16. 深度学习-使用tensorflow实现猫狗识别
  17. kali查看进程PS
  18. led灯珠型号及使用参数
  19. Mysql断流_彻底解决ROS网页断流问题
  20. 改善监控过程中逆光的方法

热门文章

  1. HTML实现友好提示框(带尖角的框)
  2. 【22SR】Practical Blind Denoising via Swin-Conv-UNet and Data Synthesis
  3. Reactor百万连接的并发
  4. 人民网三评智能算法,技术又一次为平台背了锅
  5. 从底层原理出发详解红黑树在Linux内核中的3种经典用法,让你知其所以然
  6. php商家入驻系统,商户入驻 · CRMEB 多商户系统 帮助文档 · 看云
  7. 陈硕《网络编程实战》 84 课程总结 【草稿】
  8. 阿里云ECS,Ubuntu系统Tomcat搭建
  9. 英文文献翻译策略:一种解决划词翻译包含换行符的最优策略
  10. NSSCTF PWN (入门)