微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > STC驱动RA8806触摸屏问题

STC驱动RA8806触摸屏问题

时间:10-02 整理:3721RD 点击:
我开了两个中断 一个触摸中断用的外部中断1一个定时器中断 用来计算频率的 我们需要把八组频率不断的扫描出来显示  现在的问题是 如果我们在频率扫描到第四组的时候 触摸一下 进入触摸外部中断  触摸反映正常 但是后面的四组频率就显示不出来了
第四组只是打个比方 就是进入触摸中断以后 频率的显示就出问题了
void main()
{
    dkchushihua();
    LCD_Initial();
    LCD_ClearScreen();
LCD_CmdDatWrite(0x0f,0x10);
LCD_CmdDatWrite(0xc0,0x80);
LCD_CmdDatWrite(0xc4,0x00);//开启触摸功能 自动模式
ShowPicture();
dispword();
dispjianpan();
TMOD=0X15;//设置T1为16位定时器,设置T0为16位计数器
TH0=0X00;
TL0=0X00;
TH1=(65535-36697)/256;
TL1=(65535-36697)%256;
EA =1;
ET1=1;//开T1中断
EX1=1;//开外部中断1     
IT1=1;//低电平触发
    IPH=0x08;
IP =0x08;//设置定时器中断1为最高优先级中断,设置外部中断1为最低优先级中断
TR0=1;
TR1=1;

while(1)
{
  disphzzhi();//不断更新新的频率值
}
}
  
void T1_time() interrupt 3
{
    unsigned int lshzzhi;
num++;
if(num>=25)
{
TR0=0;
TR1=0;
    lshzzhi=TH0;lshzzhi<<=8;lshzzhi|=TL0;
TH0=0x00;
TL0=0x00;
lshzzhi=lshzzhi<<1;
hzzhi[chose]=lshzzhi;
    P2&=0xf8;
    P2|=CHA[chose];
    chose++;
    if(chose>7)chose=0;
num=0;
}
    TH1=(65535-36697)/256;
TL1=(65535-36697)%256;
TR0=1;
TR1=1;//同步
}
void INT_chukong() interrupt 2
{
   //LCD_CmdDatWrite(0x0f,0x10);
   LCD_Touch();
}

谢谢各位了啊

把你的程序传一份给我吧谢谢1162323666@qq.com

学习了

学习了

看看

有问题想请教下LZ,能不能联系下?QQ 120658050

没接触过,帮顶

请问你的程序能否共享一下,最近的一个设计需要,如果方便请发到zjl774815022@163.com,谢谢!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top