导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[windowswp98]C51编程:再次请教混合编程问题



No.5644
作者:windowswp98
邮件:windowswp98@sina.com.cn
ID:4326
登陆:1次
QQ:28566322
文章数:9篇
最后登陆IP:
最后登陆:2001/12/23 10:37:00
注册:2001/12/23 10:37:00
财富:31
发帖时间:2002/2/8 14:04:00
发贴者IP:210.15.53.29
标题:windowswp98:C51编程:再次请教混合编程问题
摘要:No.5644C51编程:再次请教混合编程问题 上次经过大虾门的热心帮助,受益非浅,但是我在进行软件防真时,程序会死机。再次请各位大
虾指点一、二,谢谢了
程序在调用汇编子程序时会死机,
死机时执行代码为:003EH F6     MOV   @R0, A
                  003FH D8FD   DJNZ  R0, 003EH
主程序:
#include "reg51.h"
#define uint unsigned int
extern uint Left(uint temp); //申明函数头
void Delay(uint i) //延时程序
{ uint j;
for(;i>0;i--)
for(j=0;j<120;j++)
{;}
}
void main()
{ uint led=0x55;
while(1)
{ P1=Left(led);//调用函数,实现左移
Delay(100); //延时
}
}
汇编子程序:
PUBLIC _Left
_Left: MOV A,R7 ;第一个参数在R7中
RL A
MOV R7,A ;返回值也在R7中
RET
END
主程序汇编代码:
0000H 02003B LJMP  003BH
0003H 22     RET
0004H D3     SETB  C
0005H EF     MOV   A, R7
0006H 9400   SUBB  A, #00H
0008H EE     MOV   A, R6
0009H 9400   SUBB  A, #00H
000BH 4015   JC    0022H
000DH E4     CLR   A
000EH FD     MOV   R5, A
000FH FC     MOV   R4, A
0010H 0D     INC   R5
0011H BD0001 CJNE  R5, #00H, 0015H
0014H 0C     INC  ......

>>返回讨论的主题


  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:31毫秒 最大:7276毫秒 查询6次