⑴ 用keil 怎样将一段52单片机的c代码转成汇编输出
1、首先编译,必须通过才行。
2、之后,按CTRL+F5进入调试仿真界面。
3、点击“View菜单”,打开“Disassembly Windows”,这个页面就是与C对应的汇编程序。
⑵ 如何使用Keil编译汇编程序或C语言程序
打开Keil后选择【File】下的【new】新建一个空白文档。将编辑好的程序源码复制到该文件中。
如何使用Keil编译汇编程序或C语言程序
选择左上角的保存按钮进行保存,将弹出保存对话框。
如何使用Keil编译汇编程序或C语言程序
选择保存路径和编辑文件名。记住,这里的文件名很重要,如果你是C语言程序的话,加上.c后缀,如果你是用汇编语言,加上.ASM后缀。这样,Keil就能自动识别你的文件类型了。
如何使用Keil编译汇编程序或C语言程序
现在你就可以将保存的文件添加到项目中了,项目文件要提前在[Project]中新建。右击选择【Source Group1】点击【Add Files to Group..】
如何使用Keil编译汇编程序或C语言程序
在弹出的对话框中选择[文件类型]为All files,这个很关键。然后选择你要添加的文件。点击Add添加。
如何使用Keil编译汇编程序或C语言程序
在[Source Group]中就会显示新添加的.ASM文件,按图中选择弹出【Option for Target】对话框。
如何使用Keil编译汇编程序或C语言程序
7
切换到[output]选项卡选中【Create HEX FILE】,就可以在编译成功后自动生成.hex文件。编译按钮在左上角3个按钮,从左到右依次点击,如果源码没错,都可以编译通过了。
如何使用Keil编译汇编程序或C语言程序
⑶ KEIL怎么编译汇编
错误很多处:
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP TIME0_VECTOR
ORG 0100H
MAIN:
MOV R0,#0
SETB EA
MOV TMOD,0X01 ;汇编不能用0xXX表示,要用#01H 。以下同
MOV TH0,0X3C
MOV TL0,0XB0
CLR P0.0
SETB TR0 //50ms定时 ;汇编的注释要用分号,你这是C的注释。以下多处同此
LOOP:
AJMP LOOP
ORG 0200H
TIME0_VECTOR:
MOV TH0,0X3C
MOV TL0,0XB0
CLR TF0
INC R0
SUB R0,10 :是不是#10?
JNZ NEXT
MOV R0,#0
CLR P0.0 //R0满10,灯ON
RETI
NEXT:
SUB R0,4
JNC OFF //不够减小于10,不变
RETI , ;多了逗号?
OFF: ,
SETB P0.0 //R0大于4,灭OFF
RETI
;没有END
⑷ keil怎样把C语言转换成单片机汇编语言
1、打开Keil,新建一个51工程,同时新建一个main.c文件,并加入到工程源代码当中。
⑸ 用Keil 编译汇编程序时 的问题
我帮你修改好了,你程序的错误就是把数字的'0'写成了字符的'o',这里要细心一写,因为在键盘上'o'的位置与数字'0'很近,我有的时候也可能会因为写的快而搞错了,,,,不过在keil中的默认设置,如果是合法的寄存器,会变成黑体(我一看字体,就找到你的错误了)
我这里调试的结果是,(30H)上的0x47,变成了0x74,(31H)上的0x36变成了0x63,(32H)上的0x21变成了0x12,,,,,,不知道你要的是不是这样的效果.个人修改的程序如下:
ORG
0000H
;这里的3条语句是为了调试使用
LJMP
MAIN
ORG
0100H
MAIN:
MOV
R7,#03H
MOV
R0,#30H
MOV
30H,#47H
MOV
31H,#36H
MOV
32H,#21H
BRLN:
MOV
A,R7
MOV
R2,A
ADD
A,R0
MOV
R0,A
MOV
R3,#0
BRL1:
DEC
R0
MOV
A,@R0
SWAP
A
MOV
@R0,A
;你原来把这里的R0,写成了RO(而且你这里'o'是大写,一下子更难找出来,幸亏你的程序短,你一下就找出来了)
MOV
A,@R0
;这里你错误原因同上
MOV
R3,A
DJNZ
R2,BRL1
END
⑹ keil里的汇编语言
一条汇编语言指令的执行时间,所用的单位是:机器周期T。
采用不同的晶振频率,机器周期,就对应不同的时间。
楼主必须先搞清楚,每一条指令,执行的时间,都是几个T。
DJNZ
R5,
$
,这一条指令,将会执行
250
遍。执行一遍,就是
2T。
其它指令的分析,与此雷同。
可以到我的网络空间找找,以前,算过这种延时时间。
⑺ keil编译汇编语言
你这个错误可真难找啊。
你把 TR+数字0 敲成 TR+大写字母O 了!
把 TH+数字0 敲成 TH+大写字母O 了!
然后在最后加一句 END 就可以了。
ORG 0000H
RESET: LJMP MAIN
ORG 000BH
LJMP ITOP
ORG 1000H
MAIN: MOV SP,#60H
MOV B,#0AH
MOV TMOD,#01H
MOV TL0,#0B0H
MOV TH0,#3CH
SETB TR0
SETB ET0
SETB EA
HERE: SJMP HERE
ITOP: MOV TL0,#0B0H
MOV TH0,#3CH
DJNZ B,LOOP
CLR TR0
LOOP: RETI
END
⑻ keil 怎么用编译汇编程序
keil编译汇编程序跟编译C程序操作方法是一样的。步骤如下:
1、建一个工程
2、添加或新建一个汇编文件
3、编辑这个汇编文件程序
4、点击编译命令进行编译
如果没有错误就可以生成HEX文件了。
⑼ keil编译汇编语言程序报错
芯片51单片机,keil
应使用keil
C51
的版本,注意区分keil
MDK版本。
汇编指令不对。51单片机自己的汇编指令和语法,详细可以搜索51单片机汇编指令。看图中程序指令,不是51单片机的汇编指令,所以全是语法错误。