单片机汇编语言的中断 跳至的程序 能不能是C语言

如题
GOUJINXING的汇编语言了解 但是没看出混编 希望大家能给出个列子 谢谢

当然能了,这叫 汇编和c的混合编程,对于不同的编译器,和不同的单片机,会有不尽相同的实现语法,但基本思想很简单,就是在昨晚汇编的相关程序后,JMP 到一个已经声明了的c函数上去,使用时要注意,编译器的更名规则,比如c中的 void main(),可能会被改名为_main,这样你在汇编中jmp 的目标就不应该是main了 而是 _main.

希望对你有帮助
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-01-12
当然可以是C语言。通过编译器实现。
第2个回答  2010-01-10
;看看下面这个定时器0中断。连接在P1.1的LED每秒钟闪烁一次,看不懂的可以问我。
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP CLOCK
ORG 0030H
LED BIT P1.1
MAIN: MOV SP,#60H
MOV TMOD,#01H ;定时器0工作在方式1
MOV IE,#8AH ;开定时器中断
MOV TL0,#0B0H ;定时器低位初始化,定时50ms
MOV TH0,#3CH ;定时器高位初始化
MOV 23H,#00H ;定时器计数单元
SETB TR0 ;开始定时
CLR LED ;LED状态开关
SJMP $
;*******************初始化完毕********************************
CLOCK: MOV TL0,#0B0H ;定时器0中断子程序,每50ms中断一次
MOV TH0,#3CH
PUSH PSW
PUSH ACC
INC 23H
MOV A,23H
CJNE A,#14H,FH ; 1s=50ms*20次
CLR LED
FH: RETI本回答被网友采纳
第3个回答  2010-01-10
把C的地址写到中断表
int 地址

混合编译:先编译C成obj,在和汇编一起编译(看汇编编译器的说明)
汇编调用:call(cll) _main
相似回答