按照指南操作静态码调试正常,在我的板子上从Touch key Tool Menu图表窗口可以看到手触摸的时候波形变化,也成功变成绿色,但是不知道怎么调试动态,因为静态是用的他们官网下载的静态码直接烧录就可以了,而动态没有直接烧录的码,要从自己的代码里面做进去,就复杂了,按照他们指南操作下来弄了一天硬是一点反应没有,求大哥大姐指导: //************************************************************ 
//  Copyright (c) 深圳市赛元微电子有限公司 
//        文件名称        : main.c 
//        作者                : Yanni 
//        模块功能        : SC91F8311触控DEMO 
//  最后更正日期: 
//         版本                : 2015-12-25: 
//              :   
//************************************************************* 
#include "h\SC92F836XB_C.h" 
#include<intrins.h> 
#include "h\data_type.h" 
#include "lib\SensorMethod.h" 
#define _TOUCHKEY_DEBUG_ 
#ifdef _TOUCHKEY_DEBUG_ 
#include "SOC_DebugTouchKey_Lib\SOC_DebugTouchKey.h" 
#endif 
#define nop  _nop_();         //??? 
//*****************全局变量区*************************************************** 
INT32U exKeyValueFlag = 0;                //当前轮按键标志 
INT8U  Timercount = 0;                        //定时器计数 
//BOOL   TimerFlag_1ms = 0;                //定时器1MS标志 
uchar a,b,c; 
//*****************全局变量区*************************************************** 
 
BOOL   TimerFlag_1s,TimerFlag_1ms,TimerFlag_10s = 0;                //定时器1MS标志 
INT8U  Flag_1s ,Flag_1ms,Flag_10s=0; 
INT8U  gTkIsValid = 0;                         //按键有效标志 
INT8U  exKeyValue = 0;                        //当前轮按键键值 
INT8U  KeyValue = 0;                        //按键键值 
 
 
sbit sda=P2^5;           //TM1640??? 
sbit scl=P2^6;           //TM1640??? 
uchar  dis[]={0xFE,0x30,0xD5,0x75,0x39,0x6F,0xEF,0x34,0xFF,0x7F,0xBF,0xFF,0xCE,0xF3,0xCF,0x8F,0xFF,0xff};//??? 
//                //0    1    2    3    4     5    6    7    8   9    a    b    c    d    e     f  ??        ?? 
void delay(INT16U z)                  //????? 
{ 
        uint x,y; 
        for(x=z;x>0;x--) 
                for(y=487;y>0;y--); 
} 
//*********START*********************************************** 
void start()                  //1640?? 
{ 
        sda=1; 
        nop        nop   
        scl=1;         
        nop        nop          
        sda=0;         
} 
//************************************************************** 
void stop()                         //1640?? 
{ 
        scl=0; 
        nop        nop             
        sda=0; 
        scl=1; 
        nop        nop          
        sda=1; 
        nop        nop         
} 
//*********************************************************** 
void write(uchar date)                  //1640??? 
{ 
        uchar i; 
        for(i=0;i<8;i++) 
        {          
                scl=0;  
                if(date&0x01)                 
                                { 
                                sda=1; 
                                nop        nop                                  
                                } 
                else 
                                { 
                                sda=0; 
                                nop        nop                                   
                                } 
                scl=1; 
                nop 
                date=date>>1; 
        }                 
} 
//**************?TM1640??????*************************** 
void send(uchar T,uchar time,uchar led)                   
{ 
    uchar i; 
        start(); 
        write(0x44);       //设置芯片工作模式,这里选地址自动加1 
        stop();  
        start(); 
        write(0xc0);//设置首地址,数码管的位选值 
        for(i=0;i<16;i++)//地址自加不必每次都写地址,传输显示数据,最多16字节不能多写 
        {         
        if(i==0)write(dis[T/100]);         //GRID1 
        if(i==1)write(dis[T/10%10]);  //GRID2 
        if(i==2)write(dis[T%10]);         //GRID3 
 
        if(i==3)write(dis[time/10]);                 //GRID4 
        if(i==4)write(dis[time%10]);                  //GRID5 
 
        if(i==5)write(led&0xff);           //GRID6 
        if(i==6)write(0x00); 
        if(i==7)write(0x00); 
        if(i==8)write(led&0xff); //GRID9 
        if(i==9)write(0x00); 
        if(i==10)write(0x00); 
        if(i==11)write(0x00); 
        if(i==12)write(0x00); 
        if(i==13)write(0x00); 
        if(i==14)write(0x00); 
        if(i==15)write(led&0xff);//GRID16 
 
        delay(20); 
        }     
         stop(); 
         start(); 
         write(0x89);       //亮度选择 
         stop();                     
}   
 /************************************************** 
*函数名称:void TimerInit(void)  
*函数功能:定时器初始化 
*入口参数:void 
*出口参数:void 
**************************************************/ 
void TimerInit(void) 
{ 
        TMCON = (TMCON&0xfe)|(0<<0);                //bit0: 0为FOSC/12,1为FOSO 
 
        TMOD = TMOD&0xf0;                                          //设置定时0,工作方式0 
        TMOD = TMOD|0x00; 
        TH0=(8192-1000)/32;                               //1000*1=1000us        ,1MS 
        TL0=(8192-1000)%32; 
        TF0 = 0;                                                    //清中断标志 
        TR0=0;                                                                //关定时器0 
           ET0=1;                                                                //使能定时器0中断 
        TR0=1; 
} 
 
