/*这仅仅是一个用于演示ICCAVR中调用汇编语言中断函数的实例,这个演示的处理方法
也可以用于一般非中断汇编函数的调用。本实例中演示了字节变量和字变量在汇编中的
引用和运算处理。本程序源程序由ntzwq网友提供,本人对原件做了一点修改整理以提
供给大家参考。如有不对之处请与我联系。谢谢。
程序的调试:
1 在iccavr中建立一个工程,将xq.c,inter.s同时加入工程,设定CPU为8515
2 编译
3 用AVR Studio打开.cof或.hex进行调试运行以观察运行过程
*/
#include<io8515.h>
#pragma interrupt_handler t1_ovr:TOV1 //TC1 16位定时器溢出中断
unsigned char flag,bases;
unsigned int i;
void main(void)
{
DDRC=0xff;
i=0x8000;
TCCR1A=0;
TCCR1B=0x01;
TCNT1=0xFF3F;
TIMSK |= 1<<TOIE1; //允许T1溢出中断
SREG|=0x80; //开放全局中断
while(1)
{
if (flag)
{
PORTC^=0x01;
flag=0;
}
}
}