1. 让源文件支持内联汇编
在main.c上点击右键, options for file ‘main.c’,勾选上generate Assembler SRC file和Assemble SRC file,注意勾选上是黑色的,不是灰色的。
2. 编写内联的汇编代码
//黑马程序员#include <STC8H.H>void delay(void) { 延时1000ms的函数,逻辑代码来自stc-isp软件#pragma asm //汇编开头nopnoppush 0x30push 0x31push 0x32mov 0x30, #122mov 0x31, #193mov 0x32, #126next_loop:djnz 0x32, next_loopdjnz 0x31, next_loopdjnz 0x30, next_looppop 0x32pop 0x31pop 0x30#pragma endasm //汇编结尾}void main(void) {P5M1 = 0x00;P5M0 = 0x00;P53 = 1;while(1){delay();P53 = 0;delay();P53 = 1;}}
3. 添加汇编代码链接支持

根据不同的编译模式,在 KEIL 安装目录表下的 keil\c51\lib\中选中相应的库文件添加到工程中
C51S.LIB - 没有浮点运算的 Small model
C51C.LIB - 没有浮点运算的 Compact model
C51L.LIB - 没有浮点运算的 Large model
C51FPS.LIB - 带浮点运算的 Small model
C51FPC.LIB - 带浮点运算的 Compact model
C51FPL.LIB - 带浮点运算的 Large model
我这里选择的是C51S.LIB库,效果如下:
搞定~