/************************************************** 
*函数名称:void timer0()interrupt 1  
*函数功能:定时器中断服务函数 
*入口参数:void 
*出口参数:void  
**************************************************/ 
void timer0()interrupt 1 
{ 
        TH0 = (8192-1000)/32;                               //2000*1/4us=500us 
        TL0 = (8192-1000)%32;         
        TimerFlag_1ms = 1;         
} 
 /************************************************** 
*函数名称:void  Sys_Init(void)  
*函数功能:系统初始化 
*入口参数:void 
*出口参数:void   
**************************************************/ 
void  Sys_Init(void) 
{         
        WDTCON  = 0x10;                                    //1--1 -- 00    开WDT,WDT清0,WDT 524.288ms溢出;烧录时,可Code Option选择ENWDT 
        //TK对应的IO设置为强推挽输出1 
        P0CON = 0xFF; 
        P0PH  = 0xFF;         
        P1CON = 0xFF; 
        P1PH  = 0xFF; 
        P2CON = 0xFF; 
        P2PH  = 0xFF; 
        P0 = 0xFF; 
        P1 = 0xFF; 
        P2 = 0xFF; 
        P5 = 0x00;          
                    
        EA = 1;                                                //开总中断         
    TimerInit();                                 //定时器初始化 
} 
/************************************************** 
*函数名称:void ChangeTouchKeyvalue(void)  
*函数功能:转换TK键值 
*入口参数:void 
*出口参数:void 
**************************************************/ 
void ChangeTouchKeyvalue(void) 
{ 
        switch(exKeyValueFlag) 
        {                 
                //不同间距不同大小的按键 
        case 0x00000001:exKeyValue = 1;break;         
                case 0x00000002:exKeyValue = 2;break;  
                case 0x00000004:exKeyValue = 3;break; 
                case 0x00000006:exKeyValue = 4;break;         
                case 0x0000001f:exKeyValue = 5;break;  
                 
            default:exKeyValue = 0xff;break;                          
        } 
} 
/************************************************** 
*函数名称:void UpdateLcdBufFunc(void)  
*函数功能:更新显示数据函数 
*入口参数:void 
*出口参数:void 
**************************************************/ 
void UpdateLcdBufFunc(void) 
{ 
        if(exKeyValue != 0xff) 
        {a++; 
                if(gTkIsValid == 0)                        //松手前只出一次键 
                {                 
                        gTkIsValid = 1; 
                        KeyValue=exKeyValue;  
            switch(KeyValue) 
            {                 
                //不同间距不同大小的按键 
                case 1:a++; //break; 
                case 2:b=55;break;  
                case 3:c=11;break;  
                                                                case 4:b=26;break;  
                case 5:c=1;break;                                                           
                default:exKeyValue = 0xff;break;                          
            } 
                }                                                          
        } 
        else 
        { 
                gTkIsValid = 0;         
        } 
} 
/************************************************** 
*函数名称:void  Sys_Scan(void)  
*函数功能:扫描TK和显示 
*入口参数:void 
*出口参数:void   
**************************************************/ 
/* 
void Sys_Scan(void) 
{                                       
        if(SOCAPI_TouchKeyStatus&0x80)            //重要步骤2:  触摸键扫描一轮标志,是否调用TouchKeyScan()一定要根据此标志位置起后 
         {                                                                                                                                                    
                SOCAPI_TouchKeyStatus &= 0x7f;        //重要步骤3: 清除标志位, 需要外部清除。                                                                                                             
                exKeyValueFlag = TouchKeyScan();//按键数据处理函数   
                TouchKeyRestart();                                //启动下一轮转换                                                                                                                                                                                                                                                                          
        }                           
} 
*/ 
/************************************************** 
*函数名称:void  Sys_Scan(void)  
*函数功能:扫描TK和显示 
*入口参数:void 
*出口参数:void   
**************************************************/ 
void Sys_Scan(void) 
{                                       
        if(SOCAPI_TouchKeyStatus&0x80)            //重要步骤2:  触摸键扫描一轮标志,是否调用TouchKeyScan()一定要根据此标志位置起后 
         {                                                                                                                                                    
                SOCAPI_TouchKeyStatus &= 0x7f;        //重要步骤3: 清除标志位, 需要外部清除。                                                                                                             
                exKeyValueFlag = TouchKeyScan();//按键数据处理函数  
                ChangeTouchKeyvalue();                   //转换键值 
        UpdateLcdBufFunc();                 //更新显示数据     
                TouchKeyRestart();                                //启动下一轮转换                                                                                                                                                                                                                                                                          
        }                              
} 
/************************************************** 
*函数名称:void main(void)                                                                   
*函数功能:主函数 
*入口参数:void 
*出口参数:void   
**************************************************/ 
void main(void) 
{                                         
        Sys_Init();//触控按键初始化 
         
                #ifdef _TOUCHKEY_DEBUG_SOCAPI_ 
        DeBugTouchKey_Init(); 
        #endif 
        TouchKeyInit(); 
 
        while(1) 
        { 
           WDTCON  = 0x10; 
                 
                        send(a,b,c);         
                //if(exKeyValueFlag==0) 
                 
                 
           if(TimerFlag_1ms==1) 
           { 
                        TimerFlag_1ms=0;         
                        Timercount++; 
                        if(Timercount>10) 
                        { 
                                Timercount=0; 
                                Sys_Scan(); 
                        }                                                                                                         
           } 
                                    
        }  
} 
 
 |   
     
  
 |