⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mian.c

📁 无线单片机CC1110的一些使用源代码
💻 C
字号:
#include <chipcon/cc1110.h>

#define uint unsigned int
#define uchar unsigned char

sbit led1 = P1^0;
sbit led2 = P1^1;

uint counter=0;				//统计中断次数
uint TempFlag;				//用来标志是否要闪烁

void Initial(void);
void Delay(uint);

//****************************
//普通延时程序
void Delay(uint n)
{
	uint i;
	for(i=0;i<n;i++);
	for(i=0;i<n;i++);
	for(i=0;i<n;i++);
	for(i=0;i<n;i++);
	for(i=0;i<n;i++);
}

//****************************
//初始化程序
void Initial(void)
{
	//初始化P1
	P1DIR = 0x03; 	//P10 P11为输出
	led1 = 1;
	led2 = 1;		//灭LED

	//用T1来做实验
	T1CTL = 0x3d;	//通道0,中断有效,128分频;自动重装模式(0x0000->0xffff);

	//开中断
	EA = 1;			//开总中断		  	
	IEN1 = 0x02;	//开T1中断

}


//***************************
//T1中断函数  中断向量为9
void timer1(void) interrupt 9
{
	IRCON = 0x00;				//可不清中断标志,硬件自动完成
	if(counter<10)counter++;	//10次中断LED闪烁一轮
	else
	{
		counter = 0;
		if(TempFlag)
			TempFlag = 0;
		else 
			TempFlag = 1;
	}
}

//***************************
//主函数
void main()
{
	Initial(); 	 //调用初始化函数
	led1 = 0;	 //点这红色LED
	led2 = 1;
	while(1)   	 //等待中断
	{
		if(TempFlag)
		{
			led2 = led1;
			led1 = !led1;
			Delay(6000);
		}
	}
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -