//Tiny6410 的裸机中断码,所有的代码都贴在后面,没有不相关的东西,按 1~3 键 led 作相/
/应的改变,大部分码来自网络,FirendARM Tiny6410 1110 的板亲测可用.
//目的:用来玩滴
//----------------------------------------------------------------------------
//Startup.s 文件,目的:开总中断并跳到 main 函数
//----------------------------------------------------------------------------
IMPORT _main
AREA |C$$code|,CODE,READONLY
global Start
Start;开总中断
mrc p15,0,r0,c1,c0,0
orr r0,r0,#(1<<24)
mcr p15,0,r0,c1,c0,0
b _main ;跳到 main 函数
DCB "LED AND KEY"
END
//-------------------------------------------------------------
//main.c 文件
//-------------------------------------------------------------
#include "Tiny6410_Led.h"
#include "Tiny6410_Interrupt.h"
#include "Tiny6410_GPIO.h"
static void delay()//延时一会儿
{
unsigned int i=0;
while(i<3500000)
i++;
}
//初始化按键,使能按键中断
void initKey(void)
{
rGPNCON = rGPNCON & ~(0xffff << 0) | (0xaaaa << 0);//eint
rEINT0CON0 = rEINT0CON0 | (0x22 << 0);//both edge
rEINT0MASK = rEINT0MASK & ~(0xf);
}
//响应中断的函数
void isrKey(void) __irq
{
if(rEINT0PEND&0x1)//按 1 键时 led 全亮