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

📄 main.c

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

#define uint unsigned int
#define uchar unsigned char

#define led1 P1_0
#define 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;
}

/***************************
//主函数
***************************/
void main()
{
	Initial(); 	 //调用初始化函数
	led1 = 0;	 //点这红色LED
	led2 = 1;
	while(1)   	 //等待中断
	{
		if(TempFlag)              //判断小灯是否要闪烁
		{
			led2 = led1;      //将LED1的状态赋予LED2
			led1 = !led1;     //LED1状态取反
			Delay(6000);      //普通延时
		}
	}
}

#pragma vector = T1_VECTOR
 __interrupt void UART0_ISR(void)
 {
 	IRCON = 0x00;			//可不清中断标志,硬件自动完成
         if(counter<10)counter++;	//10次中断LED闪烁一轮
        else
        {
          counter = 0;                  //计数清零
        }
        if(TempFlag)                    //改变闪烁标志
              TempFlag = 0;
        else
              TempFlag = 1;
 }

⌨️ 快捷键说明

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