cxlsq1985 发表于 2009-7-1 10:24:06

求教高手:采用中断标志+查询方式处理按键。。无法实现。

采用AVR16L单片机。PA口作为键盘输入口。以下是部分程序。请教。
void main(void)
{

WDT_init();
ioinit();
delay_ms(1);
uart_init();
LCDInit();
CLEARGDRAM();
         TCCR1A=0x0;
      TCCR1B=0x00;          // 停止定时器1
      TCNT1H=0xf9;          // 设初值
      TCNT1L=0xbf;
      TIMSK=0x04;         // 开放定时器1溢出中断
      SREG|=0x80;
      TCCR1B =0x02;          // 启动定时器1 预分频比例64
                menu();                  
while(1)
{ if(TIFR&0x02==0x02)
    {TIFR&=0xff;         //写1清零中断标志
        TCNT1H=0xf9;          //定时器初值
    TCNT1L=0xbf;      
       read_key();   
    if(key_return==0x01)
      fuct++;
        if(fuct>=7)
        fuct=1;          
    menu();
        SREG|=0x80;      //开全局中断
        }
       
        //初始化及半宽字符和点横竖汉字扫描
        //menu2();//绘图显示
        //delay_ms(2000);
        WDR();
        }

machao 发表于 2009-7-1 11:25:52

建议你还是先下载本栏中的“《AVR单片机嵌入式系统原理与应用实践》》---前2篇电子初稿(PDF合成版)”参考学习一下。
页: [1]
查看完整版本: 求教高手:采用中断标志+查询方式处理按键。。无法实现。