导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[qinr]C51中断函数在传递参数时候出错?谁能帮



No.64745
作者:qinr
邮件:qinrjun@163.com
ID:10211
登陆:14次
QQ:241248
文章数:38篇
最后登陆IP:116.24.23.215
最后登陆:2007/12/3 16:28:51
注册:2003/3/12 21:58:00
财富:177
发帖时间:2004/10/19 10:56:21
发贴者IP:218.18.78.73
标题:qinr:C51中断函数在传递参数时候出错?谁能帮我看看,谢谢!
摘要:No.64745C51中断函数在传递参数时候出错?谁能帮我看看,谢谢! 下面的这个程序的外部中断响应函数里面调用printfNumber(16,220,x_zb);的时候
第一个传递参数16,到了printfNumber传递到函数里面的x就成0了,为什么?
谁能帮我看看?谢谢!
用keil模拟的

整个程序如下:


#include   <reg52.h>  
#include   <stdlib.h>  
#include   <intrins.h>  
#include   <stdio.h>  

#define Uchar unsigned char
#define Uint unsigned int

Uchar x_zb,y_zb;

void WriteData( Uchar dataW );
void WriteCommand( Uchar CommandByte );
void Delay( Uint );
void printfNumber(Uchar x,Uchar y,Uchar Number);
void Locatexy(Uchar,Uchar);
void EnableINT(void);
void DisableINT(void);

void interrupt0(void) interrupt 2 using 3   //定义外部中断1
{
    DisableINT();
    Delay(20);
    printfNumber(16,220,x_zb);
    printfNumber(21,220,y_zb);
    Delay(20);

    EnableINT();
}

void Main( void )
{
    DisableINT();
    Delay(30);
    EnableINT();
    while(1)
    {
    }
}

void EnableINT(void)
{
    EA=1;       //开所有中断
    IT1=1;  //外部中断1 边沿触发
    EX1=1;  //开外部中断1
}

void DisableINT(void)
{
//  EA=0;       //关所有中断
    EX1=0;  ......

>>返回讨论的主题



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


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

   




老古网执行:16毫秒 最大:2031毫秒 查询8次