用keil4 软件编写的单片机程序,在主函数中如何调用子函数?

作者&投稿:仝柳 (若有异议请与网页底部的电邮联系)
用Keil uVision2编写单片机程序时,如何调用已存档的子程序文件?~

如果是main.asm中有这句话$INCLUDE(RESET.ASM),简单的说就是在编译main.asm前,编译器先把RESET.ASM这个文件的所有语句放到main文件中,然后再编译main,相当于RESET.ASM是main.asm的一部分代码。


这样设计的话,要求工程里不能再单独编译连接RESET.ASM,这样会出现同名的警告。另一点,RESET.ASM中不能有END的结束符,否则编译器在编译到END后面的代码就不编译了,你的main函数实际就没有被编译,这可能是你烧到开发板上不行的原因。

具体没看到代码,先做如上猜想。不过如果有调试环境的话,单步debug应该能很快发现问题。

keil
uvision5是一款软件,stc51单片机芯片是硬件,只能说利用这个软件将程序写入这个芯片中,而keil这个软件本身自带有匹配51的状态,目前使用keil
uvision的产品有keil
mdk-arm版,keil
c51版,你安装可能是mdk-arm版的吧,应该安装keil
c51版...

无参数 无返回值函数调用 要去掉 括号内外的VOID
如 void get _key(void); 应写成 get _key();

将所有的void 都去掉。