打印
[AVR单片机]

触摸屏控制 但不知道为什么最终输出的结果总是0

[复制链接]
1455|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhuyu800|  楼主 | 2009-2-12 14:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教各位达人~我在实现触摸屏控制功能是,利用 ATmega64与ADS7846芯片实现触摸屏控制 ,进入触摸屏子程序是利用INT0中断来实现,当手指触摸到屏幕上时,会进入中断,但不知道为什么每次运行完中断时,最终输出的结果总是X=0,Y=0。让我不知道从那里入手,头大啊~下面是我写的中断程序,请达人们看看是不是那里写错了啊???
多谢各位达人了!!!!



//触摸屏处理子程序                

void start() //SPI开始
{
    CMP_DCLK_0() ; //DCLK=0;
    CMP_CS_1()   ; //CS=1;
    CMP_DIN_1()  ;  //DIN=1;
    CMP_DCLK_1() ;  //DCLK=1;
    CMP_CS_0();    //CS=0;
}

void  WriteCharTo7843(unsigned char num) //SPI写数据
{   unsigned char i;
    CMP_DCLK_0(); //DCLK=0;
    for  (i=0x80;i>0;i/=2)  
        { if  (i &  num)   CMP_DIN_1(); 
          else    CMP_DIN_0()  ; //DIN=CY;
          num<<=1;
          CMP_DCLK_1() ; some_nop; //上升沿有效
          CMP_DCLK_0() ; some_nop;          
        }
}

uint   ReadFromCharFrom7843() //SPI 读数据
{   unsigned char count=0;
    unsigned int Num=0;
    for(count=0;count<12;count++)
        {
          Num<<=1;
          CMP_DCLK_1() ;some_nop();//下降沿有效
          CMP_DCLK_0() ;some_nop();
          if(CMP_DOUT == 1) Num++;
        }
    return(Num);
}

void delay_1ms(void)
{
   unsigned int itemp;
   for(itemp=1;itemp<1142;itemp++);
}
#pragma interrupt_handler debug_cmp_key:2

void debug_cmp_key()//触摸屏开关调试子程序
{
    unsigned char key_data=0;
    unsigned int X=0,Y=0;
    delay_1ms();
    start(); //启动SPI
//  while(CMP_BUSY);   //如果BUSY信号不好使可以删除不用
    delay_1ms();//delay1(2);
    WriteCharTo7843(0x90); //送控制字 10010000 即用差分方式读X坐标 详细请见有关资料
//  while(CMP_BUSY);   //如果BUSY信号不好使可以删除不用
    delay_1ms();    
    CMP_DCLK_1() ;some_nop();some_nop();some_nop();some_nop();
    CMP_DCLK_0() ;some_nop();some_nop();some_nop();some_nop();
    X=ReadFromCharFrom7843();////读X轴坐标
    xp_x_cur = X;
    WriteCharTo7843(0xD0); //送控制字 11010000 即用差分方式读Y坐标 详细请见有关资料
    CMP_DCLK_1() ;some_nop();some_nop();some_nop();some_nop();
    CMP_DCLK_0() ;some_nop();some_nop();some_nop();some_nop();
    Y=ReadFromCharFrom7843();
    xp_y_cur = Y;
    CMP_CS_1();
}

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

28

帖子

0

粉丝