|
#include "iostm8s103f3.h"
#include "intrinsics.h"
typedef unsigned char uchar;
typedef unsigned int uint;
#define K1 PD_IDR_IDR6
#define LED PA_ODR_ODR2
void delay(uint i)
{
while(i--);
}
void LED_Init()
{
PA_DDR_DDR2 = 1;
PA_CR1_C12 = 1;
LED = 0;
}
void KEY_Init()
{
PD_DDR_DDR6 = 0;
PD_CR1_C16 = 1;
PD_CR2_C26 = 1;
}
void EXTI_Init()
{
EXTI_CR1_PDIS = 2;
__enable_interrupt();
}
int main( void )
{
LED_Init();
KEY_Init();
while(1)
{
EXTI_Init();
}
}
__interrupt void EXTI_PORTD_IRQHandler(void)
{
if(K1 == 0)
{
delay(1000);
if(K1 == 0)
{
LED = ~LED;
}
while(!K1);
}
}
|
|