/****************************************************************************************************************
*************************
*Author:JYW
*Time:2019_04_02
*Describe:LetAllLinesOfCodeSpeak
*****************************************************/
/******************************************************
*Author:JYW
*Time:2019_04_02
*Describe:使用T1的正反计数对Led进行闪烁
******************************/
#include<ioCC2530.h>
#define LED1 P1_0
void InitIO()
{
P1DIR |= 0x01;
LED1 = 0;
}
void main()
{
InitIO();
CLKCONCMD &=~0x40; //1011 1111
while(CLKCONSTA & 0x40);
CLKCONCMD &= 0xC0;//11 00 0 000
EA = 1;
T1IE = 1;
T1CTL = 0x0F;
T1IF = 0;
T1STAT &=~0x01;
T1CCTL0 |=0x04;
T1CC0H = 12500/256;
T1CC0L = 12500%256;
}
#pragma vector = T1_VECTOR
__interrupt void T1_ISR()
{
static unsigned char count = 0;
count++;
T1IF = 0;
T1STAT &=~0x01;
if(count > 11)
{
LED1 = !LED1;
count = 0;
}
}
/*******************************************
*Author:JYW
*Time:2019_04_0
2
*Describe:使用T1的mod对Led进行闪烁
******************************/
#include<ioCC2530.h>
#define LED1 P1_0
void InitLed()
{
P1DIR |= 0x01;
LED1 = 0;
}
void main()
{
CLKCONCMD &=~0x40; //1011 1111
while(CLKCONSTA & 0x40);
CLKCONCMD &= 0xC0;//11 00 0 000
InitLed();
EA = 1;
T1IE = 1;
// TIMIF |= 0x40;本来默认就是1
T1IF = 0;
T1STAT &= ~0x01;
T1CCTL0 |=0x04; //0000 0100
// T1CTL = 0x0D;//0000 11 01自由运行模式
T1CTL = 0x0E;//0000 11 10模模式
T1CC0H = 25000/256;
T1CC0L = 25000%256;
while(1);
}
#pragma vector = T1_VECTOR
__interrupt void T1_ISR()
{
static unsigned char count = 0;
count++;
T1IF = 0;
T1STAT &= ~0x01;
if(count >= 10)
{
count = 0;
LED1 = !LED1;
}
}