keil里的汇编语言
一条汇编语言指令的执行时间,所用的单位是:机器周期T。
采用不同的晶振频率,机器周期,就对应不同的时间。
楼主必须先搞清楚,每一条指令,执行的时间,都是几个T。
DJNZ
R5,
$
,这一条指令,将会执行
250
遍。执行一遍,就是
2T。
其它指令的分析,与此雷同。
可以到我的百度空间找找,以前,算过这种延时时间。
keil4用汇编语言需要头文件吗
需要。
1、keil4是KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发。
2、keil4用汇编语言需要头文件,一般是对函数、变量等的声明。
keil怎样把C语言转换成单片机汇编语言
首先在keil里,设置选项时,在列表选项中的汇编代码一项打勾。见下图
然后编译,编译后,在工程的同一个文件夹下有一个.LST文件,打开就看到了汇编代码,不过,需要自己进行整理,否则,是不能直接作为汇编程序的。
下面是一个例子:这是一个主程序的汇编代码,格式就是这样的。
; FUNCTION main (BEGIN)
; SOURCE LINE # 16
;---- Variable 'k' assigned to Register 'R4' ----
; SOURCE LINE # 17
; SOURCE LINE # 19
0000 D2B2 SETB light
0002 ?C0007:
; SOURCE LINE # 20
; SOURCE LINE # 21
; SOURCE LINE # 23
0002 7F05 MOV R7,#05H
0004 120000 R LCALL _delayms
; SOURCE LINE # 25
0007 300008 R JNB blink,?C0009
; SOURCE LINE # 26
; SOURCE LINE # 27
000A 0C INC R4
; SOURCE LINE # 28
000B BC2804 CJNE R4,#028H,?C0009
; SOURCE LINE # 29
; SOURCE LINE # 30
000E B2B2 CPL light
; SOURCE LINE # 31
0010 E4 CLR A
0011 FC MOV R4,A
; SOURCE LINE # 32
; SOURCE LINE # 33
0012 ?C0009:
; SOURCE LINE # 34
0012 20B7ED JB k0,?C0007
; SOURCE LINE # 35
C51 COMPILER V7.00 LIGHT1 09/14/2015 12:54:15 PAGE 3
; SOURCE LINE # 36
0015 B200 R CPL blink
; SOURCE LINE # 37
0017 200004 R JB blink,?C0012
001A D2B2 SETB light
001C 8002 SJMP ?C0014
001E ?C0012:
; SOURCE LINE # 38
001E E4 CLR A
001F FC MOV R4,A
0020 ?C0014:
; SOURCE LINE # 39
0020 20B7DF JB k0,?C0007
0023 80FB SJMP ?C0014
; FUNCTION main (END)
KEIL 汇编语言
如果是动态显示,应该用显示程序,当做延时消抖用的延时程序。
特别是等待按键释放时,不应该单纯的等待,这就会停止显示。
应该如下:
while(!K0) DISP();
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和汇编语言进行编辑和编译。如果是汇编,那么添加程序时,选择:.a* .src如图所示: